Wenn Sie Fragen stellen möchten,
einfach per Mail, direkt oder per WhatsApp
0178 87 55 145 oder
0157 740 58 477.
Ich beantworte Fragen gerne und gebe gern den einen oder anderen Tipp. Wenn Sie etwas von mir rechnen lassen möchten, bräuchte ich Einblick in Ihre Daten (Excel, SPSS-Daten) und eine Liste Ihrer Fragen (eine Word-Seite).

Eine Partialkorrelation mit R rechnen


Wie berechnet man eine Partialkorrelation?

Eine Partialkorrelation klärt die Frage, ob zwei Variablen immer noch korrelieren, wenn man eine dritte Variable "abzieht" (herauspartialisiert). Korrelationen werden häufig isoliert betrachtet und nur für sich interpretiert, es ist aber durchaus möglich, dass eine Drittvariable diesen Zusammenhang künstlich pusht oder gar "verursacht".

Ein Beispiel: Aus den Daten eines herrlichen Sommers ergibt sich eine Korrelation zwischen der Menge an verkaufter Eiskreme und der Häufigkeit von Sonnenbränden. Ziemlich merkwürdig. Verursacht Eiskreme, dann einen Sonnenbrand oder (umgekehrt) benötigen Personen mit Sonnenbrand vermehrt Einkreme? Natürlich nicht, der dritte Faktor ist die Anzahl an täglichen Sonnenstunden, diese ist höher, wenn auch viel Eiskreme verkauft wird und mit jeder weiteren Sonnenstunde steigt die Anzahl an Sonnenbränden.
Dieses Beispiel läßt sich mit Sicherheit leicht und beispielhaft auf Zusammenhänge in Ihrem Fachbereich und entsprechende Drittvariablen transferieren.
Wenn Sie das ganze konkret durchrechnen wollen, so würde ich empfehlen, die Korrelation mit dem R zu rechnen. Kopieren Sie die nachfolgenden roten Zeilen in Ihr R-Studio.

Wir erstellen zuerst Zufallsdaten (x, y, z, wobei x = Eiskrememenge, y = Sonnenbrände, z = Drittvariable Sonnenstunden), dann rechnen wir den Einfluß von z (d.h. der Sonnenstunden) heraus.

set.seed(123)
x <- rnorm(50)
y <- 2 * x + rnorm(50)
cor(x, y)

Wie erkennbar, hängt in diesem Beispiel y von x einfach um den Faktor 2 ab (mit normalverteilten Zufallszahlen drum herum). Diese Abhängigkeit zeigt sich auch in der Korrelation, diese ist r = 0.895.
Das z (Sonnenstunden) lassen wir in diesem Beispiel sowohl von x als auch von y abhängen. Dies macht man technisch so:

z <- 0.5 * x + 2 * y + rnorm(50)

Wie erkennbar, hängt in diesem Beispiel z sowohl von x als auch von y ab (mit normalverteilten Zufallszahlen drum herum).

Baut man das ganze nun in einen data.frame, partialisiert die Werte heraus, d.h. man verwendet ab jetzt die z-freien Werte von x und z-freien Werte von y (die jeweils vorhergesagten Residuen werden abgezogen), dann erhält man eine wesentlich geringere und deutlich näher bei Null liegende Korrelation von r = 0.132.


daten <- data.frame(x, y, z)
y_aus_z = lm(y ~ z, data = daten); y_bereinigt_um_z <- residuals(y_aus_z)
x_aus_z = lm(x ~ z, data = daten); x_bereinigt_um_z <- residuals(x_aus_z)
# Partielle Korrelation zwischen resid_x und resid_y
cor(x_bereinigt_um_z, y_bereinigt_um_z)

Die Höhe der Korrelation ist hier die wichtigste Statistik. Mit r = 0.895 korrelierten unser simulierter Eiskremeverkauf (x) und das Auftreten an Sonnenbränden (y). Zieht man die Sonnenstunden (z) ab, dann ergibt sich im Beispiel keine Korrelation mehr (r = 0.132, sie ist wesentlich näher an Null).

Fazit

Eine Scheinkorrelation kann mit Hilfe einer Drittvariablen bereinigt werden, der r-Wert bewegt sich dann in die Nähe einer Nullkorrelation. Der Verbrauch von Eiskreme, dessen Höhe erst mit der Anzahl an Sonnenbränden scheinbar korrelierte (r = 0.895), fällt in sich zusammen (r = 0.132), wenn man die Anzahl der Sonnenstunden berücksichtigt. Mit "berücksichtigt" ist gemeint, dass man diesen Effekt statistisch herausrechnet. Die Drittvariable (Sonnenstunden) bestimmte sowohl den Eiskremeverkauf, als auch das Auftreten von Sonnenbränden. Zieht man den Einfluß von letzterem ab, so fällt die Schein-Korrelation wie ein Kartenhaus in sich zusammen.


SPSS, R, und andere Apps für die Statistik


SPSS

PSPP als freie Alternative vs. SPSS

R als kostenlose Alternative

Vergleich von R vs SPSS vs. Jamovi vs SAS

R installieren

Weitere Links

SPSS, das Allround-Knife

Der Chi²-Test

Eine ANOVA zur Frage von Gruppenunterschieden (ANOVA = Analysis of Variance)

Der t-Test zur Frage von Gruppenunterschieden

Der t-Test zur Frage, ob sich Messwiederholungen unterscheiden

Der U-Test zur Frage von Gruppenunterschieden

R, ein kostenloses Programm mit starker Verbreitung

Übereinstimmung zweier Methoden graphisch anzeigen lassen (Bland-Altman Plot)

Ein lineares Vorhersagemodell rechnen (eine lineare mulitple Regression)

Eine Korrelation rechnen

Eine Rang-Korrelation (nach Spearman) rechnen

Fragen zusammenfassen (summieren, aggregieren)

Eine mixed ANOVA (Vergleich zwischen Gruppen, die eine Messwiederholung haben) rechnen

Ein Torten-/Kuchen-Diagramm in 3D

Ein Balken-/Histogramm erstellen (2 Gruppen im Vergleich)

Eine deskriptive Statistik erstellen

Eine ordinale Regression rechnen

Eine Inzidenzrate bewerten

Zwei Gruppen im Mittel mittels Python vergleichen (t-Test)

Zwei Gruppen (ohne Rückgriff auf die vielen Voraussetzungen des t-Tests) mittels Python vergleichen (U-Test)

Zwei binäre Reihen auf Änderung prüfen (McNemar-Test)

Eine Verlaufsgraphik von Mittelwerten mit Streubalken

Ein 2D-Kuchen mit ggplot

Eine Inzidenzrate mit R bewerten (passt meine Beobachtete zu der der Population, die ich aus der Literatur kenne?)

Zwei Inzidenzen mit R vergleichen

Eine Rang-Varianzanalyse (Rang-ANOVA, Kruskal-Wallis-Test) rechnen, d.h. 2 oder mehr Gruppen vergleichen

Eine Partialkorrelation rechnen, d.h. eine Korrelation (Eiskremverzehr und Sonnenbrand), aus der eine Drittvariable (Sonnenstunden) eliminiert ist

Einen Median-Test rechnen, d.h. weichen 2 Gruppen unterschiedlich stark vom Gesamt-Median ab?

Eine Regession zur Vorhersage bzw. Erklärung von Häufigkeitsdaten rechnen (Poisson-Regresion)

Ein einfaches Säulendiagramm mehrerer Gruppen

Ein Balken-/Histogramm erstellen (die Verteilung einer Population)

Ein Säulendiagramm, wenn wiederholt gemessen wird

Vorteile einer randomisierten Studie

Vorteile von Apriori-Hypothesen

Ein Boxplot für mehrere Gruppen

Eine 100-Jährigen-Studie, das Problem vorgefundener Gruppen und riskante Schlussfolgerungen

Statistik, womit sollte man (wenn man es denn muss) programmieren?

Schein oder nicht-Schein? Mehr Korrelation als Schein. Beispiele für Scheinkorrelationen

Multiple Inzidenzraten bei mehreren Gruppen. Ein Grafik-Beispiele

Mediane im Verlauf, Boxplots über die Zeit bei mehreren Gruppen.

Surival und Risiken über die Zeit bei mehreren Gruppen.

Eine Inzidenzrate (Komplikationen) bei mehreren Gruppierungen (Vorerkrankungen).