In der Statistik verwenden wir häufig den Pearson-Korrelationskoeffizienten, um die lineare Beziehung zwischen zwei Variablen zu messen. Manchmal sind wir jedoch daran interessiert, die Beziehung zwischen zwei Variablen zu verstehen, während wir eine dritte Variable steuern.

Angenommen, wir möchten den Zusammenhang zwischen der Anzahl der Stunden, die ein Schüler studiert, und der Punktzahl der Abschlussprüfung messen, während er die aktuelle Note des Schülers in der Klasse kontrolliert. In diesem Fall könnten wir eine teilweise Korrelation verwenden, um die Beziehung zwischen den untersuchten Stunden und dem Ergebnis der Abschlussprüfung zu messen.

In diesem Tutorial wird erklärt, wie die Teilkorrelation in Python berechnet wird.

Beispiel: Teilkorrelation in Python

Angenommen, wir haben das folgenden Pandas DataFrame, das die aktuelle Note, die Gesamtstundenzahl und die Punktzahl der Abschlussprüfung für 10 Schüler anzeigt:

import numpy as np
import pandas as pd

data = {'currentGrade': [82, 88, 75, 74, 93, 97, 83, 90, 90, 80],
        'hours': [4, 3, 6, 5, 4, 5, 8, 7, 4, 6],
        'examScore': [88, 85, 76, 70, 92, 94, 89, 85, 90, 93],
}

df = pd.DataFrame(data, columns = ['currentGrade','hours', 'examScore'])
df
   currentGrade  hours  examScore
0            82      4         88
1            88      3         85
2            75      6         76
3            74      5         70
4            93      4         92
5            97      5         94
6            83      8         89
7            90      7         85
8            90      4         90
9            80      6         93

Um die partielle Korrelation zwischen hours und examScore während der Steuerung für currentGrade zu berechnen, können wir die Funktion partielle_Korr() aus dem pingouin-Paket verwenden, die die folgende Syntax verwendet:

partial_corr(data, x, y, covar)

wobei:

  • Daten: Name des Dataframes
  • x, y: Namen der Spalten im Dataframe
  • covar: Der Name der kovariaten Spalte im Dataframe (z. B. die Variable, für die Sie steuern)

In diesem Beispiel wird die folgende Funktion verwendet:

#pingouin Paket installieren und importieren 
pip install pingouin
importieren pingouin as pg

#Finden Sie eine teilweise Korrelation zwischen hours und examScore, während Sie die Variabel grade anpassen
pg.partial_corr(data=df, x='hours', y='examScore', covar='currentGrade')
         n      r          CI95%       r2   adj_r2  p-val    BF10   power
pearson 10  0.191   [-0.5, 0.73]    0.036   -0.238  0.598   0.438   0.082

Wir können sehen, dass die teilweise Korrelation zwischen den untersuchten Stunden und dem Ergebnis der Abschlussprüfung 0,191 beträgt, was eine kleine positive Korrelation darstellt. Mit zunehmenden Stunden steigt auch die Prüfungspunktzahl, vorausgesetzt, die aktuelle Note wird konstant gehalten.

Um die partielle Korrelation zwischen mehreren Variablen gleichzeitig zu berechnen, können wir die Funktion .pcorr() verwenden:

#Berechnen Sie alle paarweisen Teilkorrelationen, die auf drei Dezimalstellen gerundet sind
df.pcorr().round(3)
         currentGrade   hours   examScore
currentGrade        1.000      -0.311       0.736
hours              -0.311   1.000       0.191
examScore       0.736   0.191       1.000

Die Interpretation der Ausgabe ist wie folgt:

  • Die teilweise Korrelation zwischen der aktuellen Note und den untersuchten Stunden beträgt -0,311.
  • Die teilweise Korrelation zwischen der aktuellen Note und dem Prüfungsergebnis beträgt 0,736.
  • Die teilweise Korrelation zwischen den untersuchten Stunden und dem Prüfungsergebnis beträgt 0,191.
Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: