Gegevenswetenschap - Statistiekcorrelatie


Correlatie

Correlatie meet de relatie tussen twee variabelen.

We vermeldden dat een functie een doel heeft om een ​​waarde te voorspellen, door input (x) om te zetten in output (f(x)). We kunnen ook zeggen dat een functie de relatie tussen twee variabelen gebruikt voor voorspelling.


Correlatiecoëfficiënt

De correlatiecoëfficiënt meet de relatie tussen twee variabelen.

De correlatiecoëfficiënt kan nooit kleiner zijn dan -1 of hoger dan 1.

  • 1 = er is een perfecte lineaire relatie tussen de variabelen (zoals Average_Pulse tegen Calorie_Burnage)
  • 0 = er is geen lineair verband tussen de variabelen
  • -1 = er is een perfect negatief lineair verband tussen de variabelen (bijv. Minder gewerkte uren, leidt tot hogere calorieverbranding tijdens een trainingssessie)

Voorbeeld van een perfecte lineaire relatie (correlatiecoëfficiënt = 1)

We zullen een scatterplot gebruiken om de relatie tussen Average_Pulse en Calorie_Burnage te visualiseren (we hebben de kleine dataset van het sporthorloge met 10 observaties gebruikt).

Deze keer willen we spreidingsdiagrammen, dus veranderen we soort in "verstrooiing":

Voorbeeld

import matplotlib.pyplot as plt

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

Uitgang:

Correlatiecoëfficiënt = 1

Zoals we eerder zagen, bestaat er een perfecte lineaire relatie tussen Average_Pulse en Calorie_Burnage.



Voorbeeld van een perfecte negatieve lineaire relatie (correlatiecoëfficiënt = -1)

Correlatiecoëfficiënt = -1

We hebben hier fictieve gegevens uitgezet. De x-as geeft het aantal gewerkte uren op ons werk weer vóór een trainingssessie. De y-as is Calorie_Burnage.

Als we langer werken, hebben we de neiging om minder calorieën te verbranden omdat we uitgeput zijn voor de trainingssessie.

De correlatiecoëfficiënt is hier -1.

Voorbeeld

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()

Voorbeeld van geen lineaire relatie (correlatiecoëfficiënt = 0)

Correlatiecoëfficiënt = 0

Hier hebben we Max_Pulse uitgezet tegen Duur van de full_health_data-set.

Zoals u kunt zien, is er geen lineair verband tussen de twee variabelen. Het betekent dat een langere trainingssessie niet leidt tot een hogere Max_Pulse.

De correlatiecoëfficiënt is hier 0.

Voorbeeld

import matplotlib.pyplot as plt

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