Python实现单向方差分析

单向方差分析 ( ANOVA 是 analysis of variance的缩写)常用于决定多个独立分组均值是否有显著性差异。本文使用Python实现单向方差分析示例。

单向方差分析示例

研究者招募30个学生参与一项实验。参与者被随机分配至三个组,每组使用不同学习方法准备三周后学习测试。三周后所有学生参加相同的测试。

下面进行单向方差分析,检验三组平均分数是否相同。

准备数据

首先使用三个数组加载每组的考试成绩:

# 加载每组成绩
group1 = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
group2 = [91, 92, 93, 85, 87, 84, 82, 88, 95, 96]
group3 = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]

描述性分析

data = pd.DataFrame({'g1': group1,
                     'g2': group2,
                     'g3': group3})
data.boxplot()

在这里插入图片描述

使用SciPy 库中f_oneway方法执行单向方差分析:

from scipy.stats import f_oneway

# 执行单向方差分析
f_oneway(group1, group2, group3)

# (statistic=2.3575, pvalue=0.1138)

解释结果

单向方差检验的原假设和备择假设分别为:

  • H0 (null hypothesis): μ1 = μ2 = μ3 = … = μk (各组均值相等)
  • H1 (alternative hypothesis): 至少有一组与其他组均值不等

F检验统计量为2.3575,对应的p值为0.1138。由于p值不小于0.05,我们不能拒绝零假设。

这意味着我们没有足够的证据表明三种学习方法在考试成绩上存在差异。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值