(これはかなり長い答えです。最後に要約があります)
説明したシナリオで、入れ子になったランダム効果と交差したランダム効果が何であるかを理解するのは間違っていません。ただし、交差ランダム効果の定義は少し狭いです。交差したランダム効果のより一般的な定義は、ネストされていないことです。これについては、この回答の最後で説明しますが、回答の大部分は、学校内の教室について、あなたが提示したシナリオに焦点を当てます。
最初の注意事項:
ネスティングはデータの特性であり、モデルではなく実験設計です。
また、
ネストされたデータは、少なくとも2つの異なる方法でエンコードできます。これは、発見した問題の核心です。
あなたの例のデータセットはかなり大きいので、インターネットからの別の学校の例を使用して問題を説明します。ただし、最初に、次の過度に単純化された例を検討してください。
ここでは、学校でネストされたクラスがあります。これはよく知られたシナリオです。ここで重要な点は、各学校間では、クラスがネストされている場合は区別されますが、同じ識別子を持っているということです。Class1
で表示されSchool1
、School2
とSchool3
。ただし、データがネストされている場合、Class1
in School1
はin およびと同じ測定単位ではありません。それらが同じであれば、次のような状況になります。Class1
School2
School3
つまり、すべてのクラスはすべての学校に属します。前者はネストされたデザインで、後者は交差デザイン(複数のメンバーシップと呼ばれることもあります)であり、以下をlme4
使用してこれらを定式化します。
(1|School/Class)
または同等に (1|School) + (1|Class:School)
そして
(1|School) + (1|Class)
それぞれ。以下に示すように、ランダム効果の入れ子または交差があるかどうかはあいまいであるため、これらのモデルは異なる結果を生成するため、モデルを正しく指定することが非常に重要です。さらに、データを調べるだけでは、ランダム効果が入れ子になっているか交差しているかを知ることはできません。これは、データと実験計画の知識がなければ決定できません。
しかし、まず、クラス変数が学校全体で一意にコーディングされている場合を考えてみましょう。
ネストまたはクロスに関する曖昧さはなくなりました。ネストは明示的です。私たちは今、私たちは6校(ラベル持っているR、の例でこれを見てみましょうI
- VI
)と(ラベルされた各学校内の4つのクラスa
にはd
):
> dt <- read.table("http://bayes.acs.unt.edu:8083/BayesContent/class/Jon/R_SC/Module9/lmm.data.txt",
header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
> # data was previously publicly available from
> # http://researchsupport.unt.edu/class/Jon/R_SC/Module9/lmm.data.txt
> # but the link is now broken
> xtabs(~ school + class, dt)
class
school a b c d
I 50 50 50 50
II 50 50 50 50
III 50 50 50 50
IV 50 50 50 50
V 50 50 50 50
VI 50 50 50 50
このクロス集計から、すべてのクラスIDがすべての学校に表示され、クロスランダム効果の定義を満たすことがわかります(この場合、すべてのクラスがすべての学校で発生するため、部分的にクロスランダム効果ではなく、完全にあります)。したがって、これは上の最初の図で見たのと同じ状況です。ただし、データが実際にネストされており、交差していない場合は、明示的に伝える必要があります。lme4
> m0 <- lmer(extro ~ open + agree + social + (1 | school/class), data = dt)
> summary(m0)
Random effects:
Groups Name Variance Std.Dev.
class:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8421 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: class:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117909 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m1 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |class), data = dt)
summary(m1)
Random effects:
Groups Name Variance Std.Dev.
school (Intercept) 95.887 9.792
class (Intercept) 5.790 2.406
Residual 2.787 1.669
Number of obs: 1200, groups: school, 6; class, 4
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.198841 4.212974 14.289
open 0.010834 0.008349 1.298
agree -0.005420 0.009605 -0.564
social -0.001762 0.003107 -0.567
予想どおり、m0
ネストされたモデルであるのに対してm1
交差モデルであるため、結果は異なります。
さて、クラス識別子に新しい変数を導入すると:
> dt$classID <- paste(dt$school, dt$class, sep=".")
> xtabs(~ school + classID, dt)
classID
school I.a I.b I.c I.d II.a II.b II.c II.d III.a III.b III.c III.d IV.a IV.b
I 50 50 50 50 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 50 50 50 50 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 50 50 50 50 0 0
IV 0 0 0 0 0 0 0 0 0 0 0 0 50 50
V 0 0 0 0 0 0 0 0 0 0 0 0 0 0
VI 0 0 0 0 0 0 0 0 0 0 0 0 0 0
classID
school IV.c IV.d V.a V.b V.c V.d VI.a VI.b VI.c VI.d
I 0 0 0 0 0 0 0 0 0 0
II 0 0 0 0 0 0 0 0 0 0
III 0 0 0 0 0 0 0 0 0 0
IV 50 50 0 0 0 0 0 0 0 0
V 0 0 50 50 50 50 0 0 0 0
VI 0 0 0 0 0 0 50 50 50 50
クロス集計は、ネストの定義に従って、クラスの各レベルが学校の1つのレベルでのみ発生することを示しています。これはデータにも当てはまりますが、データが非常にまばらであるため、データでそれを示すことは困難です。両方のモデル定式化により、同じ出力(m0
上記のネストされたモデルの出力)が生成されます。
> m2 <- lmer(extro ~ open + agree + social + (1 | school/classID), data = dt)
> summary(m2)
Random effects:
Groups Name Variance Std.Dev.
classID:school (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID:school, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
> m3 <- lmer(extro ~ open + agree + social + (1 | school) + (1 |classID), data = dt)
> summary(m3)
Random effects:
Groups Name Variance Std.Dev.
classID (Intercept) 8.2043 2.8643
school (Intercept) 93.8419 9.6872
Residual 0.9684 0.9841
Number of obs: 1200, groups: classID, 24; school, 6
Fixed effects:
Estimate Std. Error t value
(Intercept) 60.2378227 4.0117882 15.015
open 0.0061065 0.0049636 1.230
agree -0.0076659 0.0056986 -1.345
social 0.0005404 0.0018524 0.292
交差したランダム効果は同じ要因内で発生する必要はないことに注意する価値があります。上記では、交差は完全に学校内で行われました。しかし、これはそうである必要はなく、非常に頻繁にそうではありません。たとえば、学校のシナリオに固執すると、学校内のクラスの代わりに学校内に生徒がおり、生徒が登録されている医師にも興味がある場合、医師内に生徒のネストもあります。医師内に学校がネストすることはありません。その逆もまた同様です。これは交差したランダム効果の例でもあり、学校と医師が交差していると言います。交差したランダム効果が発生する同様のシナリオは、個々の観測値が2つの要因に同時に入れ子になっている場合です。これは、いわゆる反復測定で一般的に発生します件名データ。通常、各被験者は異なるアイテムで/上で複数回測定/テストされ、これらの同じアイテムは異なる被験者によって測定/テストされます。したがって、観測はサブジェクト内およびアイテム内にクラスター化されますが、アイテムはサブジェクト内またはその逆にネストされません。繰り返しますが、主題とアイテムが交差していると言います。
要約:TL; DR
交差するランダム効果と入れ子になったランダム効果の違いは、ある因子(グループ化変数)が別の因子(グループ化変数)の特定のレベル内にのみ現れる場合に、ネストされたランダム効果が発生することです。これはで指定されますlme4
:
(1|group1/group2)
どこgroup2
にネストされていますgroup1
。
交差ランダム効果は単純です:ネストされていません。これは、1つの因子が他の因子の両方で別々にネストされている3つ以上のグループ化変数(因子)、または2つの因子内で個々の観測が別々にネストされている2つ以上の因子で発生します。これらはで指定されますlme4
:
(1|group1) + (1|group2)