私はlme4::glmer()
、バイナリではなく、0と1の間の連続変数である従属変数を使用して、二項一般化混合モデル(GLMM)を近似しようとしています。この変数は確率と考えることができます。実際、それは人間の被験者によって報告された確率です(私は分析に役立つ実験で)。すなわち、それはだない「離散」割合が、連続変数。
私のglmer()
予想通りの呼び出しは(下記参照)は動作しません。どうして?私に何ができる?
後で編集:以下の私の答えは、この質問の元のバージョンよりも一般的であるため、質問もより一般的なものに変更しました。
詳細
明らかに、バイナリDVだけでなく、0と1の間の連続DVにもロジスティック回帰を使用することが可能です。確かに、私が走るとき
glm(reportedProbability ~ a + b + c, myData, family="binomial")
警告メッセージが表示されます
Warning message:
In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
しかし、非常に合理的な適合(すべての要因はカテゴリであるため、モデル予測が被験者間平均に近いかどうか、およびそれらが近いかどうかを簡単に確認できます)。
ただし、実際に使用したいのは
glmer(reportedProbability ~ a + b + c + (1 | subject), myData, family="binomial")
それは私に同一の警告を与え、モデルを返しますが、このモデルは明らかに非常にオフです。固定効果の推定値は、glm()
対象平均値と対象平均値から非常に離れています。(そしてglmerControl(optimizer="bobyqa")
、glmer
呼び出しに含める必要があります。そうしないと、まったく収束しません。)
glmmadmb(reportedProbability ~ a + b + c + (1 | subject), myData, family="beta")
、正しい適合と妥当な信頼区間が得られますが、収束に失敗したという警告が表示されます。DV = 0やDV = 1のケースがないので、ベータ版がうまくいくかもしれません。
+ (1 | rowid)
グラマーコールに追加しようとしましたが、これにより、体重の選択に関係なく、安定した推定値と安定した信頼区間が得られました(100と500を試しました)。また、logit(reportedProbability)でlmerを実行してみたところ、ほぼ同じ結果が得られました。したがって、両方のソリューションがうまくいくようです!glmmadmbを使用したBeta MMでも非常に近い結果が得られますが、何らかの理由で完全に収束できず、実行に永遠に時間がかかります。これらのオプションをリストし、相違点と長所/短所を少し説明する回答を投稿することを検討してください!(言及した信頼区間はすべてWaldです。)