I am attempting to test a moderated mediation model where X->M->Y (all observed variables) is moderated by w, a binary variable (gender). I know how to examine this with a multiple group approach but am attempting the approach described in Preacher, Rucker & Hayes (2007) in Figure 2 model 5 where W influences paths a and b of the mediation chain.
With some help from Preacher & Hayes, I have modeled this as pasted below. However, all of the estimates SEs, ps, CIs are exactly the same for all of the paths with the exception of X->M and M->Y. This seems very odd to me. Can you point me to what I might be doing wrong? Thank you.
ANALYSIS: BOOTSTRAP = 1000;
MODEL: M WITH MW; M ON X (a1) W XW (a3); Y ON M (b1) X W XW MW (b2);
MODEL CONSTRAINT: NEW(eff1 eff2); eff1=(a1+a3*1)*(b1+b2*1); eff2=(a1+a3*2)*(b1+b2*2); OUTPUT: CINTERVAL(bcbootstrap);
Thank you. The results make much more sense now. Now it is only the M on W and M on MW results that are identical. Does it make sense that this would be the case? Might this be because the MW cross-product involves a binary variable (coded 1 & 2)?
Drs. Muthen, I am attempting to fit a Moderated Mediation model with simple (single level) survey data. Specifically, I wish to examine the moderating influence of a dichotomous variable (Mod) effect coded (-1, +1) on the 'A', 'B', and 'Cprime' paths as seen in Edwards and Lambert (2007; Model H). I realize that the multigroup function of Mplus may be used in this specific instance(e.g. a categorical moderator), however I would like to retain the more traditional 'cross product' approach for two reasons: 1) To replicate OLS estimates for all paths, 2) I am often interested in similar models with continuous moderators where multigroup analysis is not appropriate. IV and Mod were centered prior to importing into Mplus, and product terms were created using a DEFINE statement. I use the following code:
MODEL: Med on Mod IV IVxMod; ! 'A' Path Y on Mod IV IVxMod Med ModxMed; ! 'B' and 'Cprime' Paths
MODEL INDIRECT: Y IND Med IV;
The resulting model has df = 1 and a significant ChiSq. Examination of RESIDUAL matrix suggests a notable covariance between Med and ModxMed. Adding a covariance parameter results in a not-positive first-order derivative matrix.
I have run into this problem before in the past, and I have a hunch that it stems from the fact that Med is an endog variable. Any advice? Thanks
If you obtain standard errors, the message most likely comes from the fact that the mean and the variance of your binary variable are not orthogonal. You can ignore the message if this is the case.
Hong Deng posted on Thursday, May 10, 2012 - 8:10 pm
Dear Drs. Muthen, I’m trying to test a moderated mediation model with nested data. Data for all my variables were collected from individual and the level of interest is individual too. Basically it is a 1-1-1 mediation model (x-m-y)with a level 1 moderator (w). It should be an easy one if my data isn’t nested in several clusters. Is it possible to test such a model in Mplus? How should I write my Syntax. Thanks very much.
Moderation can be handled by a multiple group analysis if the moderator is categorical or by creating an interaction term between the moderator and the variable being moderated. You can use TYPE=COMPLEX to take the non-independence of observations into account. Modify Example 3.11 and add CLUSTER to the VARIABLE command and TYPE=COMPLEX to the ANALYSIS command.
I am attempting to conduct a moderated mediation analysis where all variables are latent variables formed with continuous indicators. In my model, the independent variable (X) functions as a moderator of the b1 path (the path from the mediating variable to outcome). This model is illustrated in Preacher, Rucker & Hayes (2007) - Figure 2, Model 1.
I get an error message that says: MODEL INDIRECT is not available for TYPE=RANDOM.
1. Is it possible to do moderated mediation with a latent interaction variable?
2. Any guidance as to how to generate syntax for this model would be greatly appreciated.
This type of model is discussed in Section 3 and Section 5 of
Muthén, B. (2011). Applications of causally defined direct and indirect effects in mediation analysis using SEM in Mplus.
which is on our web site under Papers, Mediational Modeling. As stated in Section 3, Model Indirect cannot be used for this type of model. Section 5 shows how to define the direct and indirect effects instead using Model Constraint.
Dear Drs. Muthen, I am currently running a moderated mediation model (X -> A -> Y with the pathway from A to Y being moderated by gender) using the following syntax:
Y on X; A on X(Med1); Y on A(Med2);
Y on Gender A*Gender;
MODEL CONSTRAINT: NEW(Indir1); Indir1=Med1*Med2;
This model revealed significant moderated mediation; however, correlations suggested that moderation could also be expected on the pathway between X and A. When I checked for moderation of this pathway it also revealed significant moderated mediation. I've been told that presenting a model with both moderated pathways is inappropriate and that I need to check to see which model is best; however I am unsure of how to do this. Do you have any advice or syntax for such a problem?
I would suggest a 2-group analysis with gender as the grouping variable. You can then easily test if the two paths are the same or different across gender. I can't see why a model with both paths differing across gender would be inappropriate.
Luisa Rossi posted on Thursday, October 25, 2012 - 4:32 am
Dear Drs Muthen,
I have been running some mediation analyses and found that the x-->y relationship was mediated by m.
I would now like to see if the a and b paths of the indirect models are different depending on whether respondents score high or low on a number of personality measures.
So far, I have used multiple group comparisons with difftest to assess this.
I am now thinking there may be a better way to do it but I am not sure. Can you help?
Why are you dissatisfied with your approach? Is it because your moderator is continuous and you are categorizing it? See Example 3.18 in the Version 7 Mplus User's Guide on the website for another approach to moderated mediation.
Luisa Rossi posted on Thursday, October 25, 2012 - 10:08 am
Thanks for the tip! I will look at the example. I am unsure whether multiple group comparison is the most effective way to look at moderated mediation or whether reviewers may criticize it.
With latent variables, you should use the XWITH option for interactions. DEFINE is for observed variables. You don't include it in the MODEL command but above or below it.
Luisa Rossi posted on Wednesday, October 31, 2012 - 5:15 am
AS I am interested in the potential moderating role of w on path a and b, I adapted the model 5 example in Preacher, Rucker, and Hayes (2007) but I used the XWITH command to obtain the two interaction terms
mw | m XWITH w; xw | x XWITH w;
and included these interaction terms in the model as they suggest:
MODEL: y on m (b1) x w mw (b2) xw; m on x (a1) w xw (a3);
I find that there is no evidence for a moderating role of either mw or xw (Ps>.05).
However, when I had run the multiple group comparisons using w as the grouping variable I had found that it moderated path a (not b)...
I am slightly confused on why this might be... can you help? are the 2 approaches not 100% comparable?
These two approaches should yield identical results. Please send the two outputs and your license number to email@example.com.
C. Lechner posted on Monday, January 14, 2013 - 7:58 am
Dear Drs. Muthén,
I am testing a moderated mediation model where the moderator is a latent variable; i.e., there is a latent interaction using the XWITH command involved. Because this requires TYPE=RANDOM, the STANDARDIZED output is not available in these analyses. However, I would like to report R-square values for my outcomes. --> Is there any way to obtain R-square values for these analyses?
See the FAQ Latent Variable Interactions on the website.
C. Lechner posted on Thursday, January 17, 2013 - 7:38 am
Thanks, Linda. I have a follow-up question:
Using the formulas provided in the FAQ, I programmed myself an Excel spreadsheet that calculates R-square, change in R-square, and standardized path coefficients. It reproduces the numbers from your example on p. 6 in the FAQ sheet perfectly well.
However, I wonder how one would generalize the equations from the FAQ sheet to include covariates. In my model (otherwise identical to Fig.2 on p.7), all three latent variables are regressed on a set of covariates. -> How do I get the total variances of the latent variables in this case?
My approach was to sum all the product terms of the squared regression weights and the variance of the respective predictor, plus the residual variance of the latent variable (which I get in the output). E.g., for a latent variable eta2, regressed on eta1 and covariates x1 and x2, where b1 to b3 denote regression coefficients and zeta2 the residual variance of eta2, the total variance would be obtained by computing: Var(eta2) = b1^2 * Var(x1) + b2^2 * Var(x2)+ b3^2 * Var(eta1) + Var(zeta2).
However, this seems to systematically underestimate r-square. -> Have I overlooked anything? -> Is there any way to directly get the total variance of a latent variable that is regressed on a set of covariates in the Mplus output?
You need the variances of the two factors in the interaction. I think you are using the residual variances. If the variances are not available in TECH4, you will need to compute them.
C. Lechner posted on Thursday, January 17, 2013 - 9:42 am
TECH4 is unavailable for TYPE = RANDOM. I tried to compute the variances of all latent variables in the way described above. Referring to the notation in Figure 2 in the FAQ sheet, extended by two covariates x1 and x2 for each latent variable, I compute
where eta1 is regressed on eta2 (coefficient ß), eta3 is regressed on eta1 (coefficient ß1), eta2 (coefficient ß2), and their interaction (coefficient ß3), all three latent are regressed on the covariates x1 and x2 (coefficients bij), zeta_i denote residual variances for the latent variables; and where Var(eta1*eta2) = Var(eta1)*Var(eta2)+[Cov(eta1,eta2)]^2 and Cov(eta1,eta2) = ß*Var(eta2).
-> Is this correct? There must be something missing. R-squares are substantially smaller than the ones Mplus computes for a model without interaction.
In your eta1 equation you have to express eta2 in terms of the x's so that eta1 is written as a function of these x's.
You also have to take into account that the x's are correlated and add a term like for the et1 equation:
C. Lechner posted on Friday, January 18, 2013 - 1:04 am
Thanks you, Bengt – I think the covariance term is what I had overlooked. I'll add it and see whether the numbers add up to something that makes sense then.
As this involves a lot of manual computation when more covariates are involved, I wonder whether there is any easy workaround? E.g., could one simply estimate the factor variances in a measurement-part only model (without the covariates and structural paths) and use those as input for the calculations of standardized parameters and r-square in the final model? I'm afraid that would bias the variance estimates, wouldn't it?
Seems like you have set it up right. One thing you want to test is the difference between eff1 and eff2. To test significance of the moderation in the mediation, don't you want to test that a2*(b1+b2) is significant? Both the difference and this last term can be given NEW names so you get z-tests.
I wanted to ask a question about a post from the first author on this post regarding a model he created from your 2007 Conditional Indirect Effects Paper, working from "Model 5". In line with the model, I am confused about the role of eff1 and eff2.
Having performed previous mediations with the eff1 = a*b, this makes sense to me based on the M ON (X & XW) and Y on (M & MW) paths. I am confused about the eff2 role of multiplying each by 2 -- what would this be representing?
Thank you! Leslie
MODEL CONSTRAINT: NEW(eff1 eff2); eff1=(a1+a3*1)*(b1+b2*1); eff2=(a1+a3*2)*(b1+b2*2); OUTPUT: CINTERVAL(bcbootstrap);
I am attempting to complete a moderated mediation in which my predictor and mediator variables are latent and I have a categorical and latent outcome. The format follows Preacher’s Model 5 in which the moderator impacts both paths a and b. The moderator variable has 4 categories (Black, White, Hispanic, Other). Would it be best to utilize the multiple group function, comparing all 4 racial groups together? Though, I am unsure of how to complete group comparisons from there. Or would it be better to run models with several dummy codes representing the moderator?
I found most other researchers would calculate the critical ratios of differences(CRD) by dividing the difference between two estimates by an estimate of the standard error of the difference (Arbuckle, 2003). A CRD greater than 1.96 indicates that there was a significant difference between the two parameter estimates at p < 0.05.However, they usually do this in the Amos software. However, in the Mplus result part, I cannot find the standard error of the difference.
I am wondering how can you do this through the results provided by Mplus?
My question is, I want to do multi-group analysis to identify whether the path coefficients differ significantly between east and west. We compared the first model, which allows the structural paths to vary across cultures, with the second model, which constrains the structural paths across cultures to be equal to examine the cultural differences. All the other paths (i.e., factor loadings, error variances and structure covariances) were constrained to be equal. However, I found the factor loading are still different in the Mplus result part. Are there other things that need to be constrained equally?
By the way, do you have any sample code for me to do such a multiple group comparison of the mediation model?
You can use MODEL TEST to do the CRD test. See the user's guide.
See the Topic 1 course handout on the website under multiple group analysis to see the inputs for testing for measurement invarinace.
JOEL WONG posted on Tuesday, October 08, 2013 - 5:28 pm
I am attempting to test a first and second stage moderated mediation model. I have one predictor, one outcome, one mediator, and one moderator (W). W is hypothesized to moderate the relationship between the predictor and the mediator and the relationship between the mediator and the outcome.
UG ex 3.18 describes the case of a moderator Z that moderates the influence of the predictor X on M and X on Y. That involves creating X*Z in Define. A plot of the effects and their confidence bands are obtained by LOOP. So that's the first part of your question.
The second part is the moderation of the M->Y relationship. This calls for creating M*Z and regressing Y on it. LOOP could be used here as well.
Thank you for your previous suggestion in running my moderated mediation with 2 latent predictors, continuous mediator, and binary outcome. I have 4 groups, and have tested the model using the indirect command and bootstrapping (with BC confidence intervals). To compare the effect size of the indirect effects across groups. Would it be acceptable to examine whether the confidence intervals between groups overlaps as a means of testing for significant differences? Or is there a better way to test whether the effect sizes are significantly different (e.g. running a difftest where I constrain paths a and b and compare them to a non-constrained model)?
Also, when I run the mediation for the whole sample, the mediation is significant. However, when I run the mediation using multigroup, the indirect effect is no longer significant in any of my four groups. Would it be safe to say that this could be due to sample size issues (as, I have already established measurement invariance in my predictors)
Laura Baams posted on Tuesday, October 29, 2013 - 9:02 am
I am running a bootstrap multigroup mediation model with observed variables. Two predictors (x1, x2), two mediators (m1, m2) and one outcome (y). There are 5 groups for the multigroup part.
I have compared model fit of a model in which I constrain all paths to be equal across groups, and a model in which they are not equal, and variations of this. The model with the best fit, is the one where groups 1 and 2 are constrained to be equal, and group 3 and 4 are constrained to be equal.
I need to report the standardized estimates, but these are not equal for groups 1 and 2, or 3 and 4, while the unstandardized estimates are.
From other posts I understand that Mplus does not constrain standardized estimates, does this mean I cannot report standardized estimates in this case?
Is there a way I can still obtain standardized estimates (that are equal across groups 1 and 2; and 3 and 4)?
The standardized coefficients are standardized using different standard deviations for each group. This is why the coefficients are different. It is not because they are not constrained to be equal in the analysis.
Model fit is not assessed using the significance of the model parameters. The fit statistics indicate that leaving out the two paths represented by the two degrees of freedom create a lack of fit.
Hannah Lee posted on Sunday, March 30, 2014 - 2:17 pm
Hello, I am trying to run a moderated mediation model (Similar to Model 2 as Hayes and Preacher 2007 shows).
The IV, Moderater are latent constructs and I am unable to use the MODEL INDIRECT with the latent interactions. So I referred to Muthen (2011) sections 3 and 5 using BOOTSTRAP=1000; and OUTPUT: cinterval(bootstrap);
But I keep getting the error message that bootstrap cannot be used with TYPE=RANDOM. How can I get the indirect/total effects? ==================================== ANALYSIS: TYPE = RANDOM; bootstrap = 1000; MODEL: x1 BY CPI1-CPI3; x2 BY CPC1-CPC3; w BY CCC1-CCC3; m BY NPA1-NPA5; d BY Perf1- Perf6; x1xw | x1 XWITH w; x2xw | x2 XWITH w; d ON m (b1) x1 x2 w x1xw x2xw c1 c2; m ON x1 (a1) x2 (a2) w x1xw (a3) x2xw (a4) c1 c2;
MODEL CONSTRAINT: new (ind wmodval); wmodval = -1; ind=(a1+a3*wmodval)*b1; ind=(a2+a4*wmodval)*b1; OUTPUT: SAMPSTAT STAND; cinterval(bootstrap);
*** ERROR in ANALYSIS command BOOTSTRAP is not allowed with TYPE=RANDOM.
I have used the following syntax to test a moderated mediation model:
y ON m (b); m ON x (gamma1) z xz (gamma2);
However, I am now realizing that this did not include a test of y on x, which seems like the typical c path in a mediation model. Can you explain to me why did is not present in this syntax, and is it necessary?
Hi there, I estimated a moderated mediation model (similar to that of Hayes and Preacher). All looks good except I did not get fit statistics in my output, even though I did it without bootstrap. Can you advise? many thanks Here's the relevant bit of the syntax: Analysis: Type = random; ALGORITHM=INTEGRATION; Model: pte by conflict family witness access child; adapt by safety bonds justice roles exist; stress by basic health dispa safe; ptexad | pte xwith adapt;
whodas12 on pte (b1) adapt stress ptexad; stress on pte (a1) adapt ptexad (a3); Model constraint: new (ind wmodval); wmodval = -1; ind=(a1+a3*wmodval)*b1;
Thanks very much Dr Muthen for the quick reply. I could not do it without numerical integration however. Is there a way to get fit statistics without using numerical integration. If not, how do I know if my model fits? In terms of interpreting the outcome, is it correct to say that the putative moderator did not moderate the mediating relationship between the IVs and DV, as the interaction product (ptexad) was not significant?
When there are no absolute fit statistics, nested models can be tested using -2 times the loglikelihood difference which is distributed as chi-square. Non-nested models with the same set of dependent variables can be compared using BIC.
If the interaction is not significant, there is no moderation.
Thanks. Another question is the output does not give standardized coefficients as this was not allowed under Type=random analysis .. Is there a way to obtain standardized estimates as I'm interested in the effect sizes
Thanks Dr Muthen - it probably doesn't make sense then to standardize the estimates of the effect size, does it? Also, I notice boostrap can not be used to construct CIs in this case with a random-intercept-random-slope model. Why is that?
A further question Dr Muthen is, I notice in model 5 by Preacher et al, the value of w at which the conditional indirect effect of x is estimated is set to -1. Is this an accepted practice? The authors refer to the Johnson-Neyman (J-n) technique where a region of significance or a range of values of w is used in lieu of using arbitrary conditional values of w. Is this method used in analysis of moderated mediation models?
Thanks Dr Muthen. I wanted to look at the significance level of a particular set of indirect paths (beta1 x beta2) in the mediation part of the moderated mediation model, as this path (beta2) dropped out (not significant) after building the moderators into the model. Of interest is whether this could be due to power issues (as I have a small sample size). In random-effect analysis however Mplus does not allow model-indirect command. Is there an alternative way to request estimates of indirect/direct effects in this case?
I have an environmental observed variable of maltreatment, one observed impulsivity mediator, and a latent antisocial variable as my outcome. I'm interested in using genotype as a moderator. The problem is my moderator (genotype) is categorical and my maltreatment variable is categorical (no maltreatment, emotional abuse, physical abuse). I understand that the common practice in SEM is to use multiple group comparisons.
This is my problem and confusion. Recent recommendations by GxE experts call for all covariates to be included as interaction terms in your model. For example, I will have race and age as covariates in my SEM (full partial). However, it's now recommended that you should also add "race x environment" and "age x environment" as covariate terms in addition to having them be "main effect" terms. The Age x environment term is easy to add as a covariate because age is continuous. Race is not so easy, because it's categorical. Thus I'm not sure how to "control" for these other moderation effects that include categorical variables. Do I just do a massive multiple group comparison?
I've considered dummy coding the categorical moderator variables, so that I can create interaction variables and add everything in one SEM rather than do many group comparisons. That way I can appropriately add covariates where I want (full partial). Is that bad practice? Any advice?
Seems like (1) dummy coding categorical variables and creating interactions is a relatively simple way to go. (2) Multiple-group modeling is also fine, but you would either have to combine that with interaction terms or do groups as maltreatment x genotype (so 6 groups). Approach (1) allows only different regression effects while approach (2) also allows different (residual) variances for DVs.
You may want to ask this type of general modeling question on SEMNET.
Dear Dr Muthen, following a mediated moderation model, I ended up with unstandardized estimates. I was wondering since standardization isn't available in random-effect models, are there alternative ways for standardizing the estimated coefficients manually? I've previously obtained unstandardized estimates from a similar model but without interaction terms, and they look similar to the one with interaction effects. Does it make sense to obtain standardized effects in this case? this is a fair question that I anticipate reviewers may ask. Many thanks
Hi! I have problems when computing moderated mediation with 2 moderators (no problems if I run the analysis separately for each moderator):
MAXIMUM LOG-LIKELIHOOD VALUE FOR THE UNRESTRICTED (H1) MODEL IS -10455.691 THE ESTIMATED COVARIANCE MATRIX IS NOT POSITIVE DEFINITE AS IT SHOULD BE. COMPUTATION COULD NOT BE COMPLETED. PROBLEM INVOLVING VARIABLE VBFS_1. THE CORRELATION BETWEEN VBFS_1 AND ZETA_2 IS 1.000 THE PROBLEM MAY BE RESOLVED BY SETTING ALGORITHM=EM AND MCONVERGENCE TO A LARGE VALUE.
Syntax for the analysis with 2 moderators.
model: wo_1 by … ; gro_1 by … ; vbf_1 by … ; int1 | plum_1 XWITH vbf_1; plum_1 on la_1 ze_1 wo_1 (a1) gro_1 (a2) vbf_1 (a3); ze_2 on plum_1 (b1) la_1 ze_1 int1; int2 | plda_1 XWITH vbf_1; plda_1 on la_1 ze_1 wo_1 (a4) gro_1 (a5) vbf_1 (a6); leng_2 on plda_1 (b2) la_1 ze_1 int2;
Many thanks Dr Muthen. Can I just clarify, following the equations set out in your FAQ, in order to calculate the standardized coefficient of say beta1(direct effect) - beta1 by square root of V (n1) where V is the variance of latent factor 1 and n1 is ?
Pieter Baay posted on Wednesday, July 30, 2014 - 12:10 am
I'm performing two moderated mediation analyses (one with observed categorical moderator, one with latent continuous mod) and I wonder which moderator value(s) to specify in the MODEL CONSTRAINT. For the categorical moderator, I wrote:
X BY x1-x4; M BY M1-M5; Y BY Y1-Y8; XM | X XWITH MOD;
Y ON M (a) X;
M ON X (gamma1) mod XM (gamma2);
MODEL CONSTRAINT: new(pinde pindeN test); pinde = a*(gamma1+gamma2*1); pindeN = a*(gamma1+gamma2*0); test = pinde - pindeN;
Is this correct? And what would this look like for a continuous, latent moderator?
In previous posts (e.g. by Hannah Lee and Alvin), a moderator value of -1 was specified. Could you please explain what the -1 represents (especially given their construction of latent variables)?
Thanks so much!
annared posted on Wednesday, July 30, 2014 - 5:18 am
Dear Linda, Thanks for your quick answer. If I use wo_1 instead of vbf_1 to build the interactions (int1 and int2) I get the same error message (i.e. that the correlation between wo_1 and ze_2 is 1.0). However, in both cases the correlation is not 1.0 when I run the analysis without int2. So I guess I have something wrong with my syntax? Thank you!
I am not familiar with Hayes' macro. If M and Y are continuous and you use ML I would assume you get the same results.
Zaijia posted on Sunday, August 03, 2014 - 1:08 pm
Yes, I found that when Y is dichotomous the results are different. Why does that happen? Another question is how to add interaction term into Mplus?For example, I have 2 dichotomous IV, one mediator, one DV and I want to test the moderated mediation effect, what will the syntax be like?
See the Version 7.2 Mplus Language Addendum on the website with the user's guide.
Pieter Baay posted on Tuesday, August 05, 2014 - 12:14 am
Thank you for the suggestion to use + 1SD and -1SD above the factor mean of zero, based on the factor variance.
I've got two follow-up questions: 1) I think I should use the factor variance of the latent interaction effect rather than the factor variance of the moderator. Is this correct and if so, how can I obtain its value?
2) Is the mean of factors (such as XM) automatically set to zero or should I add a statement to do so? Or, alternatively, should I use the mean -/+ 1 SD as moderator values?
1) No. And, this value is not a parameter, so not available.
2) The mean of a latent variable interaction is not a parameter and should not be referred to. For moderator values, see the Latent Variable Interaction FAQ.
Alvin posted on Wednesday, August 06, 2014 - 10:41 pm
Many thanks Dr Muthen. Can I ask - my model is a probit model (with a categorical outcome variable, the others are continous) would it be possible to specific a logit model to derive ORs? Thanks v much for your help!
I am working on a multilevel mediated moderation model. Technically that should be the same as a moderated mediation (like Model 2 in Preacher, Rucker & Hayes, 2007). The indpendent (Intr) and dependent variable (Irri) in the model have been measured every day over five days (Level 1). Both the moderator (Age) and the mediator (WM) are traits (Level 2). I know that a cross-level interaction usually is modelled by regressing the moderator on the random slope. But I need to treat the cross-level-interaction as a variable. Can I use the DEFINE-command for a cross-level-interaction, and what should I do with the random slope? Or maybe there is another solution?
USEVARIABLES ARE Intr Age WM Irri iact; MISSING = All(-99); CLUSTER IS id; BETWEEN ARE Age WM; DEFINE: iact = Intr *Age; ANALYSIS: TYPE IS TWOLEVEL RANDOM; MODEL: %WITHIN% s | Irri ON Intr; %BETWEEN% Intr Age WM Irri; Irri ON WM(b1) Intr Age iact;
WM ON Intr(a1) Age iact(a3);
MODEL CONSTRAINT: NEW (ind wmodval); wmodval=10; ind=(a1+a3*wmodval)*b1;
Fixing the residual variance s@0 is the same as working with an observed variable xw = x*w. You see this is you write out the formulas (or look at slide 45 of our Topic 7 handout). In practice you have to fix at a small value such as 0.01.
Thanks for your quick answer. I checked the handout, and the examples in the users guide, but still I am puzzled how to model the indirect effect between a cross-level-interaction (IV = Level 1, Mod = Level 2, DV = Level 1), and a Level 2 Mediator? What I want to test is a mediated moderation.
Shiny posted on Saturday, August 16, 2014 - 2:39 pm
I am testing a moderated Mediation model, with categorical DV. Moderator=mod. Mediators=m. I want to see how mod interacts with the IV (x) and influences the path a (similar to Preacher et al 2007 model 2)
The input in mplus is as follow: USEVARIABLES ARE x1 x2 x3 mod m1 m2 m3 y1 y2 y3 y4 y5; CATEGORICAL =y4 y5; ANALYSIS: TYPE = RANDOM; MODEL: xw BY x1 x2 x3;!IV mw BY m1 m2 m3;! Mediator y1w BY y1 y2;!DV1 y4 ON y3 (E); DV3 on DV2 y5 ON y1w(D); y3 ON mw (C); y1w ON mw(B); mw ON xw (A); Here starts with the moderator: y3 y1w ON mod xwmod;! Regress dv1 2 on interaction and moderator mw ON mod;! Regress mediator on moderator xwmod | xw XWITH mod; mw ON xwmod (A2);! Regress mediator on interaction MODEL CONSTRAINT: NEW(AB BD ABD wmodval AC CE ACE); AB = (A+A2*wmodval)*B; BD = B*D; ABD = (A+A2*wmodval)*B*D; wmodval =-1; AC = (A+A2*wmodval)*C; CE = C*E; ACE = (A+A2*wmodval)*C*E; OUTPUT: TECH1 CINTERVAL;
This Syntax is based on Preachers script. Is it correct? do i need to Regress the distal DVs (y4 y5)on moderator and interaction? Since bootstrap is not possible with Random, can I rely on the CI without Boot?! Thx!
This looks correct. You may also want to use LOOP plotting (see our Mediation topic in the left column of the home page). I would regress y4 and y5 on moderator and interaction. Bootstrap is available with Random in Version 7.2.
Thank you Dr. Muthen. I looked at the Output. before moderator was added, all Regression and indirect effects were significant. Adding interaction and moderator, neither interaction nor moderator and indirect effect significant. Does it mean there is no moderated Mediation effect?
The Mediation model: Xw (latent variables) ----mw( latent mediator) -- y1w (latent) - y5 (categorical) Xw ---mw --y3 --- y4 (binary) Interaction is xw * mod, named as xwmod
Y4 ON Y3: estimate =0.594 p= 0.054 Y5 ON Y1w: 0.316 p=0.046 Y3 ON Mod(moderator):0.075 p= 0.310 y3 on Mw(mediator):-3.260 p=0.000 y3 on Xwmod(interaction):-0.027 p=0.503 Y1w ON mw (mediator) : -2.891 p=0.000 y1w on Xwmod(interaction) 0.022 p= 0.417 y1w on Mod(moderator): 0.105 p= 0.026 mw ON xw: 0.181 p= 0.004 mw on Xwmod: 0.006 p= 0.783 mw on mod:0.037 p= 0.110
New/Additional Parameters estimate p AB -0.506 0.032 BD -0.913 0.072 ABD -0.160 0.133 WMODVAL -1.000 1.000 AC -0.571 0.047 CE -1.937 0.088 ACE -0.339 0.167
Because I have categorical DV, by Default estimator is MLR, but bootstrap does not Support MLR. When I used WLSMV, then I cannot use Random. What can I do to get bootstrap function? Thx!
It's a tricky situation. You have y4 binary and y5 categorical, which means that you need to carefully consider how indirect and direct effects are computed; see
Muthén, B. & Asparouhov T. (2014). Causal effects in mediation modeling: An introduction with applications to latent variables. Forthcoming in Structural Equation Modeling.
Your model is more complex because of the multiple indirect effects.
You may get away with considering the latent response variables y4* and y5* as the relevant DVs which is ok with MLR. I would not worry about bootstrapping unless your sample size is low. If your mod variable can be categorized you can use multiple-group modeling instead of XWITH and then do this using Bayes where no bootstrapping is ever needed.
In your paper (page 8) it said: a*b effect is only valid for the underlying continuous latent response variable y*, not for the observed categorical outcome y itself. Does it mean I can not use MODEL CONSTRAINT and specify NEW (ab) and ab=axb, if I use original categorical y? Must binary y be converted into y*? 2. If so, how shall i modify in d original syntax? Shall I write something like: CATEGORICAL =y4 y5; DEFINE y4 = y4* y5=y5*??? Then change the original path y4 (binary) on y3 into y4* on y3?
3. Can I use ANYLSIS: ESTIMATOR IS WLSMV AND BOOTSTRAP instead of bayes in multiple groups?
4. I did a multiple Group Analysis to test if the mediation effect differs across two Groups(Group H, Group L).
Input: MODEL CONSTRAINT: NEW(AHBHDH ALBLDL) AHBHDH=AH*BH*DH;! Indirect effect in group H ALBLDL = AL*BL*DL; !indirect effect in group L DIFF = AHBHDH - ALBLDL;
Thank you very much for your prompt and helpful answer, Dr. Muthen. I Need a bit more Explanation of the 1st Point from your side. To simplify, let me just use a simple Mediation model(x-m-y). If I use a categorical y, what can I do in mplus to test Mediation? Use IND function but not the a*b? If I want to use a*b, according to your answer, it shall be y*? Would you be so Kind to give me a clue how to create y* in mplus? Thank you indeed!
Shiny posted on Wednesday, August 27, 2014 - 12:37 pm
Dear Dr. Muthen,
could you pls tell me how to code y* (continuous latent Response variable) in mplus? I have an observable binary y (not latent). Shall i simply replace y with y*? I have not found related script.
You don't have to create y*. If you use WLSMV then a*b refers to the effect on y*. So all you have to do is use WLSMV.
Shiny posted on Wednesday, August 27, 2014 - 3:18 pm
That is great to know, since I did use WLSMV already. Is the coefficient a probit Regression weight or a normal Regression weight (if this is a y*)? In multiple Group Analysis, can I do the same wald test or chi difference test, working with constrained or free Parameters of y*, like treating it as a continous variable, once WLSMV is specified?
Q1. a*b is a probit regression coefficient when you consider y to be the DV and it is a linear regression coefficient when you consider y* to be the DV; so the same coefficient plays two roles.
Shiny posted on Wednesday, August 27, 2014 - 4:43 pm
Thank you for your answers, I really appreciate them!
Winnie Yang posted on Tuesday, November 11, 2014 - 4:59 am
Dear Drs Muthen, I am running a mediated moderation model. HP(X)->EP(M)->JS(Y). age as the moderator (W), HP, EP and JS are all latent variables, age is collected by asking participants to fill in their age ,so I believe that would be an observed variable.I have 4 questions below: 1. When creating a interaction variable, do I use XWITH command? I know that XWITH is suitable for latent variables only, while HP is a latent variable, Age is not. would XWITH still be right? 2. Assuming that I should use XWITH, I have the following syntax, do they look correct? ANALYSIS: estimator = ml; type = random; ALGORITHM=INTEGRATION; MODEL: HP BY HP101-HP106; EP BY EP101 EP102 EP103 EP104R EP105 EP106R; JS BY JS101-JS103; HCPxAGE | HCP XWITH AGE; JS ON EXP(B1) HCP AGE HCPxAGE; EXP ON HCP(A1) AGE HCPxAGE (A3); MODEL CONSTRAINT: new(IND W); W=-1; IND=(A1+A3*W)*B1; 3. In terms of interpretation, if IND shows to be significant (p <.05), does that suggest then that W is a significant moderator? Or I would need to look at other areas for determination? 4. My model is actually more complicated than this. As a whole, I have 4 outcome variables and 2 independent variables and 2 mediators for each IV. Can I run it altogether then?Thanks!
Hello, I am running a sem model and want to test both moderation and mediation effects as follow m = x w xw; y = x m w xw mw; Y: continuous; M: dichotomous; X and W both categorical (4 modalities each); Using multi group I have an estimate (of X and M) for each category of W, although it s not clear to me how to proceed to test XW and MW (i guest i should compare estimates of X (and estimates of M) among the W'subgroups)? Could you please give me some insights? Thank you
With W as the grouping variable you want to test that the slopes of Y on M and M on X are the same across groups; that's testing the moderation. Make sure that the Y intercept is different across groups and that the M intercept is different across groups.
Note also that a dichotomous M calls for special considerations. See the paper on our website
Muthén, B. & Asparouhov T. (2014). 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
You may also/instead consider WLSMV estimation where M* instead of M is the relevant mediator (see my 2011 paper referred to in the paper above to explain this).
thank you very much. Yes I want to test moderation effect. But I had a mistake in my previous post. Y is actually categorical (5 categories). As suggested I used the WLSMV estimator.
To test Y intercept I defined a restricted model in which the paths are constrained to be equal across the groups for X, M and W. M on x w; Y on m (1) x (2) w (3); ! As y is categorical I fixed each threshold as follow [Y$1@2 Y$2@3 Y$3@4 Y$4@5]; 1- I am not sure if the syntax is right? 2- should I only fix the Y intercept? Or both?
Then I used DIFFTEST to compare the unconstrained model and the restricted one. Thank you
Sorry to post it twice it seems like it didnt work the first time.
thank you very much. Yes I want to test moderation effect. But I had a mistake in my previous post. Y is actually categorical (5 categories). As suggested I used the WLSMV estimator.
To test Y intercept I defined a restricted model in which the paths are constrained to be equal across the groups for X, M and W. M on x w; Y on m (1) x (2) w (3); ! As y is categorical I fixed each threshold as follow [Y$1@2 Y$2@3 Y$3@4 Y$4@5]; 1- I am not sure if the syntax is right? 2- should I only fix the Y intercept? Or both?
Then I used DIFFTEST to compare the unconstrained model and the restricted one. Thank you
I don't understand your setup. We talked about a multi-group analysis, grouping on W. But your input doesn't show that, nor any interactions with W. And I don't know why you fix the Y thresholds. I think the thresholds change across groups as the default so no need to mention them.
thank you as i defined w as a grouping variable, i remove the interaction XW and MW in the equations. Obviously it was not the good thing to do. I am not sure how to proceed to test "Y intercept and M intercept" across groups as suggested. could you please give me some more details
hi, here is my syntax : usevariables are y x m w; grouping is w (0=never 1=one 2=two 3=always) ; categorical are m y; Analysis: type=mgroup; difftest=deriv.dat; !from the unconstrained model ; estimator=WLSMV; model: M on x w; Y on m (1) x (2) w (3); how could i improve it to
When you have Grouping = w... you should not include w in the Model statements. See Topic 1 of our course on our website to get the basics. Ignore the intercepts for now.
Riza Casidy posted on Wednesday, March 04, 2015 - 7:10 am
I am attempting to use the multiple group analysis in Mplus to test for moderated mediation with a categorical moderator, I would like to test whether an indirect effect differs between two subsamples (group a & group b). The IDV, DV, and MV are all latent, continuous variables
For each group, I requested the indirect effect by using the model constraint command.
GROUPING IS UNI (0=group a 1=group b);
MODEL: PS by Q6_1 Q6_2 Q6_3; SAT by Q8_1 Q8_2 Q8_3; AO by Q18_1 Q18_2 Q18_3; SAT ON PS; PS ON AO;
MODEL DEAKIN: PS by Q6_1 Q6_2 Q6_3; SAT by Q8_1 Q8_2 Q8_3; AO by Q18_1 Q18_2 Q18_3; SAT ON PS (p1a); PS ON AO (p2a);
MODEL CONSTRAINT: NEW (ind_1); Ind_1 = p1a*p2a;
MODEL UNIMELB: PS by Q6_1 Q6_2 Q6_3; SAT by Q8_1 Q8_2 Q8_3; AO by Q18_1 Q18_2 Q18_3; SAT ON PS (p1b); PS ON AO (p2b);
MODEL CONSTRAINT: NEW (ind_2); Ind_2 = p1b*p2b;
MODEL CONSTRAINT: NEW (diff); diff = ind_1-ind_2;
Is my method above correct? Did I miss anything? Do I have to constrain the latent variable as well? How do I do that? I would like to be sure. Thank you.
Create products of variables (interactions) using DEFINE. Assuming 3 categories of A and therefore 2 dummy variables A1, A2:
A1D = A1*D; A2D = A2*D; BD = B*D;
and add B ON AD1, AD2 in the B regression and add C ON BD in the C regression.
Jordan posted on Tuesday, April 21, 2015 - 8:28 pm
I am attempting to run a moderated mediation model using SEM. I have been using the XWITH command to create the interaction term, and asking for indirect effect estimates using the MODEL CONSTRAINTS, as below. However, I do not know what to input for the question marks. I would like to see the indirect effect conditional upon the moderator at -1SD, mean, and +1SD; but since my moderator is latent, I'm not sure what to input.
I tried coding like this: [moderator] (zmean); moderator (zvar);
...and then simply inputting "zmean+sqrt(zvar)", for example to get +1SD.
...but the model wouldn't estimate the mean...so this doesn't appear to work.
Can you tell me what I should input in place of the question marks below if my moderator is latent and I"m using the XWITH command?
I am testing a ML mediated moderation, first link moderated by a group (aggregated) var.
I might be mislabeling the coefficients. Assuming a1 is the relationship IV(x) to med(m); a2 mod(w) to med; a3 is the interaction on med; b1 is the m-y effect; cdash1 is the direct effect x-y; I run the model below but model constraint results suggest this is not right.
Also, is it ok to use the coefficients obtained in the between part of the model? I assumed so given that an L2 moderator can only influence the between level variance of an L1 variable...
Usevariables = x m w y; Cluster = team ; between = w ; within = ; Analysis: Type = Twolevel random; Estimator = ML;
MODEL: %Within% S|m ON x; y ON m! SHOULD THIS BE (b1) instead?
%Between% S ON w (a3);! CORRECT? CTF ON w (a2); [S] (a1);! CORRECT? [y] (b0); y ON m (b1) ; y ON x (cdash1);
x is a level 1 var, w is level 2 var, so I was trying to examine the cross-level interaction, but in essence I would like to understand the underlying logic to model both between and within variance when testing for cross level interactions so i can best decide when one or the other is most suited
* In any case, I have tried to test the proposed syntax, but obtained the following error; *** ERROR in MODEL command Interactions declared on the between level require numerical integration. Add ALGORITHM=INTEGRATION to the ANALYSIS command.
I have added this ALGORITHM=INTEGRATION, and obtained then the following error *** ERROR in MODEL command The XWITH option is not available for observed variable interactions. Use the DEFINE command to create an interaction variable. Problem with: INTER | X XWITH W - what would you suggest?
* finally, in the syntax proposed, should the second line in the between read 'w on m (a2)'? Otherwise I am missing something.
apologies, had missed that absent ; in the previous line.. I have already gone through the slides and associated recorded video, as well as chapter 9 in the manual but am afraid i was still unable to figure this out - I have sent the material and license. Thank you very much, claudia
I would like to test moderated mediation in which sex moderates the B path (asdom3-->fsdom3) in the mediation: group-->asdom3-->fsdom3. I also want the model to estimate the mediation hifreq2-->asdom3-->fsdom3. hifreq2, sex and group are binary. Indicators of latent variables are continuous. Is my desired model possible? If so, is adding MODEL CONSTRAINT commands for indirect effects to the existing model below (which only includes the interaction) the recommended syntax? Thank you.
CLASSES = c(2); KNOWNCLASS IS c (group=0 group=1);
I think it could be more easily done by creating a 4-class Knownclass c variable using the combination of group and sex. Then you have full control over how the slopes and intercepts should vary across those 4 categories.
I am unsure how the indirect effect of group or sex should be tested in this recommended approach because once considered as a KNOWNCLASS variable, group and sex will not appear in the %overall% model syntax which seems necessary for MODEL CONSTRAINT to request the indirect effects. I am a beginner and do really appreciate the extra clarification. Thank you again.
If you are a beginner, perhaps it is easier to not get into mixture Knownclass at all. Use XWITH to get "int" as you have done for the m->y moderation by sex, use sex as a binary x variable and use "group" as a binary x variable. Then you get your moderated indirect effect as usual:
where a and b are the usual ones, g is the slope of fsdom3 regressed on int and z is the sex moderator (I hope I got that right; this is essentially Model 3 of Preacher et al, 2007).
Thank you. Is this still viable if I am also interested in testing the sex X asdom3 interaction across groups (3 way interaction)? I don't know why my model below receives the new error "One or more variables have a variance greater than the maximum allowed of 1000000."
sXas | sex XWITH asdom3; sXasXg | group XWITH sXas; fsdom3 ON hifreq2(Beta4); fsdom3 ON sex (Beta2); fsdom3 ON group (Beta5); fsdom3 ON asdom3(Beta1); fsdom3 ON sXas (beta3); fsdom3 ON sXasXg(Beta6); asdom3 ON hifreq2(gamma2); asdom3 ON sex(gamma1); asdom3 ON group(gamma3);
sex with hifreq2 group; hifreq2 with group;
!Model constraint: ! NEW (INDhif INDg); ! INDhif=(gamma2*Beta1)+(gamma2*Beta3)...; ! INDg=....
Hello, I am doing a moderated mediation (code below) with categorical moderator (ethnicity) split into 5 dummy variables. CISRHigh is a binary mediator, anyserv is a binary outcome. WLMSV estimation is used. yw1 to yw5 (mediator*ethnic group) created under the DEFINE command.
Can you tell me how to test the difference between indirect effects using the model constraint command?
Analysis: Type = RANDOM;
Model: CISRhigh on positive; CISRhigh on lacksupp; CISRhigh on White; CISRhigh on Irish; CISRhigh on BlackCaribbean; CISRhigh on Bangladeshi; CISRhigh on Indian;
However, I have just realised that I am using MLR estimation because WLSMV is not available when using XWITH for latent variable interactions.
Does this mean that I need to change my model setup because my mediator is binary? I have read the forum regarding binary mediator being treated differently when used as independent/ dependent variable when using MLR.
I want to investigate if a mediation is moderated by a dichotomous variable (coded 0 and 1). I opted for the multiple comparisons option and both the a- and b-path are significant for each group, with a moderation on the b-path.
As I am interested in indirect effects as well, I ran model 5 from Hayes (2007, Figure 2) with the syntax below. My results indicate no a-path moderation and a b-path moderation which is in line with the multiple group comparison. However, both a1 and b1 are not significant anymore. This seems odd to me, as both analyses should yield in the same findings?
Many thanks for your help!
Model: M ON X (a1); W XW (a3); Y ON M (b1) X W XW MW(b2);
Thanks for the information. Do you think it is worth doing a multigroup mediation analysis instead? I haven't done multigroup analysis before, so I am unsure as to whether it would allow a CFA + mediation analysis (binary mediator) with WLSMV estimation.
I ran into the same problem as posted above, in such that my mediated moderation using the syntax by Preacher and Hayes (binary moderator) seemingly yields different results than a multigroup approach. Could you point me in a direction where to search for the problem? I add the syntax underneath.
At the moment, I am using XWITH for an interaction between latent variable and ethnic group for a moderated mediation. By using multigroup, I could get rid of this interaction in the moderated mediation and estimate a multigroup model instead.
Release 7.4 handles ordinal mediators using the IND command but the moderated mediation approach in my previous question seems to not accept an ordinal M. Is there a workaround for moderated mediation with a categorical/ordinal mediator?
Someone asked me for help recently with an example where they have a pure moderator of the relation between a predictor and a mediator. Let Y be the outcome, X be the predictor, M be the mediator, and Z the moderator. In my mind, if Z is a pure moderator of the relation between X and M, then the specification should be:
Y on X M; M on X XZ;
However, in all the examples they found, like 3.18 in Mplus, as well as in Hayes (2015), Preacher et al. (2007), and Bengt's example above, the syntax is
Y on X M Z; M on X Z XZ;
It seems like in this case, Z is not purely a moderator but also has direct effects on M and Y, although in some articles it is illustrated as simply being a pure moderator, so maybe I'm missing something.
Of course I don't want to steer this person wrong and I'm not really familiar with this literature, but am I correct to say that in the first example, Z is a pure moderator (between X and M) whereas in the second example it is a moderator with additional direct effects on M and Y?
I don't think there are any firm rules here. The statement
M on X Z XZ;
uses the idea that if the interaction XZ is needed then the main effects X and Z should also be included. Perhaps that is often needed in practice in the sense that the effect of Z is significant.
Including Z in the statement
Y on X M Z;
is perhaps less convincing, but again Z may often be significant.
Sam R posted on Tuesday, December 01, 2015 - 8:37 am
I'm trying to test moderated mediation using the approach described in Preacher, Rucker & Hayes (2007) in Figure 2 model 2 so that I can test moderation in path A. My model is a manifest and the moderator is a binary 0/1 variable.
I'm a graduate student and still learning so bear with me, but I've done some searching on the forum before drafting syntax. My input is as follows:
Y_Rat on M_S1(b1_Low); Y_Rat on X_SCI; M_S1 on X_SCI (b2_Low);
New (ind_Low); ind_Low = b1_Low*b2_Low;
Y_Rat on M_S1(b1_High); Y_Rat on X_SCI; M_S1 on X_SCI (b2_High);
model constraint: New (ind_High); ind_High = b1_High*b2_High;
model test: ind_Low = ind_High;
Output: sampstat stdyx;
This input produces an error in model constraint command (label is ambiguous) for the label B1_Low-- I know this is likely an issue with where I've placed the parameter label but any input would be greatly appreciated -- Thank you for all of our work updating with these posts!
Note also that these effects are not the optimal ones for a binary Y. See instead the paper on our website:
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
Chan Chen posted on Friday, January 22, 2016 - 7:26 am
thank you so much! is it possible to model a moderated mediation model with categorical dependent variable. If so, is there any topic note or paper I could reference? Thank you!
To clarify your earlier response (Bengt O. Muthen posted on Friday, November 13, 2015 - 10:22 am):
When you say use WLSMV or Bayes viewing the mediator as a continuous latent response variable, you mean not specifying the binary M as a categorical variable, correct?
Somehow, when M is included in the list of categorical variables using WLSMV (using TYPE=COMPLEX for clustered data) the mod med LOOP PLOT makes sense, but when treated as a continuous variable the resulting plot looks very strange.
chan chen posted on Friday, February 05, 2016 - 8:41 am
Thanks Shiko Ben-Menahem,
I only specified Y as categorical variable, others are all continuous, and then I used WLSMV as the estimator since Y is categorical. My mediator is a continuous variable with 7 anchor point.
I wanted to investigate a moderated mediation by model 14 of hayes.
The total index of moderated mediation and the interaction(int1) appear to be non-significant. However, when I take a closer look to the conditional indirect effect, there are some significant specific conditional indirect effects. More specifically, the mediation effect is significant for a certain moderator value, but not for the other. Hence, I am wondering if I could still argue that some effects do present moderated mediation and discuss them?
You can easily do that model in Mplus and get a moderation plot with confidence intervals that show you for which moderator values you have a significant effect.
Margarita posted on Thursday, February 25, 2016 - 6:36 am
Dear Prof. Muthén,
I am new to moderated mediation, and although I managed to run the analysis in Mplus I am not quite sure if I am interpreting the results correctly. Are you aware of any references about how to interpret the Mplus output?
FYI - the Mplus team is wrapping up a book on mediation so later this year you'll have more guidance.
If you have a specific question about the output, please ask.
Margarita posted on Thursday, February 25, 2016 - 3:22 pm
Prof. Muthén thank you for your reply. I look forward to the book.
I have a question, if you have the time. My understanding is that when the interaction terms are not statistically significant then we can conclude that there is not a moderation. Is that correct?
I get non-significant interactions but some of the conditional indirect effects are significant. Is such a discrepancy expected?
Thank you for your time
Margarita posted on Thursday, February 25, 2016 - 3:38 pm
Apologies for reposting, I thought it would save you some time.
Following my previous question, to be more precise, the bc confidence intervals showed that for some moderator values there is a significant effect. My question is, even though the interaction term was non-significant can I still conclude that for some moderator values there is actually an effect?
Yes, I think you can still conclude that for some moderator values there is an effect based on the CIs. The interaction term is often not significant due to low power unless the sample size is very big, so I think it can be dangerous to throw it out.
Margarita posted on Saturday, February 27, 2016 - 10:45 am
That's great, thank you. May I ask one last question: If the model fit is poor, in my case
x2 (9) = 2133.29, p < .001 CFI = .00 TLI = -1.73 RMSEA = .81 (.78-.84), p <.001
would you suggest still reporting the statistically significant effects? I really appreciate your help.
Hello I have some general questions regarding the indirect effects you obtain with the model indirect command:
1) To obtain reliable information on the significance of the indirect effects, do I have to specify a bootstrap analysis (under the analysis command) or can I interpret the p-values directly from the output without performing bootstrap analysis?
2) If bootstrapping is preferred and I use the MLR estimator in my analyses, should I re-run my model with ML so that I can examine the indirect effects under bootstrapping?
3) what exactly is the significance test for indirect effect based on?
Hello, I am trying to test for differences in indirect effects following the procedures described by Hayes in his 2015 MRB paper. The moderator is a categorical variable with only two levels. One of the covariates only varies within one of the two levels that makes up the moderator variable, but it is critical to control for that covariate in the group in which it does vary. How can you set up the model to avoid errors related to no variance but still get a statistical comparison of indirect effects across levels of the moderator. (specifically, if I include the main effect term AND the interaction term in the model, there is zero variance, but including only one or the other isn't a problem, but obviously not completely controlling for that covariate). Thank you!
Hello (reposting), I am trying to test for differences in indirect effects following the procedures described by Hayes in his 2015 MRB paper. The moderator is a categorical variable with only two levels. One of the covariates only varies within one of the two levels that makes up the moderator variable, but it is critical to control for that covariate in the group in which it does vary. How can you set up the model to avoid errors related to no variance but still get a statistical comparison of indirect effects across levels of the moderator. (specifically, if I include the main effect term AND the interaction term in the model, there is zero variance, but including only one or the other isn't a problem, but obviously not completely controlling for that covariate). Thank you!
Eric Deemer posted on Thursday, May 12, 2016 - 12:07 pm
Hello, I'm also trying to determine which values of a latent moderator I should use to test the significance of an indirect effect.
Dr. Muthen, in an April 2015 post you said, "Unless you have multiple groups or time points, latent variables have mean zero. The SD is the square root of the model-estimated latent variable variance. Taken together, that gives you the ?"
Does this mean I could, say, do a 1-factor CFA of the latent moderator, estimate the residual variance, and subtract the residual variance from 1 to get the explained variance? Then take the square root of the latter to get the SD? Thank you.
I am testing a longitudinal panelmodel (multigroup).
First I arrived a parsimonious unigroup model and than tested whether paths were similar between subgroups (males/females).
All testing of constraining went okay. However, if I constrain an indirect effect to be equal for subgroups, the results (xsquare and df)are similar to the model in which the indirect effect is freely estimated.
Does Mplus allow for testing of constraints for indirect effects?
In my multigroup analyses, I first pasted the script of the unigroupmodel (containing constraints). Second i specified the grouping variable and than the models for both males and females. Than i started comparing paths between the male and female models by placing constraints.
I gave the indirect effect in the model for males the same value (01) as in the model for females.
model indirect: C_INT IND B_PV A_GNC (01); C_EXT IND B_PV A_GNC;
You can piece that together from different parts of the book. The fact that the X, M, Y variables are latent does not complicate the setup. A latent mediator case is discussed in Section 8.6. Several types of moderated mediation is treated in Section 2.6 and multiple-group mediation analysis is treated in Section 3.6. The Section 3.6 analysis uses a binary X variable as the grouping variable but this is can be changed to the moderator being the binary grouping variable. Section 3.6 shows how interaction effects (which is what conditional indirect effects come from) are expressed in terms of slope non-equalities across the groups.
Tor Neilands posted on Thursday, September 08, 2016 - 10:36 pm
VanderWeele in "A Unification of Mediation and Interaction: A 4-Way Decomposition", Epidemiology, 25(5), 749-761, 2014, describes a counterfactuals-based approach to decompose the total effect of exposure X on outcome Y via mediator M through four effects: CDE, reference interaction (Int_ref), mediated interaction (Int_med), and pure indirect effect PIE. A colleague is seeking my help to obtain these four effects from analysis we've run in Mplus for a continuous exposure, continuous mediator, and continuous outcome with the model specification containing an interaction of X with M in line with Case 3, Figure 4.1 in Muthen, Muthen, and Asparouhov, 2016, p. 204. Can you tell me how to obtain the four quantities described above using Mplus? (Could it be as simple as Mplus already producing these same effects under different names?) Thanks so much, Tor Neilands
The 2015 VanderWeele book Explanation in Causal Inference discusses this in the context of a model with XM interaction on pages 377 and 378. Top of page 378 shows how to express the 4 effects in terms of model parameters and values of a continuous exposure (X) variable. This can be done in Model Constraint which also gives you SEs by the Delta method.
Tor Neilands posted on Tuesday, September 13, 2016 - 6:43 pm
Thanks, Bengt! Using the book chapter you referenced plus the article I cited (both cover pretty much the same ground it seems), I was able to reverse-engineer Dr. VanderWeele's PROC NLMIXED SAS code from his article and book appendices into Mplus Model Constraint syntax as you suggested to compute the 4 decomposition effects based on the model parameters.
I am grand mean centering all covariates C to compute effects at the means of the covariates. I am less clear on the advisability of grand mean centering X and M in performing an analysis of this type. For a standard linear regression with interaction, centering both X and M yields more interpretable main effects and it appears to make the counterfactual effects easier to interpret in this analysis, too. However, are there any reasons why one should one not center either X or M in this analysis?
Thanks again and thanks, too, for setting up and being so attentive to Mplus Discussion - this is a tremendous resource for the research community.
I am glad it worked out. If this is a common request perhaps we should add it automatically to the printing of our counterfactual effects. In the meantime, if you like, please send me your Mplus input so that we can create a FAQ on it.
I don't see a reason why one couldn't grand-mean center X and M.
Tor Neilands posted on Wednesday, September 14, 2016 - 8:54 am
I just sent along the Mplus input and output where the results match results generated in SAS using Dr. VanderWeele's sample SAS code.
I very much like the idea of printing out these counterfactual effects in a future release of Mplus. I believe they add value and should not be too hard to obtain since most are a linear combination or, in the case of proportion mediated, ratios of effects or linear combinations of effects Mplus is already showing.
I'm glad there is no reason not to center X and M. Centering X is working well in my application. I am re-thinking centering M, though, because when I grand mean center M in my analysis, the interaction reference effect IntRef becomes zero and its coefficient is added to that of the CDE to alter the value of the CDE. Any further comments on this issue would be much appreciated.
I have a few questions about moderated mediation. I'm testing a model P->B->D, where P and B, and B and D paths are moderated by W; and B-> D path is moderated by Q; All variables are latent with ordinal indicators. The questions are:
1) I am trying to estimate the indirect effects at specific values of moderators (e.g.at -2 s.d and 2 s.d.). I am somewhat new to Mplus, so I was wondering if the code looks right?! Model: P BY Pcal1 Pcal2 Pcal3 Pcal4; B BY Bwpb1 Bwpb2 Bwpb3 Bwpb4; D BY D1 D2 D3 D4;
W BY Rss1 Rss2 Rss3 Rss4; Q BY Rpca1 Rpca2 Rpca3r Rpca4r;
Thank you SO MUCH. I have just a few follow up questions please.
1) With TYPE = RANDOM; ALGORITHM = INTEGRATION; standardised coefficients are not available. Would that be correct to simply constrain variance of all latent variables to 1 (hence s.d.=1) to obtain standardised direct and indirect effect coefficients? If this is the case, should I also constrain latent means to be 0 as well?
2) Since the indicators are ordinal (measured on a 5 point-likert scale) but their respective latent variables are assumed to be continuous, if there a way to see how many data points are there associated with -2/2s.d. of each latent moderator variable in order to make a valid inference?! If e.g. it’s possible in Mplus to see distribution of a latent variable using percentiles? The reason I am asking this, is because ideally I want to avoid a situation that if I use e.g. -2/2s.d. mod values, but don't have enough data points to make valid inferences.
3) Is there actually a way to test if latent variables are indeed normally distributed or is it just an assumption?
4) I read in your new book on regression and mediation analysis in Mplus, that it is recommended to grandmean center moderator variables, would you recommend to grandmean center only moderators or all variables?
May I ask you a follow-up question regarding an earlier comment please.
My post: September 27, 2016 - 4:54 am 2) Since the indicators are ordinal (measured on a 5 point-likert scale) but their respective latent variable is assumed to be continuous, is there a way to see how many data points are there associated with -2/2s.d. of that latent moderator variable in order to make a valid inference?! If e.g. it’s possible in Mplus to see distribution of a latent variable using percentiles? The reason I am asking this, is because ideally I want to avoid a situation that if I use e.g. -2/2s.d. mod values, but don't have enough data points to make valid inferences.
Your reply: 2) You can request Save = FS which means that you can look at factor scores.
Per your suggestion, I have obtained factor scores. There are 4 columns corresponding to factor scores of each (ordinal) indicator. I am not exactly sure what to do now with the 4 factor-score columns in order to see how many data points are there associated with -2/2s.d. of a latent moderator variable? Do I need to combine the scores in some way or do something with each factor score column separately? I am sorry, if this is a very basic question.
We need to see your output - please send to Support along with your license number.
Anika Schulz posted on Thursday, November 10, 2016 - 12:15 am
I ran a moderated mediation analysis with latent variables formed with continuous indicators (X -> M -> Y with the pathway from X to M being moderated by W). The conditional indirect effects for low and high levels of the moderator both turned out to be significant. However, their confidence intervals overlap. I was wondering which test I should use to find out if the slopes differ significantly from each other.
I used the following syntax (similar to Hayes’ model 7):
MODEL: Y (b0); Y ON M (b1); Y ON X (cdash); M (a0); M ON X (a1); M ON W (a2); M ON XW (a3);
MODEL CONSTRAINT: NEW(LOW_W HIGH_W IND_LOWW IND_HIW);
I am trying to conduct a power analysis (via monte carlo simulation on Mplus) to see how large a sample I would need to collect for a study. The hypothesized model is a moderated mediation model where the "b" path is moderated by a continuous variable
I was wondering if there was any guidance I could receive in the best way to do so via Mplus (either through resources or syntax - I have read previous preacher papers but still find myself having difficulty conducting such an analysis). I have seen some code above but some of the numbers that were included in the code confused me
To add to my question above, I have read over and tried to understand the Thoemmes, MacKinnon, & Reiser (2010) paper on power analysis for complex mediational designs using monte carlo methods, and the Mplus syntax makes sense for a mediation model. Upon introducing the moderator on the b path, I no longer understand how to complete the code to run on Mplus
sarah posted on Friday, February 03, 2017 - 9:39 am
My License number (STBML70008216)
Hy , in my PhD i collected data from 74 people for ten working days ( daily measures design : daily measures are nested in individuals) . i like to test a moderated mediation model with my multilevel data
CM=> independant variable=> mediator 1=>mediator 2=>performance ( DV) ( on the lower level( level1) The moderator is on level ( it was measured once and moderate all the relationship between variables on the level 1) Please i want to test such a multilevel moderated mediation model with Mplus ? can i have Mplus code ? please advice .thanks a lot for advance
I believe you can do a suitable analysis in Mplus. But the question about which analysis is suitable is better asked on SEMNET.
Saleh Moradi posted on Saturday, February 25, 2017 - 5:07 pm
Dear Drs Muthen,
I want to run a mediated moderation model with a Count Data as an outcome. i.e., X->M->Y and W as the moderator, moderating the path between X and M. X, M, W and Y are all latent variables. X, M, and W are continuous and Y is count. I have been advised to use Poisson regression with count data instead of OLS, or zero-inflated negative binomial regression for my specific case with lots of zeros. I have been searching for the most convenient platform to run this model. Is it possible to run this model in Mplus? If yes, can you possibly walk me through this, considering that I am a novice user of Mplus?
Mediation with a count Y is described in Chapter 8 of our new book. Mplus provides the correct, counterfactually-defined direct and indirect effects for this case.
You say that Y is a count variable but you also say that it is a latent variable. Latent variables for X, W, and M is not an issue.
AllisonG. posted on Tuesday, February 28, 2017 - 3:26 pm
I am doing moderated mediation model with a dichotomous IV - Race, latent mediator - Cognitive Health (composed of 3 cont variables), latent moderator - Social Health (composed of 3 cont variables), and a latent DV - Distress (composed of 2 cont variables). First, I don't think my syntax accounts correctly for this model. Suggestions would be greatly appreciated.
DEFINE: RaceSocH = Race*Social Health;
MODEL: ! Latent mediator Optimism ON Cognitive Health; Engagement ON Cognitive Health; Pain Catastophizing ON Cognitive Health; ! Latent moderator Social Support ON Social Health; Resource Loss ON Social Health; Social Undermining ON Social Health; ! Latent DV Depression ON Distress; PTSD ON Distress;
Cognitive Health ON Race; Distress ON Cognitive Health Race;
Compared to other IVs, it seems odd to control for effects of Age, Education, Marital Status, or Health on Race. How do you recommend adding those as control variables? Thank you.
I want to test a moderated mediation model with an observed IV (actual motor competence), 1 latent moderator (autonomous motivation), 2 latent mediators (perceived motor competence and competence satisfaction), and an observed DV (weekly time spent in organized sports).
As I'm using a combination of latent and observed variables, I'm not sure which commando for the analysis I should use. I want to use bootstrapping so I thought the analysis below might be correct but I'm not sure:
ANALYSIS: TYPE = GENERAL RANDOM; ESTIMATOR = ML; ALGORITHM = INTEGRATION; BOOTSTRAP = 10000
Furthemore, as I have a latent moderator but an observed IV, I have doubts whether I need to use the XW | X XWITH W command or rather the XW = X*W for the interaction.
And finally, for the first mediator, I would use the following code: Y ON M (b1); M ON X (a1); M ON W (a2); M ON XW (a3); Which code should I use for the second moderator? Y ON M (b2); M ON X (a4); M ON W (a5); M ON XW (a6);?
Thank you for any help you might be able to provide.
Please send your full output to Support along with your license number.
Anne Kuhn posted on Thursday, June 01, 2017 - 6:19 am
Hello, for days im trying to figure out how to do the analysis for my model on SPSS model 7.
I have the following model:
X (two conditions that have been manipulated; one group had to read one story about specific informations of sustainable products; second group received only general information) M (attitude - measured on a 7 point scale) Y (buying intention - measured on a 7 point scale) W (personal values a person has - 2 groups= high values and low values)
How can i do the test in Spss. Right now the problem is how to see the difference of both conditions in the output. I want to test the difference and i want to see that condition 1 which is the specific information is stronger than condition 2, but i have not been able to do this with model 7.
I am trying to estimate a moderated mediation analysis following the example of case 3 as described in your book "Regression And Mediation Analysis Using Mplus". I have two short questions:
1) On page 115, Table 2.28: Does the estimate of .950 (Tot natural IE) refers to the conditional indirect effect when X = 7 (versus the mean 5)?
2) Accordingly, is it safe to substitute the values for x in the model indirect statement (Table 2.26, p.113) with any given values of interest, e.g., high values of x vs. low values of x; or is it mandatory that the two values in the statement need to reflect one standard deviation above the mean (x1) vs. the mean (x0)?
Thank you very much! With kind regards Steve
ASIA RAFIQ posted on Monday, October 16, 2017 - 9:14 am
Hi! I am a PhD scholar. currently working on Expatriates. i am having three IVS( X1, X2, X3) on Mediator (M) Two Dvs (Y1, Y2) and Two Moderators (W, V). W moderates at first levels X1W, X2W, X3W with M at first level and MV on both Y1 and Y2. i dont know how to write Mplus code with multiple Dvs and Ivs. i only know with single IV ans Dv. please help me in this regard. thank you in advance
ASIA RAFIQ posted on Monday, October 16, 2017 - 9:31 am
Respected Professor! I am a PhD scholar. currently working on Expatriates. i am having three IVS( X1, X2, X3) on Mediator (M) Two Dvs (Y1, Y2) and Two Moderators (W, V). W moderates at first levels X1W, X2W, X3W with M at first level and MV on both Y1 and Y2. i dont know how to write Mplus code with multiple Dvs and Ivs. i only know with single IV ans Dv. please help me in this regard. thank you in advance
Yuhan Zuo posted on Sunday, October 29, 2017 - 11:55 pm
I am working on a mono-level moderated mediation model with non-independence problem. I use TYPE=COMPLEX to deal with the non-independence issue.However, BOOTSTRAPPING can not be used together with TYPE=COMPLEX, yet I need to get the BOOTSTRAPPING results of indirect effect (a*b) to test the moderated mediation model. Is there anyway I can get the BOOTSTRAPPING results when using TYPE=COMPLEX?
If Type=Complex is due to clustering, you can do Type=Twolevel with Bayes to allow non-symmetric a*b CIs. Mplus does not have Bootstrapping for complex samples.
Yuhan Zuo posted on Wednesday, November 01, 2017 - 1:54 am
Thanks for your reply!
Although Mplus does not have Bootstrapping for complex samples, I want to know that if I can use Monte Carlo Method proposed by "Selig, J. P., & Preacher, K. J. (2008, June). Monte Carlo method for assessing mediation: An interactive tool for creating confidence intervals for indirect effects" to get the CI of the indirect effects when I use TYPE=COMPLEX to deal with my single level moderated mediation model with non-independence problem?
I am interested in testing whether a moderator moderates the relationship between an IV and a DV and whether a mediator mediates the relationship between the moderator and the DV (see specific variables below). I looked at example 3.18 in the users manual, but I can’t seem to figure out what my syntax should look like. Can you please help?
Mediator = dtotext2 IV = ZneighprobMR1 Moderator = zmfr1 DV = DSA1A3 covariates: icsex icethnic groupid
IDVARIABLE IS famid; MISSING ARE ALL (999); USEVARIABLES ARE icex icethnic groupid ZneighprobMR1 ZMFR1 mom1xflex1 dtotext2 DSA1A3;
ANALYSIS: Type = general; ESTIMATOR ML; bootstrap = 5000;
MODEL: DSA1A3 on dtotext2 (b) icex icethnic groupid ZneighprobMR1 ZMFR1; !model with just covariates
DSA1A3 on dtotext2 (b) icex icethnic groupid ZneighprobMR1 ZMFR1 mom1xflex1; !model with covariates and interaction term
dtotext2 on ZneighprobMR1 (gamma1); ! mediator regressed on moderator ???? (gamma2);
MODEL CONSTRAInT: PLOT(indirect); Loop(mod,-2, 2, .1); indirect = b*(gamma1+gamma2*ZMFR1);
I am running a model with moderated mediation with two mediators (the moderator is only moderating the relationship between the predictor and the first mediator). I currently am regressing the first mediator on the predictor, the first mediator on the interaction, and the first mediator on the moderator. My question is whether I should allow covariance between the predictor, the interaction term, and the moderator (where there is covariance between each of them) or should I constrain the covariances to 0?
Hello, I am extremely new to both SEM and MPlus so I was wondering if you could help me interpreting my output. All my variables are observed and all models fit very well. I have ran the following models with these findings:
Model 1 (basic mediation with only one mediator): M1 mediates the relationship between X and Y
Model 2: I added moderator W (dichotomous - high vs low value) on the "a" pathway of the mediation - significant moderation effect at the high value of the moderator
Model 3: I added to Model 2 another mediator in series (M2), so that now I have M1 and M2 in series, and W still moderating the IV-M1 ("a") path
I am finding a significant XW interaction. However all new/additional parameters are not significant except for the total effect of W at its high value.
I am struggling to interpret the results... 1- how do I understand if the serial mediation is significant, ie what do I need to look at? 2- is there a significant moderated mediation effect?
Dear Professor, I am a PhD scholar,currently working on a research paper.I want to run a model with one IV(X1), on Mediatior M ,one DV(Y1)and one modetator (W).Moderation is at first satge.But its a two level first stage moderation mediation model.I want to test such a multilevel moderated mediation model with Mplus ? can i have Mplus code ? thanks a lot for advance
You say that moderation is at first stage - perhaps you mean that the regression of M on IV is moderated. If so, you simply create an interaction term IV*W using Define and put that on the Between list.
Indirect and direct effects with this kind of moderation is in line with single-leevl mediation models such as shown in Section 2.6.1 of our book Regression and Mediation Analysis using Mplus. See also Mplus input and output for examples in this book on our website at
Dear Professor, thanks for your reply.sir moderation is at first stage but my independent and moderator are at level 2 while mediator and dependent are level 1.so its a two level First stage moderation mediation.you said that direct and indirect effects with such kind of moderation are similar to single level mediation?please help me understand.thanks in advance
1) I am testing six consecutive moderated mediation models When I ask for descriptive statistics for each model, the means are slightly different depending on the model Since I am planning to report all models, what Descriptive statistics values should I report? I.e. from what model, since they are all slightly different depending on the specific model tested?
2) How do I obtain SDs for descriptive statistics? Do I need to square root manually the variance or is there a quicker way?
Dear Sir Muthen, Thank you for your response.By first stage moderation mediation i mean that the first path between iv and mediator is moderated by W. because i have four variables in my model i.e., IV,M,DV AND W. I am having a cross level model.My independent and moderating variable is at organizational level and mediator and dependent are at individual level.As i am new to Mplus so i am confused that how to handle two levels of data in Mplus while running first stage moderation mediation.
Yes - the plot shows the CIs and all plot values can also be saved.
Pengfei Li posted on Monday, April 23, 2018 - 5:42 pm
Thanks a lot.
Is there some way to caculate the critical value of confidence bands by Johnson-Neyman tech. directly? If we fix a smaller increment in LOOP option in example 3.18 whether it will be better? It needs the coefficients' covariance and variance, accroding to the formula of confidence bands in (Bauer & Curran,2005). Should I find it from TECH3 option?
So would you please give me some advice?
Bauer D J, Curran P J. Probing Interactions in Fixed and Multilevel Regression: Inferential and Graphical Techniques.[J]. Multivariate Behavioral Research, 2005, 40(3):373-400.
I am having trouble with a moderated mediation model where W moderates the path X -> M. All variables are continuous. I am getting the error message: The following parameter label is ambiguous. Check that the corresponding parameter has not been changed. Parameter label: MED1. Could you suggest an improvement to the following syntax?
Y ON X; M ON X (MED1); Y ON M (MED2);
M ON W W*X;
MODEL CONSTRAINT: NEW(INDIR1); INDIR1 = MED1*MED2;
Hi, I'm testing a complex path analysis model with two IVs, each related to a first set of several mediators, themselves in turn related to another set of mediators, themselves related to one DV. The model includes covariates impacting the DV too. All variables are continuous.
I want to test the moderation effect of an additional continuous variable on the pathways between IVs and the first set of mediators. I was able to define the interaction terms, add them to the model (in addition to the moderator), and some of the interaction terms are significant.
How can I probe these interaction effects (i.e. sample slopes) for such a complex model?
You should use the PLOT and LOOP options in line with UG ex 3.18, extended to your case. Just multiply not only with the "b" coefficient from the first set of mediators but also with the coefficients relating the final outcome to the second set of mediators.
I want to see the effect of X(which is time invariant) on Y(measured in 10 time waves) through mediating effect of M. This relationship of M to Y is moderated by V. All these variables are latent and measured by proxies. I want to test this with a cross lagged model. But don't know How would I incorporate the mediating effect in this model?
You mention Cross-lagged modeling but your first message mentions 10 y's but only 1 x and 1 m so I don't know what's cross-lagged. It is not clear how your second message relates to the first - and we ask that postings be limited to one window - longer messages should be sent to Support along with your license number.
The MOD option is for single-mediator cases only. Any indirect and direct effects can however be expressed using Model Constraint. The formulas are given in our Short Course Topic 11 video and handout on our website as well as in our RMA book - see Case 1 moderation in Chapter 2 with book scripts on our web site. For each mediator the indirect effect is of the kind
(b1 + b3*W) (x1-x0)
where b3 is the coefficient for the x*w interaction. With a binary x, (x1-x0)=1 and for a continuous x you can choose the difference between the 2 x values to be compared; e.g. x0=mean(x), x1= 1SD+mean(x).
Dear Sir, Thank you very much for your reply.I know MPlus can do anything. I am a new user of MPlus that is why I am struggling with making MPlus understand how to do it.
There are some more challenges with the data as well. I am trying to use secondary data and use proxies to operationalize the variables I am using (that is why the X 'Business Relatedness' is measured only once by using SIC code).
Really looking forward to get your valuable comments how I can approach these problems.
I am estimating a moderated mediation model with dichotomous IV (imbal), a continuous mediator (depres), and a dichotomous DV (poorhlth). My moderator is a 4-category dummy-coded sex/race variable: WM (referent), WF, BM, and BF. This moderator is hypothesized to moderate paths a, b, and c. Mplus is using WLSMV due to weighting. Is it a legitimate use of the MODEL CONSTRAINT command to test for differences of individual effects, indirect effects, and total effects between categories of the moderator as I have specified below? Also, because WLSMV is being used is the metric for all the indirect, direct, and total effects being calculated expressed as probit regression? The model constraint command follows in the next post.
MODEL: depres ON imbal (a1); depres on wf (a2); depres on bm (a3); depres on bf (a4); depres on imbxwf (a5); depres on imbxbm (a6); depres on imbxbf (a7); poorhlth ON depres (b1); poorhlth on depxwf (b2); poorhlth on depxbm (b3); poorhlth on depxbf (b4); poorhlth ON imbal (c1); poorhlth on wf (c2); poorhlth on bm (c3); poorhlth on bf (c4); poorhlth on imbxwf (c5); poorhlth on imbxbm (c6); poorhlth on imbxbf (c7);
Q2: No, the regular WLSMV effects are for the y* DV (the continuous latent response variable). You can use "counter-factually defined effects" which refer to the observed binary y. See the Topic 11 YouTube videos on or website.
First, my sincere apologies for using multiple windows for a single post. I viewed the first 3 videos for topic 11 focusing mainly on video 3 which discusses how to obtain the counter-factually defined effects. It seems that this is being done with the MODEL INDIRECT command and the MOD statement. I tried experimenting with this and am coming to the conclusion that this will not work with a categorical moderator. Am I correct here? If so, is there another reference for alternatives to getting these counter-factually defined effects?
Yes, I had already created 3 dummy variables from my 4-category moderator variable. I looked at the documentation for the MOD statement in the Mplus manual and also tried the command in the Mplus program I had set up. From the manual, it looks like I need to specify a single moderator variable. When I try to include multiple MOD statements in the program I get an error that only one MOD statement is allowed. So can I use the MOD statement in the case of a categorical moderator? If not, can you point me to some documentation or an example for obtaining counter-factually defined effects for a moderated mediation model with a categorical moderator? I really appreciate you taking your time to help me with this as I am fairly new to Mplus.
You are right the the case of several moderators is not included in the automatic computation of counterfactually-defined effects using MOD that is called for because of the binary DV. You would have to express these effects using Model Constraint. That is more involved because you have to express the probit formulas in line with page 312 of our RMA book, modifying equation (8.21). It is clear to me how the formulas should be modified. But if you don't want to get into that exercise, you may want to stay with the (non-counterfactual) effects for Y*. Unless you want to try one moderator at a time.
Thanks so much for your response. It looks like, in the short term, we are going to have to go with the non-counterfactual effects.
Meanwhile I have used the MODEL CONSTRAINT command to compute the a, b, c', a*b, and (a*b)+c' effects for the 4 race/sex groups. From these I then computed the differences for the 6 combinations of the groups. From everything I have read, the WLSMV estimation is probit regression in the case of a binary DV and regular OLS regression in the case of a continuous DV. So are the the following following interpretations accurate?
1) Since Y is binary, the effects of m on y* (b) and the effects of x on y* (c') are the effects had the continuous y been observed. These are expressed in the output as probit regression coefficients.
2) Since m is continuous, the effects of x on m (a) are expressed as regular OLS regression coefficients.
3) The mediation effects a*b, is the effect of x on y* through m had the continuous y* been observed. These coefficients seem difficult to describe because of the differencs in the coefficients a and b. The same seems to be true for the total effects (a*b)+c' as well. This may not matter because what we really want to do is compare the mediation and total effects across the 4 groups.
Since the last post, I started reading your 2015 "Causal Effects" article. In it when discussing a binary y and continuous m you write "The coefficient b is a probit or a logit coefficient when considering y to be the dependent variable and a linear regression coefficient when considering y* to be the dependent variable."
So the b and c' effects are interpreted as regression coefficients when y* is assumed to be continuous. This would make the indirect and total effects interpreted as in OLS regression, correct? But am I correct that b and c' are estimated using probit? It's just that, depending on your assumptions, they can be interpreted as either? It's a little hard to wrap my head around this.
I posted a while back about my moderated mediation model, and your advice was helpful. I got results (no error messages) using code I've partially included below, but I don't think I did enough for my hypothesis testing and I'm not sure how to proceed.
MODEL: [TaskPerf] (b0); TaskPerf ON LMCQ (b1); TaskPerf ON FTM (cdash); [LMCQ] (a0); LMCQ ON FTM (a1); LMCQ ON LTM (a2); LMCQ ON int (a3);
I ignored the fact that my data are nested (followers within leaders) as well as the fact that I have parallel mediators and a second outcome variable (paths don't cross). The second pathway is between FTM, Empathy, and OCB2. Same moderation relationship with LTM.
What do I have to do to capture/control for the nested nature of the data? FTM is level 1, LTM is level 2.
In a Type=Twolevel Random analysis, you replace the interaction with a random slope that is regressed on the LTM moderator on the Between level. So the model can look something like this (staying with your parameter labels):
%Within% Taskperf ON LMCQ (b1); Taskperf ON FTM (cdash); S | LMCQ ON FTM; %Between% s ON LTM (a3); [s] (a1); s LMCQ Taskperf WITH s LMCQ Taskperf;
I think the effects will then be as you have them (check me).
Thank you so much! I altered the code using the above and what I found for model F in the Preacher pdf. I'm getting an error message I'm not sure how to fix:
"*** ERROR in VARIABLE command TYPE=TWOLEVEL requires specification for the CLUSTER option."
I tried looking it up to try and fix on my own, but I'm so new to MPlus that I can't make much sense out of the other forums. Is this an error message related to the way I'm writing the syntax or is this something I need to fix in my data before running the syntax?
Ok, that was an easy fix. Now I'm getting this error message: ERROR in MODEL command: Between-level variables cannot be used on the within level. Between-level variable used: LTM The following MODEL statements are ignored: Statements in the WITHIN level: TASKPERF ON LTM _______________________________________________________ VARIABLE: NAMES are […]; use variables are […]; WITHIN = FTM; BETWEEN = LTM; CLUSTER = leader;
CENTER FTM LTM (GRANDMEAN);
ANALYSIS: TYPE = Twolevel random; Iterations = 1000; Convergence = 0.00005; MODEL: %WITHIN% TaskPerf ON LMCQ (b1); TaskPerf ON LTM (cdash);
s|LMCQ ON FTM;
%BETWEEN% s ON LTM (a3); [s](a1); s LMCQ TaskPerf WITH s LMCQ TaskPerf;
The error message says it - because you say that LTM varies only on Between, you should get rid of the Within-level statement:
TaskPerf ON LTM (cdash);
Perhaps you want it on Between.
John C posted on Tuesday, August 28, 2018 - 2:48 pm
I wish to specify a case 2 type moderated mediation with a binary mediator, a binary outcome, a binary moderator, and a covariate(c). Looking at the documentation, one way specify it is in conjunction with the model constraint command, as in:
Variable: ... Categorical = y m; Model: [m$1] (fm0); m on x (fm1); m on c;
[y$1] (fy000); y on x (fy100); y on m (fy010); y on z (fy001); y on mz(fy011); y on c; Model constraint: NEW( pfm0 pfm1 pfy000 pfy100 ... de ie) ... de = (pfy100-pfy000)*(1-pfm0) + (pfy110-fy010)*pfm0; ie = ... etc.
Another much simpler way would seem to be via the MOD operator, as in:
Model: y on m x z mz c; m on x c;
Model Indirect: y MOD m z mz x;
My main goal is to determine if the indirect effect varies for the two different values of the moderator.
My main question is whether the latter specification is indeed valid in this case when both y and m are binary?
so that you get the effects evaluated at z=0 and z=1.
John C posted on Wednesday, August 29, 2018 - 2:43 pm
Thanks you, I have one followup question. I would like ultimately to estimate the effect on two dependent variables, both binary, with correlated errors, so it would be the following assuming I can extend the syntax. Would this also be a valid specification:
Model: y1 y2 on m x z mz c; m on x c; y1 with y2;
Model Indirect: y1 MOD m z(0,1,1) mz x; y2 MOD m z(0,1,1) mz x;
Hi Dr Muth, I have successfully executed a 1-1-2 MSEM based on your advise. Following is the syntax I have used with Bayesian estimator:
usevariables are X M Y; Between= Y; Estimator= Bayesian; %Within% M on X; %Between% M on X (a); Y on M (b);
Model Constraint" New (Indirect); Indirect= a*b;
Now in the next stage, I want to test a moderated mediation hypothesis. I have level 2 moderator (with no within variation) on the path of M to Y. May I please know what additions do I have to make to the syntax which I wrote?
%Between% ...what you have before int | w XWITH m; ! XWITH needed - m is latent on this level y on int;
Then just pretend that the between level mediation is a single-level moderated mediation and use the regular single-level effect formulas for that.
steve posted on Thursday, November 15, 2018 - 6:48 am
Dear Drs. Muthen,
I would like to do a case 3 moderated mediation model as described in your book:
y on m (b1) y on x (cdash1) y on xm (cdash2) m on x (a1)
In the book you show how to compute the indirect effect of x on y via m for different values of x such as that x moderates its own indirect effect on y. However, I am interested to see how the indirect effect of x on y via m would differ for different values of m (e.g. "3") following the logic that m is both a mediator and moderator. I figured out the following syntax:
ind_high_m = a1*b1 + b1*cdash2*3
Could you please advise me whether this is correct?
Hmmm - I don't see how that is logical for an indirect effect; it is for a direct effect. A Controlled Direct Effect (CDE) is defined in the literature for specific values of M and is discussed in our book.
steve posted on Tuesday, November 20, 2018 - 4:51 am
Thank you, I will consider this. Do I understand correctly that the CDE is basically a form of moderation/simple slopes analysis in a mediation framework?
I am going to attempt to compute counterfactual effects for a moderated mediation model with a binary moderator. However, I thought I should first try computing the effects for the simple mediation model since I can check these against the estimates that Mplus produces. x=imbal (binary), m=depres (continuous), y=poorhlth (binary). Mplus is using WLSMV due to weighting. I came up with the following model and model constraint code using workshop video topic 11, the slides and the regression/mediation book. Does this look close? This is my first attempt! Be gentle!
[depres] (gamma0); depres (sig); depres ON imbal (gamma1); [poorhlth$1] (beta0); poorhlth ON depres (beta1); poorhlth ON imbal (beta2);
Looks right - I am glad these resources are helpful. Your formulas follow section 8.1.4 of the RMA book. You can then study the more general approach of Section 8.1.3 to handle the moderation - it should be simpler because your moderator is not the mediator M but another variable, Z (using our terms).
In comparing these to the Mplus estimates they are close but not exact. For example for tnie the OR and SE are 1.160 and 0.034 respectively. The model constraint estimates are 1.153 and 0.031. Maybe the differences are due to some rounding error?
The other thing I noticed was that the significance tests for the ORs in the counterfactual section was (Est. - 1)/SE. The model constraint estimate significance tests are presented in the Model Results section and use Est/SE. I can recompute these, but are these distributed as Z (I think) or something else (t, chi-square, ???).
On to moderated model.
My strategy is to use the same approach as workshop slide 100 for topic 11, but add in the interaction terms for the moderation.
Thanks for your response. So you would use the first OR for the estimate and the second for the significance test. Nice!
In terms of the moderation model, all three paths (a, b, and c) will be moderated be the moderator Z. Using the X, M, Y notation and using B for beta and G for gamma, I believe the equations for Y* and M would be:
Then, as in slide 100-101, conditioning on X=x1 for Y* and X=x0 for M:
Your first Y* and M equations are fine, except you want to add the residuals (they contribute to variances conditional on X and Z as in (8.1) - 8.6)). Because you don't have an MX term, things are simpler than (8.16) - (8.22) and more like (8.1) - (8.6), again referring to the RMA book equations. Relative to (8.16) - (8.22), you have beta3=0 and beta1 = B2+B5. Express the variance in (8.22) taking that into account to get the probit expression in (8.21).
And use this to express effects corresponding to Z=0 and Z=1.
Once again, thanks so much for looking at this. I'll make those changes.
Just a couple more questions.
I didn't include any control variables in these calculations, even though they will exist in the model. In the RMA book on pages 312-313 you give an example of type 3 moderation with a control variable. But you go on to say that for purposes of effect estimation Mplus evaluates the control variables using a value of zero. So for practical purposes, wouldn't all the effect terms involving controls just drop out? I guess what I'm asking is I wouldn't have to alter any of this code to take into account the fact that I have control variables in my model would I? I might want to grand mean center the continuous ones to make things easier to interpret though.
Also, I should also be able to test for differences in the TNIE or TNIEOR for Z=0 and Z=1, for example, by just calculating this in the model constraint command right? To test for the significance of the differences in the ORs I can use the differences in the OR-1s or use bootstrapping as you suggested above?
You are correct in your understanding in all regards here. You do want to grand-mean center continuous control variables and you do want to be aware that for binary controls your answers are for the zero category (you can reverse such control variables if you are interested in answers for the other category).
Thank you once again. I couldn't have pulled this off without the materials you provide (RMA book, videos and slides) and your insights.
I hate bringing this up now, but I do have two more models I need to estimate. The first is a moderated mediation model with case 3 moderation. Binary X and Y, continuous M using WLSMV due to weighting.
In looking at the RMA book pages 312-313 it looks like the presence of that MX term is going to make the variance you present on page 313 depend on the value of X for the M equation. So it looks like there will be two standard deviations used in computing the 4 expected values. One will be used in computing ey11 and ey01, and the other will be used in computing ey00 and ey10. Other than that I think I can use a similar strategy to get these expected values.
Yes, I was not very clear there. I meant that after substituting the M equation into Y*, that the variance would depend on the value of x in the original M equation. So when you condition on x=1 for Y* and x=0 for M as you do on page 312, you get the variance you present on page 313: v(x1)=((B2+B3x1)**2)(Var(EM))+c. When you condition on x=0 for Y* and x=1 for M you get ((B2+B3x0)**2)(Var(EM))+c=((B2)**2)(Var(EM))+c. You would use the first variance with ey10 and ey00 and the second with ey11 and ey01.
I think you have x1 as 1 and x0 as 0 (that's not always the case).
Don't you mean to say that you use the x1 variance for ey10 and ey11 and the x0 variance for ey00 and ey01? In these ey expressions building on (8.21), the first digit after ey refers to the first probit argument which is what goes into the Y* expression. This is like in Table 28 of my 2011 paper - see the Mplus input appendices.
Yes, I was using x1=1 and x0=0, and I should be using the x1 variance for ey10 and ey11 and the x0 variance for ey00 and ey01 as you say. That's what I get for trying to eyeball this instead of writing out all the equations.
Thanks again for all your help.
I'm not optimistic about a counterfactual solution to the last model. It involves 3 parallel mediators. You mention these models in the RMA book, but it sounds like these solutions have yet to be developed.
Nguyen, T.Q., Webb-Vargas, Y., Koning, I.K. & Stuart, E.A. (2016). Causal mediation analysis with a binary outcome and multiple continuous or ordinal mediators: Simulations and application to an alcohol intervention. Structural Equation Modeling: A Multidisciplinary Journal, 23:3, 368-383 DOI: 10.1080/10705511.2015.1062730
It describes how to handle multiple mediators and a binary Y using Mplus.
I have read the Nguyen article. I see a lot of the same elements in there that you use both in the RMA book and the workshops. I have many questions but can I just start with a couple:
1) It looks like, from both the article and the Mplus code in the appendix that the combined effect of the mediators is being computed. They seem to mention individual effects but that's it.
2) If this is true might it be possible to compute the individual effects? It looks like they substitute in for all mediators at the same time. Could one substitute in one mediator at a time to somehow get the individual mediation effects?
3) They include control variables in their equations. In terms of Mplus estimation as before, since Mplus uses a value of zero for the control variables for the purposes of estimation, wouldn't these drop out of the equations as before?
4) They use R to do the final calculations including the bootstrapping. Can't all of this be done in Mplus?
1) - 2). Path-specific "causal" (counterfactual) effects is complex topic. See the discussion in section 4.5.5 of the RMA book. And also Vanderweele's book plus recent articles in the statistics literature.
3). I think so.
4). Yes, it can be done in Mplus using Model Constraint. They were interested in effects summed over all control variable values whereas Mplus gives effects for specific control variable values (zero).