方差分析python代码
时间: 2024-11-05 21:11:02 浏览: 32
方差分析(ANOVA,Analysis of Variance)是一种统计方法,用于比较两个或多个样本集的均值是否有显著差异。在Python中,我们可以使用`scipy.stats`库中的`f_oneway()`函数来进行单因素方差分析,或者`statsmodels`库中的`anovaova`模块进行更复杂的多重比较。
以下是使用`scipy.stats`进行单因素方差分析的基本示例:
```python
from scipy import stats
# 假设我们有三个群体的数据,每群数据存储在一个列表中
group_1 = [score1, score2, ..., score_n]
group_2 = [score1', score2', ..., score_n']
group_3 = [score1'', ...]
# 合并所有数据到一个列表
all_scores = group_1 + group_2 + group_3
# 使用方差分析
F_statistic, p_value = stats.f_oneway(group_1, group_2, group_3)
print("F-statistic:", F_statistic)
print("p-value:", p_value)
# 如果p值小于设定的显著性水平(通常0.05),则拒绝原假设,认为组间存在显著差异
```
对于更复杂的情况,如`statsmodels`库,则可以这样做:
```python
import statsmodels.api as sm
# 假设df是一个包含各组数据的DataFrame,比如'group'列表示分组
model = sm.formula.api.anova_lm('scores ~ C(groups)', data=df) # 'scores'是响应变量,'groups'是分类变量
table = model.summary()
print(table)
```
阅读全文