MODEL INDIRECT or MODEL CONSTRAINT?
Message/Author
 Jinni Su posted on Friday, September 27, 2013 - 1:33 pm
Hello,

I want to examine a SEM model where X is hypothesized to influence Y through multiple indirect pathways that involve multiple mediators. Specifically, it is hypothesized that:

X-->M1-->Y
X-->M2-->Y
X-->M1-->M3-->Y
X-->M2-->M3-->Y
X-->M1-->M2--M3-->Y

How do I specify a model to examine all the specific indirect effects and total indirect effects of X on Y? Are the following commands correct?

MODEL INDIRECT:
Y IND M1 X;
Y IND M2 X;
Y IND M1 M3 X;
Y IND M2 M3 X;
Y IND M1 M2 M3 X;
Y IND X;

Or should I use MODEL CONSTRAINT instead?

MODEL CONSTRAINT:
NEW(XM1Y XM2Y XM1M3Y XM2MM3Y XM1M2M3Y);
XM1Y = XM1 * M1Y;
XM2Y = XM2 * M2Y;
XM1M3Y = XM1 * M1M3 * M3Y;
XM2M3Y = XM2 * M2M3 * M3Y;
XM1M2M3Y = XM1 * M1M2 * M2M3 * M3Y;

How do I obtain total indirect effects of X on Y if I use MODEL CONSTRAINT?

Thanks!
Jinni
 Linda K. Muthen posted on Saturday, September 28, 2013 - 6:39 am
If you say

MODEL INDRIECT:
y IND x;

you will obtain tests for all indirect effects from x to y.

If this is not available, I need to know more about the scales of your variables.
 Jinni Su posted on Sunday, September 29, 2013 - 7:50 am
Thank you very much! I think this will work.
 Jonathan Jong posted on Saturday, May 10, 2014 - 8:54 am
I'd like to be able to do this too! But I'm new to MPlus and am wondering what to type in. I have:

title: mediation;

data: file = data.dat;

variable:
names = X M1 M2 Y;
usevar = X M1 M2 Y;
missing = all(-999);

analysis:
type = general;
bootstrap = 5000;

output: cinterval (bcbootstrap);

model:
Y on M1 M2 X;
M1 on X;
M2 on X;
MI with M2;

model indirect:
Y ind X
 Linda K. Muthen posted on Saturday, May 10, 2014 - 11:21 am
This looks correct. Give it a try.
 Jonathan Jong posted on Saturday, May 10, 2014 - 2:49 pm
I don't seem to get X-M1-M2-Y in the output, just the two specific indirect effects separately. Am I looking in the wrong place in the output? I'm quite new to this.
 Linda K. Muthen posted on Saturday, May 10, 2014 - 5:22 pm
You need

m2 ON m1;

you have

m1 WITH m2;
 Jonathan Jong posted on Sunday, May 11, 2014 - 1:00 am
Ah, thanks Prof.!

I suppose if I want to add an M3 into the chain, then I would need:

model:
Y on M1 M2 M3 X;
M1 on X;
M2 on X;
M3 on X;
M3 on M2;
M2 on M1;

Is that right?
 Linda K. Muthen posted on Sunday, May 11, 2014 - 7:01 am
You use an ON statement for whichever regression you want.
 Fredrik Falkenström posted on Monday, July 08, 2019 - 8:35 am
I have a similar problem as above, but my model is a cross-lagged panel model with 8 time-points and I am trying to get the total effect of X at times 1-7 on Y at t=8 (the last one). The cross-lags and autoregression only have one lag, but there are hundreds of indirect effects - too many to specify easily using Model Constraint. Is there any way of doing this using the Model Indirect command? I would also, in the next step, want to calculate the difference in this total effect between two groups (I am using latent class analysis with known classes, using Estimator = Bayes).

Best,

Fredrik Falkenström
 Bengt O. Muthen posted on Sunday, July 14, 2019 - 11:43 am
 Fredrik Falkenström posted on Tuesday, July 16, 2019 - 11:22 am
Sorry for being unclear, but my problem is that I don't know if what I want to do can be done at all. I would like to add the total indirect effects of X1 -> Y8, X2 -> Y8, X3 -> Y8, X4 -> Y8, X5 -> Y8, and X6 -> Y8, plus the direct effect of X7 -> Y8, to get the total effect of X on Y8. As far as I know it is only possible to calculate these separately using the Model Indirect, i.e:

Model Indirect:
Y8 IND X1;
Y8 IND X2;
Y8 IND X3;
etc.

If I instead were to use Model Constraint, I would need to specify each and every indirect path which would take a lot of time and space, plus the risk of missing some of them.
 Bengt O. Muthen posted on Tuesday, July 16, 2019 - 6:12 pm
I don't think that sum of effects can be obtained via Model Indirect.
 Fredrik Falkenström posted on Thursday, July 18, 2019 - 11:03 am
Ok, I see. Is there a formula for getting the standard errors for the sum of two (or more) coefficients that I can use to calculate this afterwards?
 Bengt O. Muthen posted on Thursday, July 18, 2019 - 1:04 pm
You can use the same Delta method approach that Model Constraint uses. I like the description in Kendall-Stuart. The variances and covariances of parameter estimates are given in Tech3.
 Alexander O'Donnell posted on Thursday, May 28, 2020 - 5:22 pm
Hello, I am looking to examine moderated mediation using the XWITH command, with TYPE=RANDOM. Is the only way to obtain the indirect effects with the MODEL CONSTRAINT process?

Many thanks,
Alex.
 Bengt O. Muthen posted on Saturday, May 30, 2020 - 11:41 am
Yes.
 Cheng posted on Monday, October 05, 2020 - 1:32 am
There is a reciprocal relationship in my SEM model. When I use Model Indirect command, Mplus output only provides Total, Total indirect. However, it doesn't provide Specific indirect and Direct effect. Is there any reason for this?
 Tihomir Asparouhov posted on Tuesday, October 06, 2020 - 8:48 am
Yes - there are infinitely many paths. You can get specific effects using the specific effects command
y1 ind y2 y3;
See page 762 in the User's Guide.
 Cheng posted on Thursday, October 08, 2020 - 12:11 am
There is no difference if I use
y1 VIA y2 y3

or

y1 IND y2 y3

is that right?
 Bengt O. Muthen posted on Thursday, October 08, 2020 - 11:26 am
Use VIA.