Mediation in Multiple Group Analysis
Message/Author
 Susan Seibold-Simpson posted on Tuesday, October 07, 2008 - 8:28 am
I have conducted mediation analysis with INDIRECT using bootstrapping and I am interested in whether the significant mediation holds in the sub-groups. Can I use INDIRECT in multiple group analysis? I have done the multiple group testing up to the structural level per the UG recommendations. Thanks, Sue
 Linda K. Muthen posted on Tuesday, October 07, 2008 - 10:23 am
MODEL INDIRECT can be used with multiple group analysis.
 Susan Seibold-Simpson posted on Tuesday, October 07, 2008 - 5:07 pm
Thanks Linda. I expect I may be e-mailing back, but as always I appreciate the rapid response. Sue
 Annie Desrosiers posted on Thursday, September 29, 2011 - 8:06 am
Dear Dr. Muthèn:

We are testing mediation models and we would like to see if there are sex differences on the IND pathway (multi-group analyses).

When searching on the Mplus forum discussion, we found this solution:

'If you have the estimate of the mediated effect and its SE for each of
the 2 groups, you can simply use those numbers to create the
approximately normal test variable:

(e1 - e2)/(se(e1-e2)),

where the denominator is sqrt(var(e1-e2)), where var(e1-e2) is var(e1)
+ var (e2), where var(e) is the square of the SE(e).'

Our questions are:
(1) Is there another way to conclude about differences between groups on the mediated effect (i.e., Mplus command)?
(2) If the formula above is the only way to conclude about differences between groups, is there a reference we could use?

Thanks a lot and have a nice day,
 Linda K. Muthen posted on Thursday, September 29, 2011 - 9:13 am
You can use MODEL TEST to compute a Wald test or you can do difference testing of the model where the parameter of interest in free across groups compared to a model where the parameter is held equal across groups. Difference testing is discussed on pages 434-435 of the Version 6 Mplus User's Guide.
 Annie Desrosiers posted on Thursday, September 29, 2011 - 9:45 am

Is it possible to fix:
alc89pr1 IND cr567pao know134;

to be equal across groups?

For example:

Model girls:
alc89pr1 IND cr567pao know134 (1);

Model boys:
alc89pr1 IND cr567pao know134 (1);
 Linda K. Muthen posted on Thursday, September 29, 2011 - 9:53 am
No, only parameters in the MODEL command. You could create the indirect effects in MODEL CONSTRAINT and use MODEL TEST to test their difference.
 Annie Desrosiers posted on Thursday, September 29, 2011 - 10:51 am
Thanks again,

We tried with this syntax:

USEVARIABLES ARE know134 osex567 alc1yn alc89pr1 ant1r struc1yn alc5r;
grouping are sexe (1=fille 2=gars);
MISSING = all (999);

!ANALYSIS: BOOTSTRAP = 5000;

MODEL:
alc89pr1 ON know134;
alc89pr1 ON osex567;
alc89pr1 ON alc5r;
osex567 ON know134;
know134 ON ant1r alc1yn struc1yn;

MODEL INDIRECT:
alc89pr1 IND osex567 know134;

model fille:
alc89pr1 ON know134 (c1);
alc89pr1 ON osex567 (b1);
osex567 ON know134 (a1);

model gars:
alc89pr1 ON know134 (c2);
alc89pr1 ON osex567 (b2);
osex567 ON know134 (a2);

MODEL constraint:
new(f g);
f=a1*b1;
g=a2*b2;

MODEL TEST:
f=g;

OUTPUT:
cinterval sampstat stand tech4;

Does it make sense? We were not able to specify bootstrapping with Model test.
 Linda K. Muthen posted on Thursday, September 29, 2011 - 1:28 pm
This looks correct. If you want to use bootstrapping, you can run the model twice and do difference testing. You would run it once with the MODEL CONSTRAINT you show and then with

MODEL constraint:
new(f g);
f=a1*b1;
g=a2*b2;
0 = f - g;
 sune Bo hansen posted on Friday, November 18, 2011 - 4:31 am
I have a question regarding an error I get when i try to run the following model:
INPUT INSTRUCTIONS

data:
File is P.csv;
variable:
Names are P I M;
Usevariables are P I M;
Categorical are I M;
Analysis:
Type=general;
bootstrap=5000;
Model:
I ON M P;
M ON P;
Model indirect:
I IND P;

*** ERROR
The length of the data field exceeds the 40-character limit for free-formatted
data. Error at record #: 1, field #: 1
*** ERROR
The number of observations is 0. Check your data and format statement.
Data file: P.csv

Can anyone help me with that??
 Linda K. Muthen posted on Friday, November 18, 2011 - 1:36 pm
 sune Bo hansen posted on Sunday, November 20, 2011 - 5:41 am
Dear Linda, thanks a lot for your fast response, I figured it out and Mplus is now working like a dream ;-)

Please, can you advice me how to report the results below (A mediation-analysis with one dichotomous variable) And I need to report confidence intervals for the bootstrap analysis. I am a bit in a doubt how to report it. I haves search APA, but without luck. Can you help me???

CONFIDENCE INTERVALS OF TOTAL, TOTAL INDIRECT, SPECIFIC INDIRECT, AND DIRECT EFFECTS

Lower .5% Lower 2.5% Lower 5% Estimate Upper 5% Upper 2.5% Upper .5%

Effects from PCL to IPAS via MAS

Sum of indirect -0.192 -0.151 -0.136 -0.082 -0.034 -0.024 0.000

Specific indirect
IPAS
MAS
PCL -0.192 -0.151 -0.136 -0.082 -0.034 -0.024 0.000

Thanks again
Very best,
Sune
 Bengt O. Muthen posted on Sunday, November 20, 2011 - 7:58 pm
You report the estimate and the 95% confidence interval which is the value for the Lower 2.5% and the Upper 2.5%.

If PCL is the dichotomous variable you mention, you might also want to report the corresponding STDY values, so not stand'ng wrt to the binary x (PCL).
 sune Bo hansen posted on Monday, November 21, 2011 - 3:29 am
Thanks a lot, so to get it clear (sorry, but I am new in the realm of mediation-analysis ;-)

My mediator is the MAS-variable (dichotomous), so I report the point estimate -0.082 and 95% CI [-0.151, -0.024], right (see above).
And then the S.E. Est./S.E. as well for the MAS variable?
and that will be it?

 Bengt O. Muthen posted on Monday, November 21, 2011 - 7:49 am
To report mediation results you want to also report the slope of MAS on PCL and the slopes of IPAS on MAS and PCL.

With a binary mediator, you may want to use the WLSMV estimator.

To learn about mediation, you may want to get the 2008 MacKinnon book.

And if you want to get serious about binary mediators, you should read my paper at

 sune Bo hansen posted on Tuesday, December 06, 2011 - 3:37 am
Dear Bengt,

I am wondering whether it is possible to do mediation analysis in Mplus with a categorical variable consisting of 4 subcategories? I have done it with a dichotomous variable, but would be very excited if it is possible with a 4-category mediator variable as well????

Thanks a lot,

Best Sune
 Linda K. Muthen posted on Tuesday, December 06, 2011 - 9:19 am
In the past we would have said an unordered categorical variable could not be a mediator. See the following paper on the website where a new method is shown:

Muthén, B. (2011). Applications of causally defined direct and indirect effects in mediation analysis using SEM in Mplus. Submitted for publication.
 sune Bo hansen posted on Wednesday, December 07, 2011 - 3:25 am
Dear Linda,
Thanks a lot, it sure looks very interesting and promising for future research possibilities...

I have looked into the article and the appendix as well, and I can see that there is syntax for a 3-categorical mediator, but can you in anyway help me with a syntax, if my mediator consist of 4 categories?
I would be very grateful since I have some very interesting psychological data where it would be superb with this opportunity.

Thanks a lot,
Best Sune
 Linda K. Muthen posted on Wednesday, December 07, 2011 - 11:41 am
 sune Bo hansen posted on Thursday, December 08, 2011 - 1:51 am
Dear Linda, thanks a lot I have mailed support@statmodel.com, with my questions and license number...
Have a great day,

Best Sune
 Luna Munoz Centifanti posted on Tuesday, January 17, 2012 - 5:09 am
I'm using all observed variables in a path analysis with multiple groups (2 groups). I have the following in the model:
m1 m2 on x;
y1 y2 on m1 m2 x;

model indirect:
y1 ind x;
y2 ind x;

model lowses:
y1 on x (a1);
m1 on x (b1);
y1 on m1 (c1);
y1 on x (a3);
m2 on x (b3);
y1 on m2 (c3);

model highses:
y1 on x (a2);
m1 on x (b2);
y1 on m1 (c2);
y1 on x (a4);
m2 on x (b4);
y1 on m2 (c4);

model constraint:
new (f g);
f=(b1*c1)+(b3*c3);
g=(b2*c2)+(b4*c4);
model test:
0=f-g;

However, y1 and m1 are based on similar measures (across time) and y2 and m2 are based on similar measures (across time). Should I run 2 models (one for y1 and m1 and one for y2 and m2) or keep the analysis as one (as above)? If I run it as above, I need to run one model constraint for predicting the indirect effects for y1 across the 2 groups and another for predicting the indirect effects for y2, right? Thanks!
 Linda K. Muthen posted on Tuesday, January 17, 2012 - 2:06 pm
I would think using one model as you show would be fine.

Yes, you would need specify both indirect effects in MODEL CONSTRAINT.
 Luna Munoz Centifanti posted on Friday, January 20, 2012 - 8:55 am
Thanks so much for your response! These boards as well as the manual help so much.

I was trying to re-run my model using Bootstrapping and CINTERVAL in the output. I know you said that MODEL TEST cannot be used and so 0 = f - g needs to be brought into the MODEL CONSTRAINT field. However, when I do this, I get an error of convergence: NO CONVERGENCE. SERIOUS PROBLEMS IN ITERATIONS. ESTIMATED COVARIANCE MATRIX NON-INVERTIBLE. CHECK YOUR STARTING VALUES. Do you have any advice?
 Linda K. Muthen posted on Friday, January 20, 2012 - 2:11 pm
 davide morselli posted on Tuesday, February 14, 2012 - 4:31 am
Hi,
I was wondering if it is computionally right to test with MODEL INDIRECT a model in which a latent dimension has an effect on a DV via a second latent dimension of which the DV is one of the observed variable. From a tehoretical perspective it make sense, but I am not sure if I cant translate it into SEM, that is:

f1 BY x1 x2 x3;
f2 BY z1 z2 dv1;

f2 on f1 (7);
dv1 on f1 (8);

MODEL INDIRECT:
dv1 on f2 f1;

In addition I wanted to test with a multi-group approche whether the mediation model holds in different group. Thus I constrained the relation between variables to be equal across groups.

Thank you!
 Linda K. Muthen posted on Wednesday, February 15, 2012 - 10:13 am
Yes, this is correct. Your MODEL and MODEL INDIRECT commands are not correct according to MODEL INDIRECT. It should be:

MODEL:

f1 BY x1 x2 x3;
f2 BY z1 z2 dv1;

f1 on f2 (7);
dv1 on f1 (8);

MODEL INDIRECT:
dv1 IND f2 f1;
 Yaacov Petscher posted on Monday, April 02, 2012 - 12:04 pm
Greetings - I'm curious as to whether a solution was discovered for the problem reported here Friday, January 20, 2012 - 8:55 am. I have a model of multiple group mediation, and when the testing statement is brought into the model constraint statement, I get the NO CONVERGENCE. SERIOUS PROBLEMS IN ITERATIONS. ESTIMATED COVARIANCE MATRIX NON-INVERTIBLE.CHECK YOUR STARTING VALUES. error messages.
 Linda K. Muthen posted on Monday, April 02, 2012 - 1:16 pm
This message can mean different things. We would need to see your output and license number at support@statmodel.com to say more.
 Yan Liu posted on Thursday, August 28, 2014 - 8:30 pm
Dear Dr. Muthen,

I am trying multilevel multigroup mediational analysis and got an error message.

The labels %BETWEEN% or %WITHIN% must be specified.

Is the code wrong?

USEVARIABLES ARE group x m y1 y2 tchid;
GROUPING = group (0=g1 1=g2);
CLUSTER = tchid;
ANALYSIS: TYPE = TWOLEVEL RANDOM;
MODEL:
%WITHIN%
m ON x;
y1 ON x m;
y2 ON x m;

MODEL g1:
m ON x (aw1);
y1 ON x
m (b1w1);
y2 ON x
m (b2w1);

MODEL g2:
m ON x (aw2);
y1 ON x
m (b1w2);
y2 ON x
m (b2w2);

%BETWEEN%
m ON x;
y1 ON x m;
y2 ON x m;

MODEL g1:
m ON x (ab1);
y1 ON x
m (b1b1);
y2 ON x
m (b2b1);

MODEL g2:
m ON x (ab2);
y1 ON x
m (b1b2);
y2 ON x
m (b2b2);

MODEL CONSTRAINT:
NEW(ind1w1 ind1w2 ind1b1 ind1b2
ind2w1 ind2w2 ind2b1 ind2b2);
ind1w1=aw1*b1w1;
ind2w1=aw1*b2w1;
ind1b1=ab1*b1b1;
ind2b1=ab1*b2b1;

ind1w2=aw2*b1w2;
ind2w2=aw2*b2w2;
ind1b2=ab2*b1b2;
ind2b2=ab2*b2b2;
 Linda K. Muthen posted on Friday, August 29, 2014 - 1:34 pm
The structure should be

MODEL:
%WITHIN%
#BETWEEN%
MODEL g1;
%WITHIN%
%BETWEEN%
MODEL g2;
%WITHIN%
%BETWEEN%

The basic model should be specified under MODEL. Differences between group-specific models and this model should be specified under MODEL g1 and MODEL g2.
 Yan Liu posted on Saturday, August 30, 2014 - 6:17 pm
Dear Linda,

Thank you so much! The code works now. However, when I added more under the MODEL CONSTRAINT to test the difference on indirect effects between two groups.

0=ind1w1-ind1w2;
0=ind2w1-ind2w2;
0=ind1b1-ind1b2;
0=ind2b1-ind2b2;

The model doesn't work and gives me error message as follows.

THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO AN ERROR IN THE COMPUTATION.CHANGE YOUR MODEL AND/OR STARTING VALUES.

Is this because I have zero degrees of freedom, which doesn't allow more tests, or my model doesn't fit the data?
Thanks!
Yan
 Linda K. Muthen posted on Sunday, August 31, 2014 - 5:45 am
 anonymous Z posted on Tuesday, July 26, 2016 - 1:53 pm
Dear Dr. Muthen,

Below is my test on the difference of indirect effects. I used model constraint. Does the syntax look right to you?

1.If DIFF is significant, i.e., p<.05, can I conclude that the indirect effects were significantly across the two groups?
2.Do I need to use bootstrapping while using model constraint?

Thanks so much,

MODE:

IPPA_3 ON CARE_2;
CARE_3 ON IPPA_2(a1);

IPPA_3 ON IPPA_2;
CARE_3 ON CARE_2;

emo_4 on ippa_3;
emo_4 on CARE_3 (b1);

MODEL Treat:

IPPA_3 ON CARE_2;
CARE_3 ON IPPA_2(a2);

IPPA_3 ON IPPA_2;
CARE_3 ON CARE_2;

emo_4 on ippa_3;
emo_4 on CARE_3 (b2);

MODEL constraint:

New (H O DIFF1);

H= a1*b1;
O= a2*b2;

DIFF1= H-O;
 Bengt O. Muthen posted on Wednesday, July 27, 2016 - 11:39 am

MODE:

is really

MODEL Control:

then the DIFF1 test checks if those 2 products are the same or not. Small p-value means that they are different.
 anonymous Z posted on Wednesday, July 27, 2016 - 11:52 am
Dr. Muthen,

Thanks so much! It is a typo. It should be "model"

BTW, I tried wald test too.

model test:

0=H-O;

if p<.05, does it mean that they are different? It is similar to DIFF test, right?
 Bengt O. Muthen posted on Wednesday, July 27, 2016 - 2:16 pm
right
 Diana Chirinos Medina posted on Tuesday, October 04, 2016 - 2:52 pm
Dear Dr. Muthen,
I am running a model across 3 groups and want to see whether an indirect path is equal across all 3 groups. I constrained all paths to be equal except these:

Model: STRESS ON NEIGH (a1);
BMI ON STRESS (a2);

MODEL HISP:
STRESS ON NEIGH (b1);
BMI ON STRESS (b2);

MODEL BLACK:
STRESS ON NEIGH (c1);
BMI ON STRESS (c2);

And added the model constrained command: MODEL CONSTRAINT:
NEW(a1a2 b1b2 c1c2);
a1a2=a1*a2;
b1b2=b1*b2;
c1c2=c1*c2;
0=a1a2-b1b2;
0=b1b2-c1c2;
0=c1c2-a1a2;

However, i got this error message:
NO CONVERGENCE. SERIOUS PROBLEMS IN ITERATIONS.
ESTIMATED COVARIANCE MATRIX NON-INVERTIBLE.

How should I specify this model? I want all paths to be held equal across group except for the indirect path:
BMI ind stress neigh;

I look forward to hearing from you.
Best,
Diana
 Bengt O. Muthen posted on Tuesday, October 04, 2016 - 3:11 pm
You are close but you should have only 2, not 3, comparisons. Your say

0=a1a2-b1b2;
0=b1b2-c1c2;
0=c1c2-a1a2;

but since both the 1st and 3rd lines compare to a1a2 the 2nd line is redundant. It is that redundancy that gives the non-invertibility.

Instead, you should for example say:

0=a1a2-b1b2;
0=a1a2-c1c2;
 Diana Chirinos Medina posted on Wednesday, October 05, 2016 - 12:39 pm
Dear Dr. Muthen,
I tried to run the model as you suggested but I am still getting the same error.
I tried this alternative model and it did run:
MODEL CONSTRAINT:
NEW(a1a2 b1b2 c1c2 diff diff1 diff2);
a1a2=a1*a2;
b1b2=b1*b2;
c1c2=c1*c2;
diff=a1a2-b1b2;
diff1=b1b2-c1c2;
diff2=c1c2-a1a2;

The output gave me these new parameters:
A1A2 -0.023 0.011 -2.079 0.038
B1B2 -0.008 0.006 -1.300 0.193
C1C2 -0.032 0.021 -1.549 0.121
DIFF -0.014 0.012 -1.162 0.245
DIFF1 0.024 0.021 1.105 0.269
DIFF2 -0.009 0.023 -0.405 0.685

Is there any other way of testing whether these are significantly different from each other?
 Diana Chirinos Medina posted on Wednesday, October 05, 2016 - 12:49 pm
One follow up question, i ran two models one with the direct paths constrained and one with them unconstrained.
There does not seem to be significant change in model fit.
If the direct paths are the same across group, couldn't I just assume that the indirect paths are the same as well?
 Bengt O. Muthen posted on Wednesday, October 05, 2016 - 2:52 pm
Q1. You used Model Constraint. You can also use Model Test.

Q2. If all paths are equal, the indirect effects will also be equal. The reverse doesn't hold.
 Analia Albuja posted on Tuesday, June 20, 2017 - 2:32 pm
Hi,

I ran a multiple group path analysis with two groups. The chi squared difference test between the unrestrained and the restrained models was not significant. However, the patterns of mediation are different between groups. I have three mediators, so for example in one group the mediation is significant through two mediators but in the other group it's only significant through one. Are these differences significant? Or are they not since the models are not different overall? Any advice you have on how to interpret that would be appreciated! Thank you!
 Bengt O. Muthen posted on Tuesday, June 20, 2017 - 5:26 pm
Even if two estimates are not significantly different, one of them may be significantly different from zero while the other isn't.

For instance, with

a= 0.5, b= 0.75

the difference of 0.25 might not be significant while the difference between 0.5 and 0 is. It also depends on their SEs and the covariance between the estimates (shown in TECH3).
 Hannah Pickard posted on Monday, July 31, 2017 - 5:24 am
Dear Dr Muthen,

I am currently running a multiple group mediation model to test whether the indirect paths significantly differ across gender.

Here is the model I am specifying between my latent variables. I want to run one model (below) with freely estimated paths across gender and compare this to the fit of a model with equated indirect paths across gender (e.g. boys a1 and girls a1).

MODEL:
socanx10 ON scdiff;
socanx13 ON scdiff;

ovvic ON scdiff(a1);
relvic ON scdiff(b1);

socanx10 ON ovvic(c1);
socanx10 ON relvic(d1);
socanx13 ON ovvic(e1);
socanx13 ON relvic(f1);

MODEL girl:
socanx10 ON scdiff;
socanx13 ON scdiff;

ovvic ON scdiff(a2);
relvic ON scdiff(b2);

socanx10 ON ovvic(c2);
socanx10 ON relvic(d2);
socanx13 ON ovvic(e2);
socanx13 ON relvic(f2);

MODEL constraint:
NEW (ind_go ind_go2 ind_gr ind_gr2 ind_bo ind_bo2 ind_br ind_br2);

ind_bo = a1*c1;
ind_bo2 = a1*e1;
ind_br = b1*d1;
ind_br2 = b1*f1;

ind_go = a2*c2;
ind_go2 = a2*e2;
ind_gr = b2*d2;
ind_gr2 = b2*f2;

The model outlined above will not converge: NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED.

I would be grateful for any advice you are able to offer.
 Linda K. Muthen posted on Monday, July 31, 2017 - 5:48 am
 Analia Albuja posted on Tuesday, November 21, 2017 - 6:46 am
Hello,

I ran a multiple group path analysis with two groups. I tested whether the indirect effects were significantly different using likelihood ratio tests and they were not. In the output I see the indirect effects separated by group, so I'm not sure which I should report. Should I run the analysis without the grouping variable and report those indirect effects?

Thank you!
Analia
 Bengt O. Muthen posted on Tuesday, November 21, 2017 - 2:53 pm
I assume you do a run where you hold the indirect effects equal across the 2 groups - use that.
 carlo di chiacchio posted on Friday, April 20, 2018 - 8:50 am
Dear Profs Muthen,

I've been running a multiple group path analysis on a complex survey data. The BRR are the replicates weights used in the dataset.
Since there are some missing, I used the default estimator declaring a multivariate normality assumption.
I've tested also the difference between boys and girls on specific indirect effects by using MODEL CONSTRAINT. Checking the output, the parameter relative to the difference was statistically significant. I kindly ask whether the computation of the standard error of this parameter takes into account the sampling design, considering the BRR weights.

Carlo
 Tihomir Asparouhov posted on Friday, April 20, 2018 - 11:10 am
Yes - model constraints parameters use the same computation as for regular model parameters.
 carlo di chiacchio posted on Monday, April 23, 2018 - 5:18 am
Dear Prof. Asparouhov,

apologies for this delayed reply. Thank you so much for the reassuring response.

I would like ask another question. Mplus do not provide Chi-square statistics if BRR replicates are being used. Could you please suggest me other methods of model comparison?

Thank you again.
Carlo
 Tihomir Asparouhov posted on Monday, April 23, 2018 - 11:31 am
You can use model constraint to test for differences between parameters see for example Mplus user's guide page 274, or you can use the "model test" command.
 Silvia Klokgieters posted on Thursday, March 14, 2019 - 1:27 am
Dear Dr Muthen,
We are testing mediation models (two mediators) and we would like to see if there are cohort differences on the IND pathway (multi-group analyses with three groups). We have a dichotomous outcome.
According to your commend earlier in this thread you could test the difference of indirect effects between groups with model constraint in two ways. First, obtain indirect effects in model constraint:
a1b1 = c1 * a2;
aa1bb1 = cc1 * aa2;
model test:
a1b1=aa1bb1;
We do this for all indirect effects. This works fine. However, it is not possible to use the bootstrapping command in combination with model test. Is this a concern at all?
The second way is to define this command in
MODEL constraint:
0 = a1b1 - aa1bb1;
We can use bootstrapping. However, we are getting this error:
THE DEGREES OF FREEDOM FOR THIS MODEL ARE NEGATIVE. THE MODEL IS NOT IDENTIFIED. NO CHI-SQUARE TEST IS AVAILABLE. CHECK YOUR MODEL.
NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED.
Can we conclude that the constraint does not work and therefore the bootstrapped indirect effects are not the same? Or does this mean that there is a problem with our model? How else could we obtain a significance test of bootstrapped indirect effects across cohorts?
 Tihomir Asparouhov posted on Friday, March 15, 2019 - 11:39 am
You should use

MODEL constraint:
New(diff); diff = a1b1 - aa1bb1;

and look at the bootstrap CI for diff with

output:cint(boot);
 Daniel Lee posted on Monday, August 05, 2019 - 3:26 pm
Hi Dr. Muthen,

I am using the WLSMV estimator and bias corrected bootstrap confidence interval to test for group differences (two groups) in the direct and indirect paths in a simple mediation model.

I found significant group differences in the direct path from the mediator to the outcome (y), but did not find group differences between the indirect effects. Of note, the indirect effect was significant in one group, but not the other. I was wondering if this means that there is a significant difference from the mediator to the outcome (M to Y) but that this difference is not robust enough to influence group differences in the indirect effect?

If there are no significant group differences in the indirect effects, which indirect effect should I interpret (e.g., indirect effect from model where the groups are pooled)?

Thank you!
 Bengt O. Muthen posted on Monday, August 05, 2019 - 5:06 pm
If a and b do not show group differences in a joint 2 df Wald test (Model Test), then use the model with them equal across groups.
 Daniel Lee posted on Wednesday, August 07, 2019 - 8:39 am
Hi Dr. Muthen,

Thank you for the response. I have set equality constraints on all model coefficients between the two groups, and only freed the "a" and "b" path (to be unequal between groups). When I did that, the difference in chi-square (2 df) was significant.

Is that what you meant? Thank you!
 Bengt O. Muthen posted on Wednesday, August 07, 2019 - 5:28 pm
Right.
 Caitlin Murray posted on Thursday, August 08, 2019 - 12:18 pm
Hello,
We are aiming to test a mediation model based on latent variables formed from ordinal data (so have used WLSMV). We want to see if there are differences on the IND pathway for two groups (diagnosis/no diagnosis).

Based on what I've read so far, our current syntax is as below:

Y BY Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12;
X BY X1 X2 X3 X4;
M BY M1 M2 M3 M4 M5 M6;

Y ON X M;
M ON X;

MODEL INDIRECT:
Y IND X;

MODEL diagnosis:
Y ON X (a1);
Y ON M (b1);
M ON X (c1);

MODEL no diagnosis:
Y ON X (a2);
Y ON M (b2);
M ON X (c2);

MODEL constraint:
new (D ND DIFF1);
D=a1*b1;
ND=a2*b2;

DIFF1=ND-D;

OUTPUT: CINTERVAL STAND TECH4;

Is this correct? Could you explain how you would bootstrap this?

I also wanted to ask what the appropriate way would be to test individual pathways within the model between the two groups - would this be DIFFTEST?

Many thanks.
 Bengt O. Muthen posted on Saturday, August 10, 2019 - 6:33 am
Yes, this is correct. To use bootstrapping, just say Bootstrap = 500 in the Analysis command and Cinterval(Bootstrap) in the Output command.

If you want to test a single parameter you can do DIFFTEST or again use Model Constraint. Those are two different chi-square tests with the same aim.
 Silvia Klokgieters posted on Thursday, February 06, 2020 - 5:34 am
We are doing multiple group mediation with a latent continuous determinant, a continuous outcome and a dichotomous mediator (defined as categorical). We have been advised to calculate the path between the determinant en de mediator on a risk difference scale.
We have difficulty calculating the risk difference scale in our multiple group model. We use the following formula;
MODEL CONSTRAINT:
new(im a1_rd a1b);
im = SQRT((smok\$1+1)^2);
a1_rd = (exp(im+a1)/(1+exp(im+a1))) - (exp(im)/(1+exp(im));
a1b = a1_rd*b1;
With the ”im = smok\$1+1;” code we are attempting to save the intercept. Mplus seems to use the same estimate of 2.0000 each time, which corresponds with none of the intercepts. In addition we get this error;
Missing matching right parenthesis.
Is there a way to save intercepts of the individual multiple group models (even if they have the same name of smok\$1) in order to obtain a risk difference scale for each group individually?
 Bengt O. Muthen posted on Thursday, February 06, 2020 - 3:29 pm
 Silvia Klokgieters posted on Friday, February 14, 2020 - 3:12 am
Thank you for this option. I was wondering whether I could ask a follow up question before sending the input. Is there are any other way to calculate indirect effect with a binary mediator that is in line with the counterfactual mediation framework to account for the scale difference between logistic and linear regression in one mediation model? How should I compute this is the model constraint command?
 Bengt O. Muthen posted on Saturday, February 15, 2020 - 8:43 am
The matching parenthesis error is in your second term

(exp(im)/(1+exp(im));

where you have 4 left parentheses and only 3 right parentheses. Also, smok\$1 should be a label given to a parameter in the Model command.

For your second question, see our special web page:

http://www.statmodel.com/Mediation.shtml

especially the paper:

Muthén, B. & Asparouhov T. (2015). Causal effects in mediation modeling: An introduction with applications to latent variables. Structural Equation Modeling: A Multidisciplinary Journal, 22(1), 12-23. DOI:10.1080/10705511.2014.935843 Click here to download the paper.
 Silvia Klokgieters posted on Thursday, February 20, 2020 - 8:04 am
Dear Bengt,

Thank you very much! Giving smok\$1 in the model command works!

I have another follow up question regarding mediation with one continuous latent variable as predictor.

We would like to compare the coefficients of two models:
1) Latent variable (X)--> outcome (Y) without controlling for the mediator (C)
2) Latent variable (X) --> outcome (Y) with controlling for the mediator (C').

However I have noticed that the factor loadings of the latent variable are different across models 1) and 2). In addition, C and C' sometimes behave in an illogical ways suggesting that the mediator is a suppressor while this is clearly not the case.

Is it possible to compare models 1) and 2) (thus C and C’) if there is a latent variable in the models? What would you advise us to do if we want to compere C and C’ in this situation? Is it a problem when they are illogical when the indirect effects are properly calculated?
 Bengt O. Muthen posted on Thursday, February 20, 2020 - 4:22 pm
If 1) and 2) have different factor loadings, this suggests that the model isn't fitting the data well enough in one or both cases. For instance, the correlations between the factor indicators and the mediator may not be well represented by the model.
 May Gong posted on Saturday, June 06, 2020 - 1:21 am
Dear Dr. Muthen,

I am testing the mediation in multiple group analysis and I have two questions.

The first one is that I want to control for demographic variables in the mediation model, but the impact of demographic variables is different between two groups. So I try to control for demographic variables in two specific models, but not the general model. However, there is a warning in model command "Variable is uncorrelated with all other variables in the model"and also ignore the additional syntax about demographic variables in the specific model. Please notify me how to solve it.

The second one is that, can model test (i.e., Wald test) be applied to examine the invariance of both regression paths and indirect effects?

Best,
May Gong
2020/6/6
 Bengt O. Muthen posted on Sunday, June 07, 2020 - 12:47 pm
 fred posted on Tuesday, September 22, 2020 - 2:24 pm
Hi,
Is MLR estimation sufficient for Wald model test of equality of indirect effects across 2groups, or is it necessary to run the Wald test also with bootstraps the way we do for assessing the signifance of individual indirect effectS?
Thanks
 Bengt O. Muthen posted on Tuesday, September 22, 2020 - 2:42 pm
MLR plus Wald is all you need. You are not after non-symmetric CIs in which case you need bootstrap or Bayes.
 fred posted on Wednesday, September 23, 2020 - 9:36 am
Thanks for quick response!