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

时间:2018-06-19 18:41:34

标签: r poisson

我正在研究数据集,并适合泊松分布混合效果模型。我想计算我的模型预测的预期零位数,并将其与实际数据集中观察到的零位数进行比较。尽管我看过很多文章都在讨论有关数学的基本知识,但是实现这种数学的代码对我来说并不明确,我似乎也找不到任何明确的答案。

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

我的数据集中有一点背景。响应变量是一个计数(单个蝴蝶的数量),而我的预测变量主要是比例(例如花朵覆盖的栖息地比例)。我也有一个随机变量: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

1 个答案:

答案 0 :(得分:0)

好的,我对this post的解释可以转换为R代码,如下所示。使用拟合的模型model,您可以预测每个观察值的预期响应:

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

对于泊松分布,期望值对应于lambda参数。而且我们知道零的概率为exp(-lambda)。这样我们就可以计算出每个观察结果的零概率,并将它们加起来以获得期望的零数目:

expected_zeros <- sum(exp(-lambda_hat))