理乃美

ソフトとハードと論理の覚え書き

特異スペクトル変換による変化検知 - プログラム

2018-07-04 00:22:02 | AI

違いを生んだ、データの生成部分だけを示す。

3パルス目以降の offsetの値だけが前回と異なる

pat_len = 3000
pat = np.empty(3600)
for i in range (5):
    if (i<2):
        offset = 720*i
    else :
        offset = 720*i - 360
    for p in range (720):
        pat[offset+p] = (math.exp(-p/60)+0.01) * (1-math.cos(math.pi * p / 60))
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

特異スペクトル変換による変化検知 - その4

2018-07-04 00:21:46 | AI
前回は、より大きな模擬データを使って特異スペクトル変換による変化検知の実験をおこない、オフビートとなっている部分で変化度に顕著なピークを得られた。すばらしい...のか?

もう一度実験をしてみよう。前回とは、オフビートのタイミングが僅かに異なるデータを用意した。目視では違いがわかるだろうか。

その結果は、がらりと変わった。オフビートの所の変化度は前回の1/20程度で、オフビートのほうが低いとなった。目盛に注意して欲しい。

この結果は何を表しているのだろう。前回のデータと変化度のグラフを見ると、周期的パルスのタイミングの乱れを検知したと思ってしまいそうだ。
ところが、特異ベクトルで見ているのはパルス間の地の部分の波であり、周期的パルスはノイズ扱いされていると見てとれる。前回のデータはベースとなるサイン波が不連続となるタイミングでオフビートさせたデータ、今回はベースのサイン波が連続となるタイミングとした。それが、結果となって現れている。

SVDを使った変化検知では、どこの部分をみて定常/変化を見ているのかに注意しなければならない。

「異常検知と変化検知」[1]のp122 図9.5もしかり。p3の心電図データで赤い部分が他の収縮時波形と異なっているから変化度に現れたと考えるのは不適当だろう。






[1] 井出 剛、杉山 将, 異常検知と変化検知, 講談社, 2017 ISBN978-4-06-152908-3
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする