我正在寻找一种方法来从Python中的数据框执行ANOVA和HSD测试 . 我试着在论坛和教程上阅读一些例子,但我没有实现将它应用到我的工作中 .
这是一个简单的Pandas数据帧:
Date Density Hour Repetition Glucose
A HD AM 1 6.7
A HD AM 2 6.8
A HD PM 2 9.6
A HD PM 3 11.9
B HD AM 1 23
B HD AM 2 18.1
B HD PM 1 43.3
B HD PM 2 32
C HD AM 1 5.1
C HD AM 2 3.8
C HD PM 1 5.2
C HD PM 2 5.5
我怎么能进行方差分析然后进行HSD检测来检查日期,密度和小时对葡萄糖的影响?我试过这些库:
from scipy.stats import f_oneway
from statsmodels.stats.multicomp import pairwise_tukeyhsd
但我无法实现将它们应用到我的例子中
提前谢谢你
1 回答
pairwise_tukeyhsd
只允许单个组变量,它仅用于ANOVA . 在为所有不同的解释变量创建组索引之后,可以对所有完全相互作用的组进行所有成对比较 . 例如group1 = (A, HD, AM, 1)
,group2 = (A, HD, AM, 2)
等 .对于仅有一些效应的成对比较,我们需要在用OLS估计多路ANOVA后进行成对比较 . 这在statsmodels中目前不可用 . 在这种情况下,Tukey-HSD的临界值和p值不适用 .
在这种情况下,可能的是使用OLS估计完整模型,定义所有所需的成对对比,使用
t_test
获取比较的原始p值,然后应用可用的多个p值校正之一 .