我正在努力帮助一位同事的学生。学生在实验设置中观察并计算了鸟类行为(叫声次数)。虽然无法确定每个实验中可观察到的特定鸟类的召唤次数,但可以计算促成记录的召唤次数的鸟类数量。因此,我最初的建议是在Poisson GLM模型中将鸟的数量作为偏移项包括在内,因此,我们将拟合每只鸟的预期通话数量。
问题在于,在许多观察场合中,没有观察到鸟(因此也没有鸣叫)。该软件(在这种情况下为R)抱怨是因为(R抱怨y
包含-Inf
的数据,但是纯粹的结果offset(log(nbirds))
是-Inf
)。
我实际上怀疑我们需要一个障碍模型(或类似模型),在该模型中,我们有一个单独的二项式模型用于“观察到的呼叫”?(或没有)和截断计数模型(在有电话的情况下,每只鸟的电话数),其中仅将偏移项包括在模型的计数部分中。
在R中使用pscl包尝试了此操作,但是我仍然遇到相同的错误:
mod1 <- hurdle(NumberCallsCOPO ~ Condition * MoonVis +
offset(log(NumberCOPO)) | 1, data = Data,
dist = "poisson")
因为即使我认为这不会影响适合这些观察值的模型,也要检查相同的R代码(glm.fit
供内部使用hurdle()
以适合计数模型的一部分)-Inf
。(这是一个正确的假设吗?)
我可以通过将一个较小的数字添加到NumberCOPO
(例如0.0001
)中来使模型适合,但这充其量只是一种捏造。
在实践中添加这种小的连续性校正是否可以?如果不是,在泊松模型中偏移变量可以取值为0的Poisson模型中处理数据时,我们还应该考虑其他哪些方法?我遇到的所有示例都是针对offset变量不可能为0的情况。