Vorhersage mit lme4 auf neuen Ebenen
Ich versuche, ein Modell mit gemischten Effekten anzupassen und dieses Modell dann zu verwenden, um Schätzungen für einen neuen Datensatz zu generieren, der möglicherweise unterschiedliche Ebenen aufweist. Ich habe erwartet, dass die Schätzungen in einem neuen Datensatz den Mittelwert der geschätzten Parameter verwenden, aber das scheint nicht der Fall zu sein. Hier ist ein minimales Arbeitsbeispiel:
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)
In diesem Beispiel definiere ich im Wesentlichen drei Gruppen mit unterschiedlichen Regressionsgleichungen (Steigungen von 1, 1,5 und 0,5). Wenn ich jedoch versuche, einen neuen Datensatz mit einem nicht sichtbaren Wert vorherzusagen, erhalte ich eine konstante Schätzung. Ich hätte erwartet, dass der erwartete Wert der Steigung und des Abschnitts verwendet wird, um Vorhersagen für diese neuen Daten zu generieren. Erwarte ich das falsche Oder was mache ich falsch mit meinem Code?