Message/Author 

Anonymous posted on Wednesday, September 21, 2005  1:38 pm



Dear Bengt and Linda: I have a 2group solution in a growth mixture model I am estimating, and would like to incorporate a 2level GMM for this continuous outcome (very similar to Ex 10.4 in the MPLUS manual). What is the minimum number of observations required per cluster? Most of my "clusters" consist of single members, with the rest comprising anywhere from 27 members. Should I consider aggregating some of the clusters, in order to make the multilevel specification work? 

BMuthen posted on Wednesday, September 21, 2005  3:25 pm



Clusters of one or more are allowed. Cluster size does not have as strong as an effect on the estimation as the number of clusters where we recommend from 3050 as a minimum. 

Anonymous posted on Thursday, September 22, 2005  8:15 am



That's great, Bengt, as I have 72 clusters in my sample. This does, however, diverge from "regular" multilevel modeling rules of thumb that call for at least 30 members within at least 30 groups (Hox, for instance). I wonder how GMM handles this, as I would imagine it splits up the sample into "within" and "between" covariance matrices, which would likely require multiple members in each cluster. If you don't mind, Bengt, would you please help me with the following questions: 1. Ex 10.4 in the manual uses a variable c that has predetermined class membership values. This is in contrast to the regular GMM where c is just identified in the CLASSES statement with no individual membership defined a priori for the observations. Would you please confirm that this variable is populated by first running a GMM WITHOUT the multilevel setup, and using the SAVEDATA CPROBABILITIES option to create the additional variable c? If this is so, would not the class membership possibly change when a multilevel specification is used? 2. I also notice you provide starting values for some parameters (c#1 , ib, and sb in Ex10.4)? Does this help MPlus's integration algorithm, and are these obtained from the previous GMM singlelevel run? 3. Why are the residual variances and slope factor (sb) for the BETWEEN model fixed to 0? (p. 241 of the manual states that this "...in line with conventional multilevel growth modeling." Could you please clarify?). I understand that numerical integration becomes complex with each additional residual to be estimated, but why are these particular residuals fixed? Thanks so much for your insights and your time, Bengt. Both are GREATLY appreciated! 

Anonymous posted on Friday, September 23, 2005  6:56 am



Dear Bengt and Linda: Would you please refer me to some references on multilevel growth mixture models? I have already read the example in the MPLUS manual and Bengt's chapter in Kaplan's book, and would like to read more on the interpretation of MPLUS output for these types of models. Thanks very much! 

bmuthen posted on Friday, September 23, 2005  8:19 am



Re Sept 22, 2005  08:15 1. The c variable in ex 10.4 does not have predetermined class membership  class membership is inferred from the data as in other mixture analyses. 2. Yes, some of the starting values are approximate values obtained from a previous singlelevel run and therefore help in finding the optimal solution. 3. Regular HLM modeling/software does not allow betweenlevel residual variances, but Mplus does. A zero value is often a good approximation because there is typically rather little timespecific betweenlevel variation  but there are exceptions so this Mplus capability can be important. 

bmuthen posted on Friday, September 23, 2005  8:21 am



Re Sept 23, 2005  06:56 No other papers are finished to date. I am planning to produce such papers and I am glad I have a potential reader. 

Anonymous posted on Friday, September 23, 2005  9:38 am



Thanks, Bengt. I do have a couple of followup questions on multivel GMM: 1. I did check ex10.4.dat, and found the variable c (referred to in the NAMES command in Ex10.4) populated with preexisting values (1 or 2). Aren't these class memberships derived from a previous run without a TWOLEVEL specification? If not, why do we refer to the c variable in the NAMES command, and how is the c variable populated? Regular GMM runs do not require the latent categorical class variable to be referred to in the NAMES statement. 2. I notice that Ex10.4 has classspecific means estimated in the BETWEEN model. My understanding is that this allows the growth fator means to vary by cluster. Prior to running the TWOLEVEL specification, I had a 2class GMM estimated, with classspecific parameters(freely estimated growth processes, factor means, and residual variances). (How) can I estimate classspecific means and/or classspecific regressions in the WITHIN model? That is, how do I allow the prototypical class member to have a separate growth process? Thanks for your help with these issues, Bengt. This is fairly hairy stuff!! 

bmuthen posted on Sunday, September 25, 2005  6:40 pm



1. Ah, I see where the misunderstanding comes in. I guess Ex 10.4 did not use a pedagogical choice of names for the variables. The "c" in the VARIABLE list is not the same as the "c" in the CLASSES = statement. I have c in the VARIABLE list because the data was generated by Monte Carlo and then you get the class membership. But the analysis does not use this c variable as you can see from the USEVARIABLES list. So the "c" in the CLASSES = statement is a totally different variable for which the latent classes are inferred, not known in advance. So for purposes of understanding this analysis, you should ignore that "c" was one of the variables read in the data. 2. If you think of the 2level modeling as concerning students in schools, the latent class variable concerns students, not schools (the latter could be added, but we haven't done that yet). So classes are formed by student patterns. Also, if you think about 2level regression models you have the means of observed student variables appearing on level 2  same thing here. All other classspecific parameters can be specified on level 1 (within). Hope this helps. 

Kersi Antia posted on Monday, September 26, 2005  2:56 pm



This is indeed very helpful, Bengt...thanks. I did run the model as you suggested, and got a solution to converge. However, when I attempt to specify classspecific regressions in the %WITHIN% model, I get an error message to the effect that starting values or nonidentification may be a problem. I have taken the liberty of sending MPLUS product support my data, program, and output files. I would greatly appreciate any tips you might have on resolving this. 

SAllua posted on Friday, November 18, 2005  9:56 pm



Hi Dr. Muthén , When you say, "...the latent class variable concerns students, not schools (the latter could be added, but we haven't done that yet)", does that mean latent class modeling at L2 can be done in V3.13? Thanks for your help! 

BMuthen posted on Saturday, November 19, 2005  8:19 am



A complete treatment of a betweenlevel categorical latent variable is not available in Version 3.13. But there are certain special cases that can be handled so if you let me know which model you are interested in I could think about how to do it. 

SAllua posted on Friday, November 25, 2005  7:30 am



Thank you for your interest. Could you clarify what you mean when you say, "A complete treatment of a betweenlevel categorical latent variable.."? I have read through various articles by Vermunt and Vermunt & Magidson and it appears that in Vermunt (2003) Applications of Latent Class Analysis in Social Science Research http://spitswww.uvt.nl/~vermunt/lnai2003.pdf , that he provides an example of using latent class analysis at both the between and within level. It is not clear, however, if the methedology behind this example and an example such as ex10.2 (Mplus manual) with the addition of a latent class at L2 is similar. Also, it is unclear which software was used and I would prefer to use Mplus for my analysis. Thank you. 

bmuthen posted on Saturday, November 26, 2005  6:34 am



Let me remind myself about that paper and get back to you. 

SAllua posted on Monday, January 02, 2006  1:49 pm



Following up from the previous discussion regarding Vermunt and LCA, is the main difference between your example 10.2 (twolevel CFA mixture model with continuous factor indicators) and 10.3 (twolevel CFA with categorical LC indicators with covariates) have to do with 10.2 incorporating both common factor analysis and LCA whereas 10.3 is only LCA? Is it correct to say the example 10.2 is a factor mixture model? I have read work by Lubke & Muthen 2005  Investigating Population Heterogeneity with Factor Mixture Models) and Lubke & Muthen (Performance of factor mixture models) and am still interested in how an example such as 10.2 can also incorporate LC at the betweencluster level. Thanks for your assistance. 

bmuthen posted on Monday, January 02, 2006  2:40 pm



Yes, 10.2 has both CFA and LCA features in that there is factor variance within each class. So, yes, 10.3 is a factor mixture model  in multilevel form. When you say that you want LCA features on the betweencluster level, do you mean a LCA model applied to the betweenlevel circles y1y5 in the model diagram, where classes differ in these variables' means? Can you tell me what the application is in order to focus the thinking? 

SAllua posted on Monday, January 02, 2006  3:43 pm



Thanks for your quick reply. Just to clarify, is it 10.2 that is a ML factor mixture model and 10.3 is not a ML factor mixture model as 10.3 does not include a CFA? I am still trying to understand how Vermunt uses ML LCA to identify, what appears to be, latent classes at L1 and L2 where employees (L1) are nested in teams (L2) http://spitswww.uvt.nl/~vermunt/sm2003.pdf (pg. 228) and if this differs from your example 10.2 with the addition of LC at L2. For the LC at L2, I was thinking that there might be unobserved heterogeneity among the schools (L2) where latent classes could be modeled similar to how unobserved heterogeneity is modeled at L1, identifying latent classes among individuals. 

SAllua posted on Thursday, February 09, 2006  5:40 pm



For example 10.2, I am having trouble interpreting the output where the following syntax was used: TITLE: this is an example of a twolevel CFA mixture model with continuous factor indicators DATA: FILE IS ex10.2.dat; VARIABLE: NAMES ARE y1y5 c clus; USEVARIABLES = y1y5; CLASSES = c (2); CLUSTER = clus; ANALYSIS: TYPE = TWOLEVEL MIXTURE; STARTS = 0; MODEL: %WITHIN% %OVERALL% fw BY y1 y2 (1) y3 (2) y4 (3) y5 (4); %BETWEEN% %OVERALL% fb BY y1 y2 (1) y3 (2) y4 (3) y5 (4); c#1*1; %c#1% [fb*2]; OUTPUT: TECH1 TECH8 TECH11; 1. Are the between class means (fb) interpreted as the mean of the class across all observations such that, for this example, the mean of class 1 is 2.2 units higher than class 2, the reference group with mean = 0? 2. Under categorical latent variables, can you please explain how to interpret the Within Level C#1 mean and the between level variance for C#1? 3. Have you or are you aware of anyone who has used a multilevel factor mixture model in an applied setting? Your help is greatly appreciated. 

bmuthen posted on Saturday, February 11, 2006  7:00 am



1. that's right 2.The c mean gives the class probability. On between c refers to the random mean  a continuous latent variable that varies across clusters. 3. I have used multilevel growth mixture modeling in an example of student growth in math achievement  see my 2004 chapter in the Kaplan handbook for which we have a pdf on our web site. I am not aware of other applications so your work will be interesting. Keep asking questions. 

Shane Allua posted on Tuesday, March 28, 2006  8:26 am



Hello, I am revisiting the interpretation of a between factor mean in a multilevel factor mixture model and have confused myself. When interpreting the between factor mean in a multilevel factor mixture model where the latent classes are at the individual level, is school irrelevant? In other words, the between factor mean is not interpreted as the school mean for latent class 1 versus the school mean for latent class 2. Can you help clarify how the latent class is at the within level but the between factor mean at the school level is interpreted to determine if the classes of individuals differ significantly on the factor mean? Thank you! 


This is a little tricky to keep track of. The current mixture approach in Mplus considers latent classes for variables measured on individuals. The means that vary across classes are means for those variables measured on individuals. The means help form the latent classes of individuals. These means are reported on the between level. So when individuals are nested within schools, it is not school means but means for variables measured on individuals. Seeing the means on the between level is analogous to 2level regression where say a random intercept has a mean and this mean appears on the between level (level 2). Means are not estimated on within (level 1). And where the level 1 predictor has mean zero, this intercept mean is the mean of the variable measured on the within level. In future Mplus versions, we will also have a latent class variable varying on the between level. That would be a schoollevel variable, classifying different schools. 


I’m fitting a multilevel model with random slopes. The level1 error distribution is clearly leptokurtic (kurtosis=4.9). My questions: I think that a mixture could solve this issue, if so, what kind of mixture (within, as ex.10.1 or between, as V4.2 ex.1)? Any references or examples will be appreciated. Many thanks. 


I think this could be a good use of the Mplus mixture capabilities. Seems like it could be handled by using (say) a 2class withinlevel c that lets the intercept vary across the classes. If the mixture is not of substantive interest, the estimated intercept means can be weighted together using the estimated class probabilities. 


Thank you very much; your suggestion solved the issue. My data is epidemiologic (standardized rates of occupational accidents at work), and using a 2class withinlevel c and letting the (betweenlevel) intercept vary across the classes, I got a normative class (97.3% of 982 cases) and an extranormative class (2.7% of 982 cases). The level1 error kurtosis dropped from 4.9 to 0.98 in class1, and 0.82 in class2. Now, some additional (and I hope final) questions: 1) Why did you suggested to let the intercept (a betweenlevel issue) vary across the classes, instead of the residual variance (a withinlevel issue), as one can suspect when talking about the level1 errors? 2) I don’t understand what you mean with “the estimated intercept means can be weighted together using the estimated class probabilities” (the classes, after careful inspection, don’t seem to have a substantive meaning). Mplus: What a wonderful world!!! 


Dear Fernando, I hope you don't mind that I'm chiming in here, but I'm kind of working with a similar model with some data I have. Regarding your second question. Haven't you identified that there are two meaningful classes (normative vs extranormative)? Therefore, I think the suggestion is to weight the means by the class probabilities reported in the output. This way the means are reflecting the differences in the two classes. I'm sure I'll be corrected if I've described it incorrectly. >Matt 


Thank you Matt, you are welcome. I'm a bit clumsy: do you mean some kind of postproccessing of the results? or do you mean to make a second run with Mplus and some kind of weights? In either case, what means, the betweenlevel means (by probabilities I understand the posterior probabilities, is that correct)? Then, what can be done with the weighted data?. Do you have any references? Fer. 


What I referred to in terms of weighting means is in line with "patternmixture" modeling of missing data. In that case you are typically interested in the overall estimates, mixed over the missing data patterns, not the estimates from each and every pattern. So in your case you could consider the mixture as simply a vehicle for getting a more realistic residual distribution but you are still interested in only one overall intercept estimate. This is obtained as ioverall = w1* i1 + w2*i2, where w1 is the estimated probability for class 1 and i1 is the class 1 mean (etc for class 2). 


My last post answered 2) of Fernando's question above. Regarding 2), you want a nonnormal level1 residual instead of the standard normal. The nonnormality is accomplished by having a withinlevel latent class variable because then you have a mixture of two normals for the residual  this mixture is a very flexible distribution. 


Completely clear. With respect to the second question it is only academic curiosity, the issue was: why to put in level2: %c#1% [y*]; %c#2% [y*]; instead of: %c#2% y*; in level1? Literally: Why two mixtures with different means and equal variances instead of two mixtures with equal means and different variances? Fer. 


You could try 2 classes with equal means and different variances, but I think this model would be hard to fit given that the class with smaller variance is a subset of the class with larger variance. Typically, mixtures need mean separation. 


We are working on a multilevel LCA (though with only 18 clusters and very low ICC). One question  we're trying to replicate Example 10.6 (LCA with both within and between level covariates). Our LCA produces a 4class solution  so we're estimating F with c#1c#3. Can you clarify how one interprets F and the effect of a clusterlevel covariate on F? The measurement model for F and the effect of w appears constant across latent classes (as it does in your output for 10.6). How would one interpret a significant (negative) effect of w on F in this context? Also, as a followup  given the limited number of clusters and low icc (.001.003 for the 5 vars we're modeling as LCA indicators). Would it be appropriate to simply control for the clustering (to adjust standard errors with robust estimates) and not run a within/between groups model? Can you still include clusterlevel predictors in the model (or do I need to enter cluster dummies as a fixed effect)? 


The ultimate influence of w on the u indicators via f and c is as follows. w influences the random intercepts c# differently in that f by c# has different factor loadings. So for example, for a given cluster a higher w gives a higher f which gives a higher (assuming a positive loading) value of say c#1. The higher c#1 value in this cluster gives a higher intercept value for c on x on level 1 and therefore increases the probability that the person who is in this cluster will be in class 1. Being in class 1 gives a certain u probability. Yes, you can simply do Type=Complex instead and use clusterlevel covariates. 


Two followups: 1) I'm still a bit unclear on interpretation of f in a 4class solution, with the following results: Latent Classes 1 1025 0.12212 2 404 0.04816 3 2317 0.27593 4 4650 0.55378 MODEL RESULTS Within Level Between Level Latent Class 1 F BY C#1 1.000 0.000 999.000 999.000 C#2 0.165 0.166 0.995 0.320 C#3 0.505 0.369 1.367 0.172 F ON DLUNCH 0.013 0.013 1.009 0.313 DALL10 0.042 0.011 3.810 0.000 DDROPOUT 0.020 0.022 0.932 0.351 The implication would be that as DALL10 (a clusterlevel covariate) increases, F decreases. However, the loadings of c#1c#3 on F (and the effect of DALL10) are the same across all latent classes. 2) In reference to the latter issue (just controlling for clustering effect but still including clusterlevel covariates)  is it still appropriate to describe the effect as a clusterlevel effect (e.g., those with a higher districtlevel achievement rating are less likely to engage in certain patterns of substance use)? 


1) Yes, the loadings for f on the between level are the same across the classes. But f still has differential effect on the classes in that the loadings are different for the different c#'s, corresponding to the different classes. I wouldn't know how to interpret a loading for a given c# to also vary across the latent classes. 2) yes 


Hello, I am trying to estimate a twolevel growth mixture model but encounter some estimation problems. Can you please help me? I get the following errors: WARNING: THE SAMPLE COVARIANCE OF THE INDEPENDENT VARIABLES IN CLASS 1 IS SINGULAR. THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO A NONPOSITIVE DEFINITE FISHER INFORMATION MATRIX. THIS MAY BE DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL IDENTIFICATION. THE CONDITION NUMBER IS 0.125D17. THIS MAY ALSO BE DUE TO LARGE THRESHOLDS. DECREASING (INCREASING) LOGHIGH (LOGLOW) MAY RESOLVE THIS PROBLEM. LARGE THRESHOLDS WERE FOUND FOR: * THRESHOLD 2 OF CLASS INDICATOR HOGESL FOR CLASS 1 * THRESHOLD 2 OF CLASS INDICATOR HOGESL FOR CLASS 2 THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES COULD NOT BE COMPUTED. THIS IS OFTEN DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL NONIDENTIFICATION. CHANGE YOUR MODEL AND/OR STARTING VALUES. PROBLEM INVOLVING PARAMETER 5. 


Please send your input, data, output, and license number to support@statmodel.com. 

C. Sullivan posted on Tuesday, January 27, 2009  8:26 am



I am trying to estimate a multilevel LCA with students (~2500) nested in schools (37). We have twelve items in the LCA. Is there a means of estimating something akin to an "empty" model in a typical multilevel situation? This would be done in order to simply get a sense of whether there is variation in latent class estimates across schools. I'm not sure that I saw an example in the User's guide that captured this specific case (10.7?). 


You would use ex 10.6 without x, f, and w. The variances for the c# variables on Between would tell you if there is variation across schools. 

C. Sullivan posted on Tuesday, March 24, 2009  1:03 pm



I ran a multilevel LC model as specified in the example and am getting a message indicating nonidentification because there are more parameters (12 observed variables with mostly categorical levels of measurement and 5 latent classes) than clusters (37). Can this problem be resolved or does the relatively small number of between level units ensure that this particular model will be underidentified in the multilevel framework? 


The message is saying that the number of total parameters being estimated in the model is more than 37. If you have more than 37 between parameters, this would present a problem because you in effect have more parameters than observations. If not, the effect is unknown although deemed to be not serious. The impact of this situation has not been studied as far as we know. 

K Frampton posted on Thursday, May 05, 2011  12:24 pm



I have a 3 class multilevel lca with 6 parenting indicators. There are 666 kids nested in 333 families. I want to use class to predict a distal outcome (child behavior). I also want to see if there is a sig interaction between a covariate (poverty) and class (i.e. allowing the effect of poverty to vary across class). I'm not sure if I have the right syntax, and any guidance is appreciated: Use variables are Parenting 16 age boy poverty chbhvr; classes = c(3); cluster = famid; within = age boy; between = poverty; analysis: type= twolevel mixture missing; starts = 100 10; model: %within% %overall% chbhvr on age boy; c on age boy; %between% %overall% f by c#1 c#2; f on poverty; chbhvr on poverty; %c#1% chbhvr on poverty; %c#2% chbhvr on poverty; %c#3% chbhvr on poverty; 


That looks like a reasonable start. I wasn't sure that I understood your statement: if there is a sig interaction between a covariate (poverty) and class (i.e. allowing the effect of poverty to vary across class). I first thought you meant that the class probabilities were influenced by poverty, but your setup indicates that you think the influence of poverty on the between part of the distal varies across the classes. A classvarying slope like this is sometimes difficult to estimate well. 

K Frampton posted on Friday, May 06, 2011  2:23 pm



thank you! I'm having trouble getting my head around it myself... I hope this helps to clarify my research questions, which are: 1. to identify mothers' parenting profiles. To this extent, the substantive nature of my question doesn't necessarily require a multilevel lca (originally, before extending to predict a distal, I was specifying a type=complex to account for nesting of multiple kids in a family). We aren't concerned about 'family level' clustering or modeling of the profiles. 2. identify covariates that predict profile membership (e.g., poverty). 3. identify if there is a significant interaction between profile and poverty in influencing child behaviour. I want to find out whether the influence of poverty on child behaviour varies across L1 profiles. Here the child behaviour is also nested (i.e. multiple kids in a family have scores). It's question 3 that I'm having trouble conceptualizing and specifying in the multilevel syntax correctly. How do you capture this L1 Profile X L2 variable interaction on a distal? Would you recommend running a lca with type=complex, saving the Cprob (entropy > 0.8), and then using that as an observed variable in a subsequent multilevel analysis? Thanks again! 


Hello, I am trying to fit a Multilevel Mixture Model with a between level class variable as described in Asparouhov & Muthen (2008) .I have ten categorical indicators in between level, and two continuous indicators in within level. Is it reasonable to allow the two continuous indicators in within level to be correlated with each other and let the correlation vary in different latent classes? I can sccessfully get the result in Mplus, but I want to make sure. Does this model violate the conditional independence assumption of mixture model and the results are not trustworthy? Do I have to follow the EXAMPLE 7.16 in User's Guide to deal with the conditional dependence problem? Asparouhov, T. & Muthen, B. (2008). Multilevel mixture models. In Hancock, G. R., & Samuelsen, K. M. (Eds.), Advances in latent variable mixture models, pp. 2751. Charlotte, NC: Information Age Publishing, Inc. 


These covariances are not typically part of an LCA. If included they imply partial conditional independence. 


Dear Professors, I am trying to fit a TWOLEVEL LTA (at the moment I am just trying 2 timepoints i.e 2 categorical latent variables with 2 classes in each of them but ideally I would like to test if I can increase these in the future) and I am also trying to use the parametric approach with the factor trick as in Henry and Muthen 2010. My question is if in the overall part of the between part of the model I need two factors for the random intercepts of the 2 categorical latent variables or just one because I have 2 categorical latent variables as I am in LTA and not LCA as in the paper. Having run both approaches it seems to me due to computational time and warning msgs that the 2nd approach is correct i.e. %BETWEEN% %OVERALL% C2#1 ON C1#1; FC BY C1#1 C2#1; But is this really correct? Can you help me please as I cannot seem to find a relevant example/code for LTA? Thank you so much, Kind Regards, Artemis 


If you go to the website under Papers, you will find all of the inputs for the Henry and Muthen paper with the paper. Those should help. 


Thanks very much for your quick response, I do have these inputs but they all are on LCA and not LTA, this is why I have posted this question. I am just not sure if I need two factors because I have two latent categorical variables or not. Thanks again! 


Thank you for all yor responses and info and apologies to disturb you again but in the Henry and Muthen paper there is no documentation of the factor trick for LTA. Your statement about 'the one is mixed over classes and the other is for the most likely class' does it refer also for the same paper? 


You wrote: %BETWEEN% %OVERALL% C2#1 ON C1#1; FC BY C1#1 C2#1; but with only 2 classes per time point, the statement C2#1 ON C1#1; seems sufficient because that alone makes the 2 random intercepts correlate. I think you are saying that you want to go to more than 2 classes and then you need to simplify the dimensionality by saying e.g. for 3 classes: FC1 BY C1#1 C1#2; FC2 BY C2#1 C2#2; and perhaps have FC2 ON FC1; 


This is very helpful thanks so much!! I have a last question if I may please...I do understand what you recommended for the case of 3 classes. In this same case (i.e. 3 classes) apart from the 3 lines you posted would i need also to include in the overall part of the between part of the model the general statement of C2 ON C1 for the correlation of the 2 random intercepts in the 2 classes or do I ommit this statement when I am trying to simplify the dimensionality? Thanks again. 


The shorthand form C2 ON C1 is I think only available for categorical latent variables, whereas on Between they are continuous (random intercept) variables. And if you write it out you would have  with 3 classes  2 random intercepts at time 2 regressed on 2 random intercepts at time 1. This would then get highdimensional. So the short answer is  don't have any such statement on Between. 


Great!!thanks so much for all the valuable comments and info. 


Dear Prof Muthen, We have fitted a TWOLEVEL LTA (3 timepoints i.e 3 categorical latent variables with 3 classes) by using the parametric approach with the factor trick as in Henry and Muthen 2010. In the overall part of the between part of the model we have: FC1 BY C1#1 C1#2; FC2 BY C2#1 C2#2; FC3 BY C3#1 C3#2; FC2 ON FC1; FC3 ON FC2; By looking at the following paper and using notation in formula 7 pp 218: Multilevel Latent Class Models by JK Vermunt 2003 http://spitswww.uvt.nl/~vermunt/sm2003.pdf We cannot find in the MPLUS output the ESTIMATED FIXED INTERCEPT FOR EACH CLASS (IN THE NOTATION THEY ARE MENTIONED AS \gamma). Can you please indicate where we could find these? Thanks, BW, Artemis 


I think you are referring to the class probability related parameters, which would appear in the Between part of the output under a heading of either means or intercepts, and be called C#1 etc. If you can't find them, send output to support@statmodel.com. 

Junqing Liu posted on Friday, September 23, 2011  3:07 pm



I used the following syntax to run a twolevel CFA mixture model. Two things in the output concern me. 1) The output says the standard errors of the model parameter estimates may not trustworthy because of the starting values or having more parameters than the numbers of clusters. I have 45 clusters and the model estimated 63 parameters. How I may change the syntax to reduce the numbers of parameters? Also, the size of the clusters ranges from 318. Is there a rule of thumb regarding the size of clusters? 2) The within cluster means of items are identical across classes. The between cluster means of the items are also identical across classes. What may cause the identical means or how to fix this problem? Still the pvalue of tech 14 indicates the two class model fits better than one class model. VARIABLE: Usevariables=E1 E3 E10 E13 E25 E29 E2 E11 E12 E14 E15 E16 E17 E19 E26 agency; CLASSES=C(2); Cluster=agency; ANALYSIS: type = mixture twolevel; Process=8(STARTS); Starts=0; Model: %WITHIN% %OVERALL% fw BY E1 E3 E10 E13 E25 E29 E2 E11 E12 E14 E15 E16 E17 E19 E26; %BETWEEN% %OVERALL% fb BY E1 E3 E10 E13 E25 E29 E2 E11 E12 E14 E15 E16 E17 E19 E26; c#1*1; %c#1% [fb*2]; output: tech11 tech14; SAVEDATA: SAVE=CPROBABILITIES; FILE IS ebppostprobs.dat; Thanks a lot! 


1. The only way to know the impact of having more parameters than clusters is to do a simulation study. See papers by Joop Hox related to number of observations per cluster. 2. Holding the intercepts and factor loadings equal is the default for factors. If you free the intercepts, you must fix the factor means to zero in all classes. 


Dear Bengt and Linda We have fitted a TWOLEVEL LTA (4 timepoints i.e 4 categorical latent variables with 4 classes) by using the nonparametric approach as in Henry and Muthen 2010. CB has 2 classes. That means that we have in the %BETWEEN% %OVERALL% C1#1 ON CB; C1#2 ON CB; C1#3 ON CB; C2#1 ON CB; C2#2 ON CB; C2#3 ON CB; C3#1 ON CB; C3#2 ON CB; C3#3 ON CB; C4#1 ON CB; C4#2 ON CB; C4#3 ON CB; We have submitted for publication an applied stats paper which makes inference for PROPORTIONS FOR EACH LATENT CLASS VARIABLE BASED ON ESTIMATED POSTERIOR PROBABILITIES. Reviewer is asking for standard errors of these proportions. Is there a way we could calculate these from the estimated parameters the MPLUS output gives us? Many thanks, BW Artemis 


You should be able to do this using MODEL CONSTRAINT where you define the parameters and thereby get standard errors for them. However, it would be very complicated to do given the multilevel nature of your data. You would need to get an expert to help you with this. 


Dear Professors, If possible, I wish to hear your explications on the commands that seem to identify threshold structures, in the specifications of the within model in Example 10.7 in Mplus User Manual v6. Why would we need the threshold commands here (if I understand it right that the [u1$1u10$1] are meant to indicate thresholds)? And, why would we specify it twice? I looked at other parts of the manual and didn't find readily available explanation on this. Thank you! MODEL cw: %WITHIN% %cw#1% [u1$1u10$1]; [u1$2u10$2]; %cw#2% [u1$1u10$1]; [u1$2u10$2]; %cw#3% [u1$1u10$1]; [u1$2u10$2]; %cw#4% [u1$1u10$1]; [u1$2u10$2]; 


They appear in each class to make sure that these thresholds are allowed to vary across classes. The first line is for the first threshold and the second line for the second threshold (in other words, the variable has 3 categories). 


Dear Dr Muthen, I was wondering whether it is possible to explore the portion of variance explained by different levels in the multilevel data, to help decide for which level we need to control. I have data from a group intervention with couples. We have: 100 couples within 29 groups within 15 institutions. As we merely want to control for the dependency in the data, I use TYPE=COMPLEX. Ideally I would want to control for both couples and group, however this does not seem possible with type=complex. 1. Is it possible to estimate the portion of variance explained by different levels in your data? 2. Is it possible to control for dependency on 2 different levels without specifying a within and between model? Thank you for your advice. Sincerely, Aurelie 


Try Type = Threelevel Basic to see how big the variances are on the different levels. 


Dear Dr Muthen, Thank you for your quick reply. This does provide valuable information. Is there consensus on the hight of the ICC that would require correcting for it (that would require taking that level into account)? Thank you! Aurelie 


No real rule of thumb here  it depends not only on the ICC, but also on how many observations you have per cluster. The best way to check is to check how the SEs differ when using Type=Complex versus not. 

Margarita posted on Wednesday, February 06, 2019  6:06 am



Hi Dr. Muthen, After getting the warning about the change in likelihood during the last E step likely due to negative abs in a multilevel mixture model (CACE) I increased the miterations to 1000 and integration points to montecarlo (5000), but I can see from TECH8 that there are still frequent large negative abs (up to 500). I have 6 dimensions of integration on the within and 2 on the between. From my estimations the model would take about a week to finish running. At which point in TECH8 can we conclude that the model will not converge? Other similar models with the same sample but with different outcomes converge just fine, so this might be data specific. Thank you 


It is very hard to deal with 6 dimensions try to simply the model to have fewer dimensions. 

DONGHO CHOI posted on Thursday, December 12, 2019  1:07 am



Hi. I am trying to model a Between level latent class variable using a within observed variable in multilevel mixture model. In Asparouhov & Muthen (2006), it is said I can easily do this by putting a "stochastic constraint" (i.e., class variables are constrained to be identical across cluster; https://www.statmodel.com/download/MultilevelMixtures2.pdf). I wonder this is how to implement: !two level gmm WITHIN = P1PPL; !(1 or 0) BETWEEN = TREAT LC; !(1 or 0); !LC is between level class variable; CLUSTER = TEACHER; CATEGORICAL = training3; !(1 or 0); !training3 is within level observed data CLASSES = LC(2); ~~~ %BETWEEN% %OVERALL% ib sb  SSIS0@0 SSIS1@1 SSIS2@2 SSIS3@3; SSIS0SSIS3@0; [ib sb]; ib sb on TREAT; ib* sb@0; !compliers %lc#1% [training3$1@15]; !observed data is constrained to be 1 [ib sb]; sb ON TREATMENT; !nevertakers %lc#2% [training3$1@15]; !observed data is constrained to be 0 [ib sb]; sb on TREATMENT@0; Thanks! 


Why do you have SSIS0SSIS3@0. That doesn't look correct. Also your setup is contradictory. You model implies that training3=LC However, you say that training3 is a within level variable but LC is a between level variable. This must be fixed conceptually and in the model. The quote from the article is not up to date. The command BETWEEN = LC; is now used directly instead of the stochastic constraint, to make a latent class variable be a between level variable. 

DONGHO CHOI posted on Sunday, December 15, 2019  12:00 am



Hi. Thanks for reply! I got a reply from support@statmodel.com and now I am fixing variance at 0.01 instead of 0. I guess I need more recent resources. Yet, pardon me for bringing up the article again. I do have a follow up question. In Asparouhov & Muthen (2006), it is said: "...The key question in modeling between level class variables is whether the within level observed variables can be used directly to identify the classes(p.9)". It is also said: "... Between level latent class variables can be measured by within and between observed variables but can be predicted only by between observed variables(p.14)" Doesn't this mean I can use within level variables to measure(or identify) between level class variable? I'd appreciate if you could correct me on this. Many thanks in advance! 


You can use within level variables to measure between level class variable. Here is an example VARIABLE:NAMES ARE u1u8 clus; CATEGORICAL = u1u8; within=u1u8; CLASSES = cb(2); BETWEEN = cb; CLUSTER = clus; ANALYSIS: TYPE = TWOLEVEL MIXTURE; ALGORITHM = INTEGRATION; MODEL: %WITHIN% %OVERALL% f BY u1u8; [f@0]; %cb#1% [u1$1u8$1]; %cb#2% [u1$1u8$1]; %BETWEEN% %OVERALL% 


Hello, I am trying to estimate a twolevel LCA indicated by level 1 (within) variables, but first want to check for classes on each level separately. I know to do this for level 1. But I am not sure how to do this for level 2. I have tried it this way: Usevariables are A01 A02 A04 A08 A09 A11 A15 A20 A22 A30; classes = cb(2); within= A01 A02 A04 A08 A09 A11 A15 A20 A22 A30; between = cb; Missing are blank; cluster=clusterid; Analysis: Type=twolevel mixture; processors= 2; starts= 1000 100; Model: %between% %overall% Is this correct? Thanks 


Addition: I guess I will have to use the "Cluster Mean" statement and add the newly defined variables to the between statement. Is this correct? 


Using cluster means is probably a good approach. 

DONGHO CHOI posted on Monday, December 16, 2019  9:44 pm



Dear Dr. Asparouhov, Thank you very much for your help! I have couple of questions about the details. Consider 2 lvl regression mixture model: VARIABLE: NAMES ARE y x1 x2 w class clus; USEVARIABLES = y x1 w u1u8; Categorical = u1u8; CLASSES = cb (2); WITHIN = x1 u1u8; BETWEEN = w cb; CLUSTER = clus; MODEL: %WITHIN% %OVERALL% y ON x1; f BY u1u8; [f@0]; %cb#1% [u1$1u8$1]; y on x1; y; %cb#2% [u1$1u8$1]; %BETWEEN% %OVERALL% y ON w; cb#1 ON w; %cb#1% [y*2]; Does this model make sense? Also, what is the role of f in the model? Do I need to consider correlation between f(or u1u8) and other outcome variables (y)? Thanks again! 

DONGHO CHOI posted on Monday, December 16, 2019  11:20 pm



Oh and is it possible to materials for example 9 in Muthen (2004)? I checked the link and this is not available. (https://www.statmodel.com/examples/penn.shtml#muthenexamples) And finally, “…A key new feature in Figure 19.11 is the acrossschool variation cb in the individuallevel latent class variable c. This part of the model makes it possible to study the influence of schoollevel variables on the class member probability for the students.” (Muthen, 2004; p.365) does cb in this article correspond to a_cj in Asparouhov & Muthen (2000)? as it denotes: "...Withinbetween latent class variables can be measured and predicted by within level observed variables, while the random effects a_cj can be measured and predicted by between observed variables." (Asparouhov & Muthen, 2006) Thanks for taking your time! 


First Choi post: u1u8 are latent class indicators in a regular LCA. The factor f allows withinclass correlations  this is factor mixture modeling (see our papers on this). The factor f probably correlates with y but that's a substantive question. Second post: Which article is Muthen 2004? The cb variable is a latent class variable on Between while a_cj is a continuous random intercept. 


I guess you are referring to Latent Variable Analysis Growth Mixture Modeling and Related Techniques for Longitudinal Data If so, which page is example 9? 

DONGHO CHOI posted on Wednesday, January 01, 2020  11:07 pm



Dear Dr. Muthen, Thanks for your comments! I will surely look into your papers on factor mixture modeling. As for the second post, yes I am referring to that article. The page is 365. Thanks again and happy new year! Tom 

Back to top 