Quero modelar duas variáveis de tempo diferentes, algumas das quais são fortemente colineares nos meus dados (idade + coorte = período). Ao fazer isso, tive alguns problemas com ee lmer
interações poly()
, mas provavelmente não está limitado a lmer
, obtive os mesmos resultados com o nlme
IIRC.
Obviamente, falta entender o que a função poly () faz. Entendo o que poly(x,d,raw=T)
faz e pensei que sem raw=T
polinômios ortogonais (não posso dizer que realmente entendo o que isso significa), o que facilita o ajuste, mas não permite que você interprete os coeficientes diretamente.
Eu li isso porque estou usando a função de previsão, as previsões devem ser as mesmas.
Mas eles não são, mesmo quando os modelos convergem normalmente. Estou usando variáveis centralizadas e pensei primeiro que talvez o polinômio ortogonal leve a uma correlação de efeito fixo mais alta com o termo de interação colinear, mas parece comparável. Eu colei dois resumos de modelos por aqui .
Esperamos que esses gráficos ilustrem a extensão da diferença. Eu usei a função de previsão, que está disponível apenas no desenvolvedor. versão do lme4 (ouvi falar sobre isso aqui ), mas os efeitos fixos são os mesmos na versão CRAN (e também parecem isolados, por exemplo, ~ 5 para a interação quando meu DV tem um intervalo de 0 a 4).
A ligação mais recente foi
cohort2_age =lmer(churchattendance ~
poly(cohort_c,2,raw=T) * age_c +
ctd_c + dropoutalive + obs_c + (1+ age_c |PERSNR), data=long.kg)
A previsão foi apenas de efeitos fixos, em dados falsos (todos os outros preditores = 0) em que marquei o intervalo presente nos dados originais como extrapolação = F.
predict(cohort2_age,REform=NA,newdata=cohort.moderates.age)
Posso fornecer mais contexto, se necessário (não consegui produzir um exemplo reproduzível facilmente, mas é claro que posso me esforçar mais), mas acho que esse é um apelo mais básico: explique a poly()
função para mim, por favor.
Polinômios brutos
Polinômios ortogonais (cortados, não cortados em Imgur )
fonte