« トビムシの飼育 | トップページ | ホクロの違い »

lmer研究(6)lme4 Version: 0.999375-17

lme4パッケージが更新されました。

今回は、大幅に仕様がかわったようです。

・計算アルゴリズムを改善して、より頑健になり、計算が早くなった。
・PQLが使えなくなった。
・引数のmethodがなくなった。
・glmer()という関数ができた。
・mcmcsamp()のサンプリング方法が変わった。

今回の更新で我々エンドユーザーが特に注意しなければいけないのは、methodでしょう。

尤度を求めるmethodは、正規分布の場合"REML"と"ML"、それ以外の分布では、"Laplace"と"PQL"でした。
しかしながらPQL法は、問題があり、あまり正確な推定をしないことが指摘されています。方法がそれしか使えなかった時代ならいざしらず、現在はglmmMLやlmerのようにLhaplaceやghq(glmmMLのみ)のようにPQLより正確で尤度を求める方法が実装されているので、あえてPQLを使う必要はないと思います。そのため、今回のバージョンでPQLが使えなくなったのだと思います。

で、正規分布のときREMLとMLはどうしていするかというと、
REML=TRUE
で指定するようです。デフォルトは、TRUE。FALSEにするとMLになります。

現状では、まだ引数methodは使えますが、warning messageがでます。

fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy,method="ML")
Warning message:
In lmer(Reaction ~ Days + (Days | Subject), sleepstudy, method = "ML") :
  Argument ‘methood’ is deprecated.  Use ‘REML’ instead

おそらく、次に出るバージョンでは引数methodは使えなくなるので、もう使わない方向で行きましょう。

で、もうひとつglmer()について

結論からいうと現状では、あまり気にする必要はないと思います。

lmer()はLinear Mixed Model、つまり、正規分布のGLMM、
glmer()はGeneralized Mixed Model、正規分布以外のGLMMで、両者の関数を使い分けるようです。

しかしながら、lmer(,family=poisson)とglmer(,family=poisson)は全く同じ結果になります。

test1 <- lmer(round(Reaction) ~ Days + (Days|Subject),family=poisson, sleepstudy)
test2 <- glmer(round(Reaction) ~ Days + (Days|Subject),family=poisson, sleepstudy)
summary(test1)
summary(test2)
(出力結果略)

では、なんでglmer()がでてくるかというと、引数nAGQの存在です。

これは、よくわかりませんが、Gauss-Hermite approximationにおいて設定する値のようです。整数値を入力、デフォルトは1。

Gauss-Hermite approximationは、glmmML(そういえば、最近更新したようですね。なにがどうなったかわかりませんが)のmethod="ghq"でやる方法ですね。glmmMLのヘルプには、"Both methods are now fully adaptive."だそうです。以前のバージョンではちょっと書いてあることが違ったのですが。

で、もともと以前のlmerのバージョンでは、「Lhaplaceよりも正確な、method="AGQ"が選べるようになりますよ。まだ実装してないけど」と書いてあった気がするけど、現バージョンで、引数nAGQという形で実装されたのでしょう。

ということでnAGQをいじってみる。

test3<- glmer(round(Reaction) ~ Days + (Days|Subject),family=poisson,nAGQ=2, sleepstudy)
以下にエラー mer_finalize(ans, verbose) : Code not yet written

まだ実装されていないようです。

結論

現バージョンでは、lmer()を使って引数methodについて気にすれば(多分)問題なく使える。

過去のlmer研究
(1)自動akaike weightプログラム
(2)自動akaike weightプログラム2
(3)gaussian modelのp値
(4)AICについて
(5)lmerで多重比較

|

« トビムシの飼育 | トップページ | ホクロの違い »

統計/R」カテゴリの記事

コメント

生態学を専攻している学生です。
ここの記述のおかげでlme4パッケージをなんとか使えそうです。
ありがとうございます。

投稿: | 2015年4月22日 (水) 17時58分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/538244/21887796

この記事へのトラックバック一覧です: lmer研究(6)lme4 Version: 0.999375-17 :

» 新しいlmerにはまる [Taglibro de H]
足軽日記: lmer研究(6)lme4 Version: 0.999375-17に解説があるが、最近のlmer()は いろいろかわっている。それはいいのだが、以前は動作していたコードが動かないという現象が発生している。なんだか関数内での変数のスコープがおかしいようだ。 例 library(lme4) x <- runif(100, 0, 10) b <- rep(seq(1, 5), 20) r <- rnorm(5, 0, 1) y <- 2 * x + 3 + r[b] f.lmer ... [続きを読む]

受信: 2008年7月 5日 (土) 11時23分

« トビムシの飼育 | トップページ | ホクロの違い »