Saya ingin memodelkan dua variabel waktu yang berbeda, beberapa di antaranya sangat collinear dalam data saya (usia + kohort = periode). Melakukan ini saya mengalami beberapa masalah dengan lmer
dan dan interaksi poly()
, tetapi mungkin tidak terbatas lmer
, saya mendapat hasil yang sama dengan nlme
IIRC.
Jelas, pemahaman saya tentang apa fungsi poly () tidak ada. Saya mengerti apa yang poly(x,d,raw=T)
dilakukan dan saya pikir tanpanya raw=T
membuat polinomial ortogonal (saya tidak bisa mengatakan saya benar-benar mengerti apa artinya), yang membuat pemasangan lebih mudah, tetapi tidak membiarkan Anda menafsirkan koefisien secara langsung.
Saya membaca bahwa karena saya menggunakan fungsi prediksi, prediksi harus sama.
Tetapi mereka tidak, bahkan ketika model bertemu secara normal. Saya menggunakan variabel terpusat dan saya pertama kali berpikir bahwa mungkin polinomial ortogonal mengarah ke korelasi efek tetap yang lebih tinggi dengan istilah interaksi collinear, tetapi tampaknya sebanding. Saya telah menyisipkan dua ringkasan model di sini .
Plot-plot ini diharapkan menggambarkan perbedaan yang ada. Saya menggunakan fungsi prediksi yang hanya tersedia di dev. versi lme4 (mendengarnya di sini ), tetapi efek tetapnya sama dalam versi CRAN (dan mereka juga kelihatan tidak nyaman, misalnya ~ 5 untuk interaksi ketika DV saya memiliki kisaran 0-4).
Panggilan singkatnya adalah
cohort2_age =lmer(churchattendance ~
poly(cohort_c,2,raw=T) * age_c +
ctd_c + dropoutalive + obs_c + (1+ age_c |PERSNR), data=long.kg)
Prediksi ini adalah efek tetap saja, pada data palsu (semua prediktor lain = 0) di mana saya menandai rentang yang ada dalam data asli sebagai ekstrapolasi = F.
predict(cohort2_age,REform=NA,newdata=cohort.moderates.age)
Saya dapat memberikan lebih banyak konteks jika perlu (saya tidak berhasil menghasilkan contoh yang dapat direproduksi dengan mudah, tetapi tentu saja dapat berusaha lebih keras), tetapi saya pikir ini adalah permintaan yang lebih mendasar: jelaskan poly()
fungsinya kepada saya, tolong.