Ist die Dreiecksungleichung für diese korrelationsbasierten Abstände erfüllt?


12

Für hierarchische Cluster sehe ich oft die folgenden zwei "Metriken" (sie sprechen nicht genau dafür), um den Abstand zwischen zwei Zufallsvariablen X und : Tut entweder Erfüllt man die Dreiecksungleichung? Wenn ja, wie soll ich es beweisen, anstatt nur eine Bruteforce-Berechnung durchzuführen? Was ist ein einfaches Gegenbeispiel, wenn es sich nicht um Metriken handelt?Y

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

Möglicherweise möchten Sie dieses Dokument lesen : arxiv.org/pdf/1208.3145.pdf .
Chris

Antworten:


5

Die Dreiecksungleichung auf Ihrem würde ergeben: 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)|

Dies scheint eine leichte Ungleichung zu sein, die es zu besiegen gilt. Wir können die rechte Seite so klein wie möglich machen (genau eine), indem wir und unabhängig machen. Können wir dann ein finden , dessen linke Seite ein überschreitet?XZY

Wenn und und identische Varianz haben, dann und ähnlich für , so Die linke Seite liegt weit darüber und die Ungleichung wird verletzt. Beispiel für diese Verletzung in R, wo und Komponenten einer multivariaten Normalen sind: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

Beachten Sie jedoch, dass diese Konstruktion mit Ihrem nicht funktioniert :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

Anstatt einen theoretischen Angriff auf starten , fand ich es zu diesem Zeitpunkt einfach einfacher, mit der Kovarianzmatrix in R herumzuspielen, bis ein schönes Gegenbeispiel herauskam. Das Zulassen von , und ergibt:V a r ( X ) = 2 V a r ( Z ) = 1 C o v ( X , Z ) = 1d2SigmaVar(X)=2Var(Z)=1Cov(X,Z)=1

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

Wir können auch die Kovarianzen untersuchen:

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

Die quadratischen Korrelationen lauten dann:

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

Dann ist während und so dass die Dreieckungleichung mit einem erheblichen Spielraum verletzt wird.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

Lassen Sie uns drei Vektoren (könnte es Variablen oder Einzelpersonen sein) , und . Und wir haben jeden von ihnen auf Z-Scores standardisiert (Mittelwert = 0, Varianz = 1).XYZ

Dann ist nach dem Kosinussatz ("Gesetz des Kosinusses") der quadratische euklidische Abstand zwischen zwei standardisierten Vektoren (z. B. X und Y) dXY2=2(n1)(1cosXY) , wo cosXY , die Kosinusähnlichkeit, ist Pearson aufgrund z-Standardisierung von Vektoren. Wir können den konstanten Multiplikator sicher aus unserer Betrachtung auslassen .rXY2(n1)

Es kommt also, dass der Abstand, der in der Frage ausgedrückt wird alswäre der quadratische euklidische Abstand, wenn die Formel das Vorzeichen des Korrelationskoeffizienten nicht ignorieren würde.d1(X,Y)=1|Cor(X,Y)|

Wenn die Matrix von |r|s ist zufällig ein Gramm (positives Semidefinit), dann ist die Quadratwurzel der "d1" -Distanz eine euklidische Distanz, die natürlich metrisch ist. Mit nicht großen Matrizen vonEs kommt oft vor, dass die Entfernungen im euklidischen Raum nicht weit voneinander entfernt sind. Da die Metrik eine breitere Klasse als die euklidische ist, wird eine bestimmte Matrix von Abständen "sqrt (d1)" möglicherweise ziemlich häufig als Metrik angezeigt.|r|

Wie für "d1" per se, das "wie" im Quadrat ist euklidische Distanz ist, ist es definitiv nicht metrisch. Sogar der wahre euklidische Abstand im Quadrat ist nicht metrisch: Er verstößt manchmal gegen das Dreieck-Ungleichungsprinzip. [In der Clusteranalyse wird häufig der quadratische euklidische Abstand verwendet; Die Mehrzahl dieser Fälle impliziert jedoch, dass die Analyse auf nichtquadratischen Entfernungen aufgebaut wird, wobei die quadrierten nur eine bequeme Eingabe für Berechnungen sind.] Um dies zu sehen (über das euklidische Quadrat ), zeichnen wir unsere drei Vektoren.d

Bildbeschreibung hier eingeben

Die Vektoren sind Einheitslängen (weil standardisiert). Cosinus der Winkel ( , , ) sind jeweils , , . Diese Winkel verteilen entsprechende euklidische Abstände zwischen den Vektoren: , , . Der Einfachheit halber liegen die drei Vektoren alle auf derselben Ebene (und der Winkel zwischen und ist die Summe der beiden anderen, ). Dies ist die Position, in der die Verletzung der Dreieckungleichung durch die quadrierten Abstände am stärksten hervorgehoben ist.αβα+βrXYrXZrYZdXYdXZdYZXZα+β

Denn wie Sie mit den Augen sehen können, übertrifft der grüne Quadratbereich die Summe der beiden roten Quadrate: dYZ2>dXY2+dXZ2 .

Daher bezüglich

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

Entfernung können wir sagen, es ist nicht metrisch. Denn selbst wenn alle ursprünglich positiv waren, ist der Abstand das euklidische das selbst nicht metrisch ist.rd2

Was ist mit der zweiten Distanz?

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

Da Korrelation im Fall von Vektoren ist genormt , ist . ( In der Tat, ist von einer linearen Regression, eine Größe , die die quadrierte Korrelations der abhängigen Variablen mit etwas , ist orthogonal zu dem Prädiktor) . In diesem Fall ist den Sinusse der Vektoren zeichnen, und machen sie im Quadrat (weil wir reden über die Entfernung, diercos1r2sin21r2SSerror/SStotalsin2 ) ist:

Bildbeschreibung hier eingeben

Obwohl es visuell nicht ganz offensichtlich ist, ist das grüne Quadrat wieder größer als die Summe der roten BereichesinYZ2sinXY2+sinXZ2 .

Es konnte bewiesen werden. In einer Ebene ist . Quadrieren Sie beide Seiten, da wir an interessiert sind .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β]

Im letzten Ausdruck sind zwei wichtige Begriffe in Klammern angegeben. Wenn die zweite der beiden größer ist (oder sein kann) als die erste, dann ist , und der Abstand "d2" verletzt dreieckige Ungleichung. Und so ist es auf unserem Bild, wo ungefähr 40 Grad und ungefähr 30 Grad beträgt (Term 1 istsin2(α+β)>sin2α+sin2βαβ.1033 und Term 2 ist .2132). "D2" ist nicht metrisch.

Die Quadratwurzel von "d2" Abstand - das Sinus-Unähnlichkeitsmaß - ist jedoch metrisch (ich glaube). Du kannst mit verschiedenen und Winkeln in meinem Kreis spielen, um sicherzugehen. Ob "d2" auch in einer nicht-kollinearen Einstellung metrisch sein wird (dh drei Vektoren nicht in einer Ebene), kann ich zum gegenwärtigen Zeitpunkt nicht sagen, auch wenn ich dies vorläufig vermute.αβ


3

Siehe auch diesen Preprint, den ich geschrieben habe: http://arxiv.org/abs/1208.3145 . Ich muss mir noch Zeit nehmen und es richtig einreichen. Die Zusammenfassung:

Wir untersuchen zwei Klassen von Transformationen der Cosinusähnlichkeit und Pearson- und Spearman-Korrelationen in metrische Abstände unter Verwendung des einfachen Werkzeugs metrikerhaltender Funktionen. Die erste Klasse legt antikorrelierte Objekte maximal weit auseinander. Bisher bekannte Transformationen fallen in diese Klasse. Die zweite Klasse sortiert korrelierte und antikorrelierte Objekte. Ein Beispiel für eine solche Transformation, die einen metrischen Abstand ergibt, ist die Sinusfunktion, wenn sie auf zentrierte Daten angewendet wird.

Das Fazit für Ihre Frage ist, dass d1 , d2 in der Tat keine Metrik sind und dass die Quadratwurzel von d2 tatsächlich eine richtige Metrik ist.


2

Nein.

Einfachstes Gegenbeispiel:

Für der Abstand überhaupt nicht definiert, unabhängig davon, wie groß Ihr ist.X=(0,0)Y

Jede konstante Reihe hat die Standardabweichung und bewirkt somit eine Division durch Null in der Definition von ...σ=0Cor

Es handelt sich höchstens um eine Metrik für eine Teilmenge des Datenraums, die keine konstanten Reihen enthält.


Guter Punkt! Ich muss dies in dem an anderer Stelle erwähnten Vordruck erwähnen.
Micans
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.