hildensia/bayesian_changepoint_detection

Methods to get the probability of a changepoint in a time series.

何を解決するか

このライブラリは、時系列データの潜在的な統計的性質の急激な変化("changepoints")を、ベイズ推論を用いて検出する方法を提供します。リアルタイム(オンライン)またはデータ収集後(オフライン)のいずれかで、データストリームの挙動が変化したタイミングを特定できます。

動作方法

このプロジェクトは、"run length"(最後の変化からの経過時間)の概念に基づいたベイズ変化点検出アルゴリズムを実装しています。観測されたデータに基づいて、これらのrun lengthの確率分布を計算します。変化が発生する事前確率を定義するためにハザード関数を使用し、現在のセグメントにデータがどの程度適合するかを判断するために尤度モデル(たとえば、Student's t分布)を用います。

対象ユーザー

単変量または多変量時系列データを扱い、ベイズ変化点検出の高性能実装が必要な研究者やデータサイエンティスト向けに設計されています。

特徴

  • PyTorchバックエンド:自動微分とベクトル演算にPyTorchを使用。
  • GPU加速:CUDAおよびApple Silicon(MPS)をサポートし、大規模データセットで10~100倍の高速化を実現。
  • オンライン・オフラインモード:ストリーミングデータ向けの逐次検出と、過去データ向けのバッチ処理の両方をサポート。
  • 柔軟な分布:単変量および多変量のStudent's t分布をサポート。
  • カスタム事前分布:定数、幾何分布、負の二項分布の事前分布を提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト