Python/NumPyで特異スペクトル変換法を実装し、時系列データの異常部位を検出する方法について紹介します。
【応用例】時系列データの異常検知
特異スペクトル変換法では、時系列データの変化点を検出する手法の1つです。
– | 処理の流れ |
---|---|
1 | ある時点tを起点とし、その前のw時点分のデータ(部分時系列データ)を1時点ずつ前にずらす。 |
2 | それをk個だけ束ねた()と、そこからL時点分後ろにずらして同様にk個だけ集めたもの()を比較する。(は、1行につき窓幅時点分のデータが並び、さらにそれをk行分束ねるため、の行列となる) |
3 | とが類似していれば、t時点は変化点でない、逆に大きく異なっていれば変化点であると判別する。類似度の計算には特異値分解を用いる。 |
(1)
今回は心電図データセット(http://www.cs.ucr.edu/~eamonn/discords/)を使っています。
異常を含む区間で異常度が高くなりました。
404 NOT FOUND | Python入門速報
コメント