Message/Author 


Hi, I am a bit confused about the difference between GMM and LCGA. I am reading your article (Muthen & Muthen, 2000) and am starting to understand the difference, but could use a definition directly from you. 


The major difference between LCGA and GMM is that LCGA does not allow withinclass variation whereas GMM does allow withinclass variation. 

Anonymous posted on Wednesday, March 26, 2003  11:10 am



Thanks, my analysis is using LGM with ordered categorical outcome variables. I will be conducting an analysis of the number of trajectories. Would you consider this GMM or GGMM (framework D)? 


GMM and GGMM refer to continuous outcomes. For categorical outcomes, only LCGA is available in the current version of Mplus. LCGA is latent class growth analysis that allows for mixtures with no withinclass variation. 


Sorry for being such a bother and thank you very much for the help. I'm rather new at this but am enjoying the program and it's capabilities greatly. 


I'm glad. Don't hesitate to ask questions. 


What do I use if I have categorical outcomes but I am interested in examining mixtures and within variability as well? 

bmuthen posted on Friday, June 04, 2004  7:49 am



Mplus Version 3 is unique in making that analysis possible using ML with numerical integration over the withinclass random effects (continuous latent variables). You request analysis type=mixture and algorithm=integration. Note that mixture modeling with categorical outcomes is harder than with continuous outcomes and you want to use aws few random effects as possible, e.g. only making the intercept random. 


When we can assume the withinclass variations on the growth factors are the same for each class, is GMM still meaningful as opposed to LCGA? 


LCGA has no within class variance of the growth factors. If there is no within class variance of the growth factors, GMM and LCGA should look the same. Variation being the same could be no variation or all classes with a lot of variation. 

EFried posted on Wednesday, February 08, 2012  7:21 am



I'm running 10 GMMs, one with a continuous outcome variable and nine with categorical outcome variables. From the videos on the website, the Wickram 2008 GMM paper and also from what I read in the MPLUS 6 manual so far I got the impression that the difference between LCGA and GMM is: LCGA: Type = mixture; is@0; GMM: Type = mixture; !is@0; However, on p.219 of the manual, chapter 8.09 you state that "when type=mixture without algorithm=integration is selected, a LCGA is carried out". This was new to me and honestly I don't find "algorithm=integration" in the GMM papers I've read so far. I would be very happy for clarification. Thank you T. 


The difference between LCGA and GMM is that in LCGA growth factor variances are zero and in GMM they are estimated. TYPE=MIXTURE without ALGORITHM=INTEGRATION does not estimate growth factor variances. With ALGORITHMINTEGRATION, it does. 

EFried posted on Wednesday, February 08, 2012  8:48 am



Thank you for your quick reply. (1) Is there a difference between "fixing GF variances to zero" and "not estimating GF variances"? (2) I just ran two GMM (continuous outcome variable) a) ! integration=algorithm; is@0; b) ! integration=algorithm; !is@0; If !integration=algorithm; fixes the growth factors variances to zero, the results should be the same for both models, but they are not. I must misunderstand something, obviously. (3) Does this have to do with categorical vs. continuous outcome variables? Is there some paragraph or paper I can read this up on? I don't find an overview about this in the manual, but it looks like the integration algorithm is only mentioned in examples for categorical outcome variables. Thank you so much T. 


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

EFried posted on Thursday, February 09, 2012  10:52 am



Linda, before I burden you with the output: do I understand correctly that ALGORITHM = INTEGRATION; is only used for models with categorical/count outcome variables, and not including it into models does the same as the model statement "is@0", that is fixing the variance of the intercept and slope growth factors to zero? 


For TYPE=MIXTURE, leaving out ALGORITHM=INTEGRATION is the same as fixing the growth factor variances and covariances to zero. This applies to all variable types. 

EFried posted on Thursday, February 09, 2012  1:38 pm



(1) According to the manual and your videos, type=mixture is the only viable type option for conducting GMMs  correct? (2) Algorithm = Integration is said to be computationally very demanding (both in the manual and in a couple of forum posts I found). With N=1000, 5 measurement points, 7 timeinvariant and 2 timevarying covariates, is algorithm=integration a viable option for running GMMs for me? If not, does that mean that with my model it is not possible to run GMMs, only LCGAs? Thank you so much, this is incredibly helpful for me. Eiko 


1. Yes 2. The computational burden with categorical outcomes is a function of the number of growth factors and the sample size. With your sample size, 23 growth factors (linear or quadratic growth) is not computationally demanding. 

EFried posted on Thursday, February 09, 2012  2:04 pm



Thank you, Linda! 1. Wonderful! What is the computational burden for continuous outcomes? 2. If leaving "Algorithm = Integration" out of a type=mixture model specification, models with and without the "is@0;" statement should be identical models, because both should have their growth factors (co)variances fixed to zero, right? This is not the case for me, results are drastically different. Why is that? 


1. Nothing unusual. 2. Leaving out integration and zero variances are the same. If you do not get the same results, you are doing something else. Please send the two outputs and your license number to support@statmodel.com. 


Hi, I have a short question: does it make any sense to test the class invariance assumption of residual variances when modeling LCGAs? In my data, I found that relaxing the invariance assumtpion of residual variance across trajectory classes resulted in a considerably better model fit based on BIC and the impact on trajectory class solutions was relatively big. However, to date, I have only heard of testing the invariance assumtpion of residual variances when GGMMs were used. Thank you! 


You may have a need for the residual variances to be different for different classes. I don't think this suggests a need to test for measurement invariance of the residual variances. 


Thank you! I'm sorry, my post was formulated in a misleading way. I was interested in classspecific residual variances in growth mixture models and I wanted to know whether it is a good idea to test the need for classspecific residual variances in Nagin models (LCGA). So far, I have only heard of the potential relevance of classspecific residual variances in growth mixture models (LGMM; cf. Enders & Tofighi, 2008). In my LCGAs (used as a first step to determine possible trajectory classes) the specification of residual variances as class specific appears to have a great impact on the final solutions in my data. But I'm somewhat confused because I have never seen that anybody checked for class specific residual variances in LCGAs (and very seldom in LGMMs). 


I think a good strategy with both GMM and LCGA is to go through the sequence 1. use classinvariant variances 2. plot and see which classes might need classspecific variances 3. rerun and see if BIC is better Classspecific variances can give different class formations. I think that should be checked for as above in both model frameworks. The Nagin model also holds residual variances equal across variables within class, and that too should be investigated and relaxed. 


Thank you! Btw, is there any rationale why mplus, by default, estimates timespecific residual variances in all kinds of growth models? SAS, and Proc Traj, to my knowledge, estimates timeinvariant residual variances by default (as you have mentioned in your last sentence). 


In the cases you consider, I believe those other programs take a univariate, twolevel, long data format approach to growth modeling, whereas in Mplus you also have the option of a multivariate, singlelevel, wide data format approach. In the first approach it is not possible to have timespecific variances, whereas in the second approach you can allow that and test if that is needed  which it often is. We recommend the second approach when it is possible. 

Laura posted on Tuesday, July 17, 2012  3:46 am



Hi, I have a question concerning the differences between GMM and LCGA. It is said in the User’s Guide on the page 219 that “When TYPE=MIXTURE without ALGORITHM=INTEGRATION is selected, a LCGA is carried out.” In the first GMM example (8.1) on the page 201 there is no “ALGORITHM=INTEGRATION” mentioned in the analysis command. Why is that? When I look at the LCGA example 8.11 on page 220 there is no ALGORITHM=INTEGRATION (as it is not supposed to be) but the variances are not fixed at zero either ("is@0"). What is the difference between these examples, 8.1 and 8.11? What makes the former an example of GMM and the latter an example of LCGA? 


In Example 8.1, the outcome is continuous so ALGORITHM=INTEGRATION is not needed. 8.11 is for a count outcome. 

IYH Boon posted on Saturday, August 04, 2012  11:29 am



I found an example on your website (through Google) and would like to know if there is an .inp file associated with it. The address for the example, which is dated August 2011, is: http://www.statmodel.com/download/GMM%20analysis%20strategies.pdf Thanks! 


LCA examples are found in Chapter 7 of the user's guide. LCGA and GMM examples are found in Chapter 8 of the user's guide. 

H Feng posted on Tuesday, March 01, 2016  11:43 am



Dear Dr. Muthen, I am a bit confused with a few points here: 1. you said when "the outcome is continuous so ALGORITHM=INTEGRATION is not needed for GMM" and also "For TYPE=MIXTURE, leaving out ALGORITHM=INTEGRATION is the same as fixing the growth factor variances and covariances to zero. This applies to all variable types." Q: so any mixture model without ALGORITHM=INTEGRATION is LCGA, as the growth factor variances and cov is zero...is my understanding correct? if so, why example 8.1 is GMM not LCGA? 2. "If leaving "Algorithm = Integration" out of a type=mixture model specification, models with and without the "is@0;" statement should be identical models, because both should have their growth factors (co)variances fixed to zero" Q: I tried with and without "is@0;" for your example 8.1, but the results are different?? am I missing something here? 


Sounds like I might have misspoken. But it is very simple: For some outcomes and models, involving growth factor variances requires numerical integration with ML. See e.g. UG ex 8.5 for count outcomes  same for categorical outcomes. There is no need to memorize the cases. Just look in the output (estimates and TECH1) to see if growth factor variances are freely estimated. If they are not then just go back and mention those variances in the input. If that run tells you it requires integration, just add that. So the input for UG ex 8.1 does not mention growth factor variances, but you will find them in the output. Because they don't need integration and we assume you want the most general model. 


Just ran into this issue and confusion and wanted to mention this thread was super helpful. Also might want to include an example of LCGA with continuous outcomes in next UG? Might provide even further clarity. 


Remove the CATEGORICAL option from Example 8.9. Then it is LCGA for a continuous outcome. 


Indeed but would not the caveat apply that you would also have to add the line: is@0; If not, you get the variances estimates for each class (equal as default) which makes it GMM, no? That is, even without algorithm integration specified, example 8.9 (sans the categorical option as you note) would still yield the variance estimates within class w/out manual specification as above. 


Yes, you would also need to add that. 


Dear Drs. Muthen and Muthen, I want to determine whether my data is better suited for GMM or LCGA. I am using one continuous variable across five waves of data. When I leave out ALGORITHM = INTEGRATION for LCGA, estimates and TECH1 show estimated variances/ covariances with nearly identical estimates of ICs (+/.001) as GMM. My "best guess" for running a LCGA model would be including is@0 under MODEL  Is this correct? Should I still not include ALGORITHM = INTEGRATION in the syntax? I have included syntax of the two proposed models reference LCGA ANALYSIS: TYPE = MIXTURE; STARTS= 100 20; LRTSTARTS = 10 1 200 40; Model: %overall% i s  coupb@0 coup1@1 coup3@3 coup5@5 coup9@9; is@0; GMM ANALYSIS: TYPE = MIXTURE; STARTS= 100 20; LRTSTARTS = 10 1 200 40; ALGORITHM = INTEGRATION; Model: %overall% i s  coupb@0 coup1@1 coup3@3 coup5@5 coup9@9; Many thanks, Caroline 


In the GMM run, if you don't get variances for i, s, you should mention these variances in the Model command. For LCGA, it is fine to say is@0 but typically this is not needed. 

Back to top 