Scienza dei dati - Correlazione statistica


Correlazione

La correlazione misura la relazione tra due variabili.

Abbiamo menzionato che una funzione ha lo scopo di prevedere un valore, convertendo l'input (x) in output (f(x)). Possiamo anche dire che una funzione usa la relazione tra due variabili per la previsione.


Coefficiente di correlazione

Il coefficiente di correlazione misura la relazione tra due variabili.

Il coefficiente di correlazione non può mai essere inferiore a -1 o superiore a 1.

  • 1 = esiste una perfetta relazione lineare tra le variabili (come Average_Pulse contro Calorie_Burage)
  • 0 = non esiste una relazione lineare tra le variabili
  • -1 = c'è una perfetta relazione lineare negativa tra le variabili (es. Meno ore lavorate, porta ad un maggiore consumo calorico durante una sessione di allenamento)

Esempio di una relazione lineare perfetta (coefficiente di correlazione = 1)

Useremo scatterplot per visualizzare la relazione tra Average_Pulse e Calorie_Burage (abbiamo usato il piccolo set di dati dell'orologio sportivo con 10 osservazioni).

Questa volta vogliamo grafici a dispersione, quindi cambiamo tipo in "scatter":

Esempio

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='scatter')
plt.show()

Produzione:

Coefficiente di correlazione = 1

Come abbiamo visto in precedenza, esiste una perfetta relazione lineare tra Average_Pulse e Calorie_Burage.



Esempio di una perfetta relazione lineare negativa (coefficiente di correlazione = -1)

Coefficiente di correlazione = -1

Abbiamo tracciato dati fittizi qui. L'asse x rappresenta la quantità di ore lavorate al nostro lavoro prima di una sessione di formazione. L'asse y è Calorie_Burage.

Se lavoriamo più a lungo, tendiamo ad avere un consumo calorico inferiore perché siamo esausti prima della sessione di allenamento.

Il coefficiente di correlazione qui è -1.

Esempio

import pandas as pd
import matplotlib.pyplot as plt

negative_corr = {'Hours_Work_Before_Training': [10,9,8,7,6,5,4,3,2,1],
'Calorie_Burnage': [220,240,260,280,300,320,340,360,380,400]}
negative_corr = pd.DataFrame(data=negative_corr)

negative_corr.plot(x ='Hours_Work_Before_Training', y='Calorie_Burnage', kind='scatter')
plt.show()

Esempio di nessuna relazione lineare (coefficiente di correlazione = 0)

Coefficiente di correlazione = 0

Qui, abbiamo tracciato Max_Pulse rispetto a Duration dal set di dati full_health_.

Come puoi vedere, non esiste una relazione lineare tra le due variabili. Significa che una sessione di allenamento più lunga non porta a Max_Pulse più alto.

Il coefficiente di correlazione qui è 0.

Esempio

import matplotlib.pyplot as plt

full_health_data.plot(x ='Duration', y='Max_Pulse', kind='scatter')
plt.show()