[R-sig-ME] Error message in running CLMM models from Ordinal package: "optimizer nlminb failed to converge"

OZOLS Davis davis.ozols at unifr.ch
Mon Feb 26 15:07:03 CET 2018


Dear list,

I have a question with regards to model convergence in CLMM function that is implemented in the Ordinal package. More specifically what might cause the error: "optimizer nlminb failed to converge message" in the CLMM function that I am getting.

I am new to mixed model analysis so I will try to explain all the steps I have taken in case there might be something wrong in my approach to the analysis.

I have data set of 2200 observations with 6 variables: 115 participants, 24 items and a design that has as a response variable an ordered scale from 1 to 10.

> head(data.ord)
id item value.statement quant preexisting.belief engagement
1 R_ysTGuC676siU2Pf   I1               3 Baseline                 low       high
2 R_ysTGuC676siU2Pf   I2               2 Baseline                 low       high
3 R_ysTGuC676siU2Pf   I26               2     Most               low       high
4 R_ysTGuC676siU2Pf   I40               3     Every               low       high
5 R_ysTGuC676siU2Pf   I4               7 Baseline           undecided     high
6 R_ysTGuC676siU2Pf   I10               4 Baseline           undecided     low

I investigate the interaction of three factors on the response variable:
quant(4 levels)* preexisting.belief(3 levels)* engagement(2 levels)


this is the summary of my data:

> str(data.ord)
'data.frame': 2200 obs. of  6 variables:
 $ id                 : Factor w/ 115 levels
 $ item               : Factor w/ 24 levels
 $ value.statement   : Ord.factor w/ 10 levels
 $ quant              : Factor w/ 4 levels
 $ preexisting.belief : Factor w/ 3 levels
 $ engagement         : Factor w/ 2 levels


I plan to do my analysis by fitting four clmm models with random intercept and random slope structures for both participants and items. I choose the exact random effect structure based on theoretical assumptions in my hypothesis as well as backward model selection criterion discussed by Matuschek, Kliegel, Vasishth, Baayen & Bates (2017) and Barr, Levy, Scheepers & Tily (2013). Due to the complexity of my design it is not possible to fit the full three way interaction as a random slope so I choose (1 + preexisting.belief*engagement |id) for participants and (1 + engagement |item) for items - the choice is motivated by theoretical assumptions as well as comparison of various random effect models (with full interaction in fixed effects) using the anova() function. I then proceed to fit the four clmm models to test my fixed effects, starting with the null model and then adding all the interaction terms in a step wise fashion.

While the more complex models like model 2 and 3 are able to converge:


> cm.2 <- clmm(value.statement~preexisting.belief*engagement +
+                       (1 + preexisting.belief*engagement |id) + (1 + engagement |item),
+                 data = ucl.ordered, Hess = TRUE)

running the summary() function gives me:
max.grad = 9.78e-03 and cond.H = 2.3e+04


> cm.3 <- clmm(value.statement~quant*preexisting.belief*engagement +
+                       (1 + preexisting.belief*engagement |id) + (1 + engagement |item),
+                 data = ucl.ordered, Hess = TRUE)

running the summary() function gives me:
max.grad = 1.28e-01 and cond.H = 1.7e+04


I find that the simpler model and even the null model show failures to converge:


> cm.null <- clmm(value.statement~1 +
+                        (1 + preexisting.belief*engagement |id) + (1 + engagement |item),
+                  data = ucl.ordered, Hess = TRUE)
Error: optimizer nlminb failed to converge

> cm.1 <- clmm(value.statement~quant +
+                        (1 + preexisting.belief*engagement |id) + (1 + engagement |item),
+                  data = ucl.ordered, Hess = TRUE)
Error: optimizer nlminb failed to converge


I have tried looking for potential solutions to this on the r-sig-mm list as well as other online resources and have tried some suggestions. Using the "ucminf" optimizer does not work and produces error message: "cannot use ucminf optimizer for this model, using nlminb instead". I have tried changing the maxIter and maxLineIter parameters under clmm.control to 200 and that has also resulted in no improvement. I am puzzled by the fact that the error persists only for the simpler models. My first guess was that the complexity of my design is too much for clmm to handle with only 2200 observations, however, if that were the case wouldn't models 3 and 4 also fail to converge?

I would greatly appreciate any help on these errors. I am also happy to share the full data (in private correspondence) if that might be of help here.

Thank you in advance,
Davis Ozols
PhD Student,
University of Fribourg
CH-1700 Fribourg, Switzerland

Tel: +41 26 300 79 09
Fax: +41 26 300 97 87



	[[alternative HTML version deleted]]



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