我正在处理一个数据集,并符合泊松分布式混合效果模型。我想计算我的模型预测的预期零数,并将其与实际数据集中观察到的零数进行比较。虽然我已经看到许多讨论这一基本数学的帖子,但实现这些数学的代码对我来说并不清楚,我似乎找不到任何明确的答案。
据我所知,我正在寻找一种方法来计算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发布于 2018-06-25 17:49:13
好的,我对this post的解释可以翻译成R代码,如下所示。使用拟合的模型model,您可以预测每个观察值的预期响应:
lambda_hat <- predict(model, type = "response")对于泊松分布,期望值对应于lambda参数。我们知道零的概率是exp(-lambda)。因此,我们可以计算每个观察值为零的概率,并将它们相加,以获得预期的零数:
expected_zeros <- sum(exp(-lambda_hat))https://stackoverflow.com/questions/50935029
复制相似问题