階層的クラスタリングを使用して、時系列データを分析しています。私のコードはMathematica関数を使用して実装さDirectAgglomerate[...]
れ、次の入力が与えられると階層クラスターを生成します:
距離行列D
クラスタ間リンケージを決定するために使用されるメソッドの名前。
マンハッタン距離を使用して距離行列Dを計算しました:
ここで、およびは、時系列のデータポイントの数です。
私の質問は、ウォードのクラスター間リンケージをマンハッタン距離行列で使用しても大丈夫ですか?一部の情報源は、ウォードのリンケージはユークリッド距離でのみ使用されるべきだと示唆しています。
DirectAgglomerate[...]
元の観測値ではなく、距離行列のみを使用してウォードのリンケージを計算することに注意してください。残念ながら、Mathematicaが Wardの元のアルゴリズムをどのように変更するかわかりません。これは、クラスター平均に関して計算された観測値の誤差の平方和を最小化することで機能しました。たとえば、単変量観測のベクトルで構成されるクラスター場合、Wardは誤差の平方和を次のように定式化しました。
(MatlabやRなどの他のソフトウェアツールも、距離行列のみを使用してWardのクラスタリングを実装しているため、問題はMathematicaに固有のものではありません。)