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

使用VGAM包vglm()拟合零截断负二项模型时遇'dposnegbin2'未找到错误

问题解决与替代方案

VGAM包报错的解决方法

  • 更新VGAM到最新版本:这个报错大概率是版本兼容性问题,旧版VGAM中posnegbinomial()家族的内部实现存在函数引用问题。执行以下命令重新安装最新版:
    install.packages("VGAM", dependencies = TRUE)
    library(VGAM)
    
    安装完成后重新运行拟合代码,多数情况下能解决找不到dposnegbin2的问题。
  • 临时 workaround(不推荐长期使用):如果暂时无法更新包,可以手动暴露内部函数后再拟合:
    dposnegbin2 <- VGAM:::dposnegbin2
    m1 <- vglm(stay ~ age + hmo + died, family = posnegbinomial(), data = dat)
    

零截断负二项模型的替代方案

如果VGAM的问题仍无法解决,推荐以下成熟工具:

  • countreg包:专门处理计数模型,支持零截断负二项模型,用法简洁:
    install.packages("countreg")
    library(countreg)
    m1 <- zerotrunc(stay ~ age + hmo + died, data = dat, dist = "negbin")
    summary(m1)
    
  • pscl包的hurdle模型:通过设置zero = "none"实现零截断负二项拟合:
    install.packages("pscl")
    library(pscl)
    m1 <- hurdle(stay ~ age + hmo + died, data = dat, dist = "negbin", zero = "none")
    summary(m1)
    
  • brms包(贝叶斯框架):适合需要贝叶斯推断的场景,对零截断负二项模型支持完善:
    install.packages("brms")
    library(brms)
    m1 <- brm(stay ~ age + hmo + died, data = dat, family = zero_truncated_negbinomial())
    summary(m1)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:57:09