Czy nierówności trójkąta są spełnione dla tych odległości opartych na korelacji?

13

W przypadku hierarchicznego grupowania często widzę następujące dwie „metryki” (nie do końca mówią) do pomiaru odległości między dwiema losowymi zmiennymi i : \ newcommand {\ Cor} {\ mathrm {Cor}} \ begin {align} d_1 (X, Y) i = 1- | \ Cor (X, Y) |, \\ d_2 (X, Y) i = 1 - (\ Cor (X, Y)) ^ 2 \ end {align} Czy albo wypełnić trójkąt nierówności? Jeśli tak, to w jaki sposób mam to udowodnić, nie wykonując obliczeń brutalnej siły? Jeśli nie są to wskaźniki, to jaki jest prosty licznik?YXY

d1(X,Y)=1|Cor(X,Y)|,d2(X,Y)=1(Cor(X,Y))2
Linda
źródło
Możesz przejrzeć ten artykuł: arxiv.org/pdf/1208.3145.pdf .
Chris

Odpowiedzi:

5

Nierówność trójkąta na d1 przyniósłby:

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

Wydaje się to dość łatwą nierównością do pokonania. Możemy uczynić prawą stronę tak małą, jak to możliwe (dokładnie jedną), czyniąc X i Z niezależnymi. Czy możemy zatem znaleźć Y dla którego lewa strona przekracza jedno?

Jeśli oraz i mają identyczną wariancję, to i podobnie dla , więc lewa strona znajduje się znacznie powyżej jednego, a nierówność zostaje naruszona. Przykład tego naruszenia w R, gdzie i są składnikami normalnej zmiennej na wielu odmianach: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

Pamiętaj jednak, że ta konstrukcja nie działa z twoim :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

Zamiast przeprowadzić teoretyczny atak na , na tym etapie po prostu łatwiej mi było bawić się macierzą kowariancji w R, dopóki nie pojawiła się ładna kontrprzykład. Dopuszczenie , i daje:d2SigmaVar(X)=2Var(Z)=1Cov(X,Z)=1

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

Możemy również zbadać kowariancje:

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

Kwadratowe korelacje to:

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

Wtedy podczas gdy i więc nierówność trójkąta jest naruszona przez znaczny margines.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
Silverfish
źródło
5

Miejmy trzy wektory (może to być zmienne lub osoby) , i . I każdy z nich znormalizowaliśmy do wyników Z (średnia = 0, wariancja = 1).XYZ

Zatem zgodnie z twierdzeniem cosinus („prawo cosinusów”) kwadratowa odległość euklidesowa między dwoma znormalizowanymi wektorami (powiedzmy X i Y) wynosi , gdzie , podobieństwo cosinus, to Pearson ze względu na standaryzację z wektorów. Możemy bezpiecznie pominąć stały mnożnik naszych rozważaniach.dXY2=2(n1)(1cosXY)cosXYrXY2(n1)

Okazuje się zatem, że odległość wyrażona w pytaniu jakobyłby kwadratową odległością euklidesową, gdyby formuła nie ignorowała znaku współczynnika korelacji.d1(X,Y)=1|Cor(X,Y)|

Jeśli macierzs zdarza się, że jest podzielan (dodatni półfinał), to pierwiastek kwadratowy z odległości „d1” jest odległością euklidesową, co jest oczywiście metryczne. Z niedużymi matrycamiczęsto jest to przypadek lub blisko przypadku, gdy odległości nie są dalekie od zbiegania się dobrze w przestrzeni euklidesowej. Ponieważ metryka jest szerszą klasą niż euklidesowa, dana matryca odległości „sqrt (d1)” mogłaby często pojawiać się jako metryka.|r||r|

Jeśli chodzi o „d1” jako takie, które jest „podobne” do kwadratu odległości euklidesowej, to jest zdecydowanie niemetryczne. Nawet prawdziwa kwadratowa odległość euklidesowa nie jest metryczna: czasami narusza zasadę nierówności trójkąta. [W analizie skupień często stosuje się kwadratową odległość euklidesową; jednak większość takich przypadków zakłada budowanie analizy na odległości nieprzekwadanej, przy czym kwadraty są po prostu wygodnym wkładem do obliczeń.] Aby to zobaczyć (o kwadratowym euklidesie ), narysujmy nasze trzy wektory.d

wprowadź opis zdjęcia tutaj

Wektory mają długość jednostkową (ponieważ są znormalizowane). Cosinus kątów ( , , ) to odpowiednio , , . Kąty te rozkładają odpowiednie odległości euklidesowe między wektorami: , , . Dla uproszczenia wszystkie trzy wektory znajdują się na tej samej płaszczyźnie (a zatem kąt między i jest sumą dwóch pozostałych, ). Jest to pozycja, w której najbardziej widoczne jest naruszenie nierówności trójkąta przez kwadraty odległości .αβα+βrXYrXZrYZdXYdXZdYZXZα+β

Bo, jak widać oczami, zielony kwadrat przewyższa sumę dwóch czerwonych kwadratów: .dYZ2>dXY2+dXZ2

Dlatego dotyczący

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

odległość możemy powiedzieć, że nie jest metryczna. Ponieważ nawet gdy wszystkie były pierwotnie dodatnie, odległość jest euklidesowa która sama w sobie nie jest metryczna.rd2

Co jest z drugą odległością?

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

Ponieważ korelacja przypadku wektorów znormalizowanych wynosi , oznacza . (Rzeczywiście, jest regresją liniową, wielkością, która jest kwadratową korelacją zmiennej zależnej z czymś prostopadłym do predyktora.) W takim przypadku narysuj sinusy wektorów i ułóż je do kwadratu (ponieważ my mówią o odległości, która jest ):rcos1r2sin21r2SSerror/SStotalsin2

wprowadź opis zdjęcia tutaj

Chociaż wizualnie nie jest to całkiem oczywiste, zielony jest ponownie większy niż suma czerwonych obszarów .sinYZ2sinXY2+sinXZ2

Można to udowodnić. W samolocie . Wyprostuj obie strony, ponieważ jesteśmy zainteresowani .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β]

W ostatnim wyrażeniu dwa ważne terminy podano w nawiasach. Jeśli drugi z nich jest (lub może być) większy od pierwszego, wówczas , a odległość „d2” narusza trójkątna nierówność. I tak jest na naszym zdjęciu, gdzie wynosi około 40 stopni, a wynosi około 30 stopni (termin 1 to, a termin 2 to ). „D2” nie jest metryką.sin2(α+β)>sin2α+sin2βαβ.1033.2132

Pierwiastek kwadratowy odległości „d2” - miara odmienności sinusoidalnej - jest jednak metryczny (jak sądzę). Aby się upewnić, możesz grać pod różnymi kątami i w moim kręgu. To, czy „d2” okaże się również metryczne w ustawieniach innych niż współliniowe (tj. Trzy wektory nie w płaszczyźnie) - nie mogę w tej chwili powiedzieć, choć wstępnie zakładam, że tak będzie.αβ

ttnphns
źródło
3

Zobacz także ten przedruk, który napisałem: http://arxiv.org/abs/1208.3145 . Nadal muszę poświęcić czas i odpowiednio go przesłać. Streszczenie:

Badamy dwie klasy transformacji podobieństwa cosinusowego oraz korelacje Pearsona i Spearmana w odległościach metrycznych, wykorzystując proste narzędzie funkcji zachowania metryk. Pierwsza klasa stawia maksymalnie przeciwlegle skorelowane obiekty. Wcześniej znane transformaty należą do tej klasy. Druga klasa zestawia obiekty skorelowane i anty-skorelowane. Przykładem takiej transformacji, która daje metryczną odległość, jest funkcja sinusoidalna po zastosowaniu do wyśrodkowanych danych.

Wynik twojego pytania jest taki , że d1 , d2 faktycznie nie są metrykami i że pierwiastek kwadratowy z d2 jest w rzeczywistości właściwą metryką.

micans
źródło
2

Nie.

Najprostszy kontrprzykład:

dla odległość nie jest zdefiniowana w ogóle, niezależnie od jest.X=(0,0)Y

Każda stała seria ma odchylenie standardowe , a zatem powoduje podział przez zero w definicji ...σ=0Cor

Jest co najwyżej metryką w podzbiorze przestrzeni danych, nie uwzględniając żadnych stałych serii.

Ma ZAKOŃCZENIE - Anony-Mus
źródło
Słuszna uwaga! Muszę o tym wspomnieć w przedruku wymienionym w innym miejscu.
micans