在 glmmTMB R 包中指定截断点

问题描述

我正在处理一个大型数据集,其中包含 184,113 名参与者赌博行为的纵向数据。该数据基于对赌博运营商内部电子赌博行为的完整跟踪。赌博行为数据按月汇总,共 70 个月。我有一个分隔参与者的 ID 变量、一个时间变量(月份)以及许多赌博行为变量,例如给定月份的活跃天数、给定月份的投注、给定月份的总损失等。一直在积极赌博。一个参与者可能在第 2、3、4 和 7 个月赌博,另一个参与者在第 3、5 和 7 个月赌博,第三个参与者在 23、24、48、65 等时赌博。

我正在尝试在 glmmTMB 中运行负二项式 2 截断模型,我想知道该包如何处理缺少 0 的情况。我有关于赌博行为的纵向数据,每个月玩的天数(总共 70 个月)。该变量可以取 1-31 之间的值(取决于月份),没有 0。数据集中不存在参与者的月份为 0。只有两个参与者的数据结构示例:

# Example variables and data frame in long form 

  # Includes id variable,time variable and example variable 

id <- c(1,1,2,2) 

time <- c(2,3,4,7,5,7) 

daysPlayed <- c(2,2) 

dfLong <- data.frame(id = id,time = time,daysPlayed = daysPlayed)

我的问题:如何在 glmmTMB 中指定截断发生的位置?它是否认为 0?我想截断 0 并运行以下代码(我将比较模型,第一个是简单的无条件模型):

DaysPlayedUnconditional <- glmmTMB(daysPlayed ~ 1 + (1 | id),dfLong,family = truncated_nbinom2) 

它会成功吗?

解决方法

来自 Ben Bolker 通过 r-sig-mixed-models@r-project.org: “我对你的问题不是 100% 清楚,但是:glmmTMB 只做零截断,而不是 k>0 的 k 截断,即你只能指定模型 Prob(x==0) = 0 Prob(x> 0) = Prob(NBinom(x))/Prob(NBinom(x>0))(可怕的符号,但希望你能明白)”