optimizer convergence code is zero in lmerTest::lmer

Y_O.modelrt.1 <- lmer(log(RT)~Condition*SubjType+(1+Condition|Participant)+(1+Condition|trialnum_1)+(1+SubjType|Participant)+(1+SubjType|trialnum_1),data=Y_O_B.rt.2,REML=FALSE)
summary(Y_O.modelrt.1)

Linear mixed model fit by maximum
  likelihood . t-tests use Satterthwaite's
  method [lmerModLmerTest]
Formula: 
log(RT) ~ Condition * SubjType + (1 + Condition | Participant) +  
    (1 + Condition | trialnum_1) + (1 + SubjType | Participant) +  
    (1 + SubjType | trialnum_1)
   Data: Y_O_B.rt.2

     AIC      BIC   logLik deviance df.resid 
  3983.7   4080.4  -1974.8   3949.7     2167 

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.3264 -0.6232  0.0735  0.7143  3.2694 

Random effects:
 Groups        Name        Variance  Std.Dev.
 Participant   (Intercept) 0.000e+00 0.000000
               SubjType2   1.641e-01 0.405087
 Participant.1 (Intercept) 6.319e-02 0.251368
               Condition2  9.997e-03 0.099985
 trialnum_1    (Intercept) 6.662e-05 0.008162
               SubjType2   1.948e-03 0.044131
 trialnum_1.1  (Intercept) 8.185e-03 0.090470
               Condition2  7.871e-02 0.280557
 Residual                  3.251e-01 0.570183
 Corr
     
  NaN
     
 1.00
     
 1.00
     
 0.04
     
Number of obs: 2184, groups:  
Participant, 49; trialnum_1, 20

Fixed effects:
                     Estimate Std. Error
(Intercept)           6.95300    0.05267
Condition2            0.04204    0.06984
SubjType2             0.10131    0.09730
Condition2:SubjType2 -0.07813    0.05952
                           df t value
(Intercept)          53.62195 132.007
Condition2           21.53052   0.602
SubjType2            44.84822   1.041
Condition2:SubjType2 45.70474  -1.313
                     Pr(>|t|)    
(Intercept)            <2e-16 ***
Condition2              0.554    
SubjType2               0.303    
Condition2:SubjType2    0.196    
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
            (Intr) Cndtn2 SbjTy2
Condition2  0.156               
SubjType2   0.145  0.022        
Cndtn2:SbT2 0.046  0.110  0.359 
optimizer (nloptwrap) convergence code: 0 (OK)
boundary (singular) fit: see ?isSingular

> 

Even if I used different optimizers, the warning is still "optimizer convergence code: 0 (OK)" and "boundary (singular) fit: see ?isSingular". I am wondering how to deal with the problem.

Thank you so much!

What is participant? Is that a unique ID, if so it would be a dataleak, and make your model non genereliseable (I.e. how would it predict on a new participant ID never seen in the training data?)
This would be a problem in a large class of scenarios. If you don't need generalisability on new cases, etc, and can allow your model to overfit to your training sample, it might be that you can justify ignoring the warnings.

1 Like

What makes you think it failed? It looks alright to me.

Old codes often used an exit code of 0 to indicate 'no errors'.

1 Like

Yes, I don't need generalisability. Thank you so much!

OK, I got it! Thank you!