Прогноз с lme4 на новых уровнях

Я пытаюсь подобрать модель со смешанными эффектами, а затем использую эту модель для генерации оценок для нового набора данных, который может иметь разные уровни. Я ожидал, что оценки для нового набора данных будут использовать среднее значение оценочных параметров, но это не так. Вот минимальный рабочий пример:

library(lme4)
d = data.frame(x = rep(1:10, times = 3),
               y = NA,
               grp = rep(1:3, each = 10))
d$y[d$grp == 1] = 1:10 + rnorm(10)
d$y[d$grp == 2] = 1:10 * 1.5 + rnorm(10)
d$y[d$grp == 3] = 1:10 * 0.5 + rnorm(10)
fit = lmer(y ~ (1+x)|grp, data = d)
newdata = data.frame(x = 1:10, grp = 4)
predict(fit, newdata = newdata, allow.new.levels = TRUE)

В этом примере я по сути определяю три группы с разными уравнениями регрессии (наклоны 1, 1,5 и 0,5). Однако, когда я пытаюсь прогнозировать новый набор данных с невидимым уровнем, я получаю постоянную оценку. Я ожидал, что ожидаемое значение наклона и пересечения будет использоваться для генерации прогнозов для этих новых данных. Я ожидаю что-то не то? Или что я делаю не так с моим кодом?

Ответы на вопрос(2)

Ваш ответ на вопрос