如何解读glmmTMB泊松混合效应回归残差图并剔除离群值
glmmTMB零膨胀泊松混合模型DHARMa残差检验问题解答
1. 显著KS检验、离群值检验的解读与离群值处理方法
- DHARMa中的KS检验用于判断模拟标准化残差是否符合理论均匀分布:结果显著即说明残差分布与模型假设的理论分布存在系统性偏差,这种偏差无法用随机波动解释。
- 离群值检验显著的含义:当前模型下,数据中存在占比过高的极低概率观测值。DHARMa默认将标准化残差<0.025或>0.975的观测判定为离群点,模型设定正确时,这类随机离群点的理论占比应为总样本的5%左右,检验显著即说明实际离群占比明显高于该预期。
- 离群值识别与处理不要直接粗暴删除:
- 先通过
res$scaledResiduals提取所有标准化残差,筛选出残差落在0.025~0.975区间外的观测,逐一核对原始数据:如果是录入错误、眼动信号漂移/眨眼伪迹等技术问题导致的异常值,可直接剔除。 - 如果离群点是真实观测值,禁止随意删除:这类离群点本质是模型设定失准的信号,需优先调整模型结构(补充预测变量、更换匹配的分布族、优化随机效应结构),或采用稳健回归方法;若最终仍需剔除,必须在研究报告中明确说明剔除标准与剔除样本占比。
- 先通过
2. 残差-预测值图解读与模型设定判断
- 残差-预测值图的判断逻辑:模型设定正确时,散点应沿0.5的残差中线上下均匀分布,图中绘制的0.25、0.5、0.75三条分位拟合线应基本保持水平,不存在明显的弯曲、漏斗形异方差趋势。
- 结合你给出的检验结果(过离散检验不显著,但KS检验、离群值检验均显著),当前模型明确存在设定问题:最常见的原因是零膨胀结构设置不合理(当前为全样本统一零膨胀
ziformula=~1,但零注视概率可能随CONDITION水平、试次时长变化);其次是随机效应结构过于简单(仅设置了被试、词汇的随机截距,未考虑理论上应存在的随机斜率);也可能是连续预测变量与因变量的非线性关系未被纳入模型。
3. DHARMa检验图中红色竖线的含义
- DHARMa所有检验直方图中的红色竖线,代表基于实际观测数据计算得到的目标统计量值,直方图本身是模型假设成立时,通过多次模拟生成的该统计量的零分布。
- 红色竖线不需要位于直方图中心:如果竖线落在直方图95%分布区间之外,即比95%的模拟生成统计量更极端,就代表对应检验的p<0.05,结果显著。以你本次的离群值检验为例,显著结果对应的红色竖线会落在直方图最右侧尾端,代表实际离群点占比远高于模型模拟的平均水平。
本次分析参考代码
# 拟合带偏移项的零膨胀泊松线性混合模型 model <- glmmTMB( fixation_count ~ CONDITION + (1|PARTICIPANT) + (1|WORD) + offset(log(TRIAL_TIME_1)), data = my_data, ziformula = ~1, family = poisson ) # 输出模型拟合结果 summary(model) # 计算DHARMa模拟残差并输出诊断图 res <- simulateResiduals(model, plot = TRUE) # 过离散检验 testOverdispersion(model) # 残差综合检验(含KS检验、离群值检验、分位偏差检验) testResiduals(res)
实操提示:优先调整零膨胀公式、补充随机斜率排查残差问题,不要直接删除真实观测的离群点。
内容的提问来源于stack exchange,提问作者T Song
相关产品推荐
相关产品推荐

