KuboWeb top

更新: 2012-09-24 21:50:27

生態学のデータ解析 - lmer()雑

質問: AIC の値などはどうやって取りだすか? 

(いただいた質問)

glmなどの結果のオブジェクトからは
res <- glm(...)
res$aic
などとしてAICや係数を単独で取り出せていたのですが、lmerでは同じように 取り出すことができないよいようです。
結果objectの構造がどうなっているのかよくわからず、どうやって取り出せばいい のか模索しています。何か方法があるのでしょうか。

(回答) R を起動して

	library(lme4)}
	example(lmer)

すると lmer() の example が実行されて fm1, fm2 というところに lmer() の結果が入ります.

この fm1 からどう情報をとるか? を考えてみましょう.

回答1: generic function を適用する

	coef(fm1)
	AIC(logLik(fm1))

回答2: summary() の「スロット」をみる

	s1 <- summary(fm1)
	slotNames(s1)

とするとずらずらラベルがでますから,それを参考にして

	s1@coefs
	s1@coefs[, "Estimate"]
	s1@AICtab
	s1@AICtab$AIC

とすればいろいろな値が得られます.

質問: random effects のはいりかたの違い? 

(いただいた質問)

Rのhelp(lmer)を見てみると、例として以下のものがあります。

(fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy))
(fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy))

このデータはくり返し測定になっているのだと思うのですが、この中の

(Days | Subject)
(1 | Subject) + (0+Days | Subject)

の " | " という表現は、helpでは "The vertical bar character "|" separates an expression for a model matrix and a grouping factor." となっています。

これは(Days | Subject)であれば、「Daysの効果を見ます がSubjectごとに見てください」といったことでしょうか? そうするとその次の(1 | Subject) + (0+Days | Subject)はどう 読めばよいのでしょうか。

(回答) これは R 自身に教えてもらえばよいのです.

	library(lme4)
	example(lmer)

すると次のような出力が得られます (参照: help(lmer)).

前者の (Days|Subject) に関しては

lmer> (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy))
Linear mixed-effects model fit by REML 
Formula: Reaction ~ Days + (Days | Subject) 
   Data: sleepstudy 
  AIC  BIC logLik MLdeviance REMLdeviance
 1754 1770   -872       1752         1744
Random effects:
 Groups   Name        Variance Std.Dev. Corr  
 Subject  (Intercept) 610.8    24.72          
          Days         35.1     5.92    0.067 
 Residual             655.1    25.59          
number of obs: 180, groups: Subject, 18

Fixed effects:
            Estimate Std. Error t value
(Intercept)   251.41       6.82    36.9
Days           10.47       1.55     6.8

Correlation of Fixed Effects:
     (Intr)
Days -0.137

と出力されるので,Random effects をみればわかるように, Subject (被験者) ごとに (Intercept) と Days に random effects が入るわけですが,これらのあいだに相関 (Corr) があることがわかると思います. このことから,(Intercept) と Days の random effects の 「事前分布」が多変量正規分布 (random effects なのでとうぜん平均はゼロ) であり, しかも分散・共分散を自由に選べるものなっています.

ranef(fm1) (参照: help(ranef)) の出力はこうなります.

> ranef(fm1)
An object of class "ranef.lmer"
[[1]]
    (Intercept)      Days
308     2.27135   9.19670
309   -40.38259  -8.62231
310   -38.94034  -5.45219
330    23.66564  -4.81006
331    22.23913  -3.06629
332     9.03250  -0.27098
333    16.82778  -0.22148
334    -7.22561   1.07338
335    -0.35032 -10.74921
337    34.87840   8.63021
349   -25.18986   1.16997
350   -13.05004   6.61075
351     4.56976  -3.01385
352    20.85390   3.53761
369     3.27443   0.87238
370   -25.58660   4.81795
371     0.80490  -0.98778
372    12.30756   1.28520

一方で, 後者の Dayes+(0+Days|Subject) に関しては

lmer> (fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy))
Linear mixed-effects model fit by REML 
Formula: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject) 
   Data: sleepstudy 
  AIC  BIC logLik MLdeviance REMLdeviance
 1752 1764   -872       1752         1744
Random effects:
 Groups   Name        Variance Std.Dev.
 Subject  (Intercept) 627.5    25.05   
 Subject  Days         35.9     5.99   
 Residual             653.6    25.57   
number of obs: 180, groups: Subject, 18; Subject, 18

Fixed effects:
            Estimate Std. Error t value
(Intercept)   251.41       6.89    36.5
Days           10.47       1.56     6.7

Correlation of Fixed Effects:
     (Intr)
Days -0.184

と出力されるので,今回の Random effectsCorr がありません. つまり,fm2 でも Subject (被験者) ごとに (Intercept) と Days に random effects が入るわけですが, それぞれの事前分布が独立した (一変量) 正規分布 (やはり平均ゼロ) であり,それぞれの分散が自由に選べるものなっています. とうぜん (Intercept) と Days の事前分布の共分散はゼロです.

ranef(fm2) の出力はこうなります.

> ranef(fm2)
An object of class "ranef.lmer"
[[1]]
    (Intercept)
308     1.51280
309   -40.37300
310   -39.18013
330    24.51820
331    22.91380
332     9.22173
333    17.15568
334    -7.45153
335     0.57854
337    34.76718
349   -25.75365
350   -13.86458
351     4.91581
352    20.92856
369     3.25858
370   -26.47508
371     0.90561
372    12.42146

[[2]]
         Days
308   9.32346
309  -8.59929
310  -5.38792
330  -4.96853
331  -3.19384
332  -0.30846
333  -0.28714
334   1.11596
335 -10.90592
337   8.62771
349   1.28059
350   6.75632
351  -3.07510
352   3.51228
369   0.87306
370   4.98367
371  -1.00529
372   1.25845

  • このページは以下から参照されています。

    lmer 紹介