Wardの基準でない場合、hclust()のward.Dはどのアルゴリズムを実装しますか?


16

オプション "ward.D"(Rバージョン<= 3.0.3の唯一のWardオプション "ward"と同等)で使用されるものは、Ward(1963)クラスタリング基準を実装しませんが、オプション "ward.D2"はその基準( Murtagh and Legendre 2014)。

http://stat.ethz.ch/R-manual/R-patched/library/stats/html/hclust.html

どうやらward.DはWardの基準を適切に実装していないようです。それにもかかわらず、それが生成するクラスタリングに関しては良い仕事をしているようです。ワードの基準でない場合、method = "ward.D"は何を実装しますか?

参照資料

Murtagh、F.、およびLegendre、P.(2014)。Wardの階層的凝集クラスタリング手法:どのアルゴリズムがWardの基準を実装していますか?Journal of Classification31(3)、274-295。


Murthagh and Legendreの論文はこれについて何か述べていますか?
cbeleitesはモニカをサポートしています14

私はその論文にアクセスできません
ラファエル14

私にとって最初の検索結果は、モントリオールの原稿のpdfです!?
cbeleitesはモニカをサポートします14

それで、この論文は何と言っていますか?私はそれを見つけることができません
ラファエル14

それが私にあなたに私たちに言って欲しいことです。
cbeleitesはモニカをサポートしています14

回答:


11

関連する原稿はこちらです。

ward.Dとward.D2の違いは、原稿でWard1とWard2と呼ばれる2つのクラスタリング基準の違いです。

基本的には、WardアルゴリズムがWard2(ward.D2)のみに直接正しく実装されているという事実に要約されdist()ますが、hclust()ward.Dをメソッドとして使用します。

たとえば、SPSSはWard1も実装しますが、Ward基準を取得するには距離を2乗する必要があることをユーザーに警告します。そのような意味で、ward.Dの実装は非推奨ではありませんが、下位互換性のために保持することをお勧めします。      


2
リンクする論文からではなくWard algorithm is directly correctly implemented in just Ward2、次のようになります。(1)両方の実装で正しい結果を得るには、Ward1ではユークリッド距離の2乗を、Ward2ではユークリッド距離の2乗を使用します。(2)出力樹形図をさらに比較可能(同一)にするために、樹形図を作成する前に、平方根をWard1後の融合レベルまたはWard2後の平方融合レベルに適用します。
ttnphns 14

もちろん、あなたは正しいです。説明をありがとう。「直接正しく実装」とは、ward.D2メソッドを使用して正しい結果に到達するために、高さの平方根を取るなどの追加手順が不要であることを意味します。
JTT 14

1
ここでの微妙なニュアンスは、ウォードの方法では、「正しい」または真の融合レベルの表現が定義されていないことです-それらが「非二乗」または「二乗」でプロットされるべきかどうか。優柔不断の原因は、区の融合レベルが距離ではなく、増分分散であることです。
ttnphns 14

9

ward.D&の唯一の違いward.D2は、入力パラメーターです。

hclust(dist(x)^2,method="ward.D")hclust(dist(x)^2,method="ward")

以下と同等です: hclust(dist(x),method="ward.D2")

あなたは研究論文を見つけることができます: ウォードの階層的クラスタリング手法:クラスタリング基準と凝集アルゴリズム

Ward2の基準値「は、ある距離の規模で、一方」Ward1の基準値は「である二乗距離の規模で」。


他の人がward.Dが間違っていることを暗示しているので、私はこの答えを好みます。ただ違う。
クリス

6

私は、研究論文に出くわしたこと「Ward1(ward.D)」によって最適化されている目的関数に対応:ジョイントを介して階層的クラスタリングの間-以内の距離:ウォードの最小分散法を拡張します。Rの "Ward1(ward.D)"の実装は、クラスターグループ間のエネルギー距離を最小化することと同等であることがわかります。

2.1クラスター距離と目的関数e

LET B = { B 1... B N 2 }の空でない部分集合であるRと D。between- inin 、またはe -distance e A={a1,,an1}B={b1,,bn2}Rdee A B = n 1 n 2として 、 A Bの A B )をe(A,B)AB

e(A,B)=n1n2n1+n2(2n1n2i=1n1j=1n2aibj(1)1n12i=1n1j=1n1aiaj1n22i=1n2j=1n2bibj).

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