Latent class analysis with nominal in... PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
 Christopher Hautmann posted on Wednesday, December 03, 2008 - 12:45 pm

I want to compute a latent class analysis with nominal indicators (example 7.7 in the user's guide). I expected that for the values of the indicators conditional probabilities would be provided. Instead in the result section means are reported. How can a nominal variable have a mean? What mistake do I make? Does Mplus not make the same analysis like Latent Gold for example?


Christopher Hautmann
 Bengt O. Muthen posted on Thursday, December 04, 2008 - 9:25 am
The estimated item parameters that are reported are logits for the different categories of each nominal indicator. These logits can be translated into probabilities very easily using the multinomial logistic regression expression - this is discussed in Chapter 13 of the User's Guide.
 Ali posted on Tuesday, October 04, 2016 - 8:17 am
I run LCA with 4 nominal indicators and each indicator has 3 categories.
But, I am no sure if I get the conditional probabilities for each indicator correctly.
From the model results, there were means for each category in each latent class.
For example, in the latent class 1, means for ST53Q01#1 is 1.080 ,and ST53Q01#2 is 1.753, but ST53Q01#3 was fixed as reference group .
So, log odds (ST53Q01#1|C=1)=1.08, log odds (ST53Q01#2|C=1)=1.753,
and log odds (ST53Q01#3|C=1)=0 in Class 1. And,each log odds is exponentiated and summed. To get the conditional probability for each category in is that each expoentiated value is divide by the sum.

Is it the correct procedure?
 Bengt O. Muthen posted on Tuesday, October 04, 2016 - 2:31 pm
Check how it is done in the UG chapter 14. See the multinomial logistic regression example with covariates all = 0.
 Sam Crawley posted on Monday, October 22, 2018 - 5:46 pm
I have calculated the estimates for nominal indicators using the method described in chapter 14. However, is there any way to also get standard errors, as is provided for categorical indicators in probability scale?

 Bengt O. Muthen posted on Monday, October 22, 2018 - 5:56 pm
If you express them in Model Constraint, you also get their SEs.
 Sam Crawley posted on Monday, October 22, 2018 - 7:12 pm
Thanks. Is there an example of the syntax to do this somewhere? In particular, I'm not sure how to reference the estimates for the means for each combination of class/nominal category in the MODEL CONSTRAINT section.
 Bengt O. Muthen posted on Tuesday, October 23, 2018 - 11:14 am
The V8 UG pages 55-557 show an example with 4 nominal categories and in the first step only intercepts are used which corresponds to your situation. These are the intercepts you have for one of your observed nominal variables in one class. A nominal DV's intercepts are referred to as y#1, y#2, etc. Label these in the Model command and generalize from there in Model Constraint.
 Sam Crawley posted on Tuesday, October 23, 2018 - 3:16 pm
Thanks very much.

Just in case anyone in the future needs a more complete example (assuming 3 latent classes, and a nominal indicator variable y with 4 categories):

[y#1-y#3] (c1y1-c1y3);

[y#1-y#3] (c2y1-c2y3);

[y#1-y#3] (c3y1-c3y3);

NEW(c1yprob1-c1yprob4 c2yprob1-c2yprob4 c3yprob1-c3yprob4 c1y4 c2y4 c3y4);

DO(1,4) c#y4 = 0;
DO($,1,4) DO (%,1,3) c%yprob$ = exp(c%y$) /
(exp(c%y1) + exp(c%y2) + exp(c%y3) + exp(c%y4));
 Bengt O. Muthen posted on Tuesday, October 23, 2018 - 5:31 pm
That's a FAQ.
 rgm smeets posted on Friday, February 08, 2019 - 2:30 pm
Dear mister Muthen,

I calculated probabilities and standard errors for nominal variables. Still, I have two questions:

(1) If I put the binary as well as the nominal variables as "categorical" in the input, it seems like my model, including the probabilities and SEs are exactly the same as if I would specify the nominal variables als "nominal". Does that make sense?

(2) I now put the expressions in the MODEL CONSTRAINT, but would like to calculate the SEs myself. Is there a formula to calculate SEs from probabilities?
 Bengt O. Muthen posted on Saturday, February 09, 2019 - 11:30 am
1) When you put a nominal variable on the Categorical list, it is treated as ordinal which may not be what you want. Only if the variable is binary will Nominal and Categorical give the same results.

2) Typically, getting the SEs is very complex because the ML estimates are not explicit but are obtained via iterations.
 rgm smeets posted on Sunday, February 10, 2019 - 3:34 am
Dear mister Muthen,

Could you please check the input below, which I used to calculate probabilities and Standard Errors for a nominal variable (item4) with four levels. I think it provides the correct probabilities and SEs, but just to be sure. I used a 4-class model:

[item4#1-item4#3] (c1item41-c1item43);

[item4#1-item4#3] (c2item41-c2item43);

[item4#1-item4#3] (c3item41-c3item43);

[item4#1-item4#3] (c4item41-c4item43);

NEW(c1item4prob1-c1item4prob4 c2item4prob1-c2item4prob4 c3item4prob1-c3item4prob4 c4item4prob1-c4item4prob4);

c1item4prob1 = exp(c1item41)/
(1+exp(c1item41) + exp(c1item42) + exp(c1item43));

c1item4prob2 = exp(c1item42) /
(1+exp(c1item41) + exp(c1item42) + exp(c1item43));

c1item4prob3 = exp(c1item43) /
(1+exp(c1item41) + exp(c1item42) + exp(c1item43));

c1item4prob4 = 1/ (1+exp(c1item41) + exp(c1item42) + exp(c1item43));

(these expressions are repeated for each of the four classes).
 Bengt O. Muthen posted on Sunday, February 10, 2019 - 9:33 am
Please send the output to Support along with your license number.
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