83110


時系列データのパターンマッチングについて

ある時系列データ(a)に、あらかじめ指定したパターンデータ(b)と似た形が、  
どの時期にどの程度含まれているか、相関関係を求めたいのですが、  
どのようなアプローチがよいでしょうか？（以下の方法は適切でしょうか？）

◇想定しているデータ  
(a)時系列データ  
時系列データは、音声データ、株価データなどを想定しています。  
インデックスはpd.Timestamp型です。

(b)パターンデータ  
上記(a)と同様な時系列データです。  
インデックスはpd.Timestamp型ですが、上記(a)の時系列データよりは期間が短くなっています。

◇やりたいこと  
パターンデータ(b)の  
時期をずらしたもの（左右方向へ平行移動させたもの）、  
および周期を変更したもの（左右方向へ拡大/縮小したもの）  
も、相関係数算出の対象としたいです。  
なお上下方向は、正規化or標準化します。

◇やろうとしていること  
1.pd.resample関数を利用する。  
時系列データ(a)と、パターンデータ(b)のTimestampインデックスを同じ単位に揃える（例えば日ごと、秒ごとなど）  
2.パターンデータ(b)のindexを変更する。  
時系列データ(a)の先頭行の日付になるよう、パターンデータ(b)のindexを変更する。  
3.pd.corr関数を利用する。  
相関係数を算出算出する。  
4.以降同様に、パターンデータ(b)のindexを１単位時間後（１日後など）にずらし、2.～3.の手順を繰り返し、相関関数を算出する。  
5.以降同様に、パターンデータの期間を拡大/縮小し、2.～4.の手順を繰り返す。  
6.結果の集計  
各時期ごと（日ごと）に、相関係数の最大値と、そのときの日付、およびパターンデータ(b)の拡大/縮小率を、算出結果とする。

GoogleColab + PandasのDataFrameで試しています。  
よろしくお願いいたします。


CC BY-SA 4.0
2021-10-04T05:31:44.117
82865
2021-10-15T06:21:37.200
48481
question
python pandas 機械学習
時系列データのパターンマッチングについて


[![実行結果のサンプル](https://i.stack.imgur.com/NJzNC.png)](https://i.stack.imgur.com/NJzNC.png)

記載した方法でやってみました。とりあえず望みの結果が得られました。  
パフォーマンスなど改善点はまだまだありますが、いったんCloseいたします。  
ありがとうございました。


CC BY-SA 4.0
2021-10-15T06:21:37.200
83110
2021-10-15T06:21:37.200
48481
82865
answer