Bayesian LCA - Assigning Individuals ... PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
Message/Author
 Chris Koenig posted on Wednesday, March 27, 2013 - 2:28 am
Dear all,

I am conducting a Bayesian LCA with three indicators and two distal outcomes. Since MODEL TEST and the AUXILIARY approach are not available for ESTIMATOR = BAYES, I use the "old" approach and look at the variation of the outcomes across classes.

The model runs fine, the chains are mixing good and converging, and I get a reasonable class-solution. However, I am stuck at assigning individuals to classes. I do not know how to assign individuals to classes; with ESTIMATOR = ML, you just use SAVE = CPROB to obtain most likely class-membership. With ESTIMATOR = BAYES, this option is not available. When I use SAVE = FSCORES, the plausible values for most likely class membership never match the number of individuals in the respective groups.

I feel like I am missing an obvious point here, but could somebody kindly tell me how (i.e. based on what output/part of the output) to assign individuals to classes in Bayesian LCA?

Thank you so much!

Kind regards,
Chris
 Bengt O. Muthen posted on Wednesday, March 27, 2013 - 3:36 pm
Please send your data, input, output, and save file to Support so we can help you.
 Dmitriy Poznyak posted on Friday, December 15, 2017 - 12:36 pm
Hi, Mplus team,

I am stuck with the same question as the topic-starter. For several reasons (skewed distribution of the variables; time it takes to run ML and convergence issues in ML and large N, among the rest) we chose to run a LPA model with the Bayesian estimator. We use Mplus version 7.2.

However, we are not able to save the individual class membership in the separate file. We get a warning that "Class probabilities cannot be saved for ESTIMATOR=BAYES." We'd appreciate your suggestions!

Also, perhaps you can point me in the right direction with another question. We'd like to define/predict the cut-points (for continuous class indicators) that can be used as data-driven threshold to define the classes. For example, we would like to say that an observed score K on a continuous indicator X can be used as a reasonable "threshold" (defined in a non-tech way) between classes 1 and 2. Predicted means get us half-way there, but I think there may be a better approach that would account for the beneficiaries below/above the mean in each class. I wonder if you've come across a similar issue.

Appreciatively,
Dmitriy
 Tihomir Asparouhov posted on Friday, December 15, 2017 - 2:41 pm
The command to save the class probability is

savedata: file=1.dat; save=fs(100);

On the second question I would recommend using K where

P(Y>=K|C=1)=P(Y=<K|C=2)

If

Y|C=1~N(m1|s1*s1)
Y|C=2~N(m2|s2*s2)
m1>m2

K=m1-t*s1=m2+t*s2, => t=(m1-m2)/(s1+s2)

so

K=(s2*m1+s1*m2)/(s1+s2)
 Dmitriy Poznyak posted on Monday, December 18, 2017 - 9:47 am
Hi Tihomir,

I appreciate your prompt response. Super helpful, as usual. Re: my second question. In your example above. does S1/S2 refer to the S.D. of the mean within a class? If so, is this information a part of the Mplus LPA output? I know Mplus provides S.D. of the estimate (posterior S.D. in our case) but this is different.

Also, for a LPA model with more than 2 classes, would we basically repeat this approach for Class 2 and Class 3, etc.?

Thank you,
Dmitriy
 Tihomir Asparouhov posted on Tuesday, December 19, 2017 - 10:18 am
S1 and S2 are the standard deviations for the variable Y in the two classes, i.e., S1*S1 and S2*S2 are the variances of the class indicator Y in the two classes (it is not the SD of the mean estimate).

For more than two classes you should be able to repeat that process.
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: