時系列のセットをクラスター化するために、私はスマートな距離メトリックを探しています。私はいくつかのよく知られたメトリックを試しましたが、誰も私のケースに適合しません。
例:私のクラスターアルゴリズムがこの3つの重心[s1、s2、s3]を抽出すると仮定しましょう:
この新しい例[sx]を最も類似したクラスターに配置したいと思います。
最も類似した重心は2番目の重心であるため、d(sx, s2) < d(sx, s1)
とd(sx, s2) < d(sx, s3)
を与える距離関数dを見つける必要があります。
編集
ここでは、メトリック[コサイン、ユークリッド、ミンコフスキー、動的タイプワーピング]の結果を示します。 ]
編集2
ユーザーPietroPは、時系列の累積バージョンに距離を適用することを提案しましたソリューションは機能します。ここではプロットとメトリックが機能します:
いい質問です!これらの時系列でR ^ nの標準距離(ユークリッド、マンハッタン、または一般的にミンコフスキー)を使用すると、R ^ nの座標の順列に依存しないため、希望する結果を得ることができません(時間は厳密に順序付けられており、キャプチャしたい現象です)。
時系列の累積バージョン(時間の経過に伴う値の合計)を使用して、標準のメトリックを適用するという簡単なトリックがあります。 マンハッタンメトリックを使用すると、2つの時系列間の距離として累積バージョン間の面積。
標準を使用するのはどうですか ピアソン相関係数? 次に、係数が最も高いクラスターに新しいポイントを割り当てることができます。
correlation = scipy.stats.pearsonr(<new time series>, <centroid>)