[R-sig-ME] Convergence Issue

Alex Waldman @|ex@w@|dm@n @end|ng |rom @jc@ox@@c@uk
Thu Sep 2 17:32:05 CEST 2021


Thank you! This was helpful. 

When I tried double-checking the Hessian calculation, I got the following error:

Error in chol.default(hess) : the leading minor of order 6 is not positive definite 

Could this provide any indication as to why the model isn't converging?

I also tested all the optimizers and got the following result but was unsure how to interpret:

$which.OK
                       bobyqa                   Nelder_Mead 
                         TRUE                          TRUE 
                   nlminbwrap                         nmkbw 
                         TRUE                          TRUE 
              optimx.L-BFGS-B nloptwrap.NLOPT_LN_NELDERMEAD 
                         TRUE                          TRUE 
    nloptwrap.NLOPT_LN_BOBYQA 
                         TRUE 

$msgs
$msgs$bobyqa
NULL

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

$msgs$nlminbwrap
NULL

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

$msgs$`optimx.L-BFGS-B`
NULL

$msgs$nloptwrap.NLOPT_LN_NELDERMEAD
NULL

$msgs$nloptwrap.NLOPT_LN_BOBYQA
[1] "Model failed to converge with max|grad| = 0.0122376 (tol = 0.002, component 1)"


$fixef
                              (Intercept)     Level1     Level2 LesionType1 LesionType2
bobyqa                          -1.607709 -0.5906779 -0.7133361    1.633654    1.169556
Nelder_Mead                     -1.609343 -0.5990970 -0.7248756    1.637308    1.166614
nlminbwrap                      -1.607742 -0.5906431 -0.7133012    1.633691    1.169589
nmkbw                           -1.612150 -0.5911478 -0.7154765    1.638517    1.173022
optimx.L-BFGS-B                 -1.612203 -0.5921513 -0.7152118    1.638355    1.173146
nloptwrap.NLOPT_LN_NELDERMEAD   -1.612326 -0.5921231 -0.7148693    1.638615    1.173143
nloptwrap.NLOPT_LN_BOBYQA       -1.608554 -0.5974722 -0.7194175    1.634395    1.169306
                              Level1:LesionType1 Level2:LesionType1 Level1:LesionType2
bobyqa                                -0.3646982         -0.2118206          0.3897427
Nelder_Mead                           -0.3570757         -0.2053771          0.4027594
nlminbwrap                            -0.3647408         -0.2118542          0.3897106
nmkbw                                 -0.3675755         -0.2125293          0.3896785
optimx.L-BFGS-B                       -0.3660791         -0.2125631          0.3904246
nloptwrap.NLOPT_LN_NELDERMEAD         -0.3663036         -0.2131734          0.3905315
nloptwrap.NLOPT_LN_BOBYQA             -0.3597335         -0.2075374          0.3969647
                              Level2:LesionType2
bobyqa                                 0.1426930
Nelder_Mead                            0.1586086
nlminbwrap                             0.1426555
nmkbw                                  0.1436730
optimx.L-BFGS-B                        0.1426133
nloptwrap.NLOPT_LN_NELDERMEAD          0.1423522
nloptwrap.NLOPT_LN_BOBYQA              0.1474815

$llik
                       bobyqa                   Nelder_Mead 
                    -530.1908                     -530.1818 
                   nlminbwrap                         nmkbw 
                    -530.1908                     -530.1810 
              optimx.L-BFGS-B nloptwrap.NLOPT_LN_NELDERMEAD 
                    -530.1810                     -530.1810 
    nloptwrap.NLOPT_LN_BOBYQA 
                    -530.1812 

$sdcor
                              ID.(Intercept)
bobyqa                              1.227682
Nelder_Mead                         1.232220
nlminbwrap                          1.227685
nmkbw                               1.231678
optimx.L-BFGS-B                     1.231639
nloptwrap.NLOPT_LN_NELDERMEAD       1.231837
nloptwrap.NLOPT_LN_BOBYQA           1.231765

$theta
                              ID.(Intercept)
bobyqa                              1.227682
Nelder_Mead                         1.232220
nlminbwrap                          1.227685
nmkbw                               1.231678
optimx.L-BFGS-B                     1.231639
nloptwrap.NLOPT_LN_NELDERMEAD       1.231837
nloptwrap.NLOPT_LN_BOBYQA           1.231765

$times
                              user.self sys.self elapsed user.child sys.child
bobyqa                            0.633    0.003   0.638          0         0
Nelder_Mead                       2.401    0.003   2.405          0         0
nlminbwrap                        0.581    0.001   0.585          0         0
nmkbw                             0.885    0.004   0.894          0         0
optimx.L-BFGS-B                   1.390    0.005   1.407          0         0
nloptwrap.NLOPT_LN_NELDERMEAD     0.976    0.003   0.984          0         0
nloptwrap.NLOPT_LN_BOBYQA         0.996    0.002   1.004          0         0

$feval
                       bobyqa                   Nelder_Mead 
                          572                          2605 
                   nlminbwrap                         nmkbw 
                           NA                           728 
              optimx.L-BFGS-B nloptwrap.NLOPT_LN_NELDERMEAD 
                           44                           904 
    nloptwrap.NLOPT_LN_BOBYQA 
                          972

Warm Regards,
Alex

On 9/2/21, 4:04 PM, "Phillip Alday" <me using phillipalday.com> wrote:

    I don't have time to give more thorough help at the moment, but look at
    the help page on converge, accessible via ?convergence in R or mirrored
    online, e.g. https://rdrr.io/cran/lme4/man/convergence.html

    Hope that helps

    Phillip

    On 02/09/2021 09:58, Alex Waldman wrote:
    > Dear All,
    >
    > I have a dataset with 119 individuals with information on the presence of lesions of various types (1,2,3) at various levels (1,2,3) and want to understand the effect of type and location on lesion presence. Therefore, I ran the following:
    >
    > glmer.model<-glmer(LesionPresence ~ Location*Type + (1 | ID), data=lesion_proportion_staged_level, family="binomial")
    >
    > Unfortunately, I ran into the following warning:
    >
    > In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
    > Model failed to converge with max|grad| = 0.048092 (tol = 0.002, component 1)
    >
    > I'm quite new to running mixed models and even with some googling am still unsure why I am running into this issue? Any insight would be much appreciated. I am attaching the model output below and the input data in case that is helpful and do let me know if you need any additional information:
    > Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) [
    > glmerMod]
    > Family: binomial  ( logit )
    > Formula: LesionPresence ~ Level * LesionType + (1 | ID)
    >    Data: lesion_proportion_staged_level
    >
    >      AIC      BIC   logLik deviance df.resid
    >   1080.4   1129.2   -530.2   1060.4      962
    >
    > Scaled residuals:
    >     Min      1Q  Median      3Q     Max
    > -1.6875 -0.5649 -0.3291  0.7170  4.2816
    >
    > Random effects:
    > Groups Name        Variance Std.Dev.
    > ID     (Intercept) 1.519    1.232
    > Number of obs: 972, groups:  ID, 119
    >
    > Fixed effects:
    >                    Estimate Std. Error z value Pr(>|z|)
    > (Intercept)         -1.6081     0.2966  -5.423 5.87e-08 ***
    > Level1              -0.6006     0.3900  -1.540 0.123600
    > Level2              -0.7270     0.4094  -1.776 0.075782 .
    > LesionType1          1.6362     0.3538   4.624 3.76e-06 ***
    > LesionType2          1.1659     0.3524   3.309 0.000938 ***
    > Level1:LesionType1  -0.3568     0.5022  -0.711 0.477379
    > Level2:LesionType1  -0.2015     0.5211  -0.387 0.698986
    > Level1:LesionType2   0.4030     0.5004   0.805 0.420607
    > Level2:LesionType2   0.1608     0.5229   0.308 0.758387
    > ---
    > Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    >
    > Correlation of Fixed Effects:
    >             (Intr) Level1 Level2 LsnTy1 LsnTy2 L1:LT1 L2:LT1 L1:LT2
    > Level1      -0.603
    > Level2      -0.574  0.447
    > LesionType1 -0.703  0.498  0.475
    > LesionType2 -0.694  0.503  0.479  0.582
    > Lvl1:LsnTy1  0.480 -0.766 -0.339 -0.691 -0.400
    > Lvl2:LsnTy1  0.461 -0.344 -0.775 -0.665 -0.385  0.466
    > Lvl1:LsnTy2  0.468 -0.772 -0.344 -0.392 -0.692  0.598  0.268
    > Lvl2:LsnTy2  0.453 -0.344 -0.773 -0.379 -0.665  0.267  0.607  0.468
    > optimizer (Nelder_Mead) convergence code: 0 (OK)
    > Model failed to converge with max|grad| = 0.048092 (tol = 0.002, component 1)
    > _______________________________________________
    > R-sig-mixed-models using r-project.org mailing list
    > https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models



More information about the R-sig-mixed-models mailing list