動的タイムワーピングクラスタリング


40

動的タイムワーピング(DTW)を使用して時系列のクラスタリングを実行する方法は何ですか?

DTWを2つの時系列間の類似性を見つける方法として読みましたが、それらは時間的にシフトする可能性があります。この方法を、k-meansのようなクラスタリングアルゴリズムの類似性尺度として使用できますか?


2
はい、kはクラスタリングを意味し、データ内のグループを決定するための入力として類似度を使用できます。
予報官

お返事ありがとうございます。繰り返しごとに、各(重心、クラスタリング点)カップルの距離行列を形成し、クラスターに属するすべてのシリーズの平均として、標準的な方法で重心を再計算する必要があると思いますか?
マルコ

1
以下の答えでアレクサンドルBlekhはR.でこれを行う方法に関する詳細な例を提供してブログ記事を持っている
予報

2
@forecasterは、DTWでk-meansを使用しません。k-meansは、距離ではなく分散を最小化します。分散は二乗ユークリッドですが、k-meansが他の距離を最適化できることを意味しません。平均はそうではなく、DTWでは、による正弦波オフセットのように反例を簡単に構築できるはずです。両方ともDTWによって非常に似ていますが、平均は定数ゼロであり、両方とも非常に異なります。π
アノニムース

1
K-meansは、時系列クラスタリングに適したアルゴリズムではありません。離散的な縦断データの非表示マルコフモデルが適切です。このトピックに関しては、Oded Netzer(コロンビア)とSteve Scott(Google)からの主要な貢献に加えて、現在いくつかの本が出ています。別のアプローチは、順列分布クラスタリングと呼ばれるMax PlanckのAndreas Brandmaierによって開発された情報理論的方法です。彼はRモジュールも書いています。クラスタソリューションの比較は別の問題です。Marina Meil​​aの論文、Comparing Clusterings、U of Washington Statistics Tech Report 418が最適です。
マイクハンター

回答:


33

時系列にk-meansを使用しないでください。

DTWは平均によって最小化されません。k-meansは収束しない場合があり、収束しても非常に良い結果は得られません。平均は、座標上の最小二乗推定量です。任意の距離ではなく分散を最小化し、k-meansは任意の距離ではなく分散を最小化するように設計されてます

2つの時系列があるとします。同じ周波数の2つの正弦波、およびかなり長いサンプリング期間。しかし、それらはによってオフセットされます。DTWはタイムワーピングを行うため、開始と終了を除き、完全に一致するように調整できます。DTWは、これら2つのシリーズにかなり短い距離を割り当てます。ただし、2つの系列の平均を計算すると、フラット0になります-それらは相殺されます。平均は動的なタイムワーピングを行わ、DTWが取得したすべての値を失います。そのようなデータでは、k-meansは収束失敗する場合があり、結果は無意味になります。K-meansは実際には分散(=ユークリッドの2乗)または同等の場合(コサインのように、コサインの類似性2 -πと同じユークリッド距離の乗)2

代わりに、DTWを使用して距離行列を計算し、シングルリンクなどの階層的なクラスタリングを実行します。k-meansとは対照的に、系列の長さは異なる場合があります。


4
もちろん、任意の距離で機能するPAM(K-medoid)もあります。任意の距離をサポートする多くのアルゴリズムの1つ-k-meansはサポートしていません。その他の選択肢は、DBSCAN、OPTICS、CLARANS、HAC、...
Anony-Mousse

1
多分。k-medoidsはL2平均ではなく、DTW-medoidを使用してクラスター中心を見つけるためです。時系列のクラスタリングが実際に成功していることは知りません。私は論文を見たことがありますが、実際に結果を使用したものはありません。概念実証のみ。
Anony-ムース

1
@Aleksandr Blekhは、これを彼の例の1つとして挙げましたnbviewer.ipython.org/github/alexminnaar/…それについてあなたはどう思いますか?
マルコ

1
おもちゃの問題。現実の世界では役に立たない。実際のデータには多くのノイズがあり、滑らかな正弦曲線やこのデータに示されているパターンよりもはるかに多くのノイズが発生します。
アノニムース

1
階層的クラスタリングがより良い選択だと思います。とにかく膨大な数のシリーズを処理することはできません。
アノニムース

49

はい、時系列の分類とクラスタリングにDTWアプローチを使用できます。私はこのまさにトピックに焦点を当てた以下のリソースをまとめました(私は最近、このサイトではなく、同様の質問に答えましたので、私は皆の便宜のためにここに内容をコピーしています):


2
記事やブログの優れたコレクションを+1。非常に良いリファレンス。
予報官

@forecaster:賛辞と親切な言葉をありがとう!コレクションが気に入ってくれて嬉しいです。現在、統計情報やデータサイエンスの予測やその他の多くの分野をもっと真剣に学ぶ時間がないのは残念ですが、あらゆる機会を利用して新しいことを学びます。
アレクサンドルブレフ

1
@AleksandrBlekh回答ありがとうございます。K-meansの類似性の尺度としてDTWに特に興味があるので、このアプローチについてAnony-Mousseと話し合っています。それについてのあなたの意見と経験は何ですか?ご覧のとおり、Anony-Mousseはこの場合、結果がそれほど良くないかもしれないという議論をしました。
マルコ

1
はい、ありがとう。私の質問はk-meansとDTWに向いているので、あなたは私から+1を受け取り、彼は答えを受け入れます。
マルコ

1
@pera:私の喜び。投票してくれてありがとう。受け入れについて完全に理解し、同意します。まったく問題ありません。
アレクサンドルブレフ

1

最近の方法DTW Barycenter Averaging(DBA)は、Petitjeanらによって提案されました平均時系列に。では、他の論文には、K-手段で時系列をクラスタ化するために使用することができますどのように経験的および理論的に証明しました。実装は、著者によってGitHubで提供されています(コードへのリンク)。

1 F. Petitjean、G。Forestier、GI Webb、AE Nicholson、Y。Chen、およびE. Keogh、「時系列の動的なタイムワーピングの平均化により、より高速で正確な分類が可能」、2014 IEEE International Conference on Data Mining、Shenzhen、2014 。

2 F. Petitjean、P。Gançarski、平均化による時系列セットの要約:シュタイナーシーケンスからコンパクトマルチプルアラインメントまで、Theoretical Computer Science、Volume 414、Issue 1、2012


2
リンクの代わりに完全なリファレンスを提供してください。リンクが死ぬ可能性があります
アントワーヌ

1

ダイナミックタイムワープは、実現されたデータポイントを比較します。より厳密なアプローチは、望遠鏡距離と呼ばれる測定基準によって時系列の分布を比較することです

このメトリックの優れた点は、SVMなどの一連のバイナリ分類子をフィッティングすることにより、経験的な計算が行われることです。

簡単な説明については、これを

時系列のクラスタリングでは、DTWを上回ることが示されています。元の論文[1]の表1を参照してください。

[1] Ryabko、D.&Mary、J.(2013)。時系列分布間のバイナリ分類ベースのメトリックと、統計および学習問題での使用。Journal of Machine Learning Research、14(1)、2837-2856。


2
アンは、エディタノートを試みた:「ジェレミーメアリー(共著)があるWebページ R実装とアルゴリズムを議論する。
GUNG -復活モニカ

@gungうわー、素晴らしい!私は第一著者と連絡を取りましたが、彼はこれについて言及しませんでした。
-horaceT

私は実際にこれをあなたの答えに編集しようとした誰か、@ horaceTからコピーしています。私はそれについてあまり知りません。
GUNG -復活モニカ

0

はい。素朴で潜在的に遅いアプローチは、

  1. すべてのクラスターの組み合わせを作成します。kはクラスター数を表し、nはシリーズ数を表します。返されるアイテムの数はn! / k! / (n-k)!です。これらは潜在的なセンターのようなものです。
  2. 各シリーズについて、各クラスターグループの各センターのDTWを介して距離を計算し、最小距離に割り当てます。
  3. 各クラスターグループについて、個々のクラスター内の合計距離を計算します。
  4. 最小値を選択してください。

これを小さなプロジェクトに使用しました。これが、時系列クラスタリングに関する私のリポジトリこれに関する他の回答です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.