2つの異なる時間変数をモデル化します。そのうちのいくつかは、データ(年齢+コホート=期間)で非常に同一線上にあります。これを行うと、ととのlmer
相互作用で問題が発生しましたがpoly()
、おそらくそれに限定されずlmer
、nlme
IIRCでも同じ結果が得られました。
明らかに、poly()関数の機能についての私の理解は欠けています。私は何をpoly(x,d,raw=T)
しているのかを理解し、それなしraw=T
では直交多項式を作成すると考えました(それが何を意味するのか本当に理解できていません)。これはフィッティングを容易にしますが、係数を直接解釈することはできません。
私は予測関数を使用しているので、予測は同じであると読みました。
しかし、モデルが正常に収束しても、そうではありません。私は中心に置かれた変数を使用していて、多分直交多項式が共線相互作用項との固定効果相関が高くなる可能性があると最初に思いましたが、それは同等であるようです。ここに 2つのモデルの概要を貼り付けました。
これらのプロットは、うまくいけば、違いの程度を示しています。私は開発者でのみ利用可能な予測関数を使用しました。lme4のバージョン(ここで聞いた)ですが、修正された効果はCRANバージョンでも同じです(たとえば、DVの範囲が0〜4の場合、インタラクションの場合は〜5など)。
lmerコールは
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()
。機能を説明してください。