Come eseguire un test di correlazione in python (con esempio)


Un modo per quantificare la relazione tra due variabili è utilizzare il coefficiente di correlazione di Pearson , che misura l’associazione lineare tra due variabili .

Assume sempre un valore compreso tra -1 e 1 dove:

  • -1 indica una correlazione lineare perfettamente negativa
  • 0 indica alcuna correlazione lineare
  • 1 indica una correlazione lineare perfettamente positiva

Per determinare se un coefficiente di correlazione è statisticamente significativo, è possibile calcolare il punteggio t e il valore p corrispondenti.

La formula per calcolare il t-score di un coefficiente di correlazione (r) è:

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

Il valore p viene quindi calcolato come il corrispondente valore p a due code per la distribuzione t con n-2 gradi di libertà.

Esempio: test di correlazione in Python

Per determinare se il coefficiente di correlazione tra due variabili è statisticamente significativo, puoi eseguire un test di correlazione in Python utilizzando la funzione Pearsonr della libreria SciPy .

Questa funzione restituisce il coefficiente di correlazione tra due variabili nonché il valore p a due code.

Ad esempio, supponiamo di avere le seguenti due tabelle in Python:

 #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]

Possiamo importare la funzione Pearsonr e calcolare il coefficiente di correlazione di Pearson tra le due tabelle:

 from scipy. stats . stats import pearsonr

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

(0.8076177030748631, 0.004717255828132089)

Ecco come interpretare il risultato:

  • Coefficiente di correlazione di Pearson (r): 0,8076
  • Valore p bilaterale: 0,0047

Essendo il coefficiente di correlazione vicino a 1, questo ci dice che esiste una forte associazione positiva tra le due variabili.

E poiché il valore p corrispondente è inferiore a 0,05, concludiamo che esiste un’associazione statisticamente significativa tra le due variabili.

Si noti che possiamo anche estrarre il coefficiente di correlazione individuale e il valore p dalla funzione di Pearson :

 #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

Questi valori sono un po’ più facili da leggere rispetto all’output della funzione originale peppersonr .

Risorse addizionali

Le esercitazioni seguenti forniscono informazioni aggiuntive sui coefficienti di correlazione:

Un’introduzione al coefficiente di correlazione di Pearson
Cos’è considerata una correlazione “forte”?
Le cinque ipotesi della correlazione di Pearson

Aggiungi un commento

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