Установка which
в "fixed"
в predictInterval
должна быть достаточной, но это не так.Итак, это похоже на ошибку.Однако, наряду с этим параметром, если мы предоставим какое-либо значение для переменной группировки, все будет работать.
library(lme4)
library(merTools)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
X1 <- data.frame(Reaction = 250, Days = 4, Subject = 309)
predictInterval(fm1, newdata = X1, n.sims = 999, seed = 1)
# fit upr lwr
# 1 216.8374 256.8839 181.1969
X1 <- data.frame(Reaction = 250, Days = 4, Subject = 310)
predictInterval(fm1, newdata = X1, n.sims = 999, seed = 1)
# fit upr lwr
# 1 230.959 271.0055 195.3185
Как и ожидалось, разные субъекты дают разные прогнозы.Однако установка which
на "fixed"
помогает:
X1 <- data.frame(Reaction = 250, Days = 4, Subject = 309)
predictInterval(fm1, newdata = X1, n.sims = 999, seed = 1, which = "fixed")
# fit upr lwr
# 1 291.9062 328.5429 256.2472
X1 <- data.frame(Reaction = 250, Days = 4, Subject = 310)
predictInterval(fm1, newdata = X1, n.sims = 999, seed = 1, which = "fixed")
# fit upr lwr
# 1 291.9062 328.5429 256.2472
Значение группировки даже не должно быть значимым, так как в конечном итоге оно игнорируется:
X1 <- data.frame(Reaction = 250, Days = 4, Subject = -1)
predictInterval(fm1, newdata = X1, n.sims = 999, seed = 1, which = "fixed")
# fit upr lwr
# 1 291.9062 328.5429 256.2472
# Warning message:
# The following levels of Subject from newdata
# -- -1 -- are not in the model data.
# Currently, predictions for these values are based only on the
# fixed coefficients and the observation-level error.