So berechnen Sie Korrelationen in Python

Von Fabian
Kategorie: Python
Lesezeit: 3 Minuten

Eine Möglichkeit, die Beziehung zwischen zwei Variablen zu quantifizieren, besteht darin, den Pearson-Korrelationskoeffizienten zu verwenden, der ein Maß für die lineare Assoziation zwischen zwei Variablen ist. Es nimmt immer einen Wert zwischen -1 und 1 an, wobei:

  • -1 zeigt eine vollkommen negative lineare Korrelation zwischen zwei Variablen an
  • 0 zeigt keine lineare Korrelation zwischen zwei Variablen an
  • 1 zeigt eine vollkommen positive lineare Korrelation zwischen zwei Variablen an

Je weiter der Korrelationskoeffizient von Null entfernt ist, desto stärker ist die Beziehung zwischen den beiden Variablen.

In diesem Tutorial wird erklärt, wie die Korrelation zwischen Variablen in Python berechnet wird.

So berechnen Sie Korrelation in Python

Um die Korrelation zwischen zwei Variablen in Python zu berechnen, können wir die Funktion Numpy corrcoef() verwenden.

import numpy as np

np.random.seed(100)
#Erstellen Sie ein Array mit 50 zufälligen Ganzzahlen zwischen 0 und 10
var1 = np.random.randint(0, 10, 50)

#Erstellen Sie ein positiv korreliertes Array mit zufälligem Rauschen
var2 = var1 + np.random.normal(0, 10, 50)

#Berechnen Sie die Korrelation zwischen den beiden Arrays
np.corrcoef(var1, var 2)

[[ 1. 0.335]
[ 0.335 1. ]]

Wir können sehen, dass der Korrelationskoeffizient zwischen diesen beiden Variablen 0,335 beträgt, was eine positive Korrelation ist.

Standardmäßig erzeugt diese Funktion eine Matrix von Korrelationskoeffizienten. Wenn wir nur den Korrelationskoeffizienten zwischen den beiden Variablen zurückgeben möchten, können wir die folgende Syntax verwenden:

np.corrcoef(var1, var 2)[0,1]

0.335

Um zu testen, ob diese Korrelation statistisch signifikant ist, können wir den mit dem Pearson-Korrelationskoeffizienten verbundenen p-Wert mithilfe der Scipy pearsonr()-Funktion berechnen, die den Pearson-Korrelationskoeffizienten zusammen mit dem zweiseitigen p-Wert zurückgibt.

from scipy.stats.stats import pearsonr

pearsonr(var1, var2)

(0.335, 0.017398)

Der Korrelationskoeffizient beträgt 0,335 und der zweiseitige p-Wert beträgt 0,017. Da dieser p-Wert kleiner als 0,05 ist, würden wir schließen, dass es eine statistisch signifikante Korrelation zwischen den beiden Variablen gibt.

Wenn Sie die Korrelation zwischen mehreren Variablen in einem Pandas DataFrame berechnen möchten, können Sie einfach die Funktion .corr() verwenden.

import pandas as pd

data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])
data

  A B C
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

#Korrelationskoeffizienten für alle paarweisen Kombinationen berechnen
data.corr()

          A         B         C
A  1.000000 -0.775567 -0.493769
B -0.775567  1.000000  0.000000
C -0.493769  0.000000  1.000000

Wenn Sie nur die Korrelation zwischen zwei bestimmten Variablen im DataFrame berechnen möchten, können Sie die folgenden Variablen angeben:

data['A'].corr(data['B'])

-0.775567
Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: