r - 从 lme fit 中提取预测带

标签 r prediction confidence-interval mixed-models

我有以下型号

x  <- rep(seq(0, 100, by=1), 10)
y  <- 15 + 2*rnorm(1010, 10, 4)*x + rnorm(1010, 20, 100)
id <- NULL
for(i in 1:10){ id <- c(id, rep(i,101)) }
dtfr <- data.frame(x=x,y=y, id=id)
library(nlme)
with(dtfr, summary(     lme(y~x, random=~1+x|id, na.action=na.omit)))
model.mx <- with(dtfr, (lme(y~x, random=~1+x|id, na.action=na.omit)))
pd       <- predict( model.mx, newdata=data.frame(x=0:100), level=0)
with(dtfr, plot(x, y))
lines(0:100, predict(model.mx, newdata=data.frame(x=0:100), level=0), col="darkred", lwd=7)

enter image description here

predictlevel=0我可以绘制平均人口 react 。如何从整个人群的 nlme 对象中提取和绘制 95% 置信区间/预测带?

最佳答案

警告:阅读 this thread on r-sig-mixed models在这样做之前。解释结果预测带时要非常小心。

来自 r-sig-mixed models FAQ调整到你的例子:

set.seed(42)
x <- rep(0:100,10)
y <- 15 + 2*rnorm(1010,10,4)*x + rnorm(1010,20,100)
id<-rep(1:10,each=101)

dtfr <- data.frame(x=x ,y=y, id=id)

library(nlme)

model.mx <- lme(y~x,random=~1+x|id,data=dtfr)

#create data.frame with new values for predictors
#more than one predictor is possible
new.dat <- data.frame(x=0:100)
#predict response
new.dat$pred <- predict(model.mx, newdata=new.dat,level=0)

#create design matrix
Designmat <- model.matrix(eval(eval(model.mx$call$fixed)[-2]), new.dat[-ncol(new.dat)])

#compute standard error for predictions
predvar <- diag(Designmat %*% model.mx$varFix %*% t(Designmat))
new.dat$SE <- sqrt(predvar) 
new.dat$SE2 <- sqrt(predvar+model.mx$sigma^2)

library(ggplot2) 
p1 <- ggplot(new.dat,aes(x=x,y=pred)) + 
geom_line() +
geom_ribbon(aes(ymin=pred-2*SE2,ymax=pred+2*SE2),alpha=0.2,fill="red") +
geom_ribbon(aes(ymin=pred-2*SE,ymax=pred+2*SE),alpha=0.2,fill="blue") +
geom_point(data=dtfr,aes(x=x,y=y)) +
scale_y_continuous("y")
p1

plot

关于r - 从 lme fit 中提取预测带,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14358811/

相关文章:

apache-spark - ALS模型增量训练

python - 完美的精确度、召回率和 f1 分数,但预测不佳

python - 在 Tensorflow 上对两层训练的神经模型进行预测

r - 在 R 中使用 geom_smooth() 在 ggplot2 图例中混合填充颜色

r - 尝试在字符串中查找此特定字符 "|"位置

r - 将访客计数和分析添加到 R blogdown > netlify 托管网站

r - 将标签网格移至绘图左侧

R twitterR 'created' 列时区

r - 当我提供 C.I. 时如何绘制置信区间?值(value)观

r - 如何从模型预测中解释confci函数?为什么这可能与 ggplot2 上的 bootstrap CI 图不匹配?