[Mplus] Multigroup Latent Class Analysis: Steps and Syntax

One of the things that researchers (especially those interested in minorities) are interested in when conducting Latent Class Analysis (LCA) is whether there are differences in the demographic characteristics within the groups. The subgroup comparison in LCA could allow us to research considering intersectionality as well (Bauer et al., 2021). To find out, after conducting LCA, we can run a multinomial logistic regression to estimate the relationship between demographic variables and membership. Still, a more sophisticated and structured method allows us to compare the composition of the classes within each group and how similar they are within each group. Morin and his colleagues developed this method in 2016 in the paper and summarized it in 2020 in the book chapter.

There are seven types of similarity in total: A) configural, B) structural, C) dispersional, D) distributional, E) predictive, and F) explanatory. The distributional, predictive, and explanatory similarities can be tested in the condition of configural and structural similarities. Morin et al. (2020) suggest following the steps in order.

Ref: Chapter 21: Mixture modeling for organizational behavior research in: Handbook on the Temporal Dynamics of Organizational Behavior

As followed by the three-step approach and integration of predictors and distal outcomes in LCA (see this post if you are not familiar with it), the predictive similarity tests the effects of predictions on profile membership across groups, while the explanatory similarity tests the effects of profile membership on distal outcomes across groups. Those two tests are not applicable if you do not include predictors or distal outcomes in your model.

Mplus Syntax

You can find the code for each step of the testing similarity one by one from Morin (2020)’s online supplementary materials (free). What is important to note here is that you need to conduct all the latent class analyses for the entire sample and then decide the number of latent classes. The following steps for multigroup LCA are taken after deciding the number of latent classes. For the details on LCA, I have described the resources here: [Mplus] Introduction to Latent Class Analysis and Useful References

The following code is to simply compare the assigned sample sizes per class across groups, in the condition that the class is the same. The syntax is adapted from the YouTube video from QuantFish and notes from UCLA IDRE.

DATA:
    file = multigroup.dat;

VARIABLE:
    names = group a1 a2 a3; !Group is a grouping variable (e.g., gender) 
    usevariables = a1 a2 a3; !variables used for LCA indicators
    classes = g(2) c(3); !g(2) for multigroup (e.g., gender) and c(3) for the number of classes from LCA analysis for the entire sample
    knownclass = g (group=0 group=1); !Define the knwon grouping variable 

ANALYSIS:
    type = mixture;

/// For every similarity testing, the code before this line is same. You need to adapt the below for each type of similarity test. 

MODEL:
    %overall% !Allow class sizes to vary across groups 
    c on g; !latent class on grouping variable 
    
    !Set item thresholds/CRPs equal across groups
    !The number of combination (N=6=2*3) is the number of classes (3) multiplied by the number of groups (2). 
    %g#1.c#1%
    [a1*$1] (1); !Measurement invariance across groups 
    [a2*$1] (2);
    [a3*$1] (3);

    %g#1.c#2%
    [a1*$1] (1); !Measurement invariance across groups 
    [a2*$1] (2);
    [a3*$1] (3);

    %g#1.c#3%
    [a1*$1] (1); !Measurement invariance across groups 
    [a2*$1] (2);
    [a3*$1] (3);

    %g#2.c#1% 
    [a1*$1] (1); !Measurement invariance across groups 
    [a2*$1] (2);
    [a3*$1] (3);

    %g#2.c#2%
    [a1*$1] (1); !Measurement invariance across groups 
    [a2*$1] (2);
    [a3*$1] (3);

    %g#2.c#3%
    [a1*$1] (1); !Measurement invariance across groups 
    [a2*$1] (2);
    [a3*$1] (3);

OUTPUT: STDYX SAMPSTAT CINTERVAL SVALUES RESIDUAL TECH1 TECH7;

R Syntax

If you are an R user, there is a recently developed package for multigroup LCA. This website provided very detailed guidance and example to use it: An R Package for Multiple-Group Latent Class Analysis • glca (kim0sun.github.io)

Here is a method article related to it: glca: An R Package for Multiple-Group Latent Class Analysis – Youngsun Kim, Saebom Jeon, Chi Chang, Hwan Chung, 2022 (sagepub.com)

References

Multigroup Latent Class Analysis: Mplus Syntax
  1. How can I estimate a multiple group latent class model (knownclass)? | Mplus FAQ (ucla.edu)
  2. Multiple-Group Analysis of Similarity in Latent Profile Solutions – Alexandre J.S. Morin, John P. Meyer, Jordane Creusier, Franck Biétry, 2016
  3. Chapter 21: Mixture modeling for organizational behavior research in: Handbook on the Temporal Dynamics of Organizational Behavior

  • January 20, 2023