Website-Icon Björn Walther

Partielle Korrelation in R rechnen

1 Ziel der partiellen Korrelation

Eine partielle Korrelation untersucht zwei Variablen auf eine (lineare) Beziehung bzw. einen Zusammenhang unter Kontrolle einer oder mehrerer dritter Variablen. Es ist demnach eine einfache bivariate Korrelation in R, die einen oder auch mehrere weitere Einflussvariablen auf beide zu korrelierenden Variablen herausrechnet. Man bekommt, wenn man so will, eine “bereinigte” Korrelation.

Wie bei jedweder Korrelation soll die Frage beantwortet werden, ob zwischen zwei Variablen ein a) positiver, b) negativer oder c) kein Zusammenhang besteht. Der jeweils ermittelte Korrelationskoeffizient ist stets zwischen den Maximalwerten -1 und +1 definiert. -1 ist ein perfekt negativer (linearer) Zusammenhang und +1 ein perfekt positiver (linearer) Zusammenhang.

Interpretation der Fälle a)-c)

a) Wenn der Wert einer Variable größer wird, wird der Wert der anderen Variable ebenfalls größer. Das ist positive Korrelation. Zum Beispiel: Je größer ein Mensch, desto schwerer ist er. Hierbei kann man zusätzlich für das Alter kontrollieren. Meist werden Menschen im Alter etwas schwerer.

b) Wenn der Wert einer Variable größer wird, wird der Wert der anderen Variable kleiner. Das ist negative Korrelation. Zum Beispiel: Je größer der Zuckergehalt der Nahrung, desto weniger gesunde Zähne hat der Mensch. Auch hier kann eine Kontrolle für das Alter einen zusätzlichen Nutzen haben, da auch im Alter die Zähne schlechter werden.

c) Die Werte der Variablen ändern sich scheinbar vollkommen beliebig und es gibt kein Muster wie bei a) oder b). Zum Beispiel: Anzahl Haare und Schuhgröße.

Wichtiger Hinweis: Ein Korrelation kann bestenfalls ein Indiz für einen kausalen Zusammenhang sein. Nur weil eine Korrelation existiert, bedeutet das nicht, dass die eine Variable die andere beeinflusst. Dies würde man theoretisch begründen müssen und die Hypothese entsprechend mit einer einfachen linearen Regression oder besser noch multiplen linearen Regression untersuchen.

Letztere kontrolliert ebenfalls für den Einfluss von Drittvariablen.

Beispiel: Das Alter der Königin von England und die Anzahl der Menschen auf der Erde korrelierten sehr stark – das eine hat mit dem anderen was zu tun. Dies nennt sich Scheinkausalität, da eine Ursache-Wirkungs-Beziehung zwischen den Variablen nicht existiert und sie nur zufällig korrelieren. Von einer Korrelation sollte also auf keinen Fall auf eine Kausalität geschlossen werden!

 

Am einfachsten kann eine Korrelation mit einem Streudiagramm bzw. Punktdiagramm veranschaulicht werden. Eine Kontrolle für eine weitere Variable ist dabei allerdings NICHT möglich, weswegen dies hier nicht dargestellt werden kann.

 


 

2 Partielle Korrelation – Analytisches Vorgehen in R

Dargestelltes Beispiel:

Ziel ist es demnach festzustellen, wie Einkommen und Bildungsjahre zusammenhängen, wenn man die potenziell verzerrende Wirkung von Motivation und IQ auf beide kontrolliert, also herausrechnet.

 

2.1 Berechnung der partiellen Korrelation in R

2.1.1 Bivariate Korrelation zum Vergleich

Zunächst ist es empfehlenswert, die zu korrelierenden Variablen (Einkommen und Bildungsjahre) mitsamt den zu kontrollierenden Variablen (Motivation und IQ) in einen separaten Data Frame zu verschieben. Das dient der Vergleichbarkeit, wie sich die Korrelation von Einkommen und Bildungsjahren verändert, wenn für Motivation und IQ kontrolliert wird.


data2 <- subset(df, select=c(Einkommen, Bildungsjahre, Motivation, IQ))

Für den Data Frame "data2" wird nun lediglich eine Korrelationsmatrix mit cor() angefordert:


cor(data2)

# oder auf 3 Dezimalstellen gerundet
format(round(cor(data2),3))

Das Ergebnis ist folgendes:


              Einkommen Bildungsjahre Motivation IQ     
Einkommen     "1.000"   "0.831"       "0.447"    "0.703"
Bildungsjahre "0.831"   "1.000"       "0.345"    "0.607"
Motivation    "0.447"   "0.345"       "1.000"    "0.748"
IQ            "0.703"   "0.607"       "0.748"    "1.000"

Die bivariate Korrelation von Einkommen und Bildungsjahre beträgt 0,831.

 

2.1.2 Partialkorrelation berechnen

Für die Partialkorrelation wird das psych-Paket benötigt und hieraus die partial.r()-Funktion.

Die mobile Version verlassen