如何制定 GLM 的偏移量

机器算法验证 r 负二项分布 计数数据 抵消
2022-03-14 05:22:55

我正在尝试在 R 中为一些计数数据建立一个广义线性模型。基本上,我在让它们接受治疗后计算了每单位的动物数量(对于所有单位,都有 6 周的暴露时间)。也就是说,根据治疗的不同,治疗后动物的数量可能更多、更少或相同。因为这些单位开始时有不同数量的动物,所以我可以使用比例,也可以使用治疗后的实际计数,以初始动物数量作为偏移量。我听说最后一个选项是有利的。

我已经看到,对于泊松模型,添加这样的偏移量:offset(log(initial_no)). 但是我倾向于使用负二项式模型。然后将它的链接功能设置在偏移量前面吗?我也见过offset(1|initial_no)什么时候使用这个词?

1个回答

我不知道您在哪里听说过,对于一些在初始数字之外幸存的个体来说,带有偏移的泊松或负二项式比二项式模型更可取;我通常更喜欢二项式,因为它更接近我们认为正在发生的实际随机过程。请注意,二项式模型将是二项式 GLM,

nsurvBinomial(p,N)
— 不同于计算比例n/N和使用线性模型(或类似的模型)。

然而,考虑到问题的(编辑版本)允许在期末有比期初更多的人,二项式模型(以及准二项式或贝塔二项式等变体)将不起作用,因为它们不允许增加数量。

在个人只能失去而不是获得的典型情况下(不是你的情况),泊松或负二项式模型只有在幸存的比例(或死亡的比例,如果你量化死亡率而不是生存)小得多的情况下才会给出合理的答案大于 1。一般来说,随着存活概率接近 1,存活人数的变化会变小;二项式模型自然地捕捉到了这种现象,而 Poisson / NB 模型则没有。(随着概率接近 0,两个模型的方差都变小了。)

如果您确实想使用偏移计数模型,则合并偏移的方法在 Poisson 和 NB 模型之间没有区别,两者几乎总是使用日志链接。也就是说,模型可以写成: 第二行也可以写成(看起来像包含偏移量的回归公式),这表明您将建模为对数比例生存。在数字可以增加的情况下,

nsurvPoisson(μ)orNegBinom(μ,k)μ=exp(β+log(N))=Nexp(β)
log(μ)=β+log(N) μ/N=exp(β)ββ将是正数,表示预期的数字比例增加的对数。

如果您碰巧决定使用身份链接(我通常不建议这样做,因为在这种情况下,优化过程很容易尝试 Poisson/NB 均值的负值,这可能会破坏计算),那么您d 使用的偏移量(不是),因此,所以表示数字的加性变化。虽然有时计算困难,但这确实具有概念意义......Nlog(N)μ=β+Nβ

NB 模型的一个可能优点是它考虑了过度离散(例如,生存概率的个体间差异),而二项式或泊松模型则没有。您可以通过切换到 beta-binomial 或 quasi-binomial 模型在二项式世界中处理这个问题......

如果您使用 R,假设您的变量是n(幸存数字)、N(初始数字)、ttt(指定治疗组的因子/分类变量),您将使用

  • glm(n/N~ttt, family=binomial, weights=N)或者
  • glm(n/N~ttt, family=quasibinomial, weights=N)或者
  • glm(n~ttt+offset(log(N)), family=poisson)或者
  • MASS::glm.nb(n~ttt+offset(log(N)))

我从来没有见过一个模型offset(1|initial_no)什么软件正在使用这个...?