Razão para normalizar em medidas de distância euclidiana em cluster hierárquico


19

Aparentemente, no agrupamento hierárquico no qual a medida de distância é a distância euclidiana, os dados devem primeiro ser normalizados ou padronizados para impedir que a covariável com a maior variação conduza o agrupamento. Por que é isso? Este fato não é desejável?

Respostas:


20

Depende dos seus dados. E, na verdade, nada tem a ver com agrupamentos hierárquicos, mas com as próprias funções de distância.

O problema é quando você tem atributos mistos .

Digamos que você tenha dados sobre pessoas. Peso em gramas e tamanho do sapato. Os tamanhos dos sapatos diferem muito pouco, enquanto as diferenças na massa corporal (em gramas) são muito maiores. Você pode criar dezenas de exemplos. Você simplesmente não pode comparar 1 ge 1 diferença de tamanho de sapato. De fato, neste exemplo, você calcula algo que teria a unidade física de !gtamanho de sapato

Geralmente nesses casos, a distância euclidiana simplesmente não faz sentido. Mas ainda pode funcionar, em muitas situações, se você normalizar seus dados. Mesmo que isso não faça sentido, é uma boa heurística para situações em que você não possui uma função de distância "comprovadamente correta", como a distância euclidiana no mundo físico em escala humana.


Você acabou de responder aos meus pensamentos, acho que ficar sentado sozinho enquanto pensar demais ajuda.
19420 Karl Morrison

13

Se você não padronizar seus dados, as variáveis ​​medidas em grandes unidades de valor dominam a dissimilaridade calculada e as variáveis ​​medidas em pequenas unidades de valor contribuem muito pouco.

Podemos visualizar isso em R via:

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

dist1contém as distâncias euclidianas para as 100 observações baseadas em todas as três variáveis, enquanto dist2contém a distância euclidiana baseada var1somente.

> 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

Observe como as distribuições de distâncias são semelhantes, indicando pouca contribuição de var2e var3, e as distâncias reais são muito semelhantes:

> 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

Se padronizarmos os dados

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

há uma grande mudança nas distâncias baseadas apenas nas var1e nas três variáveis:

> 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

Como o cluster hierárquico usa essas distâncias, se é desejável padronizar ou não, isso dependerá do tipo de dados / variáveis ​​que você possui e se deseja que as grandes coisas dominem as distâncias e, portanto, domine a formação do cluster. A resposta para isso é específica do domínio e específica do conjunto de dados.


4

Anony-Mousse deu uma excelente resposta . Eu apenas acrescentaria que a métrica de distância que faz sentido dependeria da forma das distribuições multivariadas. Para gaussiana multivariada, a distância de Mahalanobis é a medida apropriada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.