Come eseguire l'analisi bivariata in python: con esempi


Il termine analisi bivariata si riferisce all’analisi di due variabili. Puoi ricordarlo perché il prefisso “bi” significa “due”.

L’obiettivo dell’analisi bivariata è comprendere la relazione tra due variabili

Esistono tre modi comuni per eseguire l’analisi bivariata:

1. Nuvole di punti

2. Coefficienti di correlazione

3. Regressione lineare semplice

L’esempio seguente mostra come eseguire ciascuno di questi tipi di analisi bivariata in Python utilizzando il seguente DataFrame panda che contiene informazioni su due variabili: (1) Ore trascorse a studiare e (2) Punteggio dell’esame ottenuto da 20 studenti diversi:

 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. Nuvole di punti

Possiamo utilizzare la seguente sintassi per creare un grafico a dispersione delle ore studiate rispetto ai risultati degli esami:

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

L’asse x mostra le ore studiate e l’asse y mostra il voto ottenuto all’esame.

Dal grafico emerge che esiste una relazione positiva tra le due variabili: all’aumentare del numero di ore di studio, anche i punteggi degli esami tendono ad aumentare.

2. Coefficienti di correlazione

Un coefficiente di correlazione di Pearson è un modo per quantificare la relazione lineare tra due variabili.

Possiamo usare la funzione corr() nei panda per creare una matrice di correlazione:

 #create correlation matrix
df. corr ()

	hours score
hours 1.000000 0.891306
score 0.891306 1.000000

Il coefficiente di correlazione risulta essere 0,891 . Ciò indica una forte correlazione positiva tra le ore studiate e il voto dell’esame.

3. Regressione lineare semplice

La regressione lineare semplice è un metodo statistico che possiamo utilizzare per quantificare la relazione tra due variabili.

Possiamo utilizzare la funzione OLS() del pacchetto statsmodels per adattare rapidamente un semplice modello di regressione lineare per le ore studiate e i risultati degli esami ricevuti:

 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
==================================================== ============================

L’equazione di regressione adattata risulta essere:

Punteggio esame = 69,0734 + 3,8471*(ore studiate)

Questo ci dice che ogni ora aggiuntiva studiata è associata a un aumento medio di 3,8471 nel punteggio dell’esame.

Possiamo anche utilizzare l’equazione di regressione adattata per prevedere il punteggio che uno studente riceverà in base al numero totale di ore studiate.

Ad esempio, uno studente che studia per 3 ore dovrebbe ottenere un punteggio di 81,6147 :

  • Punteggio esame = 69,0734 + 3,8471*(ore studiate)
  • Punteggio dell’esame = 69,0734 + 3,8471*(3)
  • Risultato dell’esame = 81.6147

Risorse addizionali

Le seguenti esercitazioni forniscono informazioni aggiuntive sull’analisi bivariata:

Un’introduzione all’analisi bivariata
5 esempi di dati bivariati nella vita reale
Un’introduzione alla regressione lineare semplice
Un’introduzione al coefficiente di correlazione di Pearson

Aggiungi un commento

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