Come calcolare la correlazione del rango di spearman in python


In statistica, la correlazione si riferisce alla forza e alla direzione di una relazione tra due variabili. Il valore di un coefficiente di correlazione può variare da -1 a 1, con le seguenti interpretazioni:

  • -1: una perfetta relazione negativa tra due variabili
  • 0: nessuna relazione tra due variabili
  • 1: una perfetta relazione positiva tra due variabili

Un tipo speciale di correlazione è chiamata correlazione per rango di Spearman , che viene utilizzata per misurare la correlazione tra due variabili classificate. (ad esempio, la posizione del punteggio dell’esame di matematica di uno studente rispetto alla posizione del punteggio dell’esame di scienze in una classe).

Questo tutorial spiega come calcolare la correlazione del rango di Spearman tra due variabili in Python

Esempio: correlazione dei ranghi di Spearman in Python

Supponiamo di avere il seguente DataFrame panda che contiene il punteggio dell’esame di matematica e il punteggio dell’esame di scienze di 10 studenti in una particolare classe:

 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]})

Per calcolare la correlazione Spearman Rank tra i punteggi di matematica e scienze, possiamo utilizzare la funzione spearmanr() in scipy.stats :

 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

Dal risultato, possiamo vedere che la correlazione del rango di Spearman è -0,41818 e il corrispondente valore p è 0,22911 .

Ciò indica che esiste una correlazione negativa tra i punteggi degli esami di scienze e quelli di matematica.

Tuttavia, poiché il valore p della correlazione non è inferiore a 0,05, la correlazione non è statisticamente significativa.

Nota che potremmo anche usare la seguente sintassi per estrarre semplicemente il coefficiente di correlazione o valore p:

 #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

Risorse addizionali

Come calcolare la correlazione del rango di Spearman in R
Come calcolare la correlazione del rango di Spearman in Excel
Come calcolare la correlazione del rango di Spearman in Stata

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *