Powód normalizacji euklidesowych miar odległości w hierarchicznym grupowaniu


19

Najwyraźniej w hierarchicznym grupowaniu, w którym miarą odległości jest odległość euklidesowa, dane muszą być najpierw znormalizowane lub znormalizowane, aby zapobiec współzmienności o największej wariancji napędzania grupowania. Dlaczego to? Czy ten fakt nie jest pożądany?

Odpowiedzi:


20

To zależy od twoich danych. W rzeczywistości nie ma to nic wspólnego z hierarchicznym grupowaniem, ale z samymi funkcjami odległości.

Problem polega na tym, że masz mieszane atrybuty .

Powiedz, że masz dane dotyczące osób. Waga w gramach i rozmiar buta. Rozmiary butów różnią się bardzo niewiele, a różnice w masie ciała (w gramach) są znacznie większe. Możesz wymyślić dziesiątki przykładów. Po prostu nie można porównać różnicy wielkości 1 gi 1 buta. W rzeczywistości w tym przykładzie obliczasz coś, co miałoby fizyczną jednostkę !solrozmiar buta

Zwykle w takich przypadkach odległość euklidesowa po prostu nie ma sensu. Ale może nadal działać, w wielu sytuacjach, jeśli znormalizujesz swoje dane. Nawet jeśli w rzeczywistości nie ma to sensu, jest to dobra heurystyka w sytuacjach, w których nie ma „udowodnionej poprawnej” funkcji odległości, takiej jak odległość euklidesowa w świecie fizycznym na skalę ludzką.


Właśnie odpowiedziałeś na moje myśli, chyba siedzenie samemu, podczas gdy nadmierne myślenie pomaga.
Karl Morrison,

13

Jeśli nie ustandaryzujesz swoich danych, zmienne mierzone w jednostkach o dużej wartości zdominują obliczoną odmienność, a zmienne mierzone w jednostkach o małej wartości przyczynią się bardzo niewiele.

Możemy to zwizualizować w R poprzez:

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])

dist1zawiera odległości euklidesowe dla 100 obserwacji opartych na wszystkich trzech zmiennych, podczas gdy dist2zawiera odległość euklidesową na podstawie var1samych.

> 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

Uwaga jak podobne Rozkłady odległości są, wskazując niewielki wkład od var2a var3, a rzeczywiste odległości są bardzo podobne:

> 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

Jeśli znormalizujemy dane

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

wtedy następuje duża zmiana odległości opartych tylko na var1i na podstawie wszystkich trzech zmiennych:

> 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

Ponieważ hierarchiczne grupowanie wykorzystuje te odległości, to, czy pożądana jest standaryzacja, czy nie, będzie zależeć od rodzaju posiadanych danych / zmiennych oraz od tego, czy duże rzeczy będą dominować na odległościach, a tym samym dominować w tworzeniu klastrowania. Odpowiedź na to pytanie jest specyficzna dla domeny i zestawu danych.


4

Anony-Mousse udzieliła doskonałej odpowiedzi . Chciałbym tylko dodać, że metryka odległości, która ma sens, będzie zależeć od kształtu rozkładów wielowymiarowych. W przypadku wielowymiarowego Gaussa odległość Mahalanobisa jest odpowiednią miarą.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.