Chcę używać liniowego modelu mieszanego i przewidywać na poziomie populacji (tj. Używać tylko stałych efektów i używać 0 zamiast losowych efektów).lmer: prognozy na poziomie populacji powodują błąd
Przykład model:
require(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
summary(fm1)
# values for prediction:
newx <- seq(min(sleepstudy$Days), max(sleepstudy$Days))
Próbowałem kilka metod przewidywania na poziomie populacji, ale wszystkie one nie powiodło się:
pred <- predict(fm1, newdata = data.frame(Days = newx), allow.new.levels = TRUE)
# Error: couldn't evaluate grouping factor Subject within model frame: try adding grouping factor to data frame explicitly if possible
pred <- predict(fm1, newdata = data.frame(Days = newx, Subject = NA), allow.new.levels = TRUE)
# Error: Invalid grouping factor specification, Subject
pred <- predict(fm1, newdata = data.frame(Days = newx, Subject = as.factor(NA)), allow.new.levels = TRUE)
# Error: Invalid grouping factor specification, Subject
Starałem się znaleźć instrukcję dla właściwej metody prognozowania, ale nie wiem jak? Próbowałem spojrzeć na help(package = "lme4")
, a najbliższa funkcja, jaką znalazłem, to predict.merMod
(chociaż klasa modelu fm1
to lmerMod
, a nie merMod
). ?predict.merMod
brzmi:
allow.new.levels (logiczne) jeśli FALSE (domyślnie), wówczas wszelkie nowe poziomy (lub wartości NA) wykryte w newData wywoła błąd; jeśli TRUE, wówczas przewidywania użyje bezwarunkową wartości (populacja poziomu) dla danych z uprzednio niedostrzegalnych poziomach (lub NAS)
to specjalnie napisane „lub NAS”, ale najwyraźniej nie działa w ten sposób!!
- Czy patrzę na stronę pomocy właściwej metody? Jeśli nie, jaka jest właściwa metoda?
- Jak wykonać prognozę na poziomie populacji?
Dzięki Ben! Prawdopodobnie treść pomocy pomieszała mi: "... aby kontynuować.". Nie jestem native speakerem, proszę, co to znaczy? Prawdopodobnie jest to po prostu angielskie sformułowanie pewnej sytuacji z efektami losowymi? Czy jest tak, że istnieje pewna koncepcja "warunku" w lmer lub samej statystyki? Nie miałem pojęcia, co to oznacza, więc prawdopodobnie przeoczyłem to. – TMS
to terminologia statystyczna (żargon): "warunkowanie na czymś" oznacza uwzględnianie jego wartości przy przewidywaniu. –
Aha, wielki Ben, dzięki za wyjaśnienie! :-) – TMS