Moving variances PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
 Bruce A. Cooper posted on Thursday, September 15, 2011 - 5:46 pm
I'm trying to estimate a 3-class GMM. I have set quad var to zero but want to allow i & s var to differ across classes. I specify random starts with starting values. C#1 needs the s var to be fixed @0, and s var are est separately for c#2 & c#3. When I order the class starting values to put the largest class last and re-estimate, the means "move", but the fixed s var "stays" with the c# it was fixed for. Now, the new model gives me the same "not pos definite" warning for the class that used to be c#1, and the new c#1 has the s var fixed at zero. How can I fix the var for a class allowing other class var to differ, and still get a stable solution? Here are example starting values:

i s q | sa0@0 sa1@1 sa2@2 sa3@3
sa4@4 sa5@5 sa6@6 ;
q@0 ;
[ i*40 s*-6 q*0.6 ] ;
i*56 s@0 ;
[ i*46 s*0.5 q*-0.2 ] ;
i*75 s*2.9 ;
[ i*37 s*-3 q*0.2 ] ;
i*30 s*0 ;

In the last run, c#3 moved to c#1 and had a fixed s var, and c#1 moved to c#3 and gave the "not positive definite" warning.
Thanks, Bruce
 Bengt O. Muthen posted on Thursday, September 15, 2011 - 6:08 pm
Can't you do a run with the s variance free and request SVALUES in the Output command to save the estimates. Then you do a new run with Starts=0 and - if you like - switch the classes around to get the largest class last (the class logits won't be right, but you can refigure those if need be), and fix the s variance in the class that you want it fixed.
 Bruce A. Cooper posted on Monday, September 19, 2011 - 8:36 am
Thanks Bengt - Again, forgetting the basics! I've been using the final estimates to fix the starting values for the next run, but the result from your suggestion was much more informative.

I got starting values, but the result from the 3-class solution produced a third class that was only 3% of the sample, and (1) the best three LL nonreplicated with 800 random starts, (2) 29 parameters fixed to avoid a singular information matrix, and (3) non-pos def cov matrices for two classes involving i in C#1, and q in C#3.

From this, I'm guessing that I'm trying to squeeze water from a stone, and the program is telling me in a more fundamental way (than the BIC, VLMR, and BLRT), that 3 classes won't fit the data better than 2 classes without using very sample-specific fixed parameters and starting values.

Does that sound right?
 Bengt O. Muthen posted on Tuesday, September 20, 2011 - 8:36 am
Letting growth factor variances vary across classes can be dicey. A good way to approach it is to first go by the default which holds the variances class invariant, then look at the plots for estimated class-specific mean growth curves versus observed curves for people most likely to be in each class. That can show if one class seems to have less/more observed variability than the other classes. Then go and free the variance(s), such as for the intercept growth factor, for that class.
 Bruce A. Cooper posted on Saturday, October 01, 2011 - 4:38 pm
Thanks, Bengt! I'm responding via support email, because I can't get my note to fit in 1.5K! - bac
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