線形混合モデルで変量効果構造と固定効果構造を選択する方法は?


19

被験者内の双方向設計からの次のデータを考慮してください。

df <- "http://personality-project.org/r/datasets/R.appendix4.data"
df <- read.table(df,header=T)
head(df)

Observation Subject Task Valence Recall
1           1     Jim Free     Neg      8
2           2     Jim Free     Neu      9
3           3     Jim Free     Pos      5
4           4     Jim Cued     Neg      7
5           5     Jim Cued     Neu      9
6           6     Jim Cued     Pos     10

混合線形モデルを使用してこれを分析したいと思います。考えられるすべての固定効果と変量効果を考慮すると、複数の可能なモデルがあります。

# different fixed effects with random-intercept
a0 <- lmer(Recall~1 + (1|Subject), REML=F,df)
a1 <- lmer(Recall~Task + (1|Subject), REML=F,df)
a2 <- lmer(Recall~Valence + (1|Subject), REML=F,df)
a3 <- lmer(Recall~Task+Valence + (1|Subject), REML=F,df)
a4 <- lmer(Recall~Task*Valence + (1|Subject), REML=F,df)

# different fixed effects with random-intercept-random-slope
b0 <- lmer(Recall~1 + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b1 <- lmer(Recall~Task + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b2 <- lmer(Recall~Valence + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b3 <- lmer(Recall~Task+Valence + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b4 <- lmer(Recall~Task*Valence + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)

# different fixed effects with random-intercept-random-slope including variance-covariance matrix
c0 <- lmer(Recall~1 + (1 + Valence + Task|Subject), REML=F,df)
c1 <- lmer(Recall~Task + (1 + Valence + Task|Subject), REML=F,df)
c2 <- lmer(Recall~Valence + (1 + Valence + Task|Subject), REML=F,df)
c3 <- lmer(Recall~Task+Valence + (1 + Valence + Task|Subject), REML=F,df)
c4 <- lmer(Recall~Task*Valence + (1 + Valence + Task|Subject), REML=F,df)
  1. このコンテキストで最適なモデルを選択するための推奨される方法は何ですか?対数尤度比テストを使用する場合、推奨される手順は何ですか?モデルを上向きに(ヌルモデルから最も複雑なモデルに)または下向きに(最も複雑なモデルからヌルモデルに)生成していますか?段階的な包含または除外?または、すべてのモデルを1つの対数尤度比検定に入れ、p値が最も低いモデルを選択することをお勧めしますか?ネストされていないモデルを比較する方法は?

  2. 最初に適切な固定効果構造を見つけ、次に適切な変量効果構造を見つけること、または逆の方法で見つけることをお勧めしますか(両方のオプションの参照を見つけました...)?

  3. 結果を報告する推奨される方法は何ですか?完全な混合モデル(問題の影響あり)と縮小モデル(問題の影響なし)を比較する対数尤度比検定からp値を報告します。または、対数尤度比検定を使用して最適なモデルを見つけてから、lmerTestを使用して最適なモデルの効果からp値を報告する方が良いでしょうか?

回答:


18

これに本当に正統的な答えがあるかどうかはわかりませんが、試してみましょう。

このコンテキストで最適なモデルを選択するための推奨される方法は何ですか?対数尤度比テストを使用する場合、推奨される手順は何ですか?モデルを上向きに(ヌルモデルから最も複雑なモデルに)または下向きに(最も複雑なモデルからヌルモデルに)生成していますか?段階的な包含または除外?または、すべてのモデルを1つの対数尤度比検定に入れ、p値が最も低いモデルを選択することをお勧めしますか?ネストされていないモデルを比較する方法は?

それはあなたの目標が何であるかによります。

  • 一般的、モデルの選択非常に注意する必要があります(この回答この投稿、またはGoogleの「Harrell stepwise」などを参照してください)。
  • p値を意味のあるものにすることに興味がある場合(つまり、確認仮説検定を行っている場合)、モデルの選択行わないでください。ただし、モデルの非焦点部分でモデル選択を行う場合、モデル選択手順が非常に悪いかどうかはあまり明確ではありません。たとえば、主な関心が固定効果に関する推論である場合、ランダム効果でモデル選択を行うことです。
  • 「すべてのモデルを1つの尤度比検定に入れる」というようなことはありません。尤度比検定はペアワイズ手順です。ランダム効果のモデル選択(例)を行いたい場合この例のように情報基準を使用する「すべて同時に」アプローチをお勧めします-少なくとも段階的なアプローチの問題のいくつかを回避します(ただし、より一般的なモデル選択)。
  • バー等。2013「メモリと言語のジャーナル」(doi:10.1016 / j.jml.2012.11.001)では、最大モデル(のみ)の使用を推奨しています。
  • Shravan Vasishthは意見が一致せず、そのようなモデルはデータセットが非常に大きい(そして信号対雑音比が高い)場合を除き、パワー不足で問題があると主張します。
  • 別の合理的に防御可能なアプローチは、大きくても合理的なモデルを近似し、近似が特異であれば、それ以上なくなるまで用語を削除することです。
  • いくつかの注意事項(GLMM FAQに記載されています)を使用すると、情報基準を使用して、入れ子になっていないモデルと異なるランダム効果を比較できます(ただし、ブライアンリプリーは同意しません:ここのp。6の下部を参照)

最初に適切な固定効果構造を見つけ、次に適切な変量効果構造を見つけること、または逆の方法で見つけることをお勧めしますか(両方のオプションの参照を見つけました...)?

誰も知らないと思う。より一般的なモデル選択に関する以前の回答を参照してください。目標を十分に明確に定義できれば(ほとんどの人はそうしません)、質問に答えられるかもしれません。両方のオプションの参照がある場合は、質問を編集してそれらを含めると便利です...(価値があるため、この例(既に引用)は情報基準を使用してランダム効果部分を選択し、モデルの固定効果部分。

結果を報告する推奨される方法は何ですか?完全な混合モデル(問題の影響あり)と縮小モデル(問題の影響なし)を比較する対数尤度比検定からp値を報告します。または、対数尤度比検定を使用して最適なモデルを見つけてから、lmerTestを使用して最適なモデルの効果からp値を報告する方が良いでしょうか?

これは(また)別の難しい質問です。あなたが報告した場合は限界効果をによって報告されるようにlmerTest、あなたは(の主効果の推定値かどうか、例えば周縁性を心配する必要はありAかつがBあった場合に意味のあるA行列Bモデルでの相互作用が)。これは巨大なワームの缶ですが、で推奨されているように使用すると多少緩和contrasts="sum"されafex::mixed()ます。バランスの取れたデザインも少し役立ちます。これらのすべてのクラックについて本当に紙にしたい場合は、にafex::mixed似た出力が得られるがlmerTest、これらの問題に対処しようとすることをお勧めします。


12

2017年5月更新結局のところ、ここに書いたものの多くは一種の不当なものです。投稿全体を通じていくつかの更新が行われます。


Ben Bolkerがすでに言ったことに大いに同意します(への叫びに感謝しますafex::mixed())が、この問題に関するより一般的かつ具体的な考えをいくつか追加します。

固定効果とランダム効果に焦点を当て、結果を報告する方法

ジョナサンバロンのサンプルデータセットに示されているタイプの実験研究では、通常、操作された因子が全体的な効果を持っているかどうかという重要な質問を使用します。たとえば、全体的な主な効果や相互作用はありTaskますか?重要な点は、これらのデータセットでは、通常、すべての要因が完全な実験制御下にあり、ランダムに割り当てられていることです。したがって、関心のある焦点は通常、固定効果にあります。
対照的に、ランダム効果成分は、主な質問にとって必ずしも重要ではない体系的な分散(つまり、効果のサイズの個人差)をキャプチャする「迷惑な」パラメーターと見なすことができます。この観点から、Bar et al。が提唱する最大のランダム効果構造を使用することの提案。やや自然に続く。実験的操作がすべての個人にまったく同じ方法で影響を与えるわけではないことを想像するのは簡単です。このために制御したいと思います。一方、因子またはレベルの数は通常あまり大きくないため、過剰適合の危険性は比較的小さいようです。

その結果、私はバーらの提案に従います。最大のランダム効果構造を指定し、主な結果として固定効果のテストを報告します。固定効果をテストするには、afex::mixed()(パラメーターのテストの代わりに)効果または因子のテストを報告し、やや賢明な方法でそれらのテストを計算する(たとえば、すべてのモデルで同じランダム効果構造を使用する)単一の効果が削除され、sum-to-zero-contrastsが使用され、p値を計算するためのさまざまな方法が提供されます...)。

サンプルデータはどうですか

与えたサンプルデータの問題は、このデータセットでは、設計のセルごとにデータポイントが1つしかないため、最大ランダム効果構造が過飽和モデルにつながることです。

> with(df, table(Valence, Subject, Task))
, , Task = Cued

       Subject
Valence Faye Jason Jim Ron Victor
    Neg    1     1   1   1      1
    Neu    1     1   1   1      1
    Pos    1     1   1   1      1

, , Task = Free

       Subject
Valence Faye Jason Jim Ron Victor
    Neg    1     1   1   1      1
    Neu    1     1   1   1      1
    Pos    1     1   1   1      1

その結果、lmer最大のランダム効果構造でのチョーク:

> lmer(Recall~Task*Valence + (Valence*Task|Subject), df)
Error: number of observations (=30) <= number of random effects (=30) for term
(Valence * Task | Subject); the random-effects parameters and the residual variance
(or scale parameter) are probably unidentifiable

残念ながら、私の知る限り、この問題に対処する方法について合意されていません。しかし、いくつかスケッチして議論させてください:

  1. 最初の解決策は、最もランダムな勾配を削除し、このモデルの効果をテストすることです。

    require(afex)
    mixed(Recall~Task*Valence + (Valence+Task|Subject), df)
            Effect    F ndf  ddf F.scaling p.value
    1         Task 6.56   1 4.00      1.00     .06
    2      Valence 0.80   2 3.00      0.75     .53
    3 Task:Valence 0.42   2 8.00      1.00     .67

    ただし、このソリューションは少しアドホックであり、あまり動機付けられていません。

    2017年5月更新:これは、私が現在支持しているアプローチです。このブログ投稿、私が共同執筆している章「ドラフトの伝統的なANOVA設計のためのランダム効果構造」の草案を参照してください。

  2. 別の解決策(およびBarr et al。の議論が提唱していると見なすことができる解決策)は、最小の効果を得るために常にランダムな勾配を削除することです。ただし、これには次の2つの問題があります。(1)最小効果が何であるかを調べるためにどのランダム効果構造を使用するか、(2)Rこの効果の相互作用が存在します(こちらを参照)。結果として、このランダム効果構造を手動で設定し、そのように構築されたモデル行列をlmer呼び出しに渡す必要があります。

  3. 3番目の解決策は、ランダム効果部分の代替パラメーター化、つまり、このデータのRM-ANOVAモデルに対応するパラメーター化を使用することです。残念ながら(?)、lmer「負の分散」は許可されないため、このパラメーター化はすべてのデータセットの RM-ANOVAに正確に対応しません。ここおよび他の場所(たとえばhereおよびhere)の説明を参照してください。これらのデータの「lmer-ANOVA」は次のとおりです。

    > mixed(Recall~Task*Valence + (1|Subject) + (1|Task:Subject) + (1|Valence:Subject), df)
            Effect    F ndf  ddf F.scaling p.value
    1         Task 7.35   1 4.00      1.00     .05
    2      Valence 1.46   2 8.00      1.00     .29
    3 Task:Valence 0.29   2 8.00      1.00     .76

このすべての問題を考えるlmerと、最大のランダム効果構造の問題に対するより合意された解決策が利用可能でない限り、デザインのセルごとにデータポイントが1つしかないデータセットのフィッティングには使用しません。

  1. 代わりに、古典的なANOVAを使用することもできます。ラッパーのいずれかを使用car::Anova()してafex結果を次のようになります。

    > aov4(Recall~Task*Valence + (Valence*Task|Subject), df)
            Effect         df  MSE      F  ges   p
    1      Valence 1.44, 5.75 4.67   1.46  .02 .29
    2         Task       1, 4 4.08 7.35 +  .07 .05
    3 Valence:Task 1.63, 6.52 2.96   0.29 .003 .71

    afex今も装備モデル返すことができますaovこれはに渡すことができるlsmeans事後テストのために(その効果のテストのためのものが報告されたことにより、car::Anovaより一層合理的です):

    > require(lsmeans)
    > m <- aov4(Recall~Task*Valence + (Valence*Task|Subject), df, return = "aov")
    > lsmeans(m, ~Task+Valence)
     Task Valence lsmean       SE   df lower.CL upper.CL
     Cued Neg       11.8 1.852026 5.52  7.17157 16.42843
     Free Neg       10.2 1.852026 5.52  5.57157 14.82843
     Cued Neu       13.0 1.852026 5.52  8.37157 17.62843
     Free Neu       11.2 1.852026 5.52  6.57157 15.82843
     Cued Pos       13.6 1.852026 5.52  8.97157 18.22843
     Free Pos       11.0 1.852026 5.52  6.37157 15.62843
    
    Confidence level used: 0.95 

(+1)「残念ながら、lmerは負の相関を許可しません」-これは「負の分散を許可しない」べきではありませんか?また、更新について:この回答で「間違っている」とは正確に何であるかをより明確にできますか?
アメーバは、モニカの復活を

リンクされた投稿を読んでここで#1としてリストされているアプローチはあなたが思っていたよりもコーシャであるという主なメッセージがあるようです。 )。
アメーバは、モニカーを復活させる

@amoebaはい、あなたは正しいです。私は、ここで答えを更新するのが面倒でした。
ヘンリック

@amoebaそして、あなたも正しい相関関係です。lmer負の分散を許可しませんが、分散コンポーネント間の明らかに負の相関を許可します。
ヘンリック

1
私はいくつかの編集を行いましたが、あなたが虚偽の表現をしないようにしたいかもしれません。
アメーバは、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.