No.22165 GLMM(ロジスティック回帰)について  【植田】 2016/10/07(Fri) 13:17

いつもお世話になっております。
R3.3.1のlme4パッケージ内にあるglmer関数を用いて以下のデータの分析を行いました。
ID1	ID2	response	fix
12 9 1 0.5
19 12 0 0.5
25 21 0 0.5
22 7 0 0.5
22 41 0 0.5
12 40 0 0.5
12 40 0 0.5
12 36 0 0.5
10 47 0 0.5
3 32 0 0.5
3 5 0 0.5
3 9 0 0.5
40 17 0 0.5
21 50 0 0.5
25 53 1 -0.5
22 30 1 -0.5
22 30 1 -0.5
12 11 1 -0.5
49 57 1 -0.5
42 42 1 -0.5
42 42 1 -0.5
42 54 1 -0.5
42 41 1 -0.5
56 49 1 -0.5

model<-glmer(response~fix+(1|ID1)+(1|ID2), family="binomial")
という式で分析を行うと,「 警告メッセージ:
checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, で:
Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?」という警告メッセージが表示されました。
そして,summaryで出力すると,明らかにおかしな結果がでてきます。
ちなみに,少しデータをいじると(responseのデータに0を増やしました),それらしき出力結果がでてきました。
このデータセットの構造のどのような点が問題であり,どのようにすれば改善することができるのでしょうか。

まことに恐縮ですが,ご教授いただけましたら幸いに存じます。
何卒よろしくお願い申し上げます。

No.22167 Re: GLMM(ロジスティック回帰)について  【青木繁伸】 2016/10/07(Fri) 18:35

この関数はよくわかりませんが,response~fix+(1|ID1)+(1|ID2)って,response を fixt と ID1, ID2 を使って説明するということですよねきっと。
でも,response と fit は
    -0.5 0.5
0 0 13
1 10 1
となっているので,fix だけで「完全に説明できる」とうことで,これはこれでうれしいことなんでしょうけど,glmer を使ってまで分析するのか???という状況になっているのでしょう。

No.22168 Re: GLMM(ロジスティック回帰)について  【植田】 2016/10/07(Fri) 21:51

青木先生

質問者の植田です。
早速のお返事ありがとうございます。
完全に説明できてしまっているということで,このような状態になっているのですね。
最初はlmerで分析をしていたのですが,警告でglmerを使えと言われました。
少し調べてみると,海外の掲示板?に,正規分布以外の場合にはlmerではなく,glmer関数を使った方がよいと書かれていました。

もしよろしければ重ねてご質問をお許しいただけたらと思うのですが,
「fixによる違いが明瞭なので,GLMMがかけられず,他の分析を行った」といった記述を論文中(英語)で行ってもよいものなのでしょうか。
類似した表現を見たことがないため,ご意見をお聞かせいただけましたら幸いです。
どうぞよろしくお願いいたします。

No.22169 Re: GLMM(ロジスティック回帰)について  【青木繁伸】 2016/10/07(Fri) 22:16

そもそも,複雑な分析をするまでもなく,単純集計で明らかな事実を,複雑なモデルを仮定して分析するのはどうかなということでは?
結局の所はまだまだ,サンプルサイズが小さいのが問題でしょう。
デー タによってはそれほどたくさんのデータをとれないといこともあるかも知れませんが,だとしても,そのような少数データに多変量解析(この場合はそれほどの 多変量でもないが)を使うというのが時期尚早なのでしょう。(平均値の差の検定なんていう基礎的な統計解析であっても,検定は出来るけどその妥当性はどう かな?ということもあるわけですよね)。

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