形状・類似度

5.13

形状・類似度

まとめ
  • DTW(動的時間伸縮)で時間軸のずれを許容した時系列の類似度を測定する。
  • DDTWやSoft-DTWなどの発展手法で、DTWの弱点を補う方法を学ぶ。
  • tsfreshで時系列から自動的に特徴量を抽出し、分類や回帰に活用する。

直感 #

同じ形の波形でも開始タイミングや速度が異なると、ユークリッド距離では似ていないと判定されてしまう。DTWは時間軸を柔軟に伸縮させて「形が似ている」かどうかを測る手法であり、音声認識やセンサーデータの比較で広く使われている。さらにtsfreshのような自動特徴量抽出を使えば、時系列を表形式に変換して通常の機械学習モデルに投入できる。

詳細な解説 #

このチャプターで学べること #

  • DTWのアルゴリズム(距離行列・累積コスト・ワーピングパス)とPythonでの実装
  • DDTWによる微分ベースの改良と、DTWとの比較
  • Soft-DTWの微分可能な距離計算と最適化への応用
  • tsfreshによる時系列特徴量の自動抽出と選択

これがわかるとできること #

  • 形状が似た時系列をDTW距離でクラスタリング・検索できる
  • 勾配ベースの学習にSoft-DTWを損失関数として組み込める
  • tsfreshで大量の特徴量を自動生成し、分類・回帰モデルに投入できる

学習の進め方 #

  1. まずDTWの基本アルゴリズムとワーピングパスの可視化を学ぶ
  2. DDTWとSoft-DTWで発展的な距離計算を理解する
  3. tsfreshで特徴量抽出のワークフローを試す