Een correlatietest uitvoeren in python (met voorbeeld)


Eén manier om de relatie tussen twee variabelen te kwantificeren is door de Pearson-correlatiecoëfficiënt te gebruiken, die de lineaire associatie tussen twee variabelen meet .

Er is altijd een waarde tussen -1 en 1 nodig, waarbij:

  • -1 duidt op een volkomen negatieve lineaire correlatie
  • 0 geeft aan dat er geen lineaire correlatie is
  • 1 geeft een perfect positieve lineaire correlatie aan

Om te bepalen of een correlatiecoëfficiënt statistisch significant is, kun je de bijbehorende t-score en p-waarde berekenen.

De formule voor het berekenen van de t-score van een correlatiecoëfficiënt (r) is:

t = r * √ n-2 / √ 1-r 2

De p-waarde wordt vervolgens berekend als de overeenkomstige tweezijdige p-waarde voor de t-verdeling met n-2 vrijheidsgraden.

Voorbeeld: correlatietest in Python

Om te bepalen of de correlatiecoëfficiënt tussen twee variabelen statistisch significant is, kun je in Python een correlatietest uitvoeren met behulp van de peersonr- functie uit de SciPy- bibliotheek.

Deze functie retourneert de correlatiecoëfficiënt tussen twee variabelen, evenals de tweezijdige p-waarde.

Stel dat we bijvoorbeeld de volgende twee tabellen in Python hebben:

 #create two arrays
x = [3, 4, 4, 5, 7, 8, 10, 12, 13, 15]
y = [2, 4, 4, 5, 4, 7, 8, 19, 14, 10]

We kunnen de Pearsonr- functie importeren en de Pearson-correlatiecoëfficiënt tussen de twee tabellen berekenen:

 from scipy. stats . stats import pearsonr

#calculation correlation coefficient and p-value between x and y
pearsonr(x, y)

(0.8076177030748631, 0.004717255828132089)

Zo interpreteert u het resultaat:

  • Pearson-correlatiecoëfficiënt (r): 0,8076
  • Tweezijdige p-waarde: 0,0047

Omdat de correlatiecoëfficiënt dicht bij 1 ligt, betekent dit dat er een sterk positief verband bestaat tussen de twee variabelen.

En aangezien de overeenkomstige p-waarde kleiner is dan 0,05, concluderen we dat er een statistisch significant verband bestaat tussen de twee variabelen.

Merk op dat we ook de individuele correlatiecoëfficiënt en p-waarde uit de peersonfunctie kunnen extraheren:

 #extract correlation coefficient (rounded to 4 decimal places)
r = round(pearsonr(x, y)[ 0 ], 4)

print (r)

0.8076

#extract p-value (rounded to 4 decimal places) 
p = round(pearsonr(x, y)[ 1 ], 4)

print (p) 

0.0047

Deze waarden zijn iets gemakkelijker te lezen vergeleken met de uitvoer van de originele Pearsonr- functie.

Aanvullende bronnen

De volgende tutorials bieden aanvullende informatie over correlatiecoëfficiënten:

Een inleiding tot de Pearson-correlatiecoëfficiënt
Wat wordt beschouwd als een “sterke” correlatie?
De vijf hypothesen van Pearson’s correlatie

Einen Kommentar hinzufügen

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