Grund zur Normalisierung in euklidischen Distanzmaßen in hierarchischen Clustern


19

Offensichtlich müssen bei hierarchischen Clustern, bei denen das Entfernungsmaß die euklidische Entfernung ist, die Daten zuerst normalisiert oder standardisiert werden, um zu verhindern, dass die Kovariate mit der höchsten Varianz die Clusterbildung antreibt. Warum ist das? Ist das nicht wünschenswert?

Antworten:


20

Das hängt von Ihren Daten ab. Und tatsächlich hat es nichts mit hierarchischem Clustering zu tun, sondern mit den Distanzfunktionen selbst.

Das Problem ist, wenn Sie gemischte Attribute haben .

Angenommen, Sie haben Daten zu Personen. Gewicht in Gramm und Schuhgröße. Die Schuhgrößen unterscheiden sich sehr wenig, während die Unterschiede in der Körpermasse (in Gramm) viel viel größer sind. Sie können mit Dutzenden von Beispielen kommen. Sie können 1 g und 1 Schuhgrößendifferenz einfach nicht vergleichen. Tatsächlich berechnen Sie in diesem Beispiel etwas, das die physikalische Einheit von !GSchuhgröße

Normalerweise ist in diesen Fällen eine euklidische Distanz einfach nicht sinnvoll. In vielen Situationen kann es dennoch funktionieren, wenn Sie Ihre Daten normalisieren. Auch wenn es keinen Sinn ergibt, ist es eine gute Heuristik für Situationen, in denen Sie keine "korrekte" Distanzfunktion haben, wie die euklidische Distanz in der physischen Welt im menschlichen Maßstab.


Du hast gerade meine Gedanken beantwortet, ich denke, alleine zu sitzen, während Überdenken hilft.
Karl Morrison

13

Wenn Sie Ihre Daten nicht standardisieren, dominieren die in großen Einheiten gemessenen Variablen die berechnete Unähnlichkeit, und Variablen, die in kleinen Einheiten gemessen werden, tragen sehr wenig dazu bei.

Wir können dies in R visualisieren über:

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

dist1enthält die euklidischen Abstände für die 100 Beobachtungen basierend auf allen drei Variablen, während dist2der euklidische Abstand var1allein basierend auf enthalten ist .

> 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

Beachten Sie, wie ähnlich die Entfernungsverteilungen sind, was auf einen geringen Beitrag von var2und hinweist var3, und dass die tatsächlichen Entfernungen sehr ähnlich sind:

> 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

Wenn wir die Daten standardisieren

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

dann gibt es eine große Veränderung in den Entfernungen, die nur auf var1und denen basieren, die auf allen drei Variablen basieren:

> 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

Da hierarchische Cluster diese Abstände verwenden, hängt es von der Art der Daten / Variablen ab, über die Sie verfügen, und ob die großen Dinge die Abstände und damit die Bildung der Cluster dominieren sollen. Die Antwort darauf ist domänenspezifisch und datensatzspezifisch.


4

Anony-Mousse gab eine hervorragende Antwort . Ich möchte nur hinzufügen, dass die Distanzmetrik, die Sinn macht, von der Form der multivariaten Verteilungen abhängt. Für multivariates Gauß ist der Mahalanobis-Abstand das geeignete Maß.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.