我正在尝试使用lme4::glmer()
二项式广义混合模型(GLMM)来拟合因变量,该因变量不是二进制的,而是介于零和一之间的连续变量。可以将这个变量视为一种可能性;实际上,这是人类受试者报告的概率(在我帮助分析的实验中)。也就是说,它不是 “离散”分数,而是连续变量。
我的glmer()
电话无法正常工作(请参阅下文)。为什么?我能做什么?
稍后编辑:我的以下回答比该问题的原始版本更笼统,因此我也将该问题修改为更笼统。
更多细节
显然,不仅可以对二进制DV使用逻辑回归,而且还可以对零和一之间的连续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")
,我得到正确的拟合度和合理的置信区间,但是收敛失败警告:-/试图弄清楚如何增加迭代次数。Beta版可能对我有用,因为我没有DV = 0或DV = 1的情况。
+ (1 | rowid)
到glmer调用中,这会产生稳定的估计值和稳定的置信区间,而与我的体重选择无关(我尝试了100和500)。我还尝试在logit(reportedProbability)上运行lmer,得到的东西几乎完全相同。因此,这两种解决方案似乎都能很好地工作!带有glmmadmb的Beta MM也提供了非常接近的结果,但是由于某些原因无法完全收敛并且需要永远运行。考虑发布列出这些选项的答案,并解释一些区别和优点/缺点!(我提到的置信区间全是Wald。)