Latent nominal mediator PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
 Jon Heron posted on Monday, July 25, 2016 - 1:10 am
Dear Bengt/Linda,

I am attempting to model a nominal mediator observed with error + from your causal-mediation manuscript (p32) I see that the way to deal with this is to use knownclass.

As I usually model nominal variables with error as part of a manual implementation of r3step I thought a good starting point would be to reproduce an r3step result using the knownclass set-up before moving on to mediation.

Progress thus far: with a 4-category latent variable, the logit classification matrix - defining the link between error-prone W and error-free C - contains 12 non-zero parameters. In order to introduce W using KNOWNCLASS the bottom row of this matrix becomes the intercepts for C to define the latent class distribution, and if I subtract this bottom row from the other three I obtain the 9 log-odds parameter constraints with which I can link C and W. I then regress error-free C on my covariate.

This is where things fall apart. I think this issue lies in the fact that linking C and W in this manner requires me to specify intercepts for C rather than intercepts for W within classes of C. However since the end-goal is to regress C on a covariate, the meaning of these C-intercepts changes. I have tried centering the covariate but my estimates are still wrong. I should add that I am however reproducing the correct likelihood.

Any ideas?

many thanks, Jon
 Bengt O. Muthen posted on Monday, July 25, 2016 - 9:42 am
Not sure I follow you here, but mediation analysis with a nominal mediator is discussed in our new book. We show an Mplus script for this at

See Table 8.35. This approach can also be used for a truly latent class variable situation with error-prone indicators.
 Jon Heron posted on Tuesday, July 26, 2016 - 1:50 am
Sorry Bengt,

I redrafted that post a few times but it still wasn't very clear.

8.35 is for a manifest nominal mediator, and the other one you mention - truly latent class variable situation - is given in Figure 17 in your manuscript.

I am attempting a third type. In your manuscript you refer to a nominal mediator being "observed with error". Hence I assumed it would be possible to perform a bias-adjusted 3-step method and incorporate a previously-derived grouping along with information derived from the classification matrix.

As this seemed rather complex I thought I would start off by trying to reproduce an r3step result using the knownclass formulation.

I can't find any code for Figure 17 as I have a feeling that that in itself would be really helpful. Do you perhaps have that?

best, Jon
 Bengt O. Muthen posted on Tuesday, July 26, 2016 - 1:47 pm
I see what you are after.

Now for doing r3step manually, that is shown in Appendix A of this paper:

As for Figure 17, I don't have a script for that but the script for 8.35 is can be extended in expected ways.
 Jon Heron posted on Thursday, July 28, 2016 - 12:37 am
thanks Bengt

manual 3step is also in the appendix to a paper of my own (

I was thinking that Figure 17 wouldn't need the knownclass part, and hence my own aim may be possible without it.

I'll battle onwards and report back if successful.

best, Jon
 Bengt O. Muthen posted on Thursday, July 28, 2016 - 9:20 am
Your move away from Knownclass seems promising. Let us know how it goes.
 Peter Rehder posted on Wednesday, April 08, 2020 - 8:26 am
Drs. Muthen,

I'm testing a model with a nominal latent class variable as a mediator of a continuous x and continuous y, basing my code on Tables 48 & 49 from the Mplus input appendix of the Muthen (2011) causally-defined mediation paper.

Is it necessary to include the interaction terms under each class-specific model. For example: y on x (gamma11). I'm only hypothesizing mediation by the nominal variable, not moderation.

If it is possible to remove the interaction effects, how should the model constraint commands be adjusted to receive the correct estimates of the direct, indirect, and total effects?

 Bengt O. Muthen posted on Wednesday, April 08, 2020 - 4:39 pm
You don't have to include the interaction. Without it, you would change the Table 8.35, 8.36 input such that y on x is given a label beta (say) in the Overall part of the model and y on x dropped in the class-specific parts. In Model Constraint, you then replace beta11, beta12, and beta13 with beta.
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