双向重复测量ANOVA事后检验自由度疑问求助
双向重复测量ANOVA事后检验自由度疑问解答
问题背景
我正在开展混合设计的重复测量ANOVA分析:两组受试者(每组n=10,共20人)接受不同处理,为期6天(6个时间点),已得到显著的timepoint*group交互效应。但运行事后检验时,发现timepoint*group项的自由度为18,这和我预期的合并误差项自由度不符——我原本认为事后检验应采用合并误差项,自由度应为(n-1)(a-1)类型的计算结果。所用代码如下:
post_hoc = pg.pairwise_tests( data=long_df, dv='score', within='timepoint', between='group', subject='subject', padjust='bonf', )
关键解析
- 自由度18的来源:你看到的18是
N - k的计算结果,其中N是总样本量(20),k是组数(2)。这是因为pingouin.pairwise_tests()在处理混合设计的交互项事后检验时,默认将每个对比视为独立的混合设计t检验,此时误差项的自由度就是总样本量减去组数,即20-2=18。 - 你预期的合并误差项为何不适用:你提到的合并误差项自由度(比如
(n-1)(a-1))是重复测量ANOVA模型整体的残差自由度,但pairwise_tests()的默认逻辑是针对每个具体对比单独计算误差,而非借用ANOVA模型的合并残差。这种做法更保守,避免因整体误差的异质性影响单个对比的结果。 - 如果要使用合并误差项怎么办:
pingouin的pairwise_tests()目前没有直接调用合并误差项的参数,你需要手动实现:- 先运行完整的重复测量ANOVA,提取模型的残差自由度和残差均方
- 针对感兴趣的
timepoint*group交互对比,手动计算统计量,并使用合并的残差自由度进行显著性检验
内容的提问来源于stack exchange,提问作者Rachel O'Sullivan
相关产品推荐
相关产品推荐

