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

如何在glmmTMB拟合的GLMM中对非整数数据使用二项分布族

glmmTMB二项混合模型过离散问题解决方案

首先明确:对revisits_per_bout和tot_visits_bout做平方根转换是错误操作,二项分布的输入要求为整数型的成功/失败计数,转换为非整数会直接违背模型分布假设,引入额外估计偏差,必须用原始整数计数建模。

glmmTMB虽然不支持quasibinomial族,但有两种原生支持的方案可以直接解决二项模型过离散问题,不需要做变量转换:

  • 方案1:添加观测水平随机效应
    二项混合模型的过离散大多来自未被解释的个体观测水平残差变异,你可以先为数据集每一行生成唯一的观测ID,再将该ID作为随机效应加入模型即可,这是广义线性混合模型处理过离散的标准方法。
    参考代码:
    # 生成观测水平唯一ID
    table_training$obs_id <- seq_len(nrow(table_training))
    revisitsm0_olre <- glmmTMB(
      cbind(revisits_per_bout, tot_visits_bout - revisits_per_bout) ~ experiment_type * foraging_bout + (1|colony/bee_id) + (1|obs_id),
      data = table_training,
      family = binomial
    )
    
  • 方案2:改用β-二项分布族
    glmmTMB原生支持betabinomial分布族,专门用于拟合存在过离散的二项比例数据,不需要调整固定效应、随机效应结构,也不需要对变量做任何转换,直接替换family参数即可,对过离散的拟合灵活度高于加观测水平随机效应的方案。
    参考代码:
    revisitsm0_bbin <- glmmTMB(
      cbind(revisits_per_bout, tot_visits_bout - revisits_per_bout) ~ experiment_type * foraging_bout + (1|colony/bee_id),
      data = table_training,
      family = betabinomial
    )
    

拟二项分布本质是通过离散度参数修正参数标准误,不会改变系数点估计值,上述两种方案都是直接在模型结构层面建模过离散来源,估计结果更稳定,你可以通过AIC、残差检验对比两个调整后模型的拟合效果,选择适配数据的版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:18:15