[[Rの備忘録]] * 切片 [#i19a0e3c] lme4 パッケージでモデル式の指定として dat.lmer <- lmer(y ~ x1 + (1|x2) + (1|x3), data = dat) のように使うことになるが, (1|x2) が random effect であり,縦棒の右はグループ化を表す変数, 左の1は,この変数に対して切片を推定することを意味する.この変数に対する各レコード(被験者)の実測値は,ここで推定された切片に対する差として調整されたことになる.各レコードごとの調整値は ranef(dat.lmer) として確認できる.この出力は,モデルのパラメータにもとづく ''BLUP'' である. ただ,各レコードごとにプラスあるいはマイナスされた調整値はパラメータではない. 推定されるのは,そのランダム項の分散である(平均は 0 である). lme4 パッケージの出力には random effect のパラメータ(Random Intercept)が含まれている. 以下は例.Subject (被験者)に Word に反応させる実験 (Trial)を繰り返した場合,Subject ごとに遅い早いがあるだけでなく,Word によって難しい易しいがある(らしい). > lexdec3.lmer = lmer(RT ~ Trial + (1|Subject) + (1|Word), lexdec3) > lexdec3.lmer Linear mixed model fit by REML Formula: RT ~ Trial + (1 | Subject) + (1 | Word) Data: lexdec3 AIC BIC logLik deviance REMLdev -1241 -1215 625.7 -1274 -1251 Random effects: Groups Name Variance Std.Dev. Word (Intercept) 0.0046579 0.068249 Subject (Intercept) 0.0186282 0.136485 Residual 0.0225642 0.150214 Number of obs: 1557, groups: Word, 79; Subject, 21 Fixed effects: Estimate Std. Error t value (Intercept) 6.394e+00 3.217e-02 198.76 Trial -1.835e-04 8.194e-05 -2.24 Correlation of Fixed Effects: (Intr) Trial -0.268 ランダム項の Variance は BLUP で推定されたパラメータである. このモデルにもとづく各サンプルのランダム効果を ranef() で確認できるが,これは BLUP の推定を利用した結果である.従って > var(ranef(lexdec3.lmer)$Word) (Intercept) (Intercept) 0.003732365 としても同じ数値は表示されない. * 傾き [#r42d3214] 切片に加えて,ランダム項のサンプルごとに異なる傾きを推定する場合は lmer(y ~ x1 + (1+x1|x2) + (1|x3), data = dat) のように使うことになる.これは x2 と固定項とした場合に x1 との皇后作用を検討するのに等しい. のように使うことになる.これは x2 と固定項とした場合に x1 との交互作用を検討するのに等しい. この場合,x2 の切片と傾きの相関が新たにパラメータとして推定されるが,これを防ぐには次のように 0 を左辺に指定する. lmer(y ~ x1 + (0+x1|x2) + (1|x3), data = dat) たとえば次のモデルでは Subject (被験者)に実験 (Trial)を繰り返した場合,実験慣れしてくる被験者,逆に疲れて反応鈍くなる被験者,そのどちらでもない被験者とばらつきが出る.この被験者のばらつきをランダムなスロープとして表すモデルである. lexdec3.lmerA = lmer(RT ~ Trial + (1+Trial|Subject) + (1|Word), data = lexdec3) print(lexdec3.lmerA, corr = FALSE) > lexdec3.lmerA = lmer(RT ~ Trial + (1+Trial|Subject) + (1|Word), data = lexdec3) > print(lexdec3.lmerA, corr = FALSE)