これは、Rでlme4を使用した混合効果モデルを分析するのに受け入れられる方法ですか?


14

分析するための不均衡な反復測定データセットがあり、ほとんどの統計パッケージがこれをANOVA(つまり、タイプIIIの二乗和)で処理する方法が間違っていることを読みました。したがって、これらのデータを分析するために混合効果モデルを使用したいと思います。私はで混合モデルについて多くのことを読みましたRが、私はまだ混合モデルに非常に新しく、R自信を持っていません。「伝統的な」方法から完全に離婚することはまだできず、値と事後検定が必要であることに注意してください。p

次のアプローチが理にかなっているのか、何かひどい間違いをしているのかを知りたい。ここに私のコードがあります:

# load packages
library(lme4)
library(languageR)
library(LMERConvenienceFunctions)
library(coda)
library(pbkrtest)

# import data
my.data <- read.csv("data.csv")

# create separate data frames for each DV & remove NAs
region.data <- na.omit(data.frame(time=my.data$time, subject=my.data$subject, dv=my.data$dv1))

# output summary of data
data.summary <- summary(region.data)

# fit model
# "time" is a factor with three levels ("t1", "t2", "t3")
region.lmer <- lmer(dv ~ time + (1|subject), data=region.data)

# check model assumptions
mcp.fnc(region.lmer)

# remove outliers (over 2.5 standard deviations)
rm.outliers <- romr.fnc(region.lmer, region.data, trim=2.5)
region.data <- rm.outliers$data
region.lmer <- update(region.lmer)

# re-check model assumptions
mcp.fnc(region.lmer)

# compare model to null model
region.lmer.null <- lmer(dv ~ 1 + (1|subject), data=region.data)
region.krtest <- KRmodcomp(region.lmer, region.lmer.null)

# output lmer summary
region.lmer.summary <- summary(region.lmer)

# run post hoc tests
t1.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

region.lmer <- lmer(dv ~ relevel(time,ref="t2") + (1|subject), data=region.data)
t2.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

region.lmer <- lmer(dv ~ relevel(time,ref="t3") + (1|subject), data=region.data)
t3.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

# Get mcmc mean and 50/95% HPD confidence intervals for graphs
# repeated three times and stored in a matrix (not shown here for brevity)
as.numeric(t1.pvals$fixed$MCMCmean)
as.numeric(t1.pvals$fixed$HPD95lower)
as.numeric(t1.pvals$fixed$HPD95upper)
HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)
    HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)

私が持っている特定の質問:

  1. これは混合効果モデルを分析する有効な方法ですか?そうでない場合、代わりに何をすべきか。
  2. mcp.fncが出力する批評プロットは、モデルの仮定を検証するのに十分なものですか、それとも追加の手順を実行する必要がありますか。
  3. 混合モデルを有効にするには、データが正規性と等分散性の仮定を尊重する必要があると思います。mcp.fncによって生成された批評プロットを見て、「ほぼ正常」なものとそうでないものを判断するにはどうすればよいですか?私はこれを感じる必要がありますか、それとも彼らが物事を行うための規定された方法ですか?これらの仮定に関して混合モデルはどの程度堅牢ですか?
  4. サンプル中の被験者の特性(バイオマーカー)の最大20個について、3つの時点の違いを評価する必要があります。実施されたすべてのテスト(有意またはそうでない)を報告する限り、許容範囲ごとに個別のモデルをフィッティングおよびテストしますか、または複数の比較のために何らかの形の修正が必要ですか?

実験に関してもう少し正確にするために、ここにいくつかの詳細を示します。多くの参加者が治療を受けながら縦断的に追跡しました。治療開始前とその後の2つの時点で、多くのバイオマーカーを測定しました。私が見たいのは、これらのバイオマーカーに3つの時点で違いがあるかどうかです。

私はこのチュートリアルで私がここでやっていることのほとんどを基にしているが、私のニーズや読んだものに基づいていくつかの変更を加えた。私が行った変更は次のとおりです。

  1. 「言語」パッケージからpvals.fncとのt1-t2、t2-t3、およびt1-t3比較を取得するために、「時間」係数を再設定します
  2. 尤度比検定ではなく、Kenward-Rogerのアプローチ(pbkrtestパッケージを使用)に基づく近似F検定を使用して、混合モデルをヌルモデルと比較
  3. LMERConvenienceFunctionsパッケージを使用して、仮定を確認し、外れ値を削除します(混合モデルは外れ値に非常に敏感だと読んだため)

1
(+1)きちんと定式化された(複数の)質問。
chl

回答:


22

あなたの質問は少し「大きい」ので、一般的なコメントとヒントから始めましょう。

いくつかのバックグラウンドリーディングと便利なパッケージ

混合モデルの使用に関するチュートリアルの紹介のいくつかをご覧ください。Baayenet al(2008)から始めることをお勧めします-Baayenはの著者ですlanguageR。Barr et al(2013)は、ランダム効果構造に関するいくつかの問題について議論しています。BenBolkerは、の現在の開発者の1人ですlme4。Baayen et alは、ブートストラップ/置換テスト(背後にあるものmcp.fnc)の使用について多くの時間を費やすので、質問に特に適しています。

文献

Florian Jaegerのラボのブログには、混合モデルの実用的な側面に関するものもたくさんあります。

可視化と同様に、混合モデルをテストするための便利なRパッケージの数もありますlmerTestとはeffects。このeffectsパッケージは、背後で進行する線形回帰と信頼区間をプロットできるため、特に便利です。

適合度とモデルの比較

plmerTest

anova()merχ2χ2p2つのモデルを直接比較する値。これのマイナス面は、フィット感がどれだけ良いかがすぐには分からないということです。

tsummary()|t|>2fixef()

また、固定効果の相関が強すぎないことを確認する必要があります。多重共線性はモデルの仮定に違反します。Florian Jaegerは、これについて少し説明し、いくつかの可能な解決策を書いています

多重比較

質問#4についてもう少し直接お話しします。答えは、基本的に従来のANOVAのグッドプラクティスと同じですが、残念ながら、これはほとんどの研究者にとって非常に多くの不確実性がある場所のようです。(線形混合効果モデルとANOVAの両方が一般線形モデルに基づいているため、これは従来のANOVAと同じです。混合モデルにはランダム効果の追加項があるだけです。)時間の違いを比較したい場合は、モデルに時間を含める必要があります。これは、偶然にも、時間に違いがあるかどうかを判断する便利な方法を提供します。時間の主な(固定)効果はありますか?このルートに行くことのマイナス面は、モデルがより複雑になり、単一の「スーパー」パラメーターとして時間のあるモデルは、おそらくパラメーターとして時間のない3つの小さなモデルよりも計算に時間がかかります。実際、混合モデルの古典的なチュートリアルの例はsleepstudy パラメータとして時間を使用します。

tforeachlme4χ2

特性が従属変数である場合は、とにかく異なるモデルを計算する必要があり、AICとBICを使用して結果を比較できます。


詳細な対応ありがとうございます!私は提供された参考文献のいくつかを読みましたが、間違いなく他のものを見てみましょう。p値の悪さを理解している限り、残念ながらレビュー担当者は別の方法で考えています(少なくとも今のところ)。Batesが推奨するように、私はmcmcサンプリングを使用しています。これは、私の理解から問題の一部です(つまり、lmerモデルの自由度を正しく推定できないこと)。特徴はDVです。明確にするために、さらに情報を追加します。
ダンボー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.