警告消息:聚合代码(GLMER模型,LME4软件包)

时间:2020-07-09 15:02:20

标签: r logistic-regression lme4 mixed-models convergence

我已经使用lme4 Packack在R中运行了混合效果模型,其中伯努利分布因变量(Correct_or_incorrect)取决于因素 condition sound syll 和一些互动。随机效应结构包括条件声音的对象随机倾斜度。代码如下:

model=glmer(Correct_or_incorrect ~ (sound|SUBJECT) + (condition|SUBJECT) + condition + sound + syll + condition:syll + syll:sound + condition:sound, dataMelt, control=glmerControl(optimizer="nlminbwrap"), family = binomial)

通过使用优化器nlminbwrap,我能够在模型开发期间避免收敛警告,并且对最终模型感到非常满意。然后,我使用relevel()来更改某些因素的参考水平并重新运行模型(以更仔细地查看lmerTest提供的一些p值以获得某些效果)。我总共运行了16次模型(重新平衡15次),而这16次中有2次,我收到以下警告消息:

In optwrap(optimizer, devfun, start, rho$lower, control = control,  :

      convergence code 1 from nlminbwrap

但是,当我随后打印模型摘要时,它说:

convergence code: 0
boundary (singular) fit: see ?isSingular

我知道“边界(奇异)拟合”部分的含义(每次运行模型时都会出现,并且我知道它与数据的某些方面有关),但是对于收敛代码,我是现在很困惑。为什么在摘要中显示“收敛代码:0”时,为什么会收到上述警告?看到它只出现16次中的2次,这是否值得担心?

[PS:我也在模型上运行了lme4::allFit(),也没有针对nlminbwrap的收敛警告:]

modelfit_new=lme4::allFit(model)
ss=summary(modelfit_new)
ss$msgs

$bobyqa
[1] "boundary (singular) fit: see ?isSingular"

$Nelder_Mead
[1] "Model failed to converge with max|grad| = 1.07984 (tol = 0.002, component 1)"

$nlminbwrap
[1] "boundary (singular) fit: see ?isSingular"

$`optimx.L-BFGS-B`
[1] "boundary (singular) fit: see ?isSingular"

$nloptwrap.NLOPT_LN_NELDERMEAD
[1] "boundary (singular) fit: see ?isSingular"

$nloptwrap.NLOPT_LN_BOBYQA
[1] "boundary (singular) fit: see ?isSingular"

0 个答案:

没有答案