La disuguaglianza del triangolo è rispettata per queste distanze basate sulla correlazione?


13

Per il clustering gerarchico vedo spesso le seguenti due "metriche" (non stanno esattamente parlando) per misurare la distanza tra due variabili casuali e : \ newcommand {\ Cor} {\ mathrm {Cor}} \ begin {align} d_1 (X, Y) & = 1- | \ Cor (X, Y) |, \\ D_2 (X, Y) & = 1 - (\ Cor (X, Y)) ^ 2 \ end {align} Does sia si soddisfa la disuguaglianza del triangolo? In tal caso, come dovrei provarlo a parte il semplice calcolo di una forza bruta? Se non sono metriche, qual è un semplice esempio contatore?XY

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

Potresti essere interessato a leggere questo articolo: arxiv.org/pdf/1208.3145.pdf .
Chris,

Risposte:


5

La disuguaglianza del triangolo sul tuo produrrebbe: 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)|

Sembra una disuguaglianza abbastanza facile da sconfiggere. Possiamo rendere il lato destro il più piccolo possibile (esattamente uno) rendendo e indipendenti. Quindi possiamo trovare una per la quale il lato sinistro supera uno?XZY

Se e e hanno varianza identica, allora e similmente per , quindi la parte sinistra è ben al di sopra di una e la disuguaglianza è violata. Esempio di questa violazione in R, dove e sono componenti di una normale multivariata:Y=X+ZXZCor(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

Nota che questa costruzione non funziona con il tuo :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

Piuttosto che lanciare un attacco teorico su , in questa fase ho appena trovato più facile giocare con la matrice di covarianza in R fino a quando non è spuntato un bel controesempio. Consentire , e dà:d2SigmaVar(X)=2Var(Z)=1Cov(X,Z)=1

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

Possiamo anche indagare sulle covarianze:

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

Le correlazioni al quadrato sono quindi:

Cor(X,Z)2=Cov(X,Z)2Var(X)Var(Z)=122×1=0.5
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

Quindi mentre e quindi la disuguaglianza del triangolo è violata da un margine sostanziale.d2(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

5

Cerchiamo di avere tre vettori (potrebbe essere variabili o individui) , e . E abbiamo standardizzato ciascuno di essi in punteggi z (media = 0, varianza = 1).XYZ

Quindi secondo il teorema del coseno ("legge dei coseni") la distanza euclidea al quadrato tra due vettori standardizzati (diciamo, X e Y) è , dove , la somiglianza del coseno, è Pearson causa della standardizzazione z dei vettori. Possiamo tranquillamente omettere moltiplicatore costante dalla nostra considerazione.dXY2=2(n1)(1cosXY)cosXYrXY2(n1)

Quindi, arriva la distanza espressa nella domanda comesarebbe la distanza euclidea al quadrato se la formula non ignorasse il segno del coefficiente di correlazione.d1(X,Y)=1|Cor(X,Y)|

Se la matrice dis sembra essere gramiano (semidefinito positivo), quindi la radice quadrata della distanza "d1" è la distanza euclidea, che è ovviamente metrica. Con matrici non grandi diè spesso un caso o vicino a un caso in cui le distanze non sono lontane dal convergere bene nello spazio euclideo. Poiché la metrica è una classe più ampia di quella dell'euclidea, una data matrice di distanze "sqrt (d1)" potrebbe aspettarsi di apparire metrica abbastanza spesso.|r||r|

Per quanto riguarda "d1" di per sé, che è "come" distanza euclidea quadrata , è decisamente non metrico. Anche la vera distanza euclidea al quadrato non è metrica: viola talvolta il principio di disuguaglianza del triangolo. [Nell'analisi dei cluster, la distanza euclidea al quadrato viene usata abbastanza spesso; tuttavia, la maggior parte di questi casi implica effettivamente la costruzione dell'analisi su una distanza non quadrata, mentre i quadrati sono solo un comodo input per i calcoli.] Per vederlo (circa il quadrato euclideo ), disegniamo i nostri tre vettori.d

inserisci qui la descrizione dell'immagine

I vettori sono unità di lunghezza (perché standardizzati). I coseni degli angoli ( , , ) sono rispettivamente , , . Questi angoli diffondono le corrispondenti distanze euclidee tra i vettori: , , . Per semplicità, i tre vettori sono tutti sullo stesso piano (e quindi l'angolo tra e è la somma degli altri due, ). È la posizione in cui la violazione della disuguaglianza del triangolo da parte delle distanze al quadrato è più importante.αβα+βrXYrXZrYZdXYdXZdYZXZα+β

Perché, come puoi vedere con gli occhi, l'area quadrata verde eccelle la somma dei due quadrati rossi: .dYZ2>dXY2+dXZ2

Pertanto per quanto riguarda

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

distanza possiamo dire che non è metrica. Perché anche quando tutte le erano originariamente positive la distanza è l'euclidea che di per sé non è metrica.rd2

Qual è la seconda distanza?

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

Poiché la correlazione nel caso dei vettori standardizzati è , è . (In effetti, è di una regressione lineare, una quantità che è la correlazione quadrata della variabile dipendente con qualcosa ortogonale al predittore.) In questo caso attirare i seni di vettori, e renderli squadrato (perché stanno parlando della distanza che è ):rcos1r2sin21r2SSerror/SStotalsin2

inserisci qui la descrizione dell'immagine

Sebbene visivamente non sia del tutto evidente, il verde è di nuovo più grande della somma delle aree rosse .sinYZ2sinXY2+sinXZ2

Potrebbe essere provato. Su un piano, . Quadrato su entrambi i lati poiché siamo interessati a .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β]

Nell'ultima espressione, due termini importanti sono indicati tra parentesi. Se il secondo dei due è (o può essere) più grande del primo, allora e la distanza "d2" viola disuguaglianza triangolare. Ed è così nella nostra immagine in cui è di circa 40 gradi e circa 30 gradi (il termine 1 è e il termine 2 è ). "D2" non è metrico.sin2(α+β)>sin2α+sin2βαβ.1033.2132

La radice quadrata della distanza "d2" - la misura della differenza di seno - è però metrica (credo). Puoi giocare con vari angoli e sulla mia cerchia per essere sicuro. Se "d2" mostrerà di essere metrico in un ambiente non collineare (cioè tre vettori non su un piano) - non posso dire in questo momento, anche se suppongo che lo farà.αβ


3

Vedi anche questa prestampa che ho scritto: http://arxiv.org/abs/1208.3145 . Devo ancora prendere tempo e inviarlo correttamente. L'abstract:

Indaghiamo due classi di trasformazioni di somiglianza del coseno e correlazioni di Pearson e Spearman in distanze metriche, utilizzando il semplice strumento di funzioni di conservazione metrica. La prima classe mette gli oggetti anti-correlati al massimo distanti tra loro. Le trasformazioni precedentemente note rientrano in questa classe. La seconda classe raccoglie oggetti correlati e anti-correlati. Un esempio di tale trasformazione che produce una distanza metrica è la funzione seno quando applicata a dati centrati.

Il risultato della tua domanda è che d1 , d2 non sono in effetti metriche e che la radice quadrata di d2 è in effetti una metrica corretta.


2

No.

Il più semplice contro-esempio:

per la distanza non è definito a tutti, qualunque sia il vostro è.X=(0,0)Y

Qualsiasi serie costante ha una deviazione standard , e quindi provoca una divisione per zero nella definizione di ...σ=0Cor

Al massimo è una metrica su un sottoinsieme dello spazio dati, senza includere alcuna serie costante.


Buon punto! Devo menzionarlo nella prestampa menzionata altrove.
Micans,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.