Как выполнить ANCOVA в Python


ANCOVA («анализ ковариации») используется для определения наличия или отсутствия статистически значимой разницы между средними значениями трех или более независимых групп после учета одной или нескольких ковариат .

В этом руководстве объясняется, как выполнить ANCOVA в Python.

Пример: ANCOVA в Python

Учитель хочет знать, влияют ли три разных метода обучения на экзаменационные баллы, но при этом он хочет учитывать текущую оценку, которую ученик уже получил в классе.

Она выполнит ANCOVA, используя следующие переменные:

  • Факторная переменная: техника изучения
  • Ковариата: текущая оценка
  • Переменная ответа: экзаменационная оценка

Используйте следующие шаги, чтобы выполнить ANCOVA для этого набора данных:

Шаг 1: Введите данные.

Во-первых, мы создадим DataFrame pandas для хранения наших данных:

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

Шаг 2: Выполните ANCOVA.

Далее мы выполним ANCOVA, используя функцию ancova() из библиотеки 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

Шаг 3: Интерпретируйте результаты.

Из таблицы ANCOVA мы видим, что значение p (p-unc = «нескорректированное значение p») для метода исследования составляет 0,03155.Поскольку это значение меньше 0,05, мы можем отвергнуть нулевую гипотезу о том, что каждый из методов обучения приводит к одинаковому среднему экзаменационному баллу, даже с учетом текущей оценки учащегося в классе .