Moderated mediation using a latent in... PreviousNext
Mplus Discussion > Structural Equation Modeling >
 Tamara Martinovic posted on Wednesday, March 20, 2013 - 12:51 am

I have a mediation model with 1 latent IV, 1 latent mediator, and 1 latent DV. I want to see if this mediation process works differently in:

1) two national contexts (moderator 1)
2) for people high and low on perceived discrimination (moderator 2, measured with multiple continuous items)
3) a combination of 1 and 2: low discrimination in country 1, high discrimination in country 1, low discrimination in country 2, high discrimination in country 2 (so a possible three-way interaction)

I started off by using multiple group modelling to test these three moderated mediation models, first using country as a grouping variable, then using dichotomized discrimination (computing a mean score and spliting the participants into high/low), and then grouping the data into four groups combining country and discrimination.

However, a reviewer wants me to test a latent interaction between the IV and discrimination instead. I've done this, but I do not seem to manage to answer question 3 in this way Mplus does not allow me to use command TYPE=RANDOM and at the same time estimate a multiple group model for the two countries.

Do you have a solution to this? Can I interact the latent interaction term with the dichotomous country variable? If so, how is this done?

Thank you,
 Linda K. Muthen posted on Wednesday, March 20, 2013 - 6:28 am
You can use TYPE=MIXTURE RANDOM and the KNOWNCLASS option for multiple group analysis using XWITH. When all classes are known, it is exactly the same as using the GROUPING option.
 Constanze Eib posted on Friday, March 06, 2015 - 9:08 am
I have a question regarding which value of a moderator to choose for probing
the indirect effect.
Specifically, I run a moderated mediation model with a latent interaction (both X and Mod are continuous). I want to calculate (and bootstrap) an index for moderated mediation -
for this, I need to select at which value of the moderator I want the
mediation/indirect effect (I want low, middle, high).

I somehow think that with the 'xwith' command, mplus centers the latent
variables composing the interaction, so therefore I should request the indirect
effects at 0, 1 SD below and above 0 (but what is the SD then?)? Or should I
request it at the mean of a composite scale of the moderator (mean of 3
indicators), 1SD above and below this?

So my question is, is there a way in Mplus to know what the mean and the SD
of a latent variable is to know at which value of the moderator it is most
reasonable to request the indirect effect?

Thank you for your help!
 Bengt O. Muthen posted on Friday, March 06, 2015 - 11:00 am
The mean of a latent variable is zero unless otherwise printed (such as in multi-group settings). The SD is the square root of its estimated variance in the output. So do +- 1 SD for this latent moderator.
 Constanze Eib posted on Friday, March 06, 2015 - 12:26 pm
Hi Bengt,
thanks for your quick answer.

I still don't understand why. Does this mean that the 'xwith' command standardizes x and moderator?

Output prints a variance of 1 for x and moderator. But what is the command to get the means of latent variables? I see these for the individual items/indicators but not for the latent variables.

Thanks again!
 Constanze Eib posted on Saturday, March 07, 2015 - 1:40 am
1. In the following syntax, are -1, 0 and 1 adequate values to request?
2. Using these values with bootstrap, the p values of the main and interaction effects are .999. But they are sign. without bootstrap: why?

Estimator is ML;
X by xa* xb xc;
DV1 by dv1a* dv1b dv1c;
Med by meda* medb medc ;
Mod by moda* modb;
X with Mod;
DV1 with DV2;
XxMod | X XWITH Mod;
Med on
X (xmed)
XxMod (int);
DV2 on
X (xdv2)
Med (meddv2);
DV1 on
X (xdv1)
Med (meddv1);
NEW (mh m0 ml
ml = -1;
m0 = 0;
mh = 1;
CIN_LDV1 = xmed * meddv1 + int*meddv1*ml;
CIN_MDV1 = xmed * meddv1 + int*meddv1*m0;
CIN_HDV1 = xmed * meddv1 + int*meddv1*mh;
CIN_LDV2 = xmed * meddv2 + int*meddv2*ml;
CIN_MDV2 = xmed * meddv2 + int*meddv2*m0;
CIN_HDV2 = xmed * meddv2 + int*meddv2*mh;
 Bengt O. Muthen posted on Saturday, March 07, 2015 - 12:27 pm
First Eib post:

The latent variable means are zero as the default if not printed.

If you set the metric in your latent X and M by fixing the factor variance at 1, then in effect these latent variables are standardized. But it is not the case that Mplus standardizes them - instead your model specification results in tbis.
 Bengt O. Muthen posted on Saturday, March 07, 2015 - 12:32 pm
Second Eib post:

The input looks correct. Send the output for the bootstrap run to along with your license number.
 Massimiliano Orri posted on Friday, June 08, 2018 - 5:38 am
Dear Drs Muthen,

I am estimating a mediation model in which the mediator is a growth model (so intercept and slope are the mediators),
X is binary (treatment) and Y is continuous.

I would like to test for an interaction in the "b path", ie whether the association between my growth factors and my outcome is moderated by a Z variable.

Is using XWITH the correct approach to do that in Mplus?

Can you point me toward an example, if there are any?

Thank you
 Bengt O. Muthen posted on Friday, June 08, 2018 - 1:45 pm
Yes, use XWITH for a factor f and an observed variable y:

int | f XWITH y;
 Massimiliano Orri posted on Sunday, June 10, 2018 - 7:11 am
Thank you Dr Muthen.

I have 2 follow up questions:
When testing for the interaction between my growth factors and the observed continuous variable y:

1) am I supposed to enter the interactions for both growth factors at the same time ? That is:
int1 | intercept XWITH y;
int2 | slope XWITH y;

outcome ON y int1 int2;

2) is it normal that the interaction between slope and y changes significantly according to whether the intercept growth factor is centred to the first or last time point of my growth model?

i s | v1@0 v2@.12 v3@.30;
i s | v1@-.30 v2@-.18 v3@.0;

Thanks again
 Bengt O. Muthen posted on Sunday, June 10, 2018 - 6:02 pm
1) That's ok.

2) Yes, the meaning of "i" changes.
 Bibi Zhang posted on Sunday, July 08, 2018 - 10:13 am

I have questions regarding moderated mediation using latent variables. I need type=random to declare interaction variables, but model indirect effect is not available for type=random. How can I get indirect effect while retaining the moderator?

Here is my inp:

IV by IV1-5;
Me by Me1-4;
Mo by Mo1-6;
DV by DV1-6;

Me on IV Mo;
IVxMo | IV xwith Mo;
Me on IVxMo;
DV on Mo IV;

model indirect: DV via Me;

stdyx mod;

Thank you!
 Bengt O. Muthen posted on Sunday, July 08, 2018 - 5:20 pm
You can place parameter labels in the Model command and use them in the Model Constraint command to express the effects you want.
 Sara Namazi posted on Monday, July 16, 2018 - 11:16 am
Hi Dr. Muthen,

I have a question:

When conducting a moderated-mediation analysis:

Do you need to first have a significant indirect effect before you proceed with testing your conditional indirect effect at different levels of the moderator?

 Bengt O. Muthen posted on Monday, July 16, 2018 - 11:52 am
No, that is not necessary - see for instance our discussion of that on page 112 of our RMA book.
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