Message/Author 


I'm trying to implement the SatorraBentler strictly positive chisquare difference test as described in Mplus Web note 12 for a factor mixture model with 4 classes. I have followed the procedure outlined in the web note except that to prevent Mplus from updating the start values, I have set convergence, mconvergence, logcriteria and rlogcriteria parameters to large values. Despite all this, Mplus takes a 2nd iteration in the EM algorithm regardless of how high I set the convergence parameters. If I put in start values with more then 3 significant digits, like 6 significant digits, which is considerably more work then using the svalues feature, Mplus still takes a 2nd iteration even though almost nothing changes. Is there something else that has to be set? 


Mike Try miter=1 or send your example to support@statmodel.com Tihomir 


I tried setting miter=1 and then Mplus tells me that an insufficient number of E steps have been taken and I don't get the MLR scaling factor that I need to compute the strictly positive test. I will send you the example and data. 


I am running into the same problem as presented above with estimating an m10 model. I have tried increasing the convergence, but there are iterations in the 'gradient' and 'quasinewton' sections. Is there any more news on this issue? Thank you. 


Please send the relevant files and your license number to support@statmodel.com. 


I am also running into this same problem with type=random and algorithm=integration. When I set miter=1, it tells me "THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO AN INSUFFICIENT NUMBER OF E STEPS. INCREASE THE NUMBER OF MITERATIONS. ESTIMATES CANNOT BE TRUSTED" and it does not give me any loglikelihood or scaling factors. Was there a resolution to this problem that would allow me to get the scaling factor for the M10 model? 


Please send the output and your license number to support@statmodel.com. 


Can anyone report back on the solution to this issue? Here is the analysis statement I am using to produce the m10 model: ANALYSIS: type=mixture random; ESTIMATOR=mlr; PROCESSORS = 8; algorithm=integration; !convergence=100000000; miter=1; Thanks! 


You should not comment out the CONVERGENCE option. 


Hi Linda, When I include the MITER statement, I received the following warning whether or not I have the convergence=100000000 statement included: THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO AN INSUFFICIENT NUMBER OF E STEPS. INCREASE THE NUMBER OF MITERATIONS. ESTIMATES CANNOT BE TRUSTED. 


Please send the output and your license number to support@statmodel.com. 


Dear Muthéns, I performed a LMS model with 2 groups (type=mixture random; algorithm=integration). Subsequently, I computed a SB scaled Chi square difference test to compare a model without the interaction term (Model 0) to a model with the interaction term (Model 1). Thus the result of the SB scaled Chi square difference test was negative, I tried to estimate a third model (Model M10). I followed web note 12, example 1. My models are: M0 – Model without interaction term, output: svalues; M1 – Model with interaction term in each group; M10 – 1) Model produced by svalues; 2) adding the interaction term in each group (f3 on f1xf2) Question: Is this the right procedure for LMS models? I am asking because the scaling correction factor of M10 is smaller than the scaling correction factor of the M1 model – thus the chisquare is still negative. Mplus is fixing the interaction term automatically to zero. Thank you very much. 


If you have only a single XWITH interaction you only need the ztest for its slope. 


Thanks! 


Good morning, I'm also having a hard time figuring out where my strictlypositive chisquare difference test is going wrong. I'm doing an LCA with KNOWNCLASS , so my restricted M0 model is constraining the parameters to be equal between the two known classes (sex), while the M1 model is allowing the parameters of the 2 latent classes to differ by the KNOWNCLASS. I have tried using the starting values from the M0 output and setting CONVERGENCE=1000000000; MITER=1; or both. The resulting models either take iterations in the gradient or quasinewton sections or fail to converge (INSUFFICIENT NUMBER OF E STEPS). Any help would be appreciated. Thank you, Michelle Carras 


Try using miter=1; STARTS = 0; algo=ODLL; mconv=100000000; 


Dr. Asparahouv, Thank you very much for that suggestion. I found that making that change fixed the problem with the analysis taking iterations, but some other problems emerged. I was unable to get Mplus to estimate more parameters when I cut and pasted the starting values from the M0 output where parameters were constrained between the two knownclasses (sex). I ended up removing the starting values from the 2nd knownclass (i.e., the G#2.C#1 and G#2.C#2 specific statements) to fix this problem. This produced a saddle point error message in estimation (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.) It did estimate the correct number of parameters and examination of the latent class patterns showed that thresholds differed. The computation of chidiff using this LL1 and cd value seemed to be feasible, but I wonder if taking the additional step of removing the starting values for the G2 knownclass invalidates or defeats the purpose of using STARTS=0 and taking other steps to ensure that the M10 model is correctly specified? Thanks for your input, Michelle 


If I am not mistaken, in the M10 model you need to remove the parameters constrains between the two knownclasses. If the loglikelihood value for the M10 model is not the same as the loglikelihood value for the M0 model the procedure is not valid. 


Dear Drs. Asparouhov and Muthen, I have a question regarding computing the correct scaling correction factor for the strictly positive SatorraBentler chisquare for comparing a onefactor CFA to a twofactor CFA. However, I am having the same problems as the previous poster on this thread. Here is the relevant syntax I am using for the models: M0 Model: ANALYSIS: TYPE=COMPLEX; ESTIMATOR=MLR; MODEL: DV BY SDV1SDV70 EDV1EDV70; OUTPUT: STANDARDIZED SVALUES; M1 MODEL: ANALYSIS: TYPE=COMPLEX; ESTIMATOR=MLR; MODEL: SDV BY SDV1SDV70; EDV BY EDV1EDV70; OUTPUT: STANDARDIZED; M10 Model: ANALYSIS: CONVERGENCE=100000000; TYPE=COMPLEX; ESTIMATOR=MLR; MODEL: SDV BY SDV1SDV70; EDV BY EDV1EDV70; OUTPUT: STANDARDIZED TECH5; Also in the syntax for the M10 model I included the starting values for the parameters obtained in the output for the M0 model. I did not list them here in the interest of conserving space, as there are many indicators of each factor Is this the correct way to specify the M10 model for the onefactor vs. twofactor comparison that I am interested in? Thanks! 


Maybe there is some confusion regarding the scale of the latent variables. I think it is easier to do this using the metric where the latent variables have a variance fixed to 1. Try these MODEL M0: DV BY SDV1SDV70*1 EDV1EDV70*1; DV@1; MODEL M1: SDV BY SDV1SDV70*1; SDV@1; EDV BY EDV1EDV70*1; EDV@1; SDV with EDV; MODEL M10: SDV BY SDV1SDV70*(M0 sv); SDV@1; EDV BY EDV1EDV70*(M0 sv); EDV@1; SDV with EDV*1; 


Dr. Asparouhov, Thank you for the quick response. This seems like it should work, but I think I may be misunderstanding the M10 syntax. When I specify each starting value from the M0 model, I get the following error messages: THE ESTIMATED COVARIANCE MATRIX COULD NOT BE INVERTED. COMPUTATION COULD NOT BE COMPLETED IN ITERATION 1. CHANGE YOUR MODEL AND/OR STARTING VALUES. THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO AN ERROR IN THE COMPUTATION. CHANGE YOUR MODEL AND/OR STARTING VALUES. Here is the syntax I am using for the M10 model (x.xxx represents the starting values from the M0 model): SDV BY SDV1*x.xxx SDV2*x.xxx ... SDV70*x.xxx; SDV@1; EDV BY EDV1*x.xxx EDV2*x.xxx ... EDV70*x.xx; EDV@1; SDV WITH EDV*1; Because of this error, there is no log likelihood value to compare to the value from the M0 value. I am guessing that I am just specifying the syntax incorrectly, but am not sure how it should be respecified. Do you have any suggestions? Thanks again! Marc Goodrich 


These indicators must be categorical then. Try SDV WITH EDV*0.9999; If this doesn't work send it to support@statmodel.com 


Thank you. This suggestion worked, when used in conjunction with: miter=1; STARTS = 0; algo=ODLL; mconv=100000000; My apologies for not mentioning that the indicators were categorical previously. 

Back to top 