使用 lme4 建模从固定效应值进行预测
Using lme4 modeling to predict from fixed effects values
对于新手问题,我深表歉意,但我是 lme4 的新手。我正在使用 lme4 来模拟三年来由不同类型的土地利用组成的六个地点中蜂群的生存,并在已经使用 REML 消除其他竞争模型后生成了以下模型:
land1=lmer(asin(sqrt(prop_survival))~log(area_forage_uncult) + (1|site) + (1|year))
并生成摘要:
Linear mixed model fit by REML ['lmerMod']
Formula: asin(sqrt(prop_survival)) ~ log(area_forage_uncult) + (1 | site)+ (1 | year))
REML criterion at convergence: -32.7
Scaled residuals:
Min 1Q Median 3Q Max
-1.4914 -0.5867 -0.0323 0.4945 1.7873
Random effects:
Groups Name Variance Std.Dev.
site (Intercept) 0.001080 0.03287
year (Intercept) 0.000000 0.00000
Residual 0.004983 0.07059
Number of obs: 18, groups: site, 6; year, 3
Fixed effects:
Estimate Std. Error t value
(Intercept) -1.33426 0.62653 -2.130
log(area_forage_uncult) 0.13687 0.03618 3.783
Correlation of Fixed Effects:
(Intr)
lg(r_frg_n) -0.999
我现在想做的是使用这个模型来预测给定其他数量的未开垦草料的养蜂场的存活率。最好的方法是什么?
示例代码会很有帮助。
这应该相当简单(尽管使用 reproducible example ... 我会更直接)
如果您有合适的模型 land1
,那么
## I'm picking arbitrary values here since I don't
## know what's sensible for your system
pframe <- data.frame(area_forage_uncult=200:210)
predict(land1,newdata=pframe,re.form=~0)
参数 re.form=~0
告诉 predict()
函数您要在人口水平上进行预测,而不是针对任何特定年份或地点(即在预测时将随机效应值设置为零) .有关详细信息,请参阅 ?predict.merMod
。
我对模型还有其他几点建议:
- 考虑使用二项式 GLMM(如果您的生存比例超出已知暴露总数)而不是反正弦平方根变换(参见 Warton and Hui 2011)
- 6个站点是相当少的随机效果级别,3个站点非常少;您的输出显示年间差异已设置为零。考虑将年份设置为固定效应(可能具有总和与零的对比,即指定
contrasts=list(year=contr.sum)
)。
对于新手问题,我深表歉意,但我是 lme4 的新手。我正在使用 lme4 来模拟三年来由不同类型的土地利用组成的六个地点中蜂群的生存,并在已经使用 REML 消除其他竞争模型后生成了以下模型:
land1=lmer(asin(sqrt(prop_survival))~log(area_forage_uncult) + (1|site) + (1|year))
并生成摘要:
Linear mixed model fit by REML ['lmerMod']
Formula: asin(sqrt(prop_survival)) ~ log(area_forage_uncult) + (1 | site)+ (1 | year))
REML criterion at convergence: -32.7
Scaled residuals:
Min 1Q Median 3Q Max
-1.4914 -0.5867 -0.0323 0.4945 1.7873
Random effects:
Groups Name Variance Std.Dev.
site (Intercept) 0.001080 0.03287
year (Intercept) 0.000000 0.00000
Residual 0.004983 0.07059
Number of obs: 18, groups: site, 6; year, 3
Fixed effects:
Estimate Std. Error t value
(Intercept) -1.33426 0.62653 -2.130
log(area_forage_uncult) 0.13687 0.03618 3.783
Correlation of Fixed Effects:
(Intr)
lg(r_frg_n) -0.999
我现在想做的是使用这个模型来预测给定其他数量的未开垦草料的养蜂场的存活率。最好的方法是什么? 示例代码会很有帮助。
这应该相当简单(尽管使用 reproducible example ... 我会更直接)
如果您有合适的模型 land1
,那么
## I'm picking arbitrary values here since I don't
## know what's sensible for your system
pframe <- data.frame(area_forage_uncult=200:210)
predict(land1,newdata=pframe,re.form=~0)
参数 re.form=~0
告诉 predict()
函数您要在人口水平上进行预测,而不是针对任何特定年份或地点(即在预测时将随机效应值设置为零) .有关详细信息,请参阅 ?predict.merMod
。
我对模型还有其他几点建议:
- 考虑使用二项式 GLMM(如果您的生存比例超出已知暴露总数)而不是反正弦平方根变换(参见 Warton and Hui 2011)
- 6个站点是相当少的随机效果级别,3个站点非常少;您的输出显示年间差异已设置为零。考虑将年份设置为固定效应(可能具有总和与零的对比,即指定
contrasts=list(year=contr.sum)
)。