No.08272 統計ソフトRのメソッドについて  【あいこ】 2008/11/17(Mon) 22:48

いつも拝見させていただいています。

さてネット検索などをしましたが,見つけられなかったので質問させていただきました。
現 在統計ソフトRで,glmmML()を使い,モデル選択を行いたく思っています。そこで結果の表に最大化された対数尤度を示したいのですが, logLik()を使うと有効なメソッドがないとメッセージが出て,計算することができません。(glm()では問題なく計算できました)。

R上で,glmmMLで得られた結果に対し,logLikをどのように計算すれば良いのでしょうか?ご存知の方がいればお教え願えないでしょうか?文献やネット上で見つけられず困っております。どうぞよろしくお願いいたします。

No.08273 Re: 統計ソフトRのメソッドについて  【青木繁伸】 2008/11/17(Mon) 23:23

追試できるプログラム(必要ならデータも)を呈示しておくとよいと思うのですけど。現象が再現できる最短のプログラム最小のデータ。あなたがやったやり方でよいのかどうか,あなたの書いた文章からはわからないですよねぇ。

> methods(logLik)
[1] logLik.Arima* logLik.glm* logLik.lm* logLik.nls*

Non-visible functions are asterisked
となるので,glmmML 用の logLik がないということで,あなたの質問は,glmmML 用の logLik を書くためのアルゴリズムを知りたいと言うことなんでしょうか?

glmmML の中から glmmML.fit が呼ばれますが,その戻り値として deviance がありますよね。そして,それは glmmML の戻り値としても返ってきますから,それを -2 で割れば,loglik になっているのでは?(というか対数尤度の -2 倍がデビアンスだったかと)
私はこの分析手法については知りませんので,それであなたが求めたいと思っているものが得られるかどうかわかりません。

ていうか,モデル選択なら AIC でやるというのでは駄目なんですか。わかってなくてすみません。

No.08274 Re: 統計ソフトRのメソッドについて  【あいこ】 2008/11/17(Mon) 23:54

すみませんでした。データと関数を記しました。

利用したデータ

data
N y x s id
5 3 30 F 1
5 4 28 M 2
5 5 24 F 3
5 4 26 M 4

下記が使用した関数です

data <- glmmML(cbind(y, N - y) ~ x+s, data = d, family = binomial, cluster = id)

というデータが50サンプル分あります。Nは子の数の上限で,yは1ペア当たりの子の数,xは体サイズ,sは性,idは個体番号になります。
体サイズや性を使って,子の数を説明できるか?個体差はどのくらいあるのかが知りたいことです。

これでご判断いただけるでしょうか?ご意見いただけたらうれしいです。
よろしくお願いいたします。

No.08275 Re: 統計ソフトRのメソッドについて  【あいこ】 2008/11/18(Tue) 00:00

申し訳ありません。途中で送信してしまいました。

>あなたの質問は,glmmML 用の logLik を書くためのアルゴリズムを知りたいと言うことなんでしょうか?

はい,そうなんです。手計算ではなく,その計算をR上でする方法を探しています。
言葉足らずですみませんでした。

どのようなアドバイスでもありがたく思います。よろしくお願いいたします。

No.08276 Re: 統計ソフトRのメソッドについて  【青木繁伸】 2008/11/18(Tue) 00:03

8273ですが,ちょっとやってみては書き足していたので,まだあなたが読んでいない部分ができているかも。。。

No.08277 Re: 統計ソフトRのメソッドについて  【あいこ】 2008/11/18(Tue) 00:20

ありがとうございます。

glmmML()では,Residual devianceは出してくれるのですが,devianceは出ないのかと思っていました。もう一度やりなおしてみます。

● 「統計学関連なんでもあり」の過去ログ--- 042 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る