エグゼクティブサマリー
実際に、可能性のあるすべての因子レベルが混合モデルに含まれる場合、この因子は固定効果として扱われるべきであるとよく言われます。これは、2つの明確な理由に必ずしも当てはまりません。
(1)レベルの数が多い場合、[交差]因子をランダムとして扱うことは理にかなっています。
ここで@Timと@RobertLongの両方に同意します:すべてのモデルに含まれる多数のレベルがある場合(たとえば、世界のすべての国、または国のすべての学校、または対象を調査するなど)、それをランダムとして扱うことには何の問題もありません。
lmer(size ~ age + subjectID) # fixed effect
lmer(size ~ age + (1|subjectID)) # random effect
(2)因子が別のランダム効果内にネストされている場合、レベル数に関係なく、因子をランダムとして扱う必要があります。
他の回答は上記のケース#1に関するものであるため、このスレッドには大きな混乱がありました(コメントを参照)が、ここで示した例は異なる状況、つまりこのケース#2の例です。ここには2つのレベルしかありません(つまり、「大きな数」ではありません!)、すべての可能性を使い果たしますが、別のランダム効果内にネストされ、ネストされたランダム効果を生成します。
lmer(size ~ age + (1|subject) + (1|subject:side) # side HAS to be random
あなたの例の詳細な議論
想像上の実験の側面と主題は、標準的な階層モデルの例のクラスや学校のように関連しています。おそらく、各学校(#1、#2、#3など)にはクラスAとクラスBがあり、これら2つのクラスはほぼ同じであると想定されています。クラスAとBを2つのレベルを持つ固定効果としてモデル化しません。これは間違いです。ただし、クラスAとBを2つのレベルを持つ「別個の」(つまり交差した)ランダム効果としてモデル化することはありません。これも間違いです。代わりに、クラスを次のようにモデル化します学校内でネストされたランダム効果。
こちらをご覧ください: 交差ランダム効果と入れ子ランダム効果:lme4でどのように違い、どのように正しく指定されていますか?
i = 1 … nJ = 1 、2
サイズi j k= μ + α ⋅ 身長i j k+ β⋅ 重量i j k+ γ⋅ 年齢i j k+ ϵ私+ ϵ私はj+ ϵi j k
ϵ私〜N(0 、σ2s u b j e c t s)、各被験者のランダム切片
ϵ私はj〜N(0 、σ2サブジェクトサイド)、ランダム整数 サブジェクトにネストされた側
ϵi j k〜N(0 、σ2ノイズ)、エラー用語
自分で書いたように、「平均して右足が左足よりも大きいと信じる理由はありません」。したがって、右足または左足の「グローバルな」効果(固定またはランダムな交差のいずれでもない)が存在しないようにする必要があります。代わりに、各被験者は「片方の足」と「もう片方の」足を持っていると考えることができ、この変動性をモデルに含める必要があります。これらの「片方」と「もう片方」の足は被験者内にネストされているため、ランダム効果がネストされています。
コメントへの回答の詳細。[9月26日]
上記の私のモデルには、サブジェクト内にネストされたランダム効果としてサイドが含まれています。@Robertが提案する代替モデルを次に示します。Sideは固定効果です。
サイズi j k= μ + α ⋅ 身長i j k+ β⋅ 重量i j k+ γ⋅ 年齢i j k+ δ⋅ サイドj+ ϵ私+ ϵi j k
@RobertLongまたは@gungに挑戦して、このモデルが同じサブジェクトの同じサイドの連続測定に存在する依存関係、つまり同じデータポイントの依存関係を処理する方法を説明します私はj組み合わせの。
できない。
同じことが、交差ランダム効果としてのSideを持つ@gungの仮想モデルにも当てはまります。
サイズi j k= μ + α ⋅ 身長i j k+ β⋅ 重量i j k+ γ⋅ 年齢i j k+ ϵ私+ ϵj+ ϵi j k
依存関係も考慮されません。
シミュレーションによるデモ[10月2日]
これは、Rでの直接のデモです。
5年連続で両足で測定した5人の被験者を含むおもちゃのデータセットを生成します。年齢の影響は線形です。各被験者にはランダムなインターセプトがあります。また、各被験者の足の1つ(左または右)が他の足よりも大きくなっています。
set.seed(17)
demo = data.frame(expand.grid(age = 1:5,
side=c("Left", "Right"),
subject=c("Subject A", "Subject B", "Subject C", "Subject D", "Subject E")))
demo$size = 10 + demo$age + rnorm(nrow(demo))/3
for (s in unique(demo$subject)){
# adding a random intercept for each subject
demo[demo$subject==s,]$size = demo[demo$subject==s,]$size + rnorm(1)*10
# making the two feet of each subject different
for (l in unique(demo$side)){
demo[demo$subject==s & demo$side==l,]$size = demo[demo$subject==s & demo$side==l,]$size + rnorm(1)*7
}
}
plot(1:50, demo$size)
ひどいRスキルをおApびします。データは次のようになります(連続する5つのドットはそれぞれ、長年にわたって測定された1人の足の1フィートです。連続する10のドットはそれぞれ同じ人の2フィートです)。
これで、多数のモデルを適合させることができます。
require(lme4)
summary(lmer(size ~ age + side + (1|subject), demo))
summary(lmer(size ~ age + (1|side) + (1|subject), demo))
summary(lmer(size ~ age + (1|subject/side), demo))
すべてのモデルには、の固定効果age
とのランダム効果が含まれていますsubject
が、処理side
方法が異なります。
side
age
t = 1.8
side
age
t = 1.4
モデル3:のネストされたランダム効果side
。これが私のモデルです。結果:age
非常に重要です(T = 37、はい、37)、残留分散はごくわずかです(0.07)。
これはside
、ネストされたランダム効果として扱う必要があることを明確に示しています。
最後に、@ Robertはコメントでside
、制御変数としてのグローバル効果を含めることを提案しました。ネストされたランダム効果を維持しながら、それを行うことができます。
summary(lmer(size ~ age + side + (1|subject/side), demo))
summary(lmer(size ~ age + (1|side) + (1|subject/side), demo))
これらの2つのモデルは、#3と大差ありません。モデル4は、side
(t = 0.5)。モデル5は、side
正確にゼロに等しい分散の推定値を生成します。