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