如何计算R中泊松分布混合效应模型的预期零数?

如何计算R中泊松分布混合效应模型的预期零数?,r,poisson,R,Poisson,我正在处理一个数据集并拟合泊松分布混合效应模型。我想计算我的模型预测的预期零数量,并将其与实际数据集中观察到的零数量进行比较。虽然我看到很多帖子都在讨论这个问题的基础数学,但实现这种数学的代码对我来说并不清楚,我似乎找不到任何明确的答案 据我所知,我正在寻找一种计算p(Yi=0 | xi)=e的方法−λ对于R中的混合效应模型 关于我的数据集的一点背景知识。响应变量是一个计数(个体蝴蝶的数量),我的预测变量主要是比例(例如,被花覆盖的栖息地的比例)。我还有一个随机变量:PatchID。我在lme4

我正在处理一个数据集并拟合泊松分布混合效应模型。我想计算我的模型预测的预期零数量,并将其与实际数据集中观察到的零数量进行比较。虽然我看到很多帖子都在讨论这个问题的基础数学,但实现这种数学的代码对我来说并不清楚,我似乎找不到任何明确的答案

据我所知,我正在寻找一种计算p(Yi=0 | xi)=e的方法−λ对于R中的混合效应模型

关于我的数据集的一点背景知识。响应变量是一个计数(个体蝴蝶的数量),我的预测变量主要是比例(例如,被花覆盖的栖息地的比例)。我还有一个随机变量:PatchID。我在lme4软件包中拟合了泊松分布混合效应模型

模型输出:

Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: poisson  ( log )
Formula: spp_icarus ~ BareGround + Shrub + Grass + AllFlowers + CowsVetch +  
CanopyCover + avg.bft + season.bft + (1 | PatchID)
Data: icarusdata2

 AIC      BIC   logLik deviance df.resid 
804.8    835.2   -392.4    784.8      144 

Scaled residuals: 
Min     1Q Median     3Q    Max 
-4.819 -0.844 -0.350  0.443 77.147 

Random effects:
Groups  Name        Variance Std.Dev.
PatchID (Intercept) 2.69     1.64    
Number of obs: 154, groups:  PatchID, 39

Fixed effects:
        Estimate Std. Error z value Pr(>|z|)    
(Intercept)   0.3069     0.5750   0.534 0.593512    
BareGround   -5.7246     0.8096  -7.071 1.54e-12 ***
Shrub       -50.1908     5.8837  -8.530  < 2e-16 ***
Grass        -1.3167     0.5608  -2.348 0.018875 *  
AllFlowers   11.2299     1.5986   7.025 2.14e-12 ***
CowsVetch   -51.2781     8.0523  -6.368 1.91e-10 ***
CanopyCover   0.1029     2.3806   0.043 0.965537    
avg.bft     -48.1492     7.0559  -6.824 8.86e-12 ***
season.bft1   2.0350     0.6045   3.367 0.000761 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
广义线性混合模型最大似然拟合(拉普拉斯近似)['glmerMod']
族:泊松(对数)
配方:spp_icarus~裸地+灌木+草+百花+牛鞭草+
CanopyCover+avg.bft+season.bft+(1 | PatchID)
数据:icarusdata2
AIC BIC logLik偏差df.resid
804.8    835.2   -392.4    784.8      144 
标度残差:
最小1季度中值3季度最大值
-4.819 -0.844 -0.350  0.443 77.147 
随机效应:
组名为Variance Std.Dev。
PatchID(截距)2.69 1.64
OB数量:154,组:PatchID,39
固定效果:
估计标准误差z值Pr(>z)
(截距)0.3069 0.5750 0.534 0.593512
裸地-5.7246 0.8096-7.071 1.54e-12***
灌木-50.1908 5.8837-8.530<2e-16***
草地-1.3167 0.5608-2.348 0.018875*
AllFlowers 11.22991.5986 7.025 2.14e-12***
CowsVetch-51.2781 8.0523-6.368 1.91e-10***
遮篷盖0.1029 2.3806 0.043 0.965537
平均bft-48.1492 7.0559-6.824 8.86e-12***
季候.bft1 2.0350 0.6045 3.367 0.000761***
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
好的,我对的解释可以翻译成R代码,如下所示。使用您安装的模型
模型
,您可以预测每次观察的预期响应:

lambda_hat <- predict(model, type = "response")

你能分享你提到的链接吗?顺便说一句,我刚看到这个。嗨@RalfStubner!这个问题的相关链接可能包括:和。这是有意义的,代码是有效的,但我还有一个问题需要澄清。当在X的所有观测值中求和得到零的概率时,这会产生预期的零数还是预期的得到零的概率?例如,如果通过实现此代码,我得到的预期零的值为64.3,这是否表示模型预测154个观测值中的64个零(即42%)或预测的64%零?@StephanieRivest它是预期零的数量。毕竟,这个总和可以和你观察到的数量一样大。我看这篇文章已经有一段时间了,但我现在对输出值的实际含义有些怀疑。是(1)预期的零数还是(2)预期的零概率。根据Ralf的回答,他会建议预期的0代表上面的1。然而,当我查看其他帖子(例如)时,我觉得这个值实际上代表了上面的#2。有人能就这个问题作出澄清吗?@StephanieRivest我只能重复我的论点:这不可能是一个可能性,因为它不能保证是肯定的。谢谢你回复@Ralf,我为没有马上得到它而道歉!我同意你的看法,预期的_零可能大于1(因为我以前就有过这种情况)。我无法解决的是,我也在R中尝试了ppois函数,它给出了相同的结果,期望_zero=0.15。然而,在这个描述如何使用函数ppois()的网页上,他们将答案称为概率!我的困惑仍然存在!
expected_zeros <- sum(exp(-lambda_hat))