You are here

Diagnosing Optimization Issues

2 posts / 0 new
Last post
KevinMKorous's picture
Offline
Joined: 12/01/2020 - 13:26
Diagnosing Optimization Issues

Hello,

What approaches can be taken to diagnose issues related to optimization (i.e., when OpenMX status1 is not 0 or 1 even after using the rerun() function)? I have reviewed the status codes in the OpenMX documentation and I have tried mxCheckIdentification. I have also increased extraTries and I have played around with starting values for slope coefficients. However, I am running into issues and I am not sure why so I would like to see how I can diagnose what is going on.

For instance, I am conducting a SEM-based MA using Cohen's d as the effect size. I have three levels (using meta3) with 580 d's nested within 21 clusters. I am also including a continuous moderator with no missing values. Sometimes this model produces a a OpenMX status1: 0 after using the rerun() function and sometimes it produces OpenMX status1: 6 (it does not always arrive at the same status code, but the intercept and slope parameters are the same).

I am also running into issues with other models, so any general information you can offer in terms of diagnosing optimization issues, would be helpful.

Thank you for your time,

Kevin K.

AdminNeale's picture
Offline
Joined: 03/01/2013 - 14:09
Search Forums for IFAIL

There's quite a lot of discussion of error codes in the forums, but mostly identified with a search for IFAIL (e.g., https://openmx.ssri.psu.edu/thread/448). Bottom line is that a 0 is not an error, and a 1 is almost certainly not an error, but not quite all of the conditions for a minimum have been met.

Code 6 is common alarm with ordinal data, but often the optimizer is as near the solution as it can get. With continuous data it is less likely to occur. In both cases, some attempts should be made to refit the model from different starting points (seem mxTryHard() or mxTryHardOrdinal()). This refitting unlikely to improve a code 1, but sometimes negligible changes in parameter estimate values and the nth decimal place of the fit function can shift it to a code zero.