Algoritma apa yang diterapkan ward.D dalam hclust () jika bukan kriteria Ward?

16

Yang digunakan oleh opsi "ward.D" (setara dengan satu-satunya pilihan Ward "ward" dalam versi R <= 3.0.3) tidak menerapkan kriteria pengelompokan Ward (1963), sedangkan opsi "ward.D2" menerapkan kriteria tersebut ( Murtagh dan Legendre 2014).

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

Rupanya bangsal.D tidak menerapkan kriteria Ward dengan benar. Meskipun demikian tampaknya melakukan pekerjaan yang baik mengenai pengelompokan yang dihasilkannya. Apa yang diterapkan oleh metode = "ward.D" jika itu bukan kriteria Ward?

Referensi

Murtagh, F., & Legendre, P. (2014). Metode pengelompokan aglomerasi hirarki Ward: algoritma mana yang menerapkan kriteria Ward ?. Jurnal Klasifikasi , 31 (3), 274-295.

Raffael
sumber
Apakah makalah Murthagh dan Legendre mengatakan sesuatu tentang ini?
cbeleites mendukung Monica
Saya tidak punya akses ke kertas itu
Raffael
Hal pertama yang dicari oleh pencarian saya adalah pdf dari manuskrip di montreal !?
cbeleites mendukung Monica
jadi apa yang tertulis di koran? Saya tidak dapat menemukannya
Raffael
Itulah yang saya minta Anda sampaikan kepada kami.
cbeleites mendukung Monica

Jawaban:

11

Naskah yang relevan ada di sini .

Perbedaan antara ward.D dan ward.D2 adalah perbedaan antara dua kriteria pengelompokan yang dalam naskah disebut Ward1 dan Ward2.

Ini pada dasarnya bermuara pada fakta bahwa algoritma Ward langsung diimplementasikan dengan benar hanya dalam Ward2 (ward.D2), tetapi Ward1 (ward.D) juga dapat digunakan, jika jarak Euclidean (dari dist()) dikuadratkan sebelum memasukkannya ke dalam hclust()menggunakan ward.D sebagai metode.

Misalnya, SPSS juga mengimplementasikan Ward1, tetapi memperingatkan pengguna bahwa jarak harus dikuadratkan untuk mendapatkan kriteria Ward. Dalam arti implementasi bangsal seperti itu tidak ditinggalkan, dan meskipun demikian itu mungkin ide yang baik untuk mempertahankannya untuk kompatibilitas ke belakang.      

JTT
sumber
2
Dari makalah yang Anda tautkan tidak mengikuti Ward algorithm is directly correctly implemented in just Ward2, melainkan bahwa: (1) untuk mendapatkan hasil yang benar dengan kedua implementasi, gunakan kuadrat jarak Euclidean dengan Ward1 dan jarak Euclidean nonsquared dengan Ward2; (2) untuk lebih lanjut membuat dendrogram output mereka sebanding (identik), terapkan akar kuadrat ke tingkat fusi setelah Ward1 atau tingkat fusi persegi setelah Ward2, sebelum membuat dendrogram.
ttnphns
Anda benar, tentu saja. Terimakasih atas klarifikasinya. Apa yang saya maksudkan dengan "langsung diimplementasikan dengan benar" adalah bahwa tidak ada langkah lebih lanjut, seperti mengambil akar kuadrat dari ketinggian, diperlukan untuk sampai pada hasil yang benar dengan metode ward.D2.
JTT
1
Nuansa kecil di sini adalah bahwa dengan metode Ward, tidak didefinisikan apa yang "benar" atau presentasi tingkat fusi sejati - apakah mereka harus diplot "nonsquared" atau "squared". Penyebab keragu-raguan adalah bahwa tingkat fusi di Ward bukanlah jarak , mereka adalah dispersi tambahan .
ttnphns
9

Satu-satunya perbedaan antara ward.D& ward.D2adalah parameter input.

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

yang setara dengan: hclust(dist(x),method="ward.D2")

Anda dapat menemukan makalah penelitian: Ward's Hierarchical Clustering Method: Clustering Criterion dan Agglomerative Algorithm

Nilai kriteria Ward2 adalah " pada skala jarak " sedangkan nilai kriteria Ward1 adalah " pada skala jarak kuadrat ".

Nilesh
sumber
Saya lebih suka jawaban ini karena yang lain menyiratkan bahwa ward.D salah, itu tidak benar. Hanya berbeda.
Chris
6

Saya menemukan makalah penelitian yang sesuai dengan fungsi objektif yang sedang dioptimalkan oleh "Ward1 (ward.D)": Clustering Hirarkis melalui Jarak Antara-Dalam Bersama: Memperluas Metode Varians Minimum Ward . Ternyata implementasi R dari "Ward1 (ward.D)" setara dengan meminimalkan jarak energi antara kelompok cluster.

2.1 Klaster Jarak dan Fungsi Tujuane

Misalkan dan B = { b 1 , ... , b n 2 } menjadi himpunan bagian kosong dari R d . Tentukan antara-dalam, atau e- jarak e ( A , B ) , antara A dan B sebagai e ( A , B ) = n 1 n 2A={a1,,an1}B={b1,,bn2}Rdee(A,B)AB

e(A,B)=n1n2n1+n2(2n1n2i=1n1j=1n2aibj(1)1n12i=1n1j=1n1aiaj1n22i=1n2j=1n2bibj).
user3235207
sumber
Are you sure that that is the correct interpretation of the contents of that paper? It seems to me that e(2) corresponds to ward.D2, but I don't think it is stated anywhere that e(1) corresponds to ward.D1. In fact, on page 161–162, it is stated that for 0<α<2, e(α) does not correspond to any power of Euclidean distance, assuming cluster size is greater than 1 . Interesting paper none the less.
Jonas Dahlbæk