Verilerinizi standartlaştırmazsanız, büyük değerli birimlerde ölçülen değişkenler hesaplanan farklılığa hakim olur ve küçük değerli birimlerde ölçülen değişkenler çok az katkıda bulunur.
Bunu R ile görselleştirebiliriz:
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])
dist1
her üç değişkene dayanan 100 gözlem dist2
için Öklid mesafelerini içerirken , var1
tek başına dayalı Öklid mesafesini içerir .
> 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
Mesafelerin dağılımının ne kadar benzer olduğuna ve gerçek mesafelerden çok az katkı olduğunu var2
ve var3
gerçek mesafelerin çok benzer olduğunu unutmayın:
> 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
Verileri standartlaştırırsak
dist3 <- dist(scale(dat))
dist4 <- dist(scale(dat[,1, drop = FALSE]))
mesafelerde sadece var1
üç değişkene ve üç değişkene de bağlı olarak büyük bir değişiklik olur :
> 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
Hiyerarşik kümeleme bu mesafeleri kullandığından, standartlaştırılmasının istenip istenmediği, sahip olduğunuz veri / değişkenlerin türüne ve büyük şeylerin mesafelere hükmetmesini ve dolayısıyla kümelenmenin oluşumuna egemen olup olmayacağına bağlı olacaktır. Bunun yanıtı alana ve veri kümesine özgüdür.