首页 > 解决方案 > 使用零一膨胀 beta 回归 (zoib) 来拟合概率响应数据与 R 中的交互和单个随机项

问题描述

我正在尝试拟合一个zoib以入住概率作为响应变量的模型,以对抗家庭收入与分类变量、饮食(例如食虫动物、食肉动物)之间的相互作用,并将物种用作随机项。这是为了探讨一个地区的物种占有概率与该地区家庭收入的关系是否因物种觅食行会/饮食类别而异。我使用zoib是因为我有百分比数据,并且因为我的数据是 1 和 0 膨胀。

我对使用zoib或 beta 回归没有信心,并已zoib联系包的作者,为我提供适合模型的正确方法。

这是我正在使用的数据结构:

'data.frame':   242 obs. of  6 variables:
 $ pentad     : chr  "2350_2940" "2350_2945" "2350_3015" "2355_2920"
 $ species    : chr  "Common Ostrich" "Common Ostrich" "Common Ostrich"
 $ occupancy  : num  1 0.1717 0.2012 0.0445 1 ...
 $ Diet       : chr  "HerbiGrani" "HerbiGrani" "HerbiGrani" "HerbiGrani"
 $ urban.cover: num  39.1 31.1 25.4 21.7 32.3 ...
 $ meanInc    : num  73470 33968 81768 124308 277171

这是我提供的代码:

m1 <- zoib(occupancy ~ meanInc*Diet|1|meanInc*Diet|1, random = 1,    
       EUID = OPdat$species,  zero.inflation = TRUE,  
       one.inflation = TRUE, data = OPdat,   n.iter=50, 
       n.thin=20, n.burn=50)

这是我得到的错误:

关节错误。1z01(y,n,q,xmu.1,p.xmu,xsum.1,p.xsum,x0.1,p.x0,:找不到对象'x1.1'

日记对zoib我来说很难理解。谁能帮我理解这个错误?什么是对象 x1.1?任何其他适合此模型的建议/包也将不胜感激。

标签: rprobabilitypercentage

解决方案


从“详细信息”部分?zoib::zoib

在公式的右侧,它最多可以包含以下顺序的 5 个部分:xb | xd | x0 | x1 | z,其中 xb 表示 beta 分布均值的链接函数中的固定效应协变量/因子,xd 表示 beta 分布的两个形状参数之和的链接函数中的固定效应协变量/因子, x0 表示 Pr(y=0) 的链接函数中的固定效应协变量/因子,x1 表示 Pr(y=1|y>0) 的链接函数中的固定效应协变量/因子,z 表示随机效应协变量/因素。

相关:https ://stats.stackexchange.com/questions/494369/how-to-fit-a-zoib-regression-model-with-random-effects-from-zoib-package

|1您在 RHS 末尾 需要另一个,即meanInc*Diet|1|meanInc*Diet|1|1,以便您指定:

  • 条件均值模型:meanInc*Diet
  • 分散模型:(1平凡/常数)
  • 零通胀模型:meanInc*Diet
  • 一次通货膨胀模型:(1平凡/恒定)
  • 随机效应模型:(1可变截距)[这是我添加的部分]

我相信这个brms包装也适合 ZOIB/Z01B 型号。


推荐阅读