Quiero ejecutar y luego reportar un modelo multinivel sobre los datos de ChickWeight en R.
He realizado varios análisis sobre los que tengo algunas preguntas. Me han dicho que el AIC es una buena forma de comprobar el rendimiento predictivo fuera de muestra de un modelo.
He considerado los siguientes modelos, y el de abajo es el que tiene el AIC más bajo, lo cual, si no me equivoco, ¿es bueno?
library(tidyverse)
library(lme4)
data("ChickWeight", package = "datasets")
chickm <- lmer(weight ~ Time + (1 | Chick), data = ChickWeight)
chickm2 <- lmer(weight ~ Time + (Time | Chick), data = ChickWeight)
chickm3 <- lmer(weight ~ Time + Diet + (Time | Chick), data = ChickWeight)
chickm4 <- lmer(weight ~ Time * Diet + (Time | Chick), data = ChickWeight)
Quiero informar de chickm4 ya que el efecto de interacción parece mejorar el modelo. Sin embargo, chickm3 también sería aceptable, ya que me gustaría incluir Diet.
La siguiente pregunta es sobre el intercepto que producen los modelos. El intercepto real (peso del polluelo cuando los días = 0 aka nace, es ~ 41g). Sin embargo chickm3 da el intercepto como 26g y chickm4 como 33g. Se puede ver en el gráfico de abajo que las líneas lineales de mejor ajuste causan esto. Los interceptos de las líneas están todos por debajo de los puntos verdaderos.
library(tidyverse)
ggplot(ChickWeight, aes(x = Time, y = weight, colour = Diet)) + geom_point() +
stat_smooth(method = 'lm', se = F) + theme_minimal()
¿Es esto un problema o un ejemplo de un mal modelo, o simplemente un inconveniente de los datos y/o de los modelos lineales en comparación con los no lineales? Tengo que informar de un lineal regresión, así que no puedo cambiar esto.
Pregunta final. chickm3 muestra El modelo no converge con max|grad| = 0.00225537 (tol = 0.002, componente 1)' cuando lo resumo(). ¿Qué significa esto y es malo? Mi modelo chickm4 no hace esto.