Esta es más una pregunta conceptual, pero a medida que utilizo R
me referiré a los paquetes en R
. Si el objetivo es ajustar un modelo lineal para fines de predicción, y luego hacer predicciones donde los efectos aleatorios podrían no estar disponibles, ¿hay algún beneficio en usar un modelo de efectos mixtos, o debería usarse un modelo de efectos fijos?
Por ejemplo, si tengo datos sobre peso versus altura con alguna otra información, y construyo el siguiente modelo usando lme4
, donde el sujeto es un factor con niveles ( n = n o . S a m p l e s ):
mod1 <- lmer(weight ~ height + age + (1|subject), data=df, REML=F)
Entonces quiero poder predecir el peso del modelo utilizando nuevos datos de altura y edad. Obviamente, la variación por tema en los datos originales se captura en el modelo, pero ¿es posible utilizar esta información en la predicción? Digamos que tengo algunos datos nuevos de altura y edad, y quiero predecir el peso, puedo hacerlo de la siguiente manera:
predict(mod1,newdata=newdf) # newdf columns for height, age, subject
Esto usará predict.merMod
, y puedo incluir una columna para (nuevos) temas en newdf
, o establecer re.form =~0
. En primera instancia, no está claro qué hace el modelo con los "nuevos" factores de sujeto, y en la segunda instancia, ¿se ignorará (promediará) la varianza por sujeto capturada en el modelo para la predicción?
En cualquier caso, me parece que un modelo lineal de efectos fijos podría ser más apropiado. De hecho, si mi comprensión es correcta, entonces un modelo de efectos fijos debería predecir los mismos valores que el modelo mixto, si el efecto aleatorio no se usa en la predicción. ¿Debería ser este el caso? En R
no es, por ejemplo:
mod1 <- lmer(weight ~ height + age + (1|subject), data=df, REML=F)
predict(mod1,newdata=newdf, re.form=~0) # newdf columns for height, age, subject
produce diferentes resultados para:
mod2 <- lm(weight ~ height + age, data=df)
predict(mod2,newdata=newdf) # newdf columns for height, age