A desigualdade do triângulo é cumprida para essas distâncias baseadas em correlação?

13

Para cluster hierárquico, geralmente vejo as duas "métricas" a seguir (elas não estão falando exatamente) para medir a distância entre duas variáveis ​​aleatórias e : \ newcommand {\ Cor} {\ mathrm {Cor}} \ begin {align} d_1 (X, Y) & = 1- | \ COR (X, Y) |, \\ d_2 (X, Y) & = 1 - (\ COR (X, Y)) ^ 2 \ final {align} faz tanto alguém cumpre a desigualdade do triângulo? Em caso afirmativo, como devo provar isso, além de apenas fazer um cálculo de força bruta? Se não são métricas, o que é um exemplo simples de contador?XY

d1(X,Y)=1|Cor(X,Y)|,d2(X,Y)=1(Cor(X,Y))2
Linda
fonte
Você pode estar interessado em revisar este artigo: arxiv.org/pdf/1208.3145.pdf .
31516 Chris

Respostas:

5

A desigualdade de triângulo no seu renderia: d1

d1(X,Z)d1(X,Y)+d1(Y,Z)1|Cor(X,Z)|1|Cor(X,Y)|+1|Cor(Y,Z)||Cor(X,Y)|+|Cor(Y,Z)|1+|Cor(X,Z)|

Parece uma desigualdade bastante fácil de derrotar. Podemos tornar o lado direito o menor possível (exatamente um), tornando e independentes. Então, podemos encontrar um para o qual o lado esquerdo excede um?Z YXZY

Se e e tiverem variação idêntica, então e da mesma forma para , então o lado esquerdo está bem acima de um e a desigualdade é violada. Exemplo desta violação em R, onde e são componentes de uma normal multivariada:X Z C O r ( X , Y ) = Y=X+ZXZCOR(Y,Z)XZCor(X,Y)=220,707Cor(Y,Z)XZ

library(MASS)
set.seed(123)
d1 <- function(a,b) {1 - abs(cor(a,b))}

Sigma    <- matrix(c(1,0,0,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 1
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # nearly zero
Y <- X + Z

d1(X,Y) 
# 0.2928932
d1(Y,Z)
# 0.2928932
d1(X,Z)
# 1
d1(X,Z) <= d1(X,Y) + d1(Y,Z)
# FALSE

Observe que essa construção não funciona com o seu :d2

d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y) 
# 0.5
d2(Y,Z)
# 0.5
d2(X,Z)
# 1
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# TRUE

Em vez de lançar um ataque teórico em , nesse estágio, achei mais fácil brincar com a matriz de covariância em R até que um bom contra-exemplo tenha surgido. Permitindo , e fornece:V a r ( X ) = 2 V a r ( Z ) = 1 C o v ( X , Z ) = 1d2SigmaVumar(X)=2Vumar(Z)=1Cov(X,Z)=1

Vumar(Y)=Vumar(X+Y)=Vumar(X)+Vumar(Z)+2Cov(X,Z)=2+1+2=5

Também podemos investigar as covariâncias:

C O v ( Y , Z ) = C o v ( X + Z , Z

Cov(X,Y)=Cov(X,X+Z)=Cov(X,X)+Cov(X,Z)=2+1=3
Cov(Y,Z)=Cov(X+Z,Z)=Cov(X,Z)+Cov(Z,Z)=1+1=2

As correlações ao quadrado são: Cor(X,Y)2=COv(X,Y)2

Cor(X,Z)2=Cov(X,Z)2Var(X)Var(Z)=122×1=0.5
Cor(Y,Z)2=COv(Y,Z)2
Cor(X,Y)2=Cov(X,Y)2Var(X)Var(Y)=322×5=0.9
Cor(Y,Z)2=Cov(Y,Z)2Var(Y)Var(Z)=225×1=0.8

Então enquanto e assim a desigualdade triangular é violada por uma margem substancial.d 2 ( X , Y ) = 0,1 d 2 ( Y , Z ) = 0,2d2(X,Z)=0.5d2(X,Y)=0.1d2(Y,Z)=0.2

Sigma    <- matrix(c(2,1,1,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 2
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # 0.707
Y  <- X + Z
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y) 
# 0.1
d2(Y,Z)
# 0.2
d2(X,Z)
# 0.5
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# FALSE
Silverfish
fonte
5

Vamos ter três vectores (que poderia ser variáveis ou indivíduos) , , e . E padronizamos cada um deles para escores z (média = 0, variação = 1).Y ZXYZ

Então, de acordo com o teorema do cosseno ("lei dos cossenos"), a distância euclidiana quadrada entre dois vetores padronizados (digamos, X e Y) é , onde , a semelhança de cosseno, é Pearson devido à padronização z de vetores. Podemos omitir com segurança multiplicador constante de nossa consideração.dXY2=2(n1)(1cosXY)cosXYrXY2(n1)

Então, a distância expressa na pergunta comoseria a distância euclidiana ao quadrado se a fórmula não estivesse ignorando o sinal do coeficiente de correlação.d1(X,Y)=1|Cor(X,Y)|

Se a matriz des é gramiano (semidefinido positivo), então a raiz quadrada da distância "d1" é a distância euclidiana, que é métrica, é claro. Com matrizes não grandes degeralmente é um caso ou quase um caso em que as distâncias não estão muito longe de convergir no espaço euclidiano. Como a métrica é uma classe mais ampla que a euclidiana, uma determinada matriz de distâncias "sqrt (d1)" pode esperar parecer métrica com bastante frequência.|r||r|

Quanto ao "d1" em si, que é "como" a distância euclidiana quadrada , é definitivamente não-métrico. Até a verdadeira distância euclidiana quadrada não é métrica: ela às vezes viola o princípio da desigualdade do triângulo. [Na análise de agrupamentos, a distância euclidiana ao quadrado é usada com bastante frequência; no entanto, a maioria desses casos implica, na verdade, construir a análise em distâncias não quartadas, sendo os quadrados apenas uma entrada conveniente para cálculos.] Para vê-lo (sobre o quadrado euclidiano ), vamos desenhar nossos três vetores.d

insira a descrição da imagem aqui

Os vetores são de tamanho unitário (porque padronizados). Os cossenos dos ângulos ( , , ) são , , , respectivamente. Esses ângulos espalham as distâncias euclidianas correspondentes entre os vetores: , , . Por simplicidade, os três vetores estão todos no mesmo plano (e, portanto, o ângulo entre e é a soma dos outros dois, ). É a posição em que a violação da desigualdade do triângulo pelas distâncias ao quadrado é mais proeminente.αβα+βrXYrXZrYZdXYdXZdYZXZα+β

Pois, como você pode ver com os olhos, a área quadrada verde supera a soma dos dois quadrados vermelhos: .dYZ2>dXY2+dXZ2

Portanto, com relação a

d1(X,Y)=1|Cor(X,Y)|

distância, podemos dizer que não é métrico. Porque mesmo quando todos os s eram originalmente positivos, a distância é o euclidiano, que por si só não é métrico.rd2

Qual é a segunda distância?

d2(X,Y)=1(Cor(X,Y))2

Como a correlação no caso de vetores padronizados é , é . (De fato, é de regressão linear, uma quantidade que é a correlação ao quadrado da variável dependente com algo ortogonal ao preditor.) Nesse caso, desenhe os senos dos vetores e faça-os ao quadrado (porque nós estão falando sobre a distância que é ):rcos1r2sin21r2SSerror/SStotalsin2

insira a descrição da imagem aqui

Embora não seja visualmente óbvio visualmente, o verde é novamente maior que a soma das áreas vermelhas .sinYZ2sinXY2+sinXZ2

Isso poderia ser provado. Em um plano, . Esquadre os dois lados, pois estamos interessados ​​em .sin(α+β)=sinαcosβ+cosαsinβsin2

sin2(α+β)=sin2α(1sin2β)+(1sin2α)sin2β+2sinαcosβcosαsinβ=sin2α+sin2β2[sin2αsin2β]+2[sinαcosαsinβcosβ]

Na última expressão, dois termos importantes são mostrados entre colchetes. Se o segundo dos dois for (ou puder ser) maior que o primeiro, então , e a distância "d2" violará desigualdade triangular. E é assim em nossa imagem que é de cerca de 40 graus e é de cerca de 30 graus (termo 1 é e termo 2 é ). "D2" não é métrico.sin2(α+β)>sin2α+sin2βαβ.1033.2132

A raiz quadrada da distância "d2" - a medida da dissimilaridade senoidal - é métrica (acredito). Você pode jogar com vários ângulos e no meu círculo para ter certeza. Se "d2" se mostrará métrico em uma configuração não colinear (ou seja, três vetores que não estão em um avião) também - não posso dizer neste momento, embora suponho provisoriamente que sim.αβ

ttnphns
fonte
3

Veja também esta pré-impressão que escrevi: http://arxiv.org/abs/1208.3145 . Ainda preciso reservar um tempo e enviá-lo adequadamente. O resumo:

Investigamos duas classes de transformações de similaridade de cosseno e correlações de Pearson e Spearman em distâncias métricas, utilizando a ferramenta simples de funções de preservação de métricas. A primeira classe coloca objetos anti-correlacionados maximamente separados. As transformações conhecidas anteriormente se enquadram nessa classe. A segunda classe coleta objetos correlacionados e anti-correlacionados. Um exemplo dessa transformação que gera uma distância métrica é a função seno quando aplicada a dados centralizados.

O resultado positivo para sua pergunta é que d1 , d2 não são realmente métricas e que a raiz quadrada de d2 é de fato uma métrica adequada.

micans
fonte
2

Não.

Contra-exemplo mais simples:

para a distância não é definido em tudo, seja qual for seu é.X=(0,0)Y

Qualquer série constante tem desvio padrão e, portanto, causa uma divisão por zero na definição de ...σ=0Cor

No máximo, é uma métrica em um subconjunto do espaço de dados, sem incluir nenhuma série constante.

Possui QUIT - Anony-Mousse
fonte
Bom ponto! Devo mencionar isso na pré-impressão mencionada em outro lugar.
micans