如何在 python 中执行 ancova


ANCOVA (“协方差分析”)用于确定在控制一个或多个协变量后,三个或多个独立组的平均值之间是否存在统计显着差异

本教程介绍如何在 Python 中执行 ANCOVA。

示例:Python 中的 ANCOVA

一位老师想知道三种不同的学习技巧是否会影响考试成绩,但她想考虑到学生当前在班上的成绩。

它将使用以下变量执行 ANCOVA:

  • 因素变量:技术研究
  • 协变量:当前分数
  • 响应变量:考试成绩

请按照以下步骤对此数据集执行 ANCOVA:

第 1 步:输入数据。

首先,我们将创建一个 pandas DataFrame 来保存我们的数据:

 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

   technical 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 步:执行方差分析。

接下来,我们将使用 penguin 库中的ancova() 函数执行 ANCOVA:

 pip install penguin 
from penguin import ancova

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


        Source SS DF F p-unc np2
0 technical 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,因此我们可以拒绝原假设,即即使考虑了学生在班级中的当前成绩,每种学习技术都会导致相同的平均考试成绩。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注