我应该对非整数、类计数数据使用泊松分布吗?

机器算法验证 r 造型 泊松分布 咕噜咕噜 lme4-nlme
2022-03-20 19:05:16

这是我在这里的第一个问题,我希望我能正确地问它。我正在尝试找出如何分析非整数、计数数据(是的!)。我正在研究给定处理对某些鸟类栖息地适宜性的影响,以领土数量来衡量。一些领土位于两个不同处理的地块之间,因此我不得不在地块之间分配领土。我最终得到了一半和四分之一的领土。

编辑我的数据集如下所示:

   year         plot    treatment   territories    location surface
1  1985         1569         ctrl           1.0     Cheyres     1.2
2  1986         1569         ctrl           1.0     Cheyres     1.2
3  1987         1569            1           0.0     Cheyres     1.2 
4  1988         1569            2           2.0     Cheyres     1.2
5  1989         1569            3           6.5     Cheyres     1.2
6  1990         1569            1           1.5     Cheyres     1.2

其中年份、地块、位置和处理是因素。

我尝试了具有泊松分布的 GLMM(在 R 中):

glmmacrsci1 <- glmer(territories ~ treatment * (1|year) * (1|location/plot), 
                     offset=surface, family="poisson", data=acrsci)

运行此程序时,我会收到通常的非整数警告(例如):

In dpois(y, mu, log = TRUE) : non-integer x = 1.500000

我得到无限的 AIC、BIC 和偏差:

$AICtab
 AIC      BIC   logLik deviance df.resid 
 Inf      Inf     -Inf      Inf      775 

与非整数计数相关的大多数其他问题都是关于速率的,这显然可以通过使用偏移量来规避。但是,在我的情况下,我认为这是不可能的。

我对你的问题:

1) 使用具有泊松分布的 GLMM 和此类数据是否正确?(我不这么认为,但 glmer 似乎仍然有效)

2)对于我的数据,您能想到泊松的任何替代方案吗?

2个回答

1) 使用具有泊松分布的 GLMM 和此类数据是否正确?(我不这么认为,但 glmer 似乎仍然有效)

不,这是不正确的。计数数据”通常是指记录案例数量的数据,因此它只能是非负数和整数值。泊松分布也是如此,即非负整数值数据的分布。在泊松分布下,观察到非整数值的概率为零,R 的行为与之相应:

dpois(c(1, 1.5, 2, 2.5, 3), 5)
## [1] 0.03368973 0.00000000 0.08422434 0.00000000 0.14037390
## Warning messages:
## 1: In dpois(c(1, 1.5, 2, 2.5, 3), 5) : non-integer x = 1.500000
## 2: In dpois(c(1, 1.5, 2, 2.5, 3), 5) : non-integer x = 2.500000

您可以使用此数据估计对数线性glmm,但假设泊松分布意味着您将所有非整数视为不可能的值,因此 R 会引发适当的警告。这意味着对数似然的估计和基于它的估计,如 AIC,不会是你想要的。

这并不意味着您不能使用非整数数据估计对数线性回归。您可以,但您不能假设此类数据的泊松分布。

另请参阅哪种回归模型最适合用于计数数据?线程(另请查看答案下方评论中的讨论)以及泊松分布在对连续数据进行建模时如何工作,是否会导致信息丢失?.

既然问题的出现是因为两种治疗方法与领土相关,为什么不创建一个新的伪治疗方法呢?因此,如果您有治疗 A、B、C,那么接受 A 和 B 的区域是否记录为接受 AB?显然,这可能会导致多种治疗,相应地很少发生,但如果没有关于您的数据的更多信息,我们无法判断这是否会很棘手。