How to interpret warning saddle point PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
Message/Author
 Charlotte Vrijen posted on Friday, August 12, 2016 - 7:33 am
I received this warning (see below) when trying to run a multilevel model with an MLR estimator. On this forum I read other comments on this type of warning and it was suggested that the results can still be interpreted (since in the end the model estimation ended normally) and it was not necessary to use an MLF estimator. But how can I interpret this warning? How do I know what type of adjustment has been made to the information matrix? What does the condition number mean? Thanks!

WARNING: THE MODEL ESTIMATION HAS REACHED A SADDLE POINT OR A POINT WHERE THE OBSERVED AND THE EXPECTED INFORMATION MATRICES DO NOT MATCH. AN ADJUSTMENT TO THE ESTIMATION OF THE INFORMATION MATRIX HAS BEEN MADE. THE CONDITION NUMBER IS -0.214D-02. THE PROBLEM MAY ALSO BE RESOLVED BY DECREASING THE VALUE OF THE MCONVERGENCE OR LOGCRITERION OPTIONS OR BY CHANGING THE STARTING VALUES OR BY USING THE MLF ESTIMATOR.

THE MODEL ESTIMATION TERMINATED NORMALLY
 Linda K. Muthen posted on Friday, August 12, 2016 - 10:50 am
If your results include standard errors, you can interpret them. Or you can try the suggestions in the error message.
 Charlotte Vrijen posted on Saturday, August 13, 2016 - 5:29 am
Thank you for your reply. But could you advice what starting values I would need to choose and how do I change them? In the manual I read something about adding an * followed by a starting value in the model specifications. Or would you recommend using the STARTS option in this case? Below I print my input. Would it be possible to indicate what changes should be made to the syntax to try different starting values and what ranges would you recommend me to try?

Thanks again!

Input:
INPUT INSTRUCTIONS

[...]

Variable:
Names are short_ID Time Day day_part Group ID INT
JOY SAD IRR WOR POS NEG INT_1 JOY_1 SAD_1 IRR_1 WOR_1 POS_1
NEG_1 afternoo evening morning;

Usevariables = INT INT_1 JOY_1 SAD_1 IRR_1 WOR_1 POS_1 NEG_1
afternoo evening;
Missing are ALL (-999);
Within = INT_1 JOY_1 SAD_1 IRR_1 WOR_1 POS_1 NEG_1 afternoo
evening;

Cluster = short_ID;

DEFINE:
CENTER INT_1 JOY_1 SAD_1 IRR_1 WOR_1 POS_1 NEG_1 (GROUPMEAN);

Analysis:

Type = twolevel random;
Estimator = MLR;


Model:
%within%
sINT| INT on INT_1;
sJOY| INT on JOY_1;
sSAD| INT on SAD_1;
sIRR| INT on IRR_1;
sWOR| INT on WOR_1;
sPOS| INT on POS_1;
sNEG| INT on NEG_1;
INT on afternoo evening;

%between%
 Linda K. Muthen posted on Saturday, August 13, 2016 - 6:44 am
I would not use starting values. For further help, please send the output and your license number to support@statmodel.com.
 Charlotte Vrijen posted on Saturday, August 13, 2016 - 11:48 am
I just sent the output and licence number. Many thanks in advance!
 Charlotte Vrijen posted on Wednesday, October 12, 2016 - 2:28 am
I asked about the following warning before:

WARNING: THE MODEL ESTIMATION HAS REACHED A SADDLE POINT OR A POINT WHERE THE OBSERVED AND THE EXPECTED INFORMATION MATRICES DO NOT MATCH. AN ADJUSTMENT TO THE ESTIMATION OF THE INFORMATION MATRIX HAS BEEN MADE. THE CONDITION NUMBER IS -0.214D-02. THE PROBLEM MAY ALSO BE RESOLVED BY DECREASING THE VALUE OF THE MCONVERGENCE OR LOGCRITERION OPTIONS OR BY CHANGING THE STARTING VALUES OR BY USING THE MLF ESTIMATOR.

THE MODEL ESTIMATION TERMINATED NORMALLY

And after sending my output you recommended that I could use the results because the output contained standard errors. I followed your advice to ignore the warning. Now me and my supervisors are wondering whether it would not be better to use the same information matrix estimation for all analyses, so is there a way we could make the same adjustment to the information matrix for our other multilevel analyses? We feel they would be better comparable in this way. We have several analyses that have the same input as described above (only different variables) and while several analyses do result in the warning and thus the information matrix is adjusted, others do not, with the result that we now use two different information matrix estimation methods whereas we would like to use the same method for all analyses.

Is this possible in Mplus? Many thanks!
 Tihomir Asparouhov posted on Wednesday, October 12, 2016 - 4:14 pm
There are 4 suggestions in the last sentence

THE PROBLEM MAY ALSO BE RESOLVED BY DECREASING THE VALUE OF THE MCONVERGENCE OR LOGCRITERION OPTIONS OR BY CHANGING THE STARTING VALUES OR BY USING THE MLF ESTIMATOR.

You should try to use those to resolve the problem before proceeding.

But if the message persists the last suggestion estimator=mlf can be used to avoid the problem and have the same method be used for all SE computations.
 Charlotte Vrijen posted on Wednesday, October 12, 2016 - 11:56 pm
Thank you for your reply. Of course I noticed the 4 suggestions, but when I asked on this forum what the best strategy would be (since I am not a very experiences Mplus user) and sent my output files to the Mplus support desk I was adviced: "You receive standard errors. They are in the column S.E. Therefore, you can ignore the message." I also read that the MLF estimator overestimated the standard errors and on the forum I noticed that people were adviced against using it in cases comparable to mine. Because (in fact I think it was your article) I also read about the possibility of using a simplified version of the actual information matrix, I figured that this may be another way to solve the problem. For example to assume orthogonality (since there are simulation studies showing that in the type of analyses I am doing this does not have a large effect on the results).

I hope this is a little bit clear! So my question is whether/how I can use a simplified version of the information matrix in my multilevel analyses (for an example of one of my inputfiles see above) and also whether you would recommend this. Or would you rather recomend something else? (If it is changing the starting values after all could you please advice me on which values to choose and how?)

Many thanks in advance!
 Tihomir Asparouhov posted on Thursday, October 13, 2016 - 2:41 pm
There are three things to keep in mind.

1) Figure out the reason for the problem

2) Decide if you should stick with that model or you should change the model

3) If you decide to keep the model what to do to improve the estimation.

For 1) looking at your input this is almost certainly caused by an effect that is not random (near zero variance .. remove it ... use fixed effect) or by two random effects that have a correlation of +-1 (I would use estimator=bayes for this problem)

2) Given that this is a part of a bigger set of model runs I assume you don't want to change the model but that will be most desirable, however the ML estimator tends to get into singular random effect matrices simply because of small number of clusters and the Bayes estimator switch is best then.

3) The saddle point message is 75% of the time incomplete convergence most likely you can resolve using miter=50000; mconv=0.000001; The slow convergence is due to between level singularities. About 25% it is caused by unidentified model.

You best bet apart from that is the MLF estimator. The adjustment amounts to removing negative eigenvalues - not something you can do when there is no problem.

You can add starting values using simpler runs that converge such as models with one or two fewer random effects (I don't think this is likely to solve the problem though) or use starts.

To summarize estimator = bayes or mlf is the best bet or modify the model.
 Tihomir Asparouhov posted on Thursday, October 13, 2016 - 2:42 pm
One last note - if none of the above improves the situation - it is safe to use the standard errors that Mplus gives you.
 Charlotte Vrijen posted on Monday, October 17, 2016 - 7:51 am
I will try the options you suggested. Thank you very much for this detailed advice!
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: