Two warnings

3 replies [Last post]
wanlin's picture
Offline
Joined: 10/28/2009

Dear developers,
I am new in openMX. when i tried some tests for the twin Data using ACE model, i found the following two warnings,
1: In model 'twinACE' NPSOL returned a non-zero status code 1. The final iterate satisfies the optimality conditions to the accuracy requested, but the sequence of iterates has not yet converged. NPSOL was terminated because no further improvement could be made in the merit function (Mx status GREEN).
2: In model 'twinSAT' NPSOL returned a non-zero status code 6. model does not satisfy the first-order optimality conditions to the required accuracy, and no improved point for the merit function could be found during the final linesearch (Mx status RED)

Is it means that the results i obtained is not correct? Is it related to my twin data?

thanks

wanlin

Steve's picture
Offline
Joined: 07/30/2009
The first warning was from a

The first warning was from a run where the model fit was still improving when it reached its iteration limit. The model was close to the optimal answer though. That's why it is called "code green". In most cases, this means that your model is very very close to having converged and you're good to go. When I get this warning message, I sometimes try different starting values and re-run the model to make sure that it comes up with the same answers.

The second model is a "code red". This is more serious and you should stop and think. This model has not converged and there is very likely a problem either with (a) the starting values, (b) the model, (c) the data, or (c & d) the match between the model and the data. You may want to rethink the model you are using to fit your data. Look at the model parameters that were returned. You may well find strange things going on like negative residual variances. Constraints sometimes help, or it may be that your model is empirically underidentified.

wanlin's picture
Offline
Joined: 10/28/2009
Thank you very much. I

Thank you very much. I suspect the warnings might come from the data. I am using the raw data. To remove the warnings, do i need to remove the outliers, transform to normality and get the z score , then input the z score to the model?

neale's picture
Offline
Joined: 07/31/2009
It should not be necessary to

It should not be necessary to transform your data. I would try some different starting values, or even re-run the model from the solution;

rerunmodel<-mxRun(mxRun(mymodel))

is one way to re-run from solution. Note also that rerunning like this sometimes generates code greens of its own. Using the homepage model there was no warning code the first run, but there was a warning the second time (which of course was from starting values pretty much at the solution).

> run2<-(mxRun(mxRun(factorModel)))
Running One Factor
Running One Factor
Warning message:
In model 'One Factor' NPSOL returned a non-zero status code 1. The final iterate satisfies the optimality conditions to the accuracy requested, but the sequence of iterates has not yet converged. NPSOL was terminated because no further improvement could be made in the merit function (Mx status GREEN).

Finally, don't be surprised if the code RED solution is actually the right answer as well. Such warnings should be heeded, but they may be false positives.