分析するための不均衡な反復測定データセットがあり、ほとんどの統計パッケージがこれをANOVA(つまり、タイプIIIの二乗和)で処理する方法が間違っていることを読みました。したがって、これらのデータを分析するために混合効果モデルを使用したいと思います。私はで混合モデルについて多くのことを読みましたR
が、私はまだ混合モデルに非常に新しく、R
自信を持っていません。「伝統的な」方法から完全に離婚することはまだできず、値と事後検定が必要であることに注意してください。
次のアプローチが理にかなっているのか、何かひどい間違いをしているのかを知りたい。ここに私のコードがあります:
# 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)
私が持っている特定の質問:
- これは混合効果モデルを分析する有効な方法ですか?そうでない場合、代わりに何をすべきか。
- mcp.fncが出力する批評プロットは、モデルの仮定を検証するのに十分なものですか、それとも追加の手順を実行する必要がありますか。
- 混合モデルを有効にするには、データが正規性と等分散性の仮定を尊重する必要があると思います。mcp.fncによって生成された批評プロットを見て、「ほぼ正常」なものとそうでないものを判断するにはどうすればよいですか?私はこれを感じる必要がありますか、それとも彼らが物事を行うための規定された方法ですか?これらの仮定に関して混合モデルはどの程度堅牢ですか?
- サンプル中の被験者の特性(バイオマーカー)の最大20個について、3つの時点の違いを評価する必要があります。実施されたすべてのテスト(有意またはそうでない)を報告する限り、許容範囲ごとに個別のモデルをフィッティングおよびテストしますか、または複数の比較のために何らかの形の修正が必要ですか?
実験に関してもう少し正確にするために、ここにいくつかの詳細を示します。多くの参加者が治療を受けながら縦断的に追跡しました。治療開始前とその後の2つの時点で、多くのバイオマーカーを測定しました。私が見たいのは、これらのバイオマーカーに3つの時点で違いがあるかどうかです。
私はこのチュートリアルで私がここでやっていることのほとんどを基にしているが、私のニーズや読んだものに基づいていくつかの変更を加えた。私が行った変更は次のとおりです。
- 「言語」パッケージからpvals.fncとのt1-t2、t2-t3、およびt1-t3比較を取得するために、「時間」係数を再設定します
- 尤度比検定ではなく、Kenward-Rogerのアプローチ(pbkrtestパッケージを使用)に基づく近似F検定を使用して、混合モデルをヌルモデルと比較
- LMERConvenienceFunctionsパッケージを使用して、仮定を確認し、外れ値を削除します(混合モデルは外れ値に非常に敏感だと読んだため)