You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何R中modelbased包estimate_contrasts的95%CI含0但p<0.05?

线性混合效应模型中置信区间与校正p值的矛盾解释

问题背景

我使用lme4包的lmer()函数拟合了线性混合效应模型,公式为:

Response ~ Age + Gender + tOrder + Condition * Scale + (1|Participant)

随后使用modelbased包的estimate_contrasts()进行组间对比分析,代码及输出结果如下:

(mbc <- modelbased::estimate_contrasts(mdl.LMM,contrast="Condition",at="Scale"))

输出结果表格:

Level1 | Level2 | Scale | Difference |        95% CI |   SE |     df |     t |     p
L1     |     L2 |     A |       0.31 | [-0.02, 0.65] | 0.14 | 221.15 |  2.25 | 0.076
L1     |     L2 |     B |       0.19 | [-0.14, 0.53] | 0.14 | 221.75 |  1.41 | 0.320
L1     |     L2 |     C |       0.37 | [ 0.05, 0.70] | 0.14 | 221.57 |  2.75 | 0.013 
L3     |     L2 |     A |       0.18 | [-0.17, 0.53] | 0.14 | 221.39 |  1.27 | 0.414 
L3     |     L2 |     B |      -0.07 | [-0.43, 0.28] | 0.15 | 221.74 | -0.49 | 0.621 
L3     |     L2 |     C |       0.67 | [ 0.32, 1.01] | 0.14 | 221.56 |  4.66 | < .001
L3     |     L1 |     A |      -0.13 | [-0.47, 0.20] | 0.14 | 221.10 | -0.94 | 0.414 
L3     |     L1 |     B |      -0.27 | [-0.62, 0.08] | 0.15 | 221.75 | -1.84 | 0.200 
L3     |     L1 |     C |       0.29 | [-0.04, 0.63] | 0.14 | 221.50 |  2.10 | 0.037

疑问点

  • 最后一行结果中,95%置信区间包含0,但校正后的p值却小于0.05,与“置信区间和p值判断应一致”的认知冲突。
  • 第一行结果中,差值和t值更大,置信区间更接近0但仍包含0,可校正后的p值却大于0.05。
  • 已知estimate_contrasts()默认采用Holm(1979)多重比较校正方法,希望解释这种矛盾或指出理解误区。

解答

核心原因:置信区间与p值的校正逻辑不匹配

estimate_contrasts()默认输出的95%置信区间未经过多重比较校正,但p值是经过Holm校正后的结果,这是两者出现矛盾的关键:

  • 未校正的置信区间:基于单个对比的标准误计算,仅控制该单一对比的I类错误率为5%。
  • Holm校正后的p值:通过对所有对比的p值排序并调整显著性阈值,控制整体的家族式错误率(FWER),相当于对每个对比的显著性判断进行了“从严”处理。

具体案例解析

  • 最后一行(L3 vs L1,Scale C):
    未校正的置信区间包含0,说明仅看这一个对比时无统计学意义;但经过Holm校正后,该对比的原始p值在所有9个对比中排序较靠前,校正后的阈值仍低于它的原始p值,因此被判定为显著(p<0.05)。
  • 第一行(L1 vs L2,Scale A):
    虽然差值和t值更大,但它的原始p值在所有对比中排序更靠后,Holm校正对其阈值的调整幅度更大,导致校正后的p值超过0.05,最终判定为不显著。

实现置信区间与p值判断一致的方法

若想让两者的判断逻辑统一,可以通过调整estimate_contrasts()的参数实现:

  • 对置信区间也进行Holm校正:添加adjust = "holm"参数,此时校正后的置信区间与校正后的p值判断会完全一致——置信区间不包含0的对比,p值<0.05;置信区间包含0的对比,p值>0.05。
  • 不进行任何多重比较校正:设置adjust = "none",此时p值和置信区间都基于单个对比的I类错误率控制,结果会完全匹配。

内容的提问来源于stack exchange,提问作者dstolz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:10:36