6

使用包 lme4 拟合“glmer”模型时,以下警告消息的含义是什么?

Warning messages:
1: glm.fit: fitted probabilities numerically 0 or 1 occurred 
2: In mer_finalize(ans) : false convergence (8)

我试图拟合的模型是这样的:

glmer(dummy ~ constituency.coa + I(governat.part) + I(district2) + gdp.cap + lula.power + ifdm + bf.cap + year + (1 | munname), data=pool, family=binomial(link = "logit"), REML=T, verbose=T)

谢谢

4

2 回答 2

6

警告 1:一个或多个观察值的拟合值变为 0 或 1,但这在逻辑回归下应该是不可能的。原因很多;一个在帮助页面上进行了讨论,?glm但这只不过是指向其他一些文档的指针。这只是一个警告,所以可能不是问题,但它是一个警告,表明某些东西不太适合。

警告 2:我不知道确切的含义,但代码告诉您优化例程声明拟合过程已收敛到估计值,但这种说法是错误的,并且拟合并没有真正收敛。

要看的一件事是是否存在可分离性问题,其中一个预测变量或预测变量的线性组合可以完美地分割01事件。

我建议您在 R-SIG-Mixed 邮件列表上跟进,那里有真正的专家可以提供进一步帮助。您可能需要提供拟合过程的更多详细信息(打开详细模式)甚至数据,以便诊断问题。

于 2012-02-15T19:05:01.670 回答
6

对于警告 2,您可以增加迭代次数,默认为 300,以查看添加更多迭代时是否收敛。尝试:

glmer(dummy ~ constituency.coa + I(governat.part) + I(district2) + gdp.cap + lula.power + ifdm + bf.cap + year + (1 | munname), data=pool, family=binomial(link = "logit"), REML=T, verbose=T, control = list(maxIter = 600))

这会将其从 300 次迭代更改为 600 次,但如果这不起作用,您可以尝试更多。

于 2012-05-03T19:00:39.340 回答