Voglio utilizzare il modello misto lineare e fare previsioni a livello di popolazione (cioè utilizzando solo effetti fissi e usando 0 invece di effetti casuali).lmer: le previsioni a livello di popolazione attivano un errore
Esempio modello:
require(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
summary(fm1)
# values for prediction:
newx <- seq(min(sleepstudy$Days), max(sleepstudy$Days))
Ho provato diversi metodi per la previsione a livello di popolazione, ma tutti falliti:
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
ho cercato di trovare il manuale per il metodo di previsione corretta, ma io non so come? Ho provato a guardare help(package = "lme4")
e la funzione più vicina che ho trovato era predict.merMod
(sebbene la classe del modello fm1
sia lmerMod
non merMod
). ?predict.merMod
legge:
allow.new.levels (logico) se FALSE (default), allora tutti i nuovi livelli (o valori NA) rilevati nel NewData attiveranno un errore; se TRUE, quindi la previsione userà i valori incondizionati (a livello di popolazione) per i dati con i livelli precedentemente inosservati (o NAS)
si dice espressamente "o NAS", ma a quanto pare non funziona quel modo!!
- Sto guardando la pagina di aiuto di un metodo corretto? In caso contrario, qual è il metodo giusto?
- Come fare il lavoro di previsione a livello di popolazione?
Grazie Ben! Probabilmente è la formulazione dell'aiuto che mi ha confuso: "... condizionare". Non sono madrelingua, per favore cosa significa? Probabilmente questo è solo un testo inglese di certe situazioni con gli effetti casuali? O c'è qualche concetto di "condizione" in lmer o la stessa statistica? Non avevo idea di cosa significasse, quindi probabilmente l'ho trascurato. – TMS
è la terminologia statistica (gergo): "condizionare" qualcosa significa prendere in considerazione il suo valore quando si preannuncia. –
Aha, grande Ben, grazie per la spiegazione! :-) – TMS