我正在对一些数据运行混合模型。我想为我的模型计算置信区间。
为此,我从Predictions and/or confidence (or prediction) 区间对预测 (lme4)改编了以下代码部分。问题是我很难理解代码的实际作用,但到目前为止,这是我发现为我的结果计算一些合理的置信区间的唯一方法。
所以我的问题是:什么是pvar1
和tvar1
?
我猜是这样的,但我看不出来,我无法描述它们的区别,或者它们的正常统计术语。我猜区别是一个是CI,另一个是PI?
此外,当代码然后计算它所说的置信区间时prediction +/- 2*sqrt(pvar1)
。不应该是正态分布的 t.crit 值或 1.96 吗?
library(lme4)
library(ggplot2) # Plotting
data("Orthodont",package="MEMSS")
fm1 <- lmer(
formula = distance ~ age*Sex + (age|Subject)
, data = Orthodont
)
newdat <- expand.grid(
age=c(8,10,12,14)
, Sex=c("Male","Female")
, distance = 0
)
mm <- model.matrix(terms(fm1),newdat)
newdat$distance <- mm %*% fixef(fm1)
pvar1 <- diag(mm %*% tcrossprod(vcov(fm1),mm))
tvar1 <- pvar1+VarCorr(fm1)$Subject[1] ## must be adapted for more complex models
newdat <- data.frame(
newdat
, plo = newdat$distance-2*sqrt(pvar1)
, phi = newdat$distance+2*sqrt(pvar1)
, tlo = newdat$distance-2*sqrt(tvar1)
, thi = newdat$distance+2*sqrt(tvar1)
)
#plot confidence
g0 <- ggplot(newdat, aes(x=age, y=distance, colour=Sex))+geom_point()
g0 + geom_errorbar(aes(ymin = plo, ymax = phi))+
labs(title="CI based on fixed-effects uncertainty ONLY")
#plot prediction
g0 + geom_errorbar(aes(ymin = tlo, ymax = thi))+
labs(title="CI based on FE uncertainty + RE variance")
谢谢您的帮助。