Randomization of start values PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
 Anonymous posted on Tuesday, July 06, 2004 - 2:06 pm
I am writing a paper in which I estimated a mixture model used the randomization procedure new to M-Plus 3.0. I want to describe specifically how the start values are generated, but cannot find documentation either in the new manual or in the online technical appendix. Can you give me some information regarding how this is done? Thank you.
 Linda K. Muthen posted on Tuesday, July 06, 2004 - 5:16 pm
We have not yet written up all of the technical information related to Version 3. As we do, we will add it to the Technical Appendices on the website. If you look under STARTS in the Index of the Mplus User's Guide, there is a brief description.
 Anonymous posted on Friday, July 23, 2004 - 7:19 am
I really appreciate the addition of random starts to Mplus. A couple of questions so that I understand how to use this better:

In the manual it indicates that random starts are random perturbations around the user-specified or automatic start values for all parameters except variances and covariances. So are variances and covariances held constant at the user-specified or automatic values?

Also, the default for the STSCALE is 5 -- does that control the dispersion of the random perturbations? Is it the width of a uniform distribution, or is the metric in sds of a normal distribution, or something else? 5 is indicated to be a medium value, but I don't understand the scale.
 Anonymous posted on Friday, July 23, 2004 - 10:11 pm
The variances and covariances will get the same starting values across the different perturbation runs.

STSCALE controls the dispersion of the random perturbations by multiplying the a perturbation in the sds metric by a uniform distribution with that width. The rule of thumb is that if the default scale doesn't produce enough diverse solutions you would increase STSCALE, if it produces too many improper solutions, like classes collapsing and singular variances, you would decrease it. You can also get the perturbed starting values with OPTSEED and MITER=1. Tihomir
 Anonymous posted on Friday, November 18, 2005 - 6:42 am

I'm am trying to use the OPTSEED option to specify a start seed for a latent class analysis but cannot get MPLUS to run more than the default 500 iterations.

I've tried using MITERATIONS = 2000 but this doesn't seem to work with the OPTSEED option

could you please help?

Thank you
 Linda K. Muthen posted on Friday, November 18, 2005 - 7:00 am
Please send your input, data, output, and license number to support@statmodel.com so we can see what is happening. Also, include the output where you found the seed that you are using.
 anonymous posted on Thursday, March 02, 2006 - 5:16 am
I have a question with regard to starting values.
I have been running LCA with different sets of starting values in order to examine whether there exist different local maxima. i am a little unsure as to how to evaluate the tech8 output. do i simply check the column labelled 'loglikelihood at local maxima', and then examine whether there exist vast differences between the values?
in all my runs (with different sets of starting values), the loglikelihood values in that colum are almost identical and the estimated loglikelihood value listed along with the fit statistics is the same across all runs. does this mean I can be confident in the obtained solution in that it is not reaching too many different local maxima?
 Linda K. Muthen posted on Thursday, March 02, 2006 - 8:07 am
I'm not sure if you are changing the starting values yourself. It sounds that way given that you are looking at TECH8 for each solution. You can use the STARTS option which will randomly generate sets of starting values. This option and related options are described in the user's guide on pages 436-438. On pages 325-328, you will find a description of how to know if you have found a good solution. Note that the new user's guide is available online.
 Christian Geiser posted on Thursday, December 13, 2007 - 2:28 am
I have a question concerning the Mplus output with regard to random starts. I noticed that while Mplus versions 3 and 4 always provided the loglikelihood values, seeds, and initial stage start numbers for *all* sets of starting values (initial + final stage of the optimization), Mplus 5 provides this information only for the final stage of the optimization. Is there a way to make the initial stage starting value information available in Mplus 5 in addition to the final stage values (other than TECH8)?

(I am teaching LCA with Mplus 5 and for didactic reasons, it would be nice to have both sets in the output to illustrate what is done in order to avoid local maxima.)

Thank you very much in advance!
 Bengt O. Muthen posted on Thursday, December 13, 2007 - 10:03 am
We decided to delete the initial starts because with faster computers and more complex models many starts are being used and the output is lengthy. Plus we typically didn't look at the values of the initial starts. For instance, the final set of values tells us how many fewer random starts we might have been able to get away with. There is not a way to make them available in Version 5. So the pedagogical presentation would have to draw on displays outside the output.
 Sanjoy Bhattacharjee posted on Thursday, August 21, 2008 - 8:32 pm
Professor(s) Muthen,

I am running "LCA with covariates" model. The model estimation terminated normally. However, I got the following warning "WARNING: THE BEST LOGLIKELIHOOD VALUE WAS NOT REPLICATED. THE SOLUTION MAY NOT BE TRUSTWORTHY DUE TO LOCAL MAXIMA. INCREASE THE NUMBER OF RANDOM STARTS."

I tried with four different STARTS: (500 10), (1000 10) (500 20), (1000 20) with STITERATIONS=20, however I keep getting the same warning.

With (1000 10) the Log-likelihood values at local maxima, seeds, and initial stage start numbers are the following:

-1076.170 863691 481
-1083.083 366533 484
-1083.703 928287 197
-1085.223 349263 263
-1085.545 61587 400
-1086.163 352277 42
-1090.509 479273 156
-1091.846 275475 413
-1094.520 888905 444
-1100.841 879211 453

Q1. How diverse these likelihood values are? Can I submit the result claiming that we reach global rather than local maxima? If not how should I proceed?

Q2. How should I use the option “OPTSEED” and analyze the result. Could you suggest some example?

I am using MPlus 4.

Thanks and regards
 Linda K. Muthen posted on Saturday, August 23, 2008 - 9:59 am
There have been so many changes between Version 4 and Version 5.1 that it is difficult to say what is happening. I recommend getting Version 5.1.
 Jungeun Lee posted on Tuesday, June 23, 2009 - 1:03 pm

Regarding "Anonymous posted on Friday, July 23, 2004 - 10:11 pm ", what does "diverse soultions" mean in the sentence "the default scale doesn't produce enough diverse solutions"? Diverse seeds? diverse LL? or something else? Thanks!!
 Bengt O. Muthen posted on Tuesday, June 23, 2009 - 3:25 pm
Diverse LL values. - Which is a function of the diversity of the starting values.
 Ruixue Wang posted on Tuesday, February 15, 2011 - 12:37 pm
Hi,I have couple of questions about tech8 and starts value.

Final stage loglikelihood values at local maxima, seeds, and initial stage start numbers:

-4545.804 569131 26
-4545.804 608496 4
Here I know the final stage use the starts number 26 and 4 from initial stage. But what's seeds, how does mplus generate seeds? Can I use seeds to identify the exact starting value?
2.In tech8

1 -0.60111874D+04 0.0000000 0.0000000 339.588 160.412 EM
2 -0.45545041D+04 1456.6833360 0.2423287 337.311 162.689 EM
3 -0.45536646D+04 0.8394853 0.0001843 335.247 164.753 EM
How can I find what's the starting value in set 1? Is it random value? Can I specify the starting value? The iter is 3. Does Mplus run 3 iter only or it stops when the abs change is small enough?
 Bengt O. Muthen posted on Tuesday, February 15, 2011 - 2:03 pm
The seed is a random variable that determines what the starting values will be. So for your first LL value of -4545.804 the seed is 569131. You can use this seed in a new run to get those starting values, saying

OPTSEED = 569131;

You can see the starting values in the Tech1 output.

Mplus runs iterations until the first-order derivatives are small enough.
 Ruixue Wang posted on Tuesday, February 15, 2011 - 2:22 pm
thank you.
Is that possible to decide what the start value by myself?
 Bengt O. Muthen posted on Tuesday, February 15, 2011 - 2:41 pm
Yes. Just give them and say STARTS=0.
 Ruixue Wang posted on Tuesday, February 15, 2011 - 2:48 pm
sorry I don't understand.
I mean how to set the start value from the very beginning.you mean use starts=0,then give the starts value(such as 39 15 3)to what?
 Bengt O. Muthen posted on Tuesday, February 15, 2011 - 3:50 pm
No, you give start values for the parameters in the usual way, such as


 Ruixue Wang posted on Tuesday, February 15, 2011 - 4:41 pm
thanks. IF I want to setup several start values, is it [i*1.5 1.6];or [i*1.5];[i*1.6];?can you tell me which part of users guide introduce this concept:random or fixed start values?
 Linda K. Muthen posted on Tuesday, February 15, 2011 - 5:26 pm
You can give only one starting value for a parameter.
 Jeremiah Schumm posted on Thursday, June 30, 2011 - 11:10 am
Dear Bengt and Linda,
I have been trying to compare a 2 versus a 3 class mixture model. The 2 class model converged appropropriately, showed a repetition of the best log likelihood value, had lower BIC, and a had significant bootstrapped likelihood ratio test all favoring the 2 versus 1 class model.

To attempt to obtain a repetition of the lowest log likelihood value for the 3 class model, I increased the initial random starts to 1000 and final stage optimizations to 10. I also increased the initial stage iterations to 20. This still did not result in a repetition of the lowest log likelihood value.

Therefore, I followed the suggestion in the user guide and used the optseed command to examine the parameter estimates in the model solutions. These model solutions showed different estimates for each seed. The Mplus user guide suggests that this indicates that the model is not well-defined, possibly due to there being too many classes.

Are there any other steps or recommendations that you would have to trying to acheive a replicated lowest log likelihood value before I conclude that the 3 class model is not well-defined and go with the 2 class model?
 Linda K. Muthen posted on Thursday, June 30, 2011 - 5:22 pm
The final stage optimizations should be about one fourth of the random starts. I would try 1000 250 or even 2000 500.
 Jeremiah Schumm posted on Friday, July 01, 2011 - 6:36 am
Linda, thank you for your reply. I was able to acheive model replication by trying your suggestion of increasing the starts to 2000 and final stage optimization to 500. I will keep this ratio in mind for future analyses.
 Stata posted on Thursday, March 08, 2012 - 7:06 pm
Dear Bengt and Linda,

I am trying to follow the example in 7.6 for my study.
1) How should I determine starting values? In addition,the example in the manual also assign negative values to some variables but not others. I can't find further explanation about this in the manual.
2) Does Mplus automatic starting values with random starts take care of the problem associate with "converge on local solutions"

Thank you.
 Linda K. Muthen posted on Friday, March 09, 2012 - 12:25 pm
1. This example uses starting values but not random starts. This would usually occur when an analysis in in the final stages and one does not want a lot of random starts so uses starting values and no random starts to speed things up. You would take the starting values from the analysis.

3. Using random starts and the Mplus default starting values will help to avoid local solutions.
 Stata posted on Friday, March 09, 2012 - 7:47 pm

Thank you very much for this prompt reply.
 Stata posted on Saturday, March 10, 2012 - 9:05 am
Dear Professor Muthens,

I previously did not mention that there are 60 variables with 4-point, 3-point, and binary indicators in my study. When I used default starting values with random starts, I got the following message:


I am really confused with deciding threshold starting values.
The manual use 1 and -1 or binary; 0.5 and 1, -0.5 and 0 to three-category indicators. I am not sure if I assign correct threshold starting values to my 9 indicators with 4-point scale:

[u1-u5$1*0.33 u6-u9$1*-0.33];
[u1-u5$2*0.66 u6-u9$2*0];
[u1-u5$3*1 u6-u9$3*0.33];

Thank you
 Linda K. Muthen posted on Saturday, March 10, 2012 - 9:19 am
If you do not have knowledge of what the starting values should be, use the default starting values. The message means you should increase the random starts using the STARTS option, for example,

STARTS = 1000 250;
 Stata posted on Saturday, March 10, 2012 - 9:49 am
Thank you.
 Stata posted on Saturday, March 10, 2012 - 10:57 am
I got error message after adding

STARTS = 500 125;

*** ERROR in VARIABLE command
Unknown option:

I tried different ways to get rid of the problem, but it kept showing the same error message.
 Linda K. Muthen posted on Saturday, March 10, 2012 - 11:00 am
STARTS belongs in the ANALYSIS command.
 Julia Lee posted on Tuesday, April 17, 2012 - 7:30 am
I am running an LTA with 5 classes and I am using STARTS = 800 40; The output did not include the final stage loglikelihood values. Is it because the model was not terminated normally? I did not see the message about normal termination. From covariance, the output jumped straight to model fit information. Thank you for your advice.
 Linda K. Muthen posted on Tuesday, April 17, 2012 - 8:16 am
I would need to see the output to understand why this happened. Please send it and your license number to support@statmodel.com.
 kelly kenzik posted on Thursday, January 10, 2013 - 1:34 pm
I am testing several latent class mixture models with categorical indicators for 2 latent factors. (u1-u21 has 3 categories and u22-36 has 4 categories)
Sample set up code for allowing the variance and covariance to vary across classes looks like this:
algorithm=integration; integ=7;estimator=mlr;
starts= 1000 250;
f1 by u1-21;
f2 by u22-36;
f1-f2; f1 with f2;
f1-f2; f1 with f2;
f1-f2; f1 with f2;

I have had success with having the means vary (variance and cov invariant across classes) but I am trying to determine if there is a way to use my start values from the basic latent class model to speed up the analysis? I know using the SVALUES gives this information and I have used it previously to change my reference class. Are these start values usable for the more complex variations?

Thanks for any help!
 Bengt O. Muthen posted on Thursday, January 10, 2013 - 2:05 pm
You can use them but I don't think they are useful here because your solution with free factor covariance matrices may be quite different.

But - are you holding the factor means at zero and the thresholds invariant across classes? That seems very restrictive.
 kelly kenzik posted on Thursday, January 10, 2013 - 5:54 pm
Thanks for the quick response. I had a feeling that would be the case.
I am looking at different variations- my next model frees factor loadings, thresholds, and variances.
I was just concerned because with the current model, 4 classes is taking upwards of 8-10hrs and I assume the less restrictions I place the longer the model will take.
 kelly kenzik posted on Friday, January 11, 2013 - 5:22 am
Dr. Muthen- Just to ammend/update my previous post (and to thank you) part of my 10hr run was a technical problem i just realized.
Also per your comment on being too restrictive, I started to think that that was the reason the loglikelihoods were not replicating even with max random starts.
I allowed the thresholds and means to vary and the model completed with LL replicated within 3 hours for 4 classes.
Does this just mean my data does not fit the more restricted models? And I would report that the LL were not replicated in the restricted models?
Thank you!!
 Bengt O. Muthen posted on Friday, January 11, 2013 - 4:03 pm
Note that when you allow the thresholds to vary across the classes, the factor means must be fixed at zero in all classes for the model to be identified.

I think your earlier model had the thresholds equal across classes and the factor means fixed at zero for all classes. Such a model does not seem meaningful so should not be considered.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message