Comment effectuer une ANCOVA en Python



Une ANCOVA (« analyse de covariance ») est utilisée pour déterminer s’il existe ou non une différence statistiquement significative entre les moyennes de trois groupes indépendants ou plus, après contrôle d’une ou plusieurs covariables .

Ce tutoriel explique comment effectuer une ANCOVA en Python.

Exemple : ANCOVA en Python

Une enseignante souhaite savoir si trois techniques d’étude différentes ont un impact sur les résultats des examens, mais elle souhaite tenir compte de la note actuelle que l’élève a déjà dans la classe.

Elle effectuera une ANCOVA en utilisant les variables suivantes :

  • Variable factorielle : technique d’étude
  • Covariable : note actuelle
  • Variable de réponse : score à l’examen

Suivez les étapes suivantes pour effectuer une ANCOVA sur cet ensemble de données :

Étape 1 : Saisissez les données.

Tout d’abord, nous allons créer un DataFrame pandas pour contenir nos données :

import numpy as np
import pandas as pd

#create data
df = pd.DataFrame({'technique': np.repeat(['A', 'B', 'C'], 5),
                   'current_grade': [67, 88, 75, 77, 85,
                                     92, 69, 77, 74, 88, 
                                     96, 91, 88, 82, 80],
                   'exam_score': [77, 89, 72, 74, 69,
                                  78, 88, 93, 94, 90,
                                  85, 81, 83, 88, 79]})
#view data 
df

   technique	current_grade	exam_score
0	   A	           67	        77
1	   A	           88	        89
2	   A	           75	        72
3	   A	           77	        74
4	   A	           85	        69
5	   B	           92	        78
6	   B	           69	        88
7	   B	           77	        93
8	   B	           74	        94
9	   B	           88	        90
10	   C	           96	        85
11	   C	           91	        81
12	   C	           88	        83
13	   C	           82	        88
14	   C	           80	        79

Étape 2 : Effectuez l’ANCOVA.

Ensuite, nous effectuerons une ANCOVA en utilisant la fonction ancova() de la bibliothèque pingouin :

pip install pingouin 
from pingouin import ancova

#perform ANCOVA
ancova(data=df, dv='exam_score', covar='current_grade', between='technique')


        Source	        SS	        DF	F	   p-unc	np2
0	technique	390.575130	2	4.80997    0.03155	0.46653
1	current_grade	4.193886	1	0.10329	   0.75393	0.00930
2	Residual	446.606114	11	NaN	   NaN	        NaN

Étape 3 : Interprétez les résultats.

À partir du tableau ANCOVA, nous voyons que la valeur p (p-unc = « valeur p non corrigée ») pour la technique d’étude est de 0,03155 . Puisque cette valeur est inférieure à 0,05, nous pouvons rejeter l’hypothèse nulle selon laquelle chacune des techniques d’étude conduit à la même note moyenne à l’examen, même après avoir pris en compte la note actuelle de l’étudiant dans la classe .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *