時系列データに対するオンライン変化点検出アルゴリズムであるChangeFinderについて調べたのでメモです。
前提知識
用語 | 内容 |
---|---|
ARモデル | AutoRegressive(自己回帰)モデル |
SDARモデル | Sequentially Discounting ARモデル。過去のデータの重みを割り引く(discount)する忘却機能を持つ。 |
ChangeFinderはSDARモデルを使用する。定常性が無い時系列データの変化点を検出するためには、古すぎるデータは適切に忘却する必要がある為と理解してる。
Pythonライブラリ
このライブラリは初期値に乱数を用いるので、同一データに同一パラメタで実行しても実行毎に結果が異なる。
このファイルの_SDAR_1Dim
クラスの__init__
関数内でrandom
を使用している箇所が該当。
解説リンク
権利関係
ChangeFinderはデータマイニングによる異常検知の著者である山西先生がNEC社に在籍していた頃の発明です。
上記書籍でChangeFinderの特許に関する記載はありませんし、ChangeFinderをググってみれば色んな人がこのアルゴリズムを使っていますが、調べてみるとNEC社の特許が散見されます(例えば特許第3821225号)。
上記書籍の出版元の共立出版株式会社様に問い合わせをしたところ、学術的に使用するのは問題ないが商用で使用する場合はNEC社に確認が必要との回答を頂いたので共有しておきます。