Quiero modelar dos variables de tiempo diferentes, algunas de las cuales son muy colineales en mis datos (edad + cohorte = período). Al hacer esto me encontré con algunos problemas lmer
e interacciones poly()
, pero probablemente no se limite a lmer
, obtuve los mismos resultados con nlme
IIRC.
Obviamente, no entiendo lo que hace la función poly (). Entiendo lo que poly(x,d,raw=T)
hace y pensé que sin raw=T
él se hacen polinomios ortogonales (no puedo decir que realmente entiendo lo que eso significa), lo que facilita el ajuste, pero no te permite interpretar los coeficientes directamente.
Yo leí eso porque soy utilizando la función de predecir, las predicciones deben ser los mismos.
Pero no lo son, incluso cuando los modelos convergen normalmente. Estoy usando variables centradas y primero pensé que quizás el polinomio ortogonal conduce a una mayor correlación de efectos fijos con el término de interacción colineal, pero parece comparable. He pegado dos resúmenes de modelos por aquí .
Esperamos que estas tramas ilustren el alcance de la diferencia. Usé la función de predicción que solo está disponible en el desarrollador. versión de lme4 (lo escuché aquí ), pero los efectos fijos son los mismos en la versión CRAN (y también parecen estar apagados por sí mismos, por ejemplo, ~ 5 para la interacción cuando mi DV tiene un rango de 0-4).
La llamada de Lmer fue
cohort2_age =lmer(churchattendance ~
poly(cohort_c,2,raw=T) * age_c +
ctd_c + dropoutalive + obs_c + (1+ age_c |PERSNR), data=long.kg)
La predicción fue solo efectos fijos, en datos falsos (todos los demás predictores = 0) donde marqué el rango presente en los datos originales como extrapolación = F.
predict(cohort2_age,REform=NA,newdata=cohort.moderates.age)
Puedo proporcionar más contexto si es necesario (no pude producir un ejemplo reproducible fácilmente, pero por supuesto puedo esforzarme más), pero creo que esta es una súplica más básica: explícame la poly()
función, por favor.