带交互项多元线性回归偏eta平方的R计算函数差异及选择
计算结果差异的原因
两组函数输出不一致的核心原因是默认调用的方差分析平方和类型不同:
偏eta平方的计算公式为 $\eta_p^2 = \frac{SS_{效应}}{SS_{效应} + SS_{残差}}$,其中效应项平方和($SS_{效应}$)的计算逻辑会随平方和类型变化,最终导致结果差异:
- 第一组函数(
effectsize::eta_squared、rstatix::partial_eta_squared、sjstats::anova_stats)默认使用III型平方和:计算某一变量的效应时,控制模型中所有其他变量的解释量(包括所有主效应、交互项),仅统计该变量独立贡献的方差占比。 - 第二组函数(
heplots::etasq、DescTools::EtaSq、lsr::etaSquared)默认使用I型平方和(顺序平方和):按变量在模型公式中的输入顺序依次分配解释量,计算某一变量的效应时,仅控制排在它之前的变量的解释量,不控制排在它之后的变量。
你给出的示例中交互项的两组计算结果完全一致,刚好可以佐证上述逻辑:因为交互项PolitID * aot.uk.NA写在公式的最后一位,I型平方和计算它的效应时已经控制了所有前置变量,和III型的控制逻辑完全相同,因此结果没有差异。
含交互项模型的适用计算方式
两种计算逻辑没有绝对对错,仅适用场景不同:
- 如果是验证性研究,需要排除所有其他变量(包括交互项和其他主效应)的干扰,单独估计每个主效应的独立贡献,且你的研究为观测性设计(自变量普遍非正交),这是绝大多数社科、医学研究的默认场景,更适合使用III型平方和对应的结果,也就是第一组函数的输出。
- 如果是探索性研究,明确需要按变量进入模型的顺序拆分解释量(比如先控制人口统计学变量,再放入核心预测变量),才适合选择I型平方和对应的结果,也就是第二组函数的输出。
内容的提问来源于stack exchange,提问作者Marina
相关产品推荐
相关产品推荐

