この章を学ぶ前に必要な知識
条件
- 二つの時系列データまたは関数が必要
- CCFは波形の形状が似ていて周期も同じ大きさなら使用可
- DTWは波形の長さが異なっても類似度を計算可
効果
- 二つの時系列データの類似度を得る
- CCFでは周期がどれだけずれているか算出可
解 説
時系列データの類似度は、時系列データの分析、分類等で算出する必要がある。
ここでは以下の2つの類似度の計算方法を紹介する. | 導入 |
| 紹介する類似度計算 |
1.CCFの計算 | |
CCFは関数(連続/離散両方)または時系列のデータの類似度を計算することができ、
また、周期の遅れ等を求める際に使われる。
しかし、CCFは周期が伸縮するような時系列データの類似度を計算することには使用できない。 | CCF導入 |
関数の類似度を考えたときにどうしたら似てるかは、
もっとも単純には関数を掛け合わせて積分すればわかりそうだ。
その考え方はCCFのもっとも単純化した例に対応する. | 外部リンク 相互相関関数 |
$$(f\star g)(\tau )\ =\int _{-\infty }^{\infty }f^{*}(t)\ g(t+\tau )\,dt,$$ | CCF定義 |
ττ は片方の関数をずらすためにある引数だと思ってください。
例えば
ττが0となったとき、それは関数をずらさずに掛け合わせて積分している上の話の例と同じ状況になります。 | CCFの定義でτが0のとき |
もし ffとggが同じ関数でありながらわずかにずれているとき
CCF定義の ττ を少しずつずらして計算していけば、最も一致するときに
CCFの値が大きくなることは想像できる。
その時の ττ が遅れに対応する. | 関数f,gにずれがあるときに遅れを求める。 |
上記の流れは、
離散的な関数にも、またもちろん時系列のベクトルデータに対しても同様に計算することができる。
| 時系列データに対して |
2.DTW(Dynamic Time Warping)の計算 | |
DTW(動的時間伸縮法)では、周期が一部で遅かったり、早くなっていても
時系列データの類似度を計算することができる.時系列データならどんな対象でも導入できますが、主に音声の時系列データ, 文字列認識等に使用されてます。 | DTWの導入 |
Dynamic Time Warpingは波形それぞれの各時間の点同士を総当たりで
求める方法です。
最もそれらしい対応点を探すためのアルゴリズムになります。 | 外部リンク Dynamic Time Warping(Eng) |
この章を学んで新たに学べる
Comments