Я хочу смоделировать две разные переменные времени, некоторые из которых сильно коллинеарны в моих данных (возраст + группа = период). Делая это, я столкнулся с некоторыми проблемами lmer
и взаимодействиями poly()
, но это, вероятно, не ограничивалось lmer
, я получил те же результаты с nlme
IIRC.
Очевидно, что мое понимание того, что делает функция poly (), отсутствует. Я понимаю, что poly(x,d,raw=T)
делает, и я думал, что без raw=T
него получается ортогональный многочлен (я не могу сказать, что я действительно понимаю, что это значит), что облегчает подгонку, но не позволяет вам интерпретировать коэффициенты напрямую.
Я прочитал это, потому что я использую функцию предсказания, предсказания должны быть такими же.
Но это не так, даже если модели сходятся нормально. Я использую центрированные переменные, и я сначала подумал, что, возможно, ортогональный многочлен приводит к более высокой корреляции фиксированного эффекта с членом коллинеарного взаимодействия, но он кажется сопоставимым. Я вставил две модели резюме здесь .
Надеемся, что эти графики иллюстрируют разницу. Я использовал функцию предсказания, которая доступна только в dev. версия lme4 (слышал об этом здесь ), но фиксированные эффекты те же, что и в версии CRAN (и они также кажутся отключенными, например, ~ 5 для взаимодействия, когда мой DV имеет диапазон 0-4).
Звонок был
cohort2_age =lmer(churchattendance ~
poly(cohort_c,2,raw=T) * age_c +
ctd_c + dropoutalive + obs_c + (1+ age_c |PERSNR), data=long.kg)
Предсказание было только с фиксированными эффектами, на поддельных данных (все другие предикторы = 0), где я отметил диапазон, присутствующий в исходных данных, как экстраполяцию = F.
predict(cohort2_age,REform=NA,newdata=cohort.moderates.age)
В случае необходимости я могу предоставить больше контекста (мне не удалось легко воспроизвести воспроизводимый пример, но я, конечно, могу попробовать больше), но я думаю, что это более простая просьба: объясните poly()
мне эту функцию, довольно пожалуйста.