Zum Hauptinhalt springen

1.5 Korrelation

Bisher ging es um eine Variable. Jetzt betrachten wir den Zusammenhang zwischen zwei Variablen. Wir starten im „data land“ 📄 02_recap_stats_ws26.pdf, Folie 34 mit dem empirischen Korrelationskoeffizienten und gehen am Ende ins „probability land“.

Motivation: Alter und Blutdruck​

📄 02_recap_stats_ws26.pdf, Folie 35 Gibt es einen Zusammenhang zwischen Alter (Jahre) und systolischem Blutdruck (SBP, mmHg)? Das Streudiagramm (scatterplot) des UCI-Heart-Disease-Datensatzes zeigt eine große Punktwolke mit einer leichten Tendenz nach rechts oben: Ältere Menschen haben im Mittel etwas höheren Blutdruck, aber die Streuung ist groß.

Um das in einer Zahl auszudrücken, braucht man den Korrelationskoeffizienten.

Z-Transformation​

📄 02_recap_stats_ws26.pdf, Folie 36 Problem: Alter in Jahren und Blutdruck in mmHg haben verschiedene Einheiten, man vergleicht „Äpfel mit Birnen“ (apples with oranges). Deshalb muss man die Einheiten entfernen, indem man die Daten skaliert. Das geschieht durch die Z-Transformation (Standardisierung):

z(xi)=xi−xˉsdxz(x_i) = \frac{x_i-\bar x}{sd_x}

Die Formel steht so nicht auf Folie 36, sondern ergibt sich aus Folie 37. Laut Folie 1 wurde die Z-Transformation an der Tafel erklärt.

Was passiert dabei?

  1. Zentrieren: xi−xˉx_i-\bar x verschiebt die Daten so, dass ihr Mittelwert 0 ist.
  2. Skalieren: Teilen durch sdxsd_x macht die Standardabweichung 1. Ein Wert z=2z=2 heißt dann „zwei Standardabweichungen über dem Mittelwert“, unabhängig von der Einheit.

Im standardisierten Streudiagramm der Folie liegen beide Achsen ungefähr zwischen −3 und 4, die Form der Punktwolke ist unverändert, nur Lage und Maßstab haben sich geändert.

Aus den standardisierten Daten berechnet man den Korrelationskoeffizienten:

r=1n−1∑i=1nz(xi) z(yi).r = \frac{1}{n-1}\sum_{i=1}^n z(x_i)\,z(y_i).

Intuition: Liegt ein Punkt rechts oben (beide zz positiv) oder links unten (beide negativ), ist das Produkt z(xi)z(yi)z(x_i)z(y_i) positiv. Liegt er links oben oder rechts unten, ist es negativ. rr ist im Wesentlichen der Mittelwert dieser Produkte. Überwiegen Punkte in den Quadranten „rechts oben/links unten“, wird rr positiv.

Ergänzung, nicht auf den Folien: In scikit-learn erledigt das StandardScaler. Die Z-Transformation ist auch ein Standard-Vorverarbeitungsschritt für viele ML-Verfahren, z. B. vor PCA oder k-Means.

Pearson-Korrelation ausgeschrieben​

📄 02_recap_stats_ws26.pdf, Folie 37 Setzt man die Z-Transformation ein:

rxy=1n−1∑i=1nz(xi) z(yi)=1n−1∑i=1nxi−xˉsdx⋅yi−yˉsdy=cov⁡(X,Y)sdx sdyr_{xy} = \frac{1}{n-1}\sum_{i=1}^n z(x_i)\,z(y_i) = \frac{1}{n-1}\sum_{i=1}^n \frac{x_i-\bar x}{sd_x}\cdot\frac{y_i-\bar y}{sd_y} = \frac{\operatorname{cov}(X,Y)}{sd_x\,sd_y}

mit der empirischen Kovarianz (covariance)

cov⁡(X,Y)=1n−1∑i=1n(xi−xˉ)(yi−yˉ).\operatorname{cov}(X,Y) = \frac{1}{n-1}\sum_{i=1}^n (x_i-\bar x)(y_i-\bar y).

Setzt man auch sdxsd_x und sdysd_y ein, kürzen sich die Faktoren 1n−1\frac{1}{n-1} heraus:

rxy=∑i=1n(xi−xˉ)(yi−yˉ)∑i=1n(xi−xˉ)2 ∑i=1n(yi−yˉ)2.r_{xy} = \frac{\sum_{i=1}^n (x_i-\bar x)(y_i-\bar y)}{\sqrt{\sum_{i=1}^n (x_i-\bar x)^2\ \sum_{i=1}^n (y_i-\bar y)^2}}.

Kovarianz ist die Erweiterung der Varianz auf zwei Variablen: Setzt man Y=XY=X, erhält man genau die empirische Varianz:

cov⁡(X,X)=1n−1∑i=1n(xi−xˉ)(xi−xˉ)=1n−1∑i=1n(xi−xˉ)2=sx2.\operatorname{cov}(X,X) = \frac{1}{n-1}\sum_{i=1}^n (x_i-\bar x)(x_i-\bar x) = \frac{1}{n-1}\sum_{i=1}^n (x_i-\bar x)^2 = s_x^2.

Durchgerechnetes Beispiel​

Ergänzung, Zahlen nicht auf den Folien. Daten: x=(1,2,3)x = (1, 2, 3), y=(1,3,2)y = (1, 3, 2).

iixix_iyiy_ixi−xˉx_i-\bar xyi−yˉy_i-\bar yProdukt(xi−xˉ)2(x_i-\bar x)^2(yi−yˉ)2(y_i-\bar y)^2
111−1−1111
22301001
33210010
∑\sum122

Mit xˉ=yˉ=2\bar x = \bar y = 2:

  • cov⁡(X,Y)=12⋅1=0,5\operatorname{cov}(X,Y) = \frac{1}{2}\cdot 1 = 0{,}5
  • sdx=2/2=1sd_x = \sqrt{2/2} = 1, sdy=1sd_y = 1
  • rxy=12⋅2=12=0,5r_{xy} = \dfrac{1}{\sqrt{2\cdot2}} = \dfrac12 = 0{,}5

Schwach bis mittel positiver Zusammenhang. Da hier sdx=sdy=1sd_x=sd_y=1 ist, sind die zz-Werte gleich den Abweichungen, und 12∑z(xi)z(yi)=0,5\frac{1}{2}\sum z(x_i)z(y_i)=0{,}5 liefert dasselbe.

import numpy as np
x, y = np.array([1, 2, 3]), np.array([1, 3, 2])
np.corrcoef(x, y)[0, 1] # 0.5
np.cov(x, y)[0, 1] # 0.5 (np.cov nutzt standardmäßig n-1)

Eigenschaften (Ergänzung)​

Ergänzung, auf den Folien nur über die Abbildungen angedeutet:

  • −1≤r≤1-1\le r\le 1.
  • r=±1r=\pm1 genau dann, wenn alle Punkte exakt auf einer Geraden liegen (Steigung ≠0\neq 0).
  • rr ist einheitenfrei und ändert sich nicht, wenn man xx oder yy mit einer positiven Zahl multipliziert oder eine Konstante addiert (genau das ist der Sinn der Z-Transformation). Multiplikation mit einer negativen Zahl dreht das Vorzeichen um.
  • rr ist symmetrisch: rxy=ryxr_{xy}=r_{yx}.

Streudiagramme für verschiedene Korrelationskoeffizienten​

📄 02_recap_stats_ws26.pdf, Folie 38 Die berühmte Abbildung (Wikipedia) hat drei Zeilen:

  1. Obere Zeile: Punktwolken mit r=1,0; 0,8; 0,4; 0,0; −0,4; −0,8; −1,0r = 1{,}0;\ 0{,}8;\ 0{,}4;\ 0{,}0;\ -0{,}4;\ -0{,}8;\ -1{,}0. Je näher ∣r∣|r| an 1, desto schmaler die Wolke um eine Gerade.
  2. Mittlere Zeile: exakte Geraden mit verschiedenen Steigungen. Alle haben r=±1r=\pm1, egal wie steil, nur die horizontale Gerade hat r=0r=0 (eigentlich undefiniert, da sdy=0sd_y=0).
  3. Untere Zeile: stark strukturierte, offensichtlich abhängige Muster (Welle, Quadrat, Parabel, X, Ring, vier Cluster), die alle r=0r=0 haben.
Fallstrick: rr misst nicht die Steigung

Die mittlere Zeile zeigt: Eine flache Gerade hat genauso r=1r=1 wie eine steile. rr misst, wie gut die Punkte auf einer Geraden liegen, nicht, wie stark yy mit xx wächst. Für die Steigung braucht man die Regression.

Korrelation erfasst nur lineare Abhängigkeiten​

📄 02_recap_stats_ws26.pdf, Folie 39 Das „Datasaurus“-Beispiel: Ein Datensatz in Form eines Dinosauriers hat Mittelwert xˉ≈54,26\bar x\approx54{,}26, yˉ≈47,83\bar y\approx47{,}83, Standardabweichungen 16,7616{,}76 und 26,9326{,}93 und Korrelation r≈−0,06r\approx-0{,}06. Der Datasaurus Dozen besteht aus zwölf völlig unterschiedlich aussehenden Datensätzen (Stern, Kreis, Streifen, …) mit genau denselben Kennzahlen.

Lehre: Mittelwert, Standardabweichung und Korrelation sagen wenig über die Form der Daten. Man muss die Daten plotten.

Ergänzung, nicht auf den Folien: Klassisches Gegenbeispiel: XX symmetrisch um 0 (z. B. X∈{−1,0,1}X\in\lbrace -1,0,1\rbrace gleich wahrscheinlich) und Y=X2Y = X^2. Dann ist YY vollständig durch XX bestimmt, aber cov⁡(X,Y)=E(X3)−E(X)E(X2)=0−0=0\operatorname{cov}(X,Y) = E(X^3)-E(X)E(X^2) = 0 - 0 = 0. Unkorreliert heißt nicht unabhängig. Umgekehrt gilt: unabhängig ⇒ unkorreliert.

Grenzen der Korrelationsanalyse​

📄 02_recap_stats_ws26.pdf, Folie 40
  1. Korrelation ist nicht die einzige Form statistischer Abhängigkeit. Oft sind zwei Variablen unkorreliert und trotzdem voneinander abhängig (siehe untere Zeile von Folie 38). Abhilfe: Streudiagramme anschauen!
  2. Schätzungen von Korrelationskoeffizienten sind instabil, besonders bei kleinen Stichproben. Außerdem reagiert rr stark auf Ausreißer (outliers): Ein einzelner extremer Punkt kann rr von 0 auf 0,8 ziehen, weil er ein riesiges Produkt z(xi)z(yi)z(x_i)z(y_i) beiträgt. Es gibt statistische Tests, ob ein geschätzter Koeffizient signifikant von 0 verschieden ist.
  3. Hochdimensionale Daten lassen sich nicht in einem Streudiagramm darstellen. Um trotzdem einen Eindruck von der Korrelationsstruktur zu bekommen, zeigt man die Streudiagramme aller Variablenpaare als Streudiagramm-Matrix (scatterplot matrix, nicht perfekt) oder macht eine PCA (Hauptkomponentenanalyse, siehe Kapitel 2).

Ergänzung, nicht auf den Folien: Der vielleicht wichtigste Fallstrick überhaupt: Korrelation ist keine Kausalität. Eis-Verkäufe und Sonnenbrände sind korreliert, weil beide vom Wetter abhängen (Störvariable, confounder).

Korrelation im „probability land“​

📄 02_recap_stats_ws26.pdf, Folie 41 Zum Schluss die Modellseite. Die Folie definiert die Korrelation (nicht zu verwechseln mit dem Korrelationskoeffizienten!) als Erwartungswert des Produkts:

Cxy=E(x⋅y)=∑x∑yx⋅y p(x,y)(diskret),Cxy=E(x⋅y)=∬x⋅y p(x,y) dx dy(stetig).C_{xy} = E(x\cdot y) = \sum_x\sum_y x\cdot y\ p(x,y) \quad\text{(diskret)}, \qquad C_{xy} = E(x\cdot y) = \iint x\cdot y\ p(x,y)\,dx\,dy \quad\text{(stetig)}.

Dabei ist p(x,y)p(x,y) die gemeinsame Verteilung (joint distribution) von xx und yy.

Schätzung aus NN Datenpunkten: Man ersetzt den Erwartungswert EE durch den Mittelwert (MW):

Cxy^=MW⁡(x⋅y)=1N∑i=1Nxi⋅yi.\widehat{C_{xy}} = \operatorname{MW}(x\cdot y) = \frac{1}{N}\sum_{i=1}^N x_i\cdot y_i.

Das ist dasselbe Prinzip wie μ^=xˉ\hat\mu=\bar x in 1.4: Erwartungswert im Modell ↔ Mittelwert in den Daten.

Interpretation der Folie: Sind xx und yy statistisch abhängig, sind sie typischerweise gleichzeitig positiv oder negativ (sie sind kovariant). Dann ist ihr Produkt meist groß und positiv, und es ergibt sich eine positive Korrelation.

Korrelation vs. Kovarianz vs. Korrelationskoeffizient

Einordnung als Ergänzung: Die Korrelation Cxy=E(xy)C_{xy}=E(xy) auf Folie 41 ist nicht zentriert (Sprechweise der Signalverarbeitung). Die Interpretation „gleichzeitig positiv oder negativ“ ergibt nur Sinn, wenn die Daten um 0 liegen. Der Zusammenhang:

GrößeModellDaten
KorrelationE(xy)E(xy)1N∑xiyi\frac1N\sum x_iy_i
KovarianzE[(x−Ex)(y−Ey)]=E(xy)−E(x)E(y)E\big[(x-E x)(y-E y)\big] = E(xy)-E(x)E(y)1n−1∑(xi−xˉ)(yi−yˉ)\frac{1}{n-1}\sum(x_i-\bar x)(y_i-\bar y)
KorrelationskoeffizientCov⁡(x,y)σxσy\dfrac{\operatorname{Cov}(x,y)}{\sigma_x\sigma_y}rxy=1n−1∑z(xi)z(yi)r_{xy}=\frac{1}{n-1}\sum z(x_i)z(y_i)

Für zentrierte Daten fallen Korrelation und Kovarianz zusammen, für z-transformierte Daten ist die geschätzte Korrelation (bis auf den Unterschied 1N\frac1N vs. 1n−1\frac1{n-1}) genau der Pearson-Koeffizient rr.