python 的哪个统计模块支持单向方差分析和事后测试(Tukey、Scheffe 或其他)?
Posted
技术标签:
【中文标题】python 的哪个统计模块支持单向方差分析和事后测试(Tukey、Scheffe 或其他)?【英文标题】:What statistics module for python supports one way ANOVA with post hoc tests (Tukey, Scheffe or other)? 【发布时间】:2013-04-09 14:18:43 【问题描述】:我已尝试查看 Python 的多个统计模块,但似乎找不到任何支持 one-way ANOVA
事后测试的模块。
【问题讨论】:
TukeyHSD
内置于 R 中。这是否符合您的要求?
statsmodels 在沙盒中有一个tukeyhsd
函数,但我没试过。
我正在寻找相同的功能,我想我会使用 RPy,一个 R 的接口,它看起来像一个魅力!
见scikit-posthocs。
【参考方案1】:
单方面的方差分析可以像这样使用
from scipy import stats
f_value, p_value = stats.f_oneway(data1, data2, data3, data4, ...)
这是一种方差分析,它返回 F 值和 P 值。 如果 P 值低于您的设置,则存在显着差异。
Tukey-kramer HSD 测试可以像这样使用
from statsmodels.stats.multicomp import pairwise_tukeyhsd
print pairwise_tukeyhsd(Data, Group)
这是多重比较。 输出是这样的
Multiple Comparison of Means - Tukey HSD,FWER=0.05
================================================
group1 group2 meandiff lower upper reject
------------------------------------------------
0 1 -35.2153 -114.8741 44.4434 False
0 2 46.697 -40.4993 133.8932 False
0 3 -7.5709 -87.49 72.3482 False
1 2 81.9123 5.0289 158.7956 True
1 3 27.6444 -40.8751 96.164 False
2 3 -54.2679 -131.4209 22.8852 False
------------------------------------------------
请参考this网站如何设置参数。 statsmodels 的 tukeyhsd 不返回 P 值。 因此,如果您想知道 P 值,请根据这些输出值计算或使用 R。
【讨论】:
将输出保存到变量res
后,可以通过应用psturng(np.abs(res.meandiffs / res.std_pairs), len(res.groupsunique), res.df_total)
得到p值,其中psturng
来自from statsmodels.stats.libqsturng import psturng
我使用类似于@JavierdelaRosa 建议的方法将 p 值添加到表和输出属性。应该很快添加 - 请参阅pull request。
@ami_GS 你如何让它打印结果?当我这样做时,它只会在 0x0DBEBB10 处打印“tukeyHSDResults 对象....对不起基本问题...【参考方案2】:
我认为库 Pyvttbl 返回一个 ANOVA 表,包括事后测试(即 TukeyHSD)。事实上,Pyvttbl 的巧妙之处在于您还可以对重复测量进行 ANOVA。
查看 Anova1way 的文档here
【讨论】:
很遗憾,此库不再受支持。以上是关于python 的哪个统计模块支持单向方差分析和事后测试(Tukey、Scheffe 或其他)?的主要内容,如果未能解决你的问题,请参考以下文章
R语言协方差分析(analysis of covariance)实战:协方差分析ANCOVA(analysis of covariance)(检查模型假设)拟合协方差分析ANCOVA模型事后分析
R语言Friedman检验实战:Friedman检验是单因素重复测量方差分析的一种非参数替代方法有bonferroni校正的成对Wilcoxon秩和检验进行事后(post hoc)测试分析
R语言使用lmPerm包应用于线性模型的置换方法(置换检验permutation tests)在同一数据集上使用单向方差分析(one-way ANOVA)使用aovp函数的置换检验单向方差分析
R语言Tukey检验进行事后检验(post hoc)实战:单因素方差分析告诉我们并不是所有的群体手段的效果是均等的,确切地找出哪些组彼此不同使用Tukey检验