So berechnen sie die korrelation in python


Eine Möglichkeit, die Beziehung zwischen zwei Variablen zu quantifizieren, ist die Verwendung des Pearson-Korrelationskoeffizienten , der ein Maß für den linearen Zusammenhang 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 bedeutet, dass zwischen zwei Variablen keine lineare Korrelation besteht
  • 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 erläutert, wie Sie die Korrelation zwischen Variablen in Python berechnen.

So berechnen Sie die 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)

#create array of 50 random integers between 0 and 10
var1 = np.random.randint(0, 10, 50)

#create a positively correlated array with some random noise
var2 = var1 + np.random.normal(0, 10, 50)

#calculate the correlation between the two arrays
np.corrcoef(var1, var2)

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

Es ist ersichtlich, dass der Korrelationskoeffizient zwischen diesen beiden Variablen 0,335 beträgt, was einer positiven Korrelation entspricht.

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

 np.corrcoef(var1, var2)[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-Funktion „ pearsonr()“ berechnen, die sowohl den Pearson-Korrelationskoeffizienten als auch den 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 daraus schließen, dass eine statistisch signifikante Korrelation zwischen den beiden Variablen besteht.

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

  ABC
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

#calculate correlation coefficients for all pairwise combinations
data.corr()

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

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

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

-0.775567

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in Python ausführen:

So erstellen Sie eine Korrelationsmatrix in Python
So berechnen Sie die Spearman-Rangkorrelation in Python
So berechnen Sie die Autokorrelation in Python

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert