Multilevel LCA and 3-step PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
 Ashley Mayworm posted on Friday, May 01, 2015 - 7:07 pm
Hello. I posted this question previously to the SEMNET listserv but did not receive any replies, so I thought I may be able to receive guidance here.

Can you use the manual 3-step method for the inclusion of covariates within multi-level LCA? From the examples I have read (e.g., Henry & Muthen 2010; Nylund-Gibson, Graham & Juvonen, 2010) there is no mention of the 3-step method, but want to make sure I am not missing any new work in this area. I am trying to include covariates in my NonParametric model (classes at L1 and L2) but want to prevent my classes from changing. Can this be done?
 Bengt O. Muthen posted on Saturday, May 02, 2015 - 10:54 am
I am not aware of any work yet on 3-step for multilevel. Others?
 Ashley Mayworm posted on Wednesday, May 06, 2015 - 1:59 pm
Ok, thanks. Seems it isn't an option yet. Relatedly, any suggestions on how to do distal outcomes with MLCA when I have low entropy (thus classify-analyze is not ideal)? It looks like the auxiliary (e) option is not available because I have more than one latent categorical variable (one at each level).
 Bengt O. Muthen posted on Wednesday, May 06, 2015 - 3:33 pm
I would vote for 1-step modeling here.
 Ashley Mayworm posted on Wednesday, May 13, 2015 - 12:16 pm
Thank you! I moved forward with 1-step modeling. Now, one issue I am running into is changing my reference class for my covariate analysis at Level 2 (3 CB classes). The reference class happens to be the middle class and I would like either the high or low class as my reference class. I was able to use SVALUES output to change my reference class at Level 1, but I am unsure of how to do the same for my Level 2 classes. The SVALUE output that may be relevant is below.

cw#1 ON cb#1*1.55161;
cw#1 ON cb#2*1.37454;
cw#2 ON cb#1*-0.23994;
cw#2 ON cb#2*-1.20867;
cw#3 ON cb#1*0.96658;
cw#3 ON cb#2*-0.95029;
cb#1 ON cp02flun*0.01373;
cb#1 ON cp02pmin*0.00449;
cb#2 ON cp02flun*0.02364;
cb#2 ON cp02pmin*0.01433;

[ cb#1*0.19051 ];
[ cb#2*-0.26971 ];
 Bengt O. Muthen posted on Thursday, May 14, 2015 - 10:50 am
You can use the cb-related starting values you show here, but there are also other values related to cb in your output that you can use and may be more important.
 Fangsheng Zhu posted on Tuesday, June 20, 2017 - 9:42 pm
Dear Professors,

I'm also trying to run one-step models that 1) have latent class variables on both levels, and 2) have higher-level and lower-level covariates influence lower-level latent class assignments.

When writing mplus codes, I noted that the covariates have to be either on the between level or the within level (can't be both). However, conceptually I'm interested in how the higher-level covariates influence lower-level class assignments. What should I do? Can I specify the higher-level covariates to be "within-level"?

Thank you!
 Bengt O. Muthen posted on Thursday, June 22, 2017 - 1:43 pm
Higher-level covariates can influence lower-level classes by influencing their random intercepts (which appears on the higher level).
 Kenny Graves posted on Friday, January 26, 2018 - 9:37 am
Hi Professor Muthen,

I'm currently working on a non-parametric two-level LCA (types of principals in schools in districts) with covariates and distals. In Henry and Muthen (2010), the authors include the covariates in the model command in their multilevel model where the covariates influence the structure of the latent classes.


However, I would like to use the manual 3-step method within the MLCA framework to prevent my classes from changing. As I understand from the 2015 post above, at that time, there was not an option in Mplus to use the AUXILIARY command (DE3STEP, R3STEP, BCH, DU3STEP) within a multilevel framework. Has there been any current work on using the 3-step method for multilevel LCA models?
 Tihomir Asparouhov posted on Friday, January 26, 2018 - 4:50 pm
There hasn't been any new work on this topic. From the model you are posting above however, it looks like the LCA measurement model doesn't change across clusters (including intercepts / class proportions). If that is the case, I think, the manual 3-step approach will work. Using the multilevel model for step 1, but step 2 and 3 can be done as if the model is single level (using type=complex for the third step). Since we have not done this exerciser ourselves, I would recommend that you do it first using simulated data and verify that the approach works before using it for the real data. Alternatively consider using type=complex for all 3 steps.
 Paul Norris posted on Monday, May 14, 2018 - 1:36 am
Hi all,

I'm working on a model where the LCA dependent variables are measured at level 1, but covariates explaining class membership are measured at both levels 1 and 2.

I would like to estimate this model using the 3-step approach to introducing covraiates. However, if I have understood correctly, this can't be done automatically. Does the manual 3 step approach support multilevel covariates? If so, is there an existing example of how the model was estimated?

Kind regards,

 Tihomir Asparouhov posted on Monday, May 14, 2018 - 5:45 pm
The multilevel nature of the covariates is not a problem. The main issue one should be concerned about is the possible non-invariance in the LCA measurement model across clusters and probably even more about the non-invariance of the latent class distribution across clusters. If all these are invariant you can use R3step with any of the covariates. You can also use R3step with type=complex to account for the clustering. Currently we do not have a 3-step procedure that we can recommend for multilevel modeling (including manual), but probably the best option is type=complex.

You might find this article helpful
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