階層的クラスタリングでマンハッタン距離をワードのクラスター間リンケージで使用しても大丈夫ですか?


15

階層的クラスタリングを使用して、時系列データを分析しています。私のコードはMathematica関数を使用して実装さDirectAgglomerate[...]れ、次の入力が与えられると階層クラスターを生成します:

  • 距離行列D

  • クラスタ間リンケージを決定するために使用されるメソッドの名前。

マンハッタン距離を使用して距離行列Dを計算しました:

d(x,y)=i|xiyi|

ここで、およびは、時系列のデータポイントの数です。i=1,,nn150

私の質問は、ウォードのクラスター間リンケージをマンハッタン距離行列で使用しても大丈夫ですか?一部の情報源は、ウォードのリンケージはユークリッド距離でのみ使用されるべきだと示唆しています。

DirectAgglomerate[...]元の観測値ではなく、距離行列のみを使用してウォードのリンケージを計算することに注意してください。残念ながら、Mathematicaが Wardの元のアルゴリズムをどのように変更するかわかりません。これは、クラスター平均に関して計算された観測値の誤差の平方和を最小化することで機能しました。たとえば、単変量観測のベクトルで構成されるクラスターc場合、Wardは誤差の平方和を次のように定式化しました。

(j||cjmean(c)||2)2

(MatlabやRなどの他のソフトウェアツール、距離行列のみを使用してWardのクラスタリングを実装しているため、問題はMathematicaに固有のものではありません。)


私は最近、ワード法を使用してかなり大きなデータのセットを分析しました。私の特定のケースでは、マナトサン距離はユークリッド距離と本質的に同じクラスタリングを与えました。メソッドの組み合わせを支持する数学的な証明を提供することはできませんが、少なくとも私の場合、クラスタリングは距離メソッドの影響を受けませんでした
nico

すべてのR関数は、必ずしも距離行列を待つわけではありません。以下のために、例えばオンラインヘルプを参照してくださいagnesでは、クラスタパッケージ。
-chl

実際には、どんな距離でも使用できます。vlado.fmf.uni-lj.si/pub/preprint/ward.pdfを確認してください。唯一の問題は、私たちが話している平均は算術平均ではなく、フレシェ平均であるということです。
ランディライ

しかし、完全なリンケージにマンハッタン距離を使用できますか?
ペイエルバネルジー

回答:


8

Wardクラスタリングアルゴリズムは、各ステップで「慣性」基準を最小化する階層的クラスタリング手法です。この慣性は、低減された信号と初期信号間の二乗残差の合計を定量化します。これは、l2(ユークリッド)sensの誤差の分散の尺度です。実際、あなたはあなたの質問にもそれを言及しています。だから、l2ユークリッド距離ではない距離行列に適用しても意味がありません。

一方、平均的なリンケージまたは単一のリンケージ階層クラスタリングは、他の距離に完全に適しています。


2
ご意見をありがとうございます; あなたは正しいと思います。ただし、実際には、ワードのリンケージは非ユークリッド距離で使用されることが多いようです。これがどのような意味を持つのか、まだわかりません。
レイチェル

おそらく、それがよく知られているという理由だけでWardを使用している人々から来ています。この設定では、ワードは平均的なリンケージと比較してゲインをもたらさないと思います。ただし、計算コストが高くなります(マージごとに最初の2つの瞬間を計算するか、事前計算する必要があります)。したがって、実用的な観点から、私は単純に平均的なつながりを求めます。
ガエルバロクオー

1
実際には、慣性は平方距離の合計(ユークリッドである必要はない)を使用して定義されます。vlado.fmf.uni
ランディライ

5

Wardがメトリックを優先すべき理由を考えることはできません。ウォードの方法は、凝集中に次に融合するクラスターを決定するための別のオプションです。これは、フュージョンが特定のエラーを最小化する2つのクラスターを見つけることで達成されます(式の例のソース)。

したがって、次の2つの概念に依存しています。

  1. (数値ベクトルの場合)一般に、すべての次元を個別に平均することによって計算されるベクトルの平均。
  2. 距離メトリック自体、つまりこのメトリックによって表される類似性の概念。

そのため、選択したメトリックのプロパティ(回転、平行移動、スケール不変性など)がニーズを満たしている限り(およびメトリックがクラスタ平均の計算方法に適合している限り)、それを使用しない理由は見当たりません。

ほとんどの人がユークリッドメトリックを提案していると思う

  • クラスター平均と単一の観測ベクトルの差の重みを増やしたい(これは四分割によって行われます)
  • またはデータに基づいた検証で最高のメトリックとして出されたため
  • または一般的に使用されているためです。

お返事をありがとうございます。「DirectAgglomerate [...]」アルゴリズムは距離行列のみを使用することを強調するために、質問を少し明確にしました。これを考えると、ウォードのリンケージの修正された実装は、距離行列がユークリッドであるという仮定に基づいていますか?たとえば、MatlabのWardリンケージの実装は、ユークリッド距離にのみ適していることを示しています(mathworks.com/help/toolbox/stats/linkage.html)。
レイチェル

1
@レイチェル:ああ、なるほど。病棟の実装では、クラスターメンバーと重心間の距離を計算する必要があります。直観的に、これに使用されるメトリックは、観測間の距離を計算するために使用されるメトリックと同等でなければならないことは明らかです...したがって、matlabにはユークリッド距離行列が必要です。しかし、実装が距離行列の代わりに関数を要求しないのはなぜですか?両方のタスクに異なるメトリックを使用すると、どれくらいの損害が発生しますか?私はそれが正しいことを知らないことを認めます。
ステフェン

こんにちは例を削除しました。他のウェブサイト?
MonsterMMORPG

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