Grundlegendes zu Entfernungskorrelationsberechnungen

15

Nach meinem Verständnis ist die Entfernungskorrelation eine robuste und universelle Methode, um zu überprüfen, ob es eine Beziehung zwischen zwei numerischen Variablen gibt. Wenn wir zum Beispiel eine Reihe von Zahlenpaaren haben:

(x1, y1)
(x2, y2)
...
(xn, yn)

Wir können die Entfernungskorrelation verwenden, um zu überprüfen, ob eine (nicht unbedingt lineare) Beziehung zwischen den beiden Variablen ( xund y) besteht. Darüber hinaus xund ykönnen Vektoren unterschiedlicher Dimensionen sein.

Die Entfernungskorrelation ist relativ einfach zu berechnen. Zuerst verwenden wir xich , um die Distanzmatrix zu berechnen. Dann berechnen wir die Distanzmatrix mit yich . Die beiden Distanzmatrizen haben die gleichen Dimensionen, da die Anzahl von xich und yich ist (weil sie paarweise vorliegen).

Jetzt haben wir viele Entfernungen, die gepaart werden können. Beispielsweise wird ein Element (2,3)aus der ersten Distanzmatrix mit dem Element (2,3)aus der zweiten Distanzmatrix gepaart . Wir haben also eine Reihe von Entfernungspaaren und können sie zur Berechnung der Korrelation (Korrelation zwischen Entfernungen) verwenden.

Wenn zwei Arten von Entfernungen korreliert sind, bedeutet dies, dass nahe Xs normalerweise nahe Ys bedeuten. Wenn zum Beispiel in der Nähe von x 13 liegt , bedeutet dies, dass y 7 wahrscheinlich in der Nähe von y 13 liegt . Wir können also schließen, dass Xs und Ys abhängig sind.x7x13y7y13

Klingt vernünftig, aber es gibt zwei Aspekte, die ich nicht verstehe .

Erstens verwenden wir zur Berechnung der Distanzkorrelation nicht die beiden Distanzmatrizen direkt. Wir wenden auf sie ein doppeltes Zentrierungsverfahren an (so dass die Summe aller Elemente in einer Zeile (oder Spalte) gleich Null ist). Ich verstehe nicht, warum wir das tun müssen. Welche Logik (oder Intuition) steckt hinter diesem Schritt?

Zweite haben wir in den ursprünglichen Distanzmatrizen Nullen auf der Diagonale. Wenn wir also die Korrelationen zwischen den Abständen berechnen, erhalten wir eine statistisch signifikante Korrelation, nur weil viele Nullen aus der ersten Matrix mit den entsprechenden Nullen in der zweiten Matrix gepaart sind. Wie wird dieses Problem gelöst?

römisch
quelle

Antworten:

16

Entfernung Kovarianz / Korrelation (= Brownsche Kovarianz / Korrelation) wird in den folgenden Schritten berechnet:

  1. Compute Matrix von euklidischen Distanzen zwischen NFällen von variablen , und einer weiteren ebenfalls Matrix durch variable Y . Jedes der beiden quantitativen Merkmale X oder YXY.XY. kann multivariat und nicht nur univariat sein.
  2. Führen Sie eine doppelte Zentrierung jeder Matrix durch. Sehen Sie, wie die doppelte Zentrierung normalerweise durchgeführt wird. Doch in unserem Fall, wenn es zu tun hat nicht Platz die Abstände zunächst und nicht teilen , indem er -2 am Ende. Zeilen-, Spaltenmittel und Gesamtmittel der Elemente werden zu Null.
  3. Multiplizieren Sie die beiden resultierenden Matrizen elementweise und berechnen Sie die Summe. oder gleichwertig, wickle die Matrizen in zwei Spaltenvektoren aus und berechne ihr summiertes Kreuzprodukt.
  4. Durchschnitt, dividiert durch die Anzahl der Elemente, N^2 .
  5. Nimm die Quadratwurzel. Das Ergebnis ist die Distanzkovarianz zwischen und YXY. .
  6. Entfernungsvarianzen sind die Entfernungskovarianzen von , von Y mit sich selbst, Sie berechnen sie ebenfalls, Punkte 3-4-5.XY.
  7. Die Entfernungskorrelation wird aus den drei Zahlen erhalten, analog wie die Pearson-Korrelation aus der üblichen Kovarianz und dem Varianzpaar erhalten wird: Teilen Sie die Kovarianz durch die Quadratwurzel des Produkts aus zwei Varianzen.

Die Distanzkovarianz (und Korrelation) ist nicht die Kovarianz (oder Korrelation) zwischen den Distanzen selbst. Es ist die Kovarianz (Korrelation) zwischen den speziellen Skalarprodukten (Punktprodukten), aus denen die "doppelt zentrierten" Matrizen bestehen.

Im euklidischen Raum ist ein Skalarprodukt die Ähnlichkeit, die eindeutig mit dem entsprechenden Abstand verbunden ist. Wenn Sie zwei Punkte (Vektoren) haben, können Sie deren Nähe als Skalarprodukt anstelle der Entfernung ausdrücken, ohne Informationen zu verlieren.

Um jedoch ein Skalarprodukt zu berechnen, müssen Sie sich auf den Ursprungspunkt des Raums beziehen (Vektoren stammen vom Ursprung). Im Allgemeinen könnte man den Ursprung so platzieren, wie er möchte, aber häufig und bequem ist es, ihn in der geometrischen Mitte der Punktwolke, dem Mittelwert, zu platzieren. Da der Mittelwert zum selben Raum gehört wie der von der Wolke aufgespannte, würde die Dimensionalität nicht anschwellen.

Die übliche doppelte Zentrierung der Abstandsmatrix (zwischen den Punkten einer Wolke) besteht darin, die Abstände in die Skalarprodukte umzuwandeln, während der Ursprung in dieser geometrischen Mitte liegt. Dabei wird das "Entfernungsnetz" äquivalent durch das "Bündel" von Vektoren bestimmter Längen und paarweiser Winkel vom Ursprung ersetzt:

Bildbeschreibung hier eingeben

[Die Konstellation in meinem Beispielbild ist planar, was besagt, dass die "Variable", die war, zweidimensional war. Wenn X eine einspaltige Variable ist, liegen natürlich alle Punkte auf einer Linie.]XX

Nur ein bisschen formal über den doppelten Zentriervorgang. Lassen Sie n points x p dimensionsDaten (im univariaten Fall ). Sei D eine Matrix von euklidischen Abständen zwischen den Punkten. Lassen Sie C sein X mit seinen Säulen zentriert. Dann ist S = doppelt zentriertes  D 2 gleich C C ' , dem Skalarprodukt zwischen den Zeilen, nachdem die Punktwolke zentriert wurde. Die Haupteigenschaft der doppelten Zentrierung ist die 1Xp=1Dn x nnCXS=doppelt zentriert D2CC, und diese Summegleich der negierten Summe deroff-diagonal ElementeS.12nD2=treince(S)=treince(CC)S

Zurück zur Entfernungskorrelation. Was machen wir, wenn wir Distanz-Kovarianz berechnen? Wir haben beide Entfernungsnetze in ihre entsprechenden Vektorbündel umgewandelt. Und dann berechnen wir die Kovariation (und anschließend die Korrelation) zwischen den entsprechenden Werten der beiden Bündel: Jeder skalare Produktwert (ehemaliger Abstandswert) einer Konfiguration wird mit seiner entsprechenden der anderen Konfiguration multipliziert. Dies kann als (wie in Punkt 3 gesagt) Berechnung der üblichen Kovarianz zwischen zwei Variablen angesehen werden, nachdem die beiden Matrizen in diesen "Variablen" vektorisiert wurden.

Wir kovariieren also die beiden Ähnlichkeitssätze (die Skalarprodukte, die konvertierten Entfernungen). Jede Art von Kovarianz ist das Kreuzprodukt von Momenten: Sie müssen diese Momente berechnen, die Abweichungen vom Mittelwert zuerst - und die doppelte Zentrierung war diese Berechnung. Dies ist die Antwort auf Ihre Frage: Eine Kovarianz muss auf Momenten basieren, aber Entfernungen sind keine Momente.

Eine zusätzliche Wurzelbildung nach (Punkt 5) erscheint logisch, da in unserem Fall der Moment bereits selbst eine Art Kovarianz war (ein Skalarprodukt und eine Kovarianz sind strukturell compeers ) und so kam es zu einer Art zweifach multiplizierten Kovarianzen. Um also wieder auf die Ebene der Werte der Originaldaten abzusteigen (und den Korrelationswert berechnen zu können), muss man danach die Wurzel ziehen.

Ein wichtiger Hinweis sollte endlich gehen. Wenn wir die klassische Doppelzentrierung durchführen würden - das heißt, nachdem wir die euklidischen Abstände quadriert hätten -, würden wir am Ende die Distanzkovarianz erhalten, die keine echte Distanzkovarianz ist und die nicht nützlich ist. Es wird in eine Größe degeneriert erscheinen, die genau mit der üblichen Kovarianz zusammenhängt (und die Entfernungskorrelation wird eine Funktion der linearen Pearson-Korrelation sein). Was macht Abstand Kovarianz / Korrelation einzigartig und in der Lage nicht linearen Zusammenhang messen , sondern eine generische Form der Abhängigkeit , so dass dCov = 0 , wenn und nur wenn die Variablen unabhängig sind, - ist der Mangel an quadrieren die Abstände , wenn die doppelte Zentrierung (siehe Anweisungen Punkt 2). Tatsächlich kann jede Potenz der Entfernungen im Bereich würde jedoch die Standardform tun, ist es auf der Potenz 1 zu tun. Warum diese Potenz und nicht Potenz 2 den Koeffizienten zum Maß für die nichtlineare Interdependenz macht, ist (für mich) eine schwierige mathematische Frage, diecharakteristischeVerteilungsfunktionen aufzeigt, und ich würde gerne jemanden hören, der besser ausgebildet ist, um hier die Mechanik der Distanz zu erklären Kovarianz / Korrelation mit möglicherweise einfachen Worten (ich habe es einmalversucht, erfolglos).(0,2)12

ttnphns
quelle
Mit "summiertes Kreuzprodukt" in Schritt 3 meinen Sie einfach ein normales Skalarprodukt?
kram1032
1
@ kram1032, ja scp und Skalarprodukt sind Synonyme stats.stackexchange.com/a/22520/3277
ttnphns
8

Ich denke, Ihre beiden Fragen sind eng miteinander verbunden. Während die ursprünglichen Diagonalen in der Abstandsmatrix 0 sind, werden für die Kovarianz (die den Zähler der Korrelation bestimmt) die doppelt zentrierten Werte der Abstände verwendet - was für einen Vektor mit jeder Variation bedeutet, dass die Diagonalen sind Negativ.

Lassen Sie uns also einen einfachen unabhängigen Fall durchgehen und sehen, ob sich daraus ergibt, warum die Korrelation 0 ist, wenn die beiden Variablen unabhängig sind.

(X,Y.)=[(0,0),(0,1),(1,0),(1,1)]

XY.

ein=[0011001111001100]

b=[0101101001011010]

EIN

EIN=[-.5-.5.5.5-.5-.5.5.5.5.5-.5-.5.5.5-.5-.5]

B=[-.5.5-.5.5.5-.5.5-.5-.5.5-.5.5.5-.5.5-.5]

Was passiert nun, wenn wir die Kovarianz der Stichprobenentfernung berechnen , die der Durchschnitt des elementweisen Produkts der beiden Matrizen ist? Wir können leicht von den 16 Elementen sehen, 4 (die Diagonale!) Sind.5.5=.25 pairs, 4 are .5.5=.25 pairs, and 8 are .5.5=.25 pairs, and so the overall average is 0, which is what we wanted.

That's an example, not a proof that it'll necessarily be the case that if the variables are independent, the distance correlation will be 0, and that if the distance correlation is 0, then the variables are independent. (The proof of both claims can be found in the 2007 paper that introduced the distance correlation.)

I find it intuitive that centering creates this desirable property (that 0 has special significance). If we had just taken the average of the element-wise product of a and b we would have ended up with 0.25, and it would have taken some effort to determine that this number corresponded to independence. Using the negative "mean" as the diagonal means that's naturally taken care of. But you may want to think about why double centering has this property: would it also work to do single centering (with either the row, column, or grand mean)? Could we not adjust any real distances and just set the diagonal to the negative of either the row sum, column sum, or grand sum?

(As ttnphns points out, by itself this isn't enough, as the power also matters. We can do the same double centering but if we add them in quadrature we'll lose the if and only if property.)

Matthew Graves
quelle
1
Würde es Ihnen etwas ausmachen, wenn ich Matrizen in diese Antwort bearbeitete?
Shadowtalker
@ssdecontrol danke für das angebot! Ich habe es selbst gemacht, kann aber auch andere Formatierungsänderungen vornehmen.
Matthew Graves
1
Ich verstehe nicht ganz, was Sie in diesem Fall mit "Single" meinen (hat Mattew das gesagt oder sonst?) Was für mich wirklich mysteriös / wichtig ist (wie ich es am Ende meiner Antwort ausdrückte), ist warum ( theoretisch) Wenn wir die doppelte Zentrierung durchführen, ohne zuerst die Abstände zu quadrieren, ermöglichen wir dem dCov, seine einzigartigen und nützlichen Eigenschaften zu haben.
ttnphns
1
@ttnphns: Mit einfacher Zentrierung meinte ich, den Mittelwert von jedem Entfernungswert zu subtrahieren. Auf jeden Fall stimme ich zu, dass Distanz-Kovarianz mysteriös ist.
Amöbe sagt Reinstate Monica
1
@amoeba Ich wünschte, die Autoren würden ein Follow-up mit einer intuitiven Erklärung und einer effizienten Implementierung für mehrere Variablenpaare schreiben. Es ist fast ein Jahrzehnt her, da ihre ursprüngliche Papier- und Distanz-Kovarianz immer noch nur eine quijotische Ablenkung für Studenten ist. Das einzige Mal, dass ich es in der Praxis gesehen habe, war eine damals nicht implementierte Funktion in Stan zur Diagnose von MC-Ketten
shadowtalker