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