反復測定線形混合効果モデルにlmerを使用する


41

編集2:私はもともと、1つの因子で繰り返し測定を行う2因子ANOVAを実行する必要があると考えていましたが、現在では線形混合効果モデルがデータに対してより適切に機能すると考えています。私は何が起こる必要があるかほとんど知っていると思いますが、まだいくつかの点で混乱しています。

分析する必要がある実験は次のようになります。

  • 被験者はいくつかの治療グループのいずれかに割り当てられました
  • 各被験者の測定は複数日に行われました
  • そう:
    • 被験者は治療内にネストされています
    • 治療は日と交わる

(各被験者は1つの治療のみに割り当てられ、各日に被験者ごとに測定が行われます)

データセットには次の情報が含まれています。

  • 件名=ブロッキングファクター(ランダムファクター)
  • 日=被験者内または反復測定因子(固定因子)
  • 治療=対象因子間(固定因子)
  • Obs =測定された(従属)変数

UPDATE OK、それで私は統計学者に行って話しましたが、彼はSASユーザーです。彼は、モデルは次のようにすべきだと考えています。

治療+日+被験者(治療)+日*被験者(治療)

明らかに彼の表記法はR構文とは異なりますが、このモデルは次のことを説明することになっています。

  • 治療(固定)
  • 日(固定)
  • The Treatment * Dayインタラクション
  • 治療内にネストされたサブジェクト(ランダム)
  • 「治療内の被験者」と交差した日(ランダム)

だから、これは使用する正しい構文ですか?

m4 <- lmer(Obs~Treatment*Day + (1+Treatment/Subject) + (1+Day*Treatment/Subject), mydata)

私は特に、「治療の対象」部分と交差した日が正しいかどうかを心配しています。SASに精通している人、または彼のモデルで何が起こっているのかを理解していると確信している人は、R構文での私の悲しい試みが一致するかどうかについてコメントできますか?

モデルの構築と構文の記述(回答とコメントで説明)での私の以前の試みは次のとおりです。

m1 <- lmer(Obs ~ Treatment * Day + (1 | Subject), mydata)

サブジェクトが治療内にネストされているという事実にどのように対処しますか?以下m1との違い:

m2 <- lmer(Obs ~ Treatment * Day + (Treatment|Subject), mydata)
m3 <- lmer(Obs ~ Treatment * Day + (Treatment:Subject), mydata)

そしてm2m3同等である(そうでない場合、なぜ)?

また、相関構造(などcorrelation = corAR1)を指定する場合、lme4ではなくnlmeを使用する必要がありますか?Repeated Measuresによると、1つの因子の反復測定による反復測定分析では、共分散構造(同じ被験者の測定間の相関の性質)が重要です。

反復測定ANOVAを実行しようとしていたときに、Type II SSを使用することにしました。これはまだ関連性があり、関連する場合、どのように指定するのですか?

データがどのように見えるかの例を次に示します。

mydata <- data.frame(
  Subject  = c(13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 
               34, 35, 36, 37, 38, 39, 40, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 
               19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 
               40, 62, 63, 64, 65, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 
               29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 62, 63, 64, 65), 
  Day       = c(rep(c("Day1", "Day3", "Day6"), each=28)), 
  Treatment = c(rep(c("B", "A", "C", "B", "C", "A", "A", "B", "A", "C", "B", "C", 
                      "A", "A", "B", "A", "C", "B", "C", "A", "A"), each = 4)), 
  Obs       = c(6.472687, 7.017110, 6.200715, 6.613928, 6.829968, 7.387583, 7.367293, 
                8.018853, 7.527408, 6.746739, 7.296910, 6.983360, 6.816621, 6.571689, 
                5.911261, 6.954988, 7.624122, 7.669865, 7.676225, 7.263593, 7.704737, 
                7.328716, 7.295610, 5.964180, 6.880814, 6.926342, 6.926342, 7.562293, 
                6.677607, 7.023526, 6.441864, 7.020875, 7.478931, 7.495336, 7.427709, 
                7.633020, 7.382091, 7.359731, 7.285889, 7.496863, 6.632403, 6.171196, 
                6.306012, 7.253833, 7.594852, 6.915225, 7.220147, 7.298227, 7.573612, 
                7.366550, 7.560513, 7.289078, 7.287802, 7.155336, 7.394452, 7.465383, 
                6.976048, 7.222966, 6.584153, 7.013223, 7.569905, 7.459185, 7.504068, 
                7.801867, 7.598728, 7.475841, 7.511873, 7.518384, 6.618589, 5.854754, 
                6.125749, 6.962720, 7.540600, 7.379861, 7.344189, 7.362815, 7.805802, 
                7.764172, 7.789844, 7.616437, NA, NA, NA, NA))

回答:


18

あなたのアプローチは正しいと思います。モデルm1は、サブジェクトごとに個別のインターセプトを指定します。モデルm2は、被験者ごとに個別の勾配を追加します。被験者は1つの治療グループにのみ参加するため、傾斜は数日間に渡ります。m2次のようにモデルを記述する場合、各被験者に対して個別の切片と勾配をモデル化することがより明白です

m2 <- lmer(Obs ~ Treatment * Day + (1+Day|Subject), mydata)

これは次と同等です:

m2 <- lmer(Obs ~ Treatment + Day + Treatment:Day + (1+Day|Subject), mydata)

すなわち、治療の主な効果、日、2つの間の相互作用。

治療グループ内でサブジェクトIDを繰り返さない限り、ネストについて心配する必要はないと思います。どのモデルが正しいかは、あなたの研究の質問次第です。治療効果に加えて被験者の傾斜が異なると信じる理由はありますか?両方のモデルを実行して比較しanova(m1,m2)、データがいずれかをサポートしているかどうかを確認できます。

モデルでm3何を表現したいのか分かりませんか?ネスト構文では、/などを使用します(1|group/subgroup)

このような少数の時点で自己相関を心配する必要はないと思います。


これは正しくありません。処理はレベル2の変数であり、サブジェクト内にネストすることはできません。
パトリッククーロンベ

自己相関と時点数について:このサンプルデータでは3つしか表示していませんが、実際のデータには8日間の観測が含まれているため、おそらく問題になると思います。それを入れる方法はありますか?
ホスホ関連

1
また、私はネストについてかなり混乱しています。(1 + Treatment | Subject)は(1 + Treatment / Subject)とは異なりますか?「|」とは何ですか つまり、平易な英語で?読んだ説明がわかりません。
ホスホ関連

こんにちは。ここで「各被験者の個別の勾配」とは何ですか?サブジェクトは連続変数ではなく因子変数であるためです。
スカン

12

私はあなたの自己相関エラーの問題(lme4とnlmeの異なる実装について)についてコメントするのに十分な気がしませんが、私は残りに話すことができます。

モデルm1はランダムインターセプトモデルであり、治療と日の間のクロスレベルの相互作用が含まれています(日の効果は治療グループ間で異なることができます)。時間の経過に伴う変化を参加者間で異なるようにするには(つまり、時間の経過に伴う変化の個々の違いを明示的にモデル化するため)、Dayの効果がランダムになるようにする必要もあります。これを行うには、次を指定します。

m2 <- lmer(Obs ~ Day + Treatment + Day:Treatment + (Day | Subject), mydata)

このモデルでは:

  • Day = 0での治療参照カテゴリの予測スコアの場合の切片
  • Dayの係数は、治療参照カテゴリの日数が1単位増加するごとに予測される経時変化です。
  • 処理グループの2つのダミーコードの係数(Rによって自動的に作成されます)は、残りの各処理グループとDay = 0の参照カテゴリとの間の予測される差です。
  • 2つの交互作用項の係数は、参照カテゴリと残りの治療グループの間の予測スコアに対する時間(日)の効果の差です。

インターセプトとスコアに対するDayの効果は両方ともランダムです(各被験者は、Day = 0で異なる予測スコアを持ち、時間とともに異なる線形変化を持つことができます)。切片と勾配間の共分散もモデル化されています(それらは共変することができます)。

ご覧のとおり、2つのダミー変数の係数の解釈はDay = 0を条件としています。参照カテゴリのDay = 0での予測スコアが、残りの2つの治療グループと有意に異なるかどうかがわかります。したがって、Day変数を中央に配置する場所が重要です。あなたは1日目に中心場合の係数はあなたを教え、その後、参照カテゴリの予測スコアかどうかを1日目には、残りの2つのグループの予測スコアとは大きく異なっています。これにより、グループ間に既存の違いがあるかどうかを確認できます。3日目を中心にすると、係数は3日目の参照カテゴリの予測スコアが残りの2つのグループの予測スコアとは大きく異なります。これにより、介入の終了時にグループ間に違いがあるかどうかを確認できます。

最後に、サブジェクトはトリートメント内にネストされないことに注意してください。3つの治療法は、結果を一般化するレベルの母集団のランダムなレベルではありません。むしろ、前述のように、レベルは固定されており、結果をこれらのレベルのみに一般化します。(言うまでもなく、上位レベルのユニットが3つしかない場合は、マルチレベルモデリングを使用しないでください。Maas&Hox、2005を参照してください。)代わりに、処理はレベル2の予測子、つまり、Days (レベル1単位)各科目。したがって、モデルの予測子として含まれているだけです。

参照:
Maas、CJM、&Hox、JJ(2005)。マルチレベルモデリングに十分なサンプルサイズ。方法論:行動と社会科学のための研究方法のヨーロピアン・ジャーナル1、86-92。


1
obsの数<= numberのランダム効果と残差分散はおそらく識別できないため、lmerで推定することはできません。
シュグアン

答えの式の構造は正しいです。@Shuguangが言及したエラーを無効にするには、を追加する必要があります...,control=lmerControl(check.nobs.vs.nRE="ignore")。Ben Bolkerによる詳細な説明については、このリンクを参照してください。
NiuBiBang

いい説明。「被験者が治療内にネストされていない」理由と、+(治療|被験者)エラー用語を作成せず、なぜ(1 |被験者)または(1 |治療*日)?
スカン

技術的に、被験者を治療内にネストすることができますが、実験を何回実行しても予測変数が同じである場合、それは固定(ランダムではなく)効果である必要があります。要因でしょう、このような対象の個々の特性として、あなたが実験を実行するたびに異なること、 -例えばその開始値または時間をかけて治療の変化に対するその特異な応答-ランダムな効果です。(1 + Day|Subject)は、各被験者の初期値(切片)と結果の変化率が異なることを可能にする、ランダムな勾配モデルを意味します。
リューミルズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.