Alasan untuk menormalkan dalam langkah-langkah jarak euclidean dalam pengelompokan hierarkis

19

Rupanya, dalam pengelompokan hierarkis di mana ukuran jarak adalah jarak Euclidean, data harus terlebih dahulu dinormalisasi atau distandarisasi untuk mencegah kovariat dengan varian tertinggi dari penggerak pengelompokan. Kenapa ini? Bukankah fakta ini diinginkan?

pengguna1202664
sumber

Jawaban:

20

Itu tergantung pada data Anda. Dan sebenarnya itu tidak ada hubungannya dengan pengelompokan hierarkis, tetapi dengan fungsi jarak itu sendiri.

Masalahnya adalah ketika Anda memiliki atribut campuran .

Katakanlah Anda memiliki data tentang orang. Berat dalam gram dan ukuran sepatu. Ukuran sepatu berbeda sangat sedikit, sedangkan perbedaan dalam massa tubuh (dalam gram) jauh lebih besar. Anda dapat menemukan banyak contoh. Anda tidak dapat membandingkan perbedaan ukuran sepatu 1 g dan 1. Bahkan, dalam contoh ini Anda menghitung sesuatu yang akan memiliki unit fisik !gukuran sepatu

Biasanya dalam kasus ini, jarak Euclidean tidak masuk akal. Tetapi mungkin masih berfungsi, dalam banyak situasi jika Anda menormalkan data Anda. Bahkan jika itu sebenarnya tidak masuk akal, itu adalah heuristik yang baik untuk situasi di mana Anda tidak memiliki fungsi jarak "terbukti benar", seperti jarak Euclidean dalam dunia fisik skala manusia.

Anony-Mousse -Reinstate Monica
sumber
Anda baru saja menjawab pikiran saya, saya kira duduk sendirian sambil berpikir berlebihan memang membantu.
Karl Morrison
13

Jika Anda tidak membakukan data Anda, maka variabel yang diukur dalam unit bernilai besar akan mendominasi ketidaksamaan yang dihitung dan variabel yang diukur dalam unit bernilai kecil akan berkontribusi sangat sedikit.

Kami dapat memvisualisasikan ini dalam R melalui:

set.seed(42)
dat <- data.frame(var1 = rnorm(100, mean = 100000),
                  var2 = runif(100),
                  var3 = runif(100))
dist1 <- dist(dat)
dist2 <- dist(dat[,1, drop = FALSE])

dist1berisi jarak Euclidean untuk 100 pengamatan berdasarkan ketiga variabel sementara dist2berisi jarak Euclidean berdasarkan var1sendirian.

> summary(dist1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.07351 0.77840 1.15200 1.36200 1.77000 5.30200 
> summary(dist2)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
0.000072 0.470000 0.963600 1.169000 1.663000 5.280000

Perhatikan seberapa mirip distribusi jaraknya, yang menunjukkan sedikit kontribusi dari var2dan var3, dan jarak sebenarnya sangat mirip:

> head(dist1)
[1] 1.9707186 1.0936524 0.8745579 1.2724471 1.6054603 0.1870085
> head(dist2)
[1] 1.9356566 1.0078300 0.7380958 0.9666901 1.4770830 0.1405636

Jika kita membakukan data

dist3 <- dist(scale(dat))
dist4 <- dist(scale(dat[,1, drop = FALSE]))

maka ada perubahan besar dalam jarak hanya berdasarkan var1dan yang didasarkan pada ketiga variabel:

> summary(dist3)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.09761 1.62400 2.25000 2.28200 2.93600 5.33100 
> summary(dist4)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
0.000069 0.451400 0.925400 1.123000 1.597000 5.070000 
> head(dist3)
[1] 2.2636288 1.7272588 1.7791074 3.0129750 2.5821981 0.4434073
> head(dist4)
[1] 1.8587830 0.9678046 0.7087827 0.9282985 1.4184214 0.1349811

Karena pengelompokan hierarkis menggunakan jarak ini, apakah diinginkan untuk distandarisasi atau tidak akan tergantung pada jenis data / variabel yang Anda miliki dan apakah Anda ingin hal-hal besar mendominasi jarak dan karenanya dominan pembentukan pengelompokan. Jawabannya adalah spesifik domain dan spesifik data-set.

Pasang kembali Monica - G. Simpson
sumber
4

Anony-Mousse memberikan jawaban yang sangat baik . Saya hanya akan menambahkan bahwa metrik jarak yang masuk akal akan tergantung pada bentuk distribusi multivarian. Untuk Gaussian multivariat, jarak Mahalanobis adalah ukuran yang tepat.

Michael R. Chernick
sumber