二項応答変数とカテゴリカル予測子を使ってglmmを実行しています。ランダムな効果は、データ収集に使用されるネストされたデザインによって与えられます。データは次のようになります。
m.gen1$treatment
[1] sucrose control protein control no_injection .....
Levels: no_injection control sucrose protein
m.gen1$emergence
[1] 1 0 0 1 0 1 1 1 1 1 1 0 0....
> m.gen1$nest
[1] 1 1 1 2 2 3 3 3 3 4 4 4 .....
Levels: 1 2 3 4 5 6 8 10 11 13 15 16 17 18 20 22 24
私が実行する最初のモデルは次のようになります
m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)
次のような2つの警告が表示されます。
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge with max|grad| = 0.0240654 (tol = 0.001, component 4)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
モデルの要約は、処理の1つに異常に大きな標準誤差があることを示しています。これは次のとおりです。
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.565 1.038 2.472 0.0134 *
treatmentcontrol -1.718 1.246 -1.378 0.1681
treatmentsucrose 16.863 2048.000 0.008 0.9934
treatmentprotein -1.718 1.246 -1.378 0.1681
私は他のパッケージからのglmerコントロールと関数からの異なるオプティマイザを試しました、そして私は同様の出力を得ます。ランダムな効果を無視してglmを使用してモデルを実行しましたが、問題は解決しません。データを調査していると、高標準の治療法であることがわかりました。エラーは、応答変数で成功のみを持っています。それが問題の原因であるかどうかを確認するためだけに、その処理に「失敗」のある偽のデータポイントを追加しました。モデルはスムーズに実行され、妥当な標準誤差が得られます。あなたはそれをここで見ることができます:
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 3.4090 1.6712 2.040 0.0414 *
treatmentcontrol -1.8405 1.4290 -1.288 0.1978
treatmentsucrose -0.2582 1.6263 -0.159 0.8738
treatmentprotein -2.6530 1.5904 -1.668 0.0953 .
私の直観は、その治療の失敗がないために適切な推定ができないことについて正しいのか、そしてこの問題をどのように回避できるのかと思っていました。
前もって感謝します!