Hoe de spearman rank-correlatie in python te berekenen


In de statistiek verwijst correlatie naar de sterkte en richting van een verband tussen twee variabelen. De waarde van een correlatiecoëfficiënt kan variëren van -1 tot 1, met de volgende interpretaties:

  • -1: een perfect negatief verband tussen twee variabelen
  • 0: geen verband tussen twee variabelen
  • 1: een perfecte positieve relatie tussen twee variabelen

Een speciaal type correlatie wordt de rangcorrelatie van Spearman genoemd, die wordt gebruikt om de correlatie tussen twee gerangschikte variabelen te meten. (bijvoorbeeld de rangorde van de wiskunde-examenscore van een leerling in verhouding tot de rangorde van de wetenschapsexamenscore in een klas).

In deze tutorial wordt uitgelegd hoe u de Spearman-rangcorrelatie tussen twee variabelen in Python kunt berekenen

Voorbeeld: Spearman-rangcorrelatie in Python

Stel dat we het volgende panda’s DataFrame hebben dat de wiskunde-examenscore en de wetenschapsexamenscore van 10 studenten in een bepaalde klas bevat :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'student': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
                   'math': [70, 78, 90, 87, 84, 86, 91, 74, 83, 85],
                   'science': [90, 94, 79, 86, 84, 83, 88, 92, 76, 75]})

Om de Spearman Rank-correlatie tussen wiskunde- en wetenschapsscores te berekenen, kunnen we de functie spearmanr() in scipy.stats gebruiken:

 from scipy. stats import spearmanr

#calculate Spearman Rank correlation and corresponding p-value
rho, p = spearmanr(df[' math '], df[' science '])

#print Spearman rank correlation and p-value
print (rho)

-0.41818181818181815

print (p)

0.22911284098281892

Uit het resultaat kunnen we zien dat de Spearman-rangcorrelatie -0,41818 is en de overeenkomstige p-waarde 0,22911 is.

Dit geeft aan dat er een negatieve correlatie bestaat tussen examenscores voor natuurwetenschappen en wiskunde.

Omdat de p-waarde van de correlatie echter niet kleiner is dan 0,05, is de correlatie niet statistisch significant.

Merk op dat we ook de volgende syntaxis kunnen gebruiken om eenvoudig de correlatiecoëfficiënt of p-waarde te extraheren:

 #extract Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[0]

-0.41818181818181815

#extract p-value of Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[1] 

0.22911284098281892

Aanvullende bronnen

Hoe de Spearman-rangcorrelatie in R te berekenen
Hoe Spearman Rank-correlatie in Excel te berekenen
Hoe de Spearman-rangcorrelatie in Stata te berekenen

Einen Kommentar hinzufügen

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