Bivariate analyse uitvoeren in python: met voorbeelden


De term bivariate analyse verwijst naar de analyse van twee variabelen. U kunt dit onthouden omdat het voorvoegsel “bi” “twee” betekent.

Het doel van bivariate analyse is om de relatie tussen twee variabelen te begrijpen

Er zijn drie veelgebruikte manieren om bivariate analyses uit te voeren:

1. Puntenwolken

2. Correlatiecoëfficiënten

3. Eenvoudige lineaire regressie

Het volgende voorbeeld laat zien hoe u elk van deze soorten bivariate analyses in Python kunt uitvoeren met behulp van de volgende panda’s DataFrame die informatie bevat over twee variabelen: (1) Uren besteed aan studeren en (2) Examenscore behaald door 20 verschillende studenten:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 1, 1, 2, 2, 2, 3, 3, 3, 3,
                             3, 4, 4, 5, 5, 6, 6, 6, 7, 8],
                   ' score ': [75, 66, 68, 74, 78, 72, 85, 82, 90, 82,
                             80, 88, 85, 90, 92, 94, 94, 88, 91, 96]})

#view first five rows of DataFrame
df. head ()

	hours score
0 1 75
1 1 66
2 1 68
3 2 74
4 2 78

1. Puntenwolken

We kunnen de volgende syntaxis gebruiken om een spreidingsdiagram te maken van de bestudeerde uren versus de examenresultaten:

 import matplotlib. pyplot as plt

#create scatterplot of hours vs. score
plt. scatter (df. hours , df. score )
plt. title (' Hours Studied vs. Exam Score ')
plt. xlabel (' Hours Studied ')
plt. ylabel (' Exam Score ')

Op de x-as staan de bestudeerde uren en op de y-as het behaalde cijfer voor het examen.

Uit de grafiek blijkt dat er een positief verband bestaat tussen beide variabelen: naarmate het aantal studie-uren toeneemt, stijgen ook de examenscores.

2. Correlatiecoëfficiënten

Een Pearson-correlatiecoëfficiënt is een manier om de lineaire relatie tussen twee variabelen te kwantificeren.

We kunnen de functie corr() in panda’s gebruiken om een correlatiematrix te maken:

 #create correlation matrix
df. corr ()

	hours score
hours 1.000000 0.891306
score 0.891306 1.000000

De correlatiecoëfficiënt blijkt 0,891 te zijn. Dit duidt op een sterke positieve correlatie tussen het aantal gestudeerde uren en het examencijfer.

3. Eenvoudige lineaire regressie

Eenvoudige lineaire regressie is een statistische methode die we kunnen gebruiken om de relatie tussen twee variabelen te kwantificeren.

We kunnen de functie OLS() uit het statsmodels-pakket gebruiken om snel een eenvoudig lineair regressiemodel in te passen voor de bestudeerde uren en ontvangen examenresultaten:

 import statsmodels. api as sm

#define response variable
y = df[' score ']

#define explanatory variable
x = df[[' hours ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: R-squared score: 0.794
Model: OLS Adj. R-squared: 0.783
Method: Least Squares F-statistic: 69.56
Date: Mon, 22 Nov 2021 Prob (F-statistic): 1.35e-07
Time: 16:15:52 Log-Likelihood: -55,886
No. Observations: 20 AIC: 115.8
Df Residuals: 18 BIC: 117.8
Model: 1                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 69.0734 1.965 35.149 0.000 64.945 73.202
hours 3.8471 0.461 8.340 0.000 2.878 4.816
==================================================== ============================
Omnibus: 0.171 Durbin-Watson: 1.404
Prob(Omnibus): 0.918 Jarque-Bera (JB): 0.177
Skew: 0.165 Prob(JB): 0.915
Kurtosis: 2.679 Cond. No. 9.37
==================================================== ============================

De gepaste regressievergelijking blijkt te zijn:

Examenscore = 69.0734 + 3.8471*(uren gestudeerd)

Dit vertelt ons dat elk extra uur dat wordt gestudeerd, gepaard gaat met een gemiddelde stijging van 3,8471 in de examenscore.

We kunnen de gepaste regressievergelijking ook gebruiken om de score te voorspellen die een student zal behalen op basis van het totale aantal bestudeerde uren.

Een student die bijvoorbeeld 3 uur studeert, zou een score van 81,6147 moeten behalen:

  • Examenscore = 69.0734 + 3.8471*(uren gestudeerd)
  • Examenscore = 69,0734 + 3,8471*(3)
  • Examenresultaat = 81,6147

Aanvullende bronnen

De volgende tutorials bieden aanvullende informatie over bivariate analyse:

Een inleiding tot bivariate analyse
5 voorbeelden van bivariate gegevens in het echte leven
Een inleiding tot eenvoudige lineaire regressie
Een inleiding tot de Pearson-correlatiecoëfficiënt

Einen Kommentar hinzufügen

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