R中glmer的summary与tab_model结果差异问题咨询
问题解答
1. 估计值差异的核心原因
summary()输出的是logit尺度下的回归系数(对数优势比),而sjPlot::tab_model()默认会自动将logit系数转换为比值比(OR),这是两者数值差异的根源。你可以用exp()函数验证:比如summary中cuecong2incong的系数是-0.33386,计算exp(-0.33386)≈0.716,这就是tab_model里对应的估计值。
如果想让tab_model输出和summary一致的对数优势比,只需添加参数transform = NULL:
sjPlot::tab_model(model.CERT, transform = NULL, # 禁用比值比转换 show.re.var= TRUE, show.stat = TRUE, show.se = TRUE, show.p = TRUE, p.style = "stars", digits = 3, string.se = "se", pred.labels =c("(Intercept)", "Cue", "EdgeDis","TexRot.L","TexRot.Q","EdgeDis*TexRot.L","EdgeDis*TexRot.Q"), dv.labels= "Certainty")
2. summary的Estimate是什么?
summary()输出的Estimate不是比值比,而是logit链接下的对数优势比(log-odds)。比值比是对数优势比的指数转换结果,即exp(Estimate)。
3. Satterthwaite与Wald检验:如何选择?
先纠正一个误解:glmer()(广义线性混合模型)的summary()默认使用的是Wald z检验,而非Satterthwaite方法——Satterthwaite近似自由度是lmerTest包针对线性混合模型(lmer())设计的,用于计算t检验的自由度,并不适用于广义线性混合模型的二项分布(广义模型基于渐近正态性,用z检验)。
关于方法选择:
- Wald检验:计算简单,大样本下可靠性高,是广义混合模型的标准默认方法,
summary()和tab_model()默认都采用该方法,常规报告中使用完全合规。 - 若样本量较小,或追求更稳健的效应检验,建议补充似然比检验(通过
anova(model.CERT, test="Chisq")实现)。它通过比较包含/不包含某效应的模型对数似然差来检验显著性,比Wald检验更严谨。
报告时只需明确说明你使用的检验方法即可。
内容的提问来源于stack exchange,提问作者JayBee
相关产品推荐
相关产品推荐

