根据bam {mgcv}进行的人口水平预测

时间:2018-07-25 13:15:45

标签: r prediction mixed-models mgcv

使用expect(element(by.id('elementToClick')).click()).toBeTruthy(); ,我创建了一个具有以下形式的逻辑混合模型:

bam

PresAbs ~ s(Var 1) + s(Var 2) + ... + s(Var n) + s(RandomVar, bs = "re") 是一个因素,我对其每个级别的预测都不感兴趣。如何获得与predict.lme相当的人口水平预测?

1 个答案:

答案 0 :(得分:1)

一种方法是从预测中排除随机效应样条线。

使用?gam.models

中的示例
library("mgcv")
dat <- gamSim(1,n=400,scale=2) ## simulate 4 term additive truth
## Now add some random effects to the simulation. Response is 
## grouped into one of 20 groups by `fac' and each groups has a
## random effect added....
fac <- as.factor(sample(1:20,400,replace=TRUE))
dat$X <- model.matrix(~fac-1)
b <- rnorm(20)*.5
dat$y <- dat$y + dat$X%*%b

m1 <- gam(y ~ s(fac,bs="re")+s(x0)+s(x1)+s(x2)+s(x3),data=dat,method="ML")

我们要排除s(fac)一词,因为它写在输出中

summary(m1)

对于观察到的数据,人口效应为

predict(m1, exclude = 's(fac)')

但是您可以提供newdata来生成其他协变量组合的预测。