Latent Moderated SEM PreviousNext
Mplus Discussion > Structural Equation Modeling >
Message/Author
 David R lewis posted on Tuesday, February 17, 2015 - 6:19 pm
Do you have a sample input file for Latent Moderated SEM?

I have a moderated mediation model where the moderator (V) is an exogenous latent variable. The mediator (M) is also an exogenous latent variable. The DV (Y) is an observed continuous variable.

I would like to model the moderation between M and Y or between X and M. One complication is that X is an unordered categorical variable (2 dummy variables representing three values)

What can you suggest?
 Bengt O. Muthen posted on Wednesday, February 18, 2015 - 8:19 am
You have input in the FAQ Latent variable interaction LOOP plot.

Moderation modeling with latent variables and dummy Xs may be more easily done via multiple-group modeling (3 groups in your case) where key parameters vary across the groups. But you can use XWITH also for interactions between latents and dummies.

Modeling the moderation between M and Y requires extra care as shown in Model 1 of Preacher, Rucker, Hayes (2007) in MBR.
 David R lewis posted on Wednesday, February 18, 2015 - 12:55 pm
Thank you for the prompt and helpful reply.

From Preacher, Rucker, Hayes (2007), I want Model 2 and Model 3. Previously, I used "Define: MV = M * V with continuous observed variables. Now "Define" does not work before "Model" since M and V are latent variables created by "BY".

I can only get XWITH to work for "Type = Random; Algorithm = Integration;", no bootstrapping or fit stats. Is there a better alternative? I appreciate your assistance.

MODEL:
Variety BY Variety1 Variety2 Variety3; !(M)
Expertis BY Chooser1 Chooser2 Chooser3; !(W)
SelfDet BY SelfDet1 SelfDet2 SelfDet3 SelfDet4;
PrefID BY Manchk1 ManChk2 ManChk3;
Inter| Expertis XWITH Variety; !(M * W)
Variety ON Cat_0 Cat_U (a1); !(a1 or M on X1 and X2)
Satisf1 ON Cat_0 Cat_U !(c' or Y on X! and X2)
Variety (b1)
Expertis !(b2)
Inter (b3)
SelfDet
PrefID;
!Expertis WITH Variety;
!Inter WITH Variety;
MODEL CONSTRAINT:
PLOT(Indirect);
LOOP(Expert,-2,2,0.1);
Indirect=a1*(b1+b3*Expert); !(Y = a1(b1+b3W))
!MODEL INDIRECT:
!Cat_0 IND Variety Satisf1;
!Cat_U IND Variety Satisf1;
 Linda K. Muthen posted on Wednesday, February 18, 2015 - 2:32 pm
XWITH is required for interactions between latent variables.
 David R lewis posted on Thursday, February 19, 2015 - 10:54 am
Thanks Linda,

I see that the User Guide explains that. I was hoping for an alternative.

I have a working model, output and plots but I see that the model fit statistics are limited with MLR.

The plot of indirect effect against values of the moderator shows confidence intervals, that always include 0 so I can interpret that as meaning that the the null H of "zero indirect effect regardless of the level of the moderator" cannot be rejected. Still I was wondering if you could direct me to a source that would explain how to interpret the output.

Thanks

David
 Bengt O. Muthen posted on Thursday, February 19, 2015 - 2:50 pm
Yes, with XWITH fit statistics have not been developed in the literature. You can check significance of the interaction and compare models using BIC.

You are interpreting the moderator plot correctly. Which part of the output are you uncertain about? Regarding XWITH the 2 latent variable interaction FAQs is all we have at this point.
 David R lewis posted on Thursday, February 19, 2015 - 4:11 pm
Thank you.

I was hoping for a means to calculate p values of the conditional indirect effect over a range of values of the moderator and then apply the Johnson-Neyman technique.

If not, I will rely on the confidence intervals.

Best regards,

David
 Bengt O. Muthen posted on Friday, February 20, 2015 - 11:26 am
What is it you need beyond the confidence interval plot? That gives you the region of significance discussed in Figure 3 of Preacher, Rucker, Hayes (2007).

If you express the indirect effects in Model Constraint, you get p-values for them.
 David R lewis posted on Sunday, February 22, 2015 - 11:48 am
Hi Bengt,

When I use "Model Indirect:" in the constraints section I receive the following error message: "MODEL INDIRECT is not available for TYPE=RANDOM."

The model is one of conditional indirect effects (models 2 or 3 in PRH 2007) where the moderator and mediator are both continuous latent variables with 3 indicators each.

Your suggestions are appreciated.

David
 Bengt O. Muthen posted on Sunday, February 22, 2015 - 1:41 pm
You have to use Model Constraint, where you express the indirect effects using parameter labels given in the Model command.
 David R Lewis posted on Monday, February 23, 2015 - 6:03 pm
Hi Bengt,

One of the interaction variables is latent so I use XWITH and Type=Random.

I receive the error message "*** ERROR
MODEL INDIRECT is not available for TYPE=RANDOM.

MODEL:

Variety BY Variety1 Variety2 Variety3; !(M)
Expertis BY Chooser1 Chooser2 Chooser3; !(W)
Inter| NumCat_3 XWITH Expertis; !(X * W)
Variety ON NumCat_3 (a1)!(M on X1)
Expertis (a2) !(M on W)
Inter (a3); !(M on XW)
Satisf1 ON NumCat_3 (c)
Variety (b1); !(Y on X, M)

MODEL CONSTRAINT:
PLOT(Indirect);
LOOP(Expert,0,7,0.1);
Indirect=(a1+a3*Expert)*b1;!(a1+a3W)b1

MODEL INDIRECT:
NumCat_3 IND Satisf1

Do you have any suggestions?

Thanks

David
 Bengt O. Muthen posted on Tuesday, February 24, 2015 - 5:50 am
You have to express the indirect effect in Model Constraint in this case.
 David R Lewis posted on Tuesday, February 24, 2015 - 10:40 am
Dear Bengt,

I'm afraid I don't understand what you mean.

How would I modify my input?

Please let me know,

Thanks,

David
 Linda K. Muthen posted on Tuesday, February 24, 2015 - 10:53 am
You would label the parameters involved in the indirect effect in the MODEL command and specify the indirect effect as a new parameter in MODEL CONSTRAINT.
 David R Lewis posted on Tuesday, February 24, 2015 - 2:00 pm
I believe I have done that it the input code provided earlier. What am I missing?
 Bengt O. Muthen posted on Wednesday, February 25, 2015 - 1:08 pm
Your input says:

MODEL CONSTRAINT:
PLOT(Indirect);
LOOP(Expert,0,7,0.1);
Indirect=(a1+a3*Expert)*b1;!(a1+a3W)b1

MODEL INDIRECT:
NumCat_3 IND Satisf1


It should say:

MODEL CONSTRAINT:
PLOT(Indirect);
LOOP(Expert,0,7,0.1);
Indirect=(a1+a3*Expert)*b1;!(a1+a3W)b1
 David R Lewis posted on Thursday, February 26, 2015 - 8:04 am
Thank you for all of your help you have been very responsive and helpful. MPlus is awesome.

I have the analysis I needed including the CI, plot and plot data.

As well as being SEM rather than regression and modelling latent variables, with the LOOP, MPlus is superior to running Process regressions many times with transformed IV and Moderator values as suggested in Spiller et al. JMR 2013. As an enhancement I was hoping for p-values over the range of values of the moderator in the loop plot.

Also, it looks like there's no way to get bootstrap CI. Please confirm
1. With Latent moderators, I have to use XWITH
2. With XWITH, I must use Type=Random
3. With Type=Random, Bootstrap is currently unavailable.

Thanks again for all of your help.
 S.Arunachalam posted on Friday, March 20, 2015 - 5:09 am
Respected Prof. Muthen:

The new 'model indirect' way of plotting causal effect is not providing any plot graphs.

model indirect:
p MOD np mc (-.5 .5 .1) eomc eo;
plot:type = plot2;

p.s.: I have installed version 7.3.
 Bengt O. Muthen posted on Friday, March 20, 2015 - 11:37 am
That should work - see slide 39 of my handout and video from the 2014 Psychometric Society short course.

If this doesn't help, send input, output, data, and license number to support@statmodel.com.
 S.Arunachalam posted on Friday, March 20, 2015 - 7:04 pm
Dear Prof. Muthen. I have sent you an email. Thanks a lot !
 Eric Deemer posted on Friday, May 13, 2016 - 9:07 am
Hello,
When I run the input below I get the following error message: "A parameter label has been redeclared in MODEL CONSTRAINT. Problem with: IND". Do I need to provide another label for the plot command? Here is my input:

MODEL: sse by smq12 smq21 smq24 smq28 smq29;
pap by agq2 agq4 agq8;
procp by passp1-passp3;
anx by smq4 smq6 smq13 smq14 smq18;
procp on gpa gender;
procp on anx (b);
anx on sse
pap (a);
procp on pap;
interact | sse xwith pap;
anx on interact(c);
sse pap anx;

model constraint:
new(ind wmodval);
wmodval=.444;!+1SD sse
ind=(a+c*wmodval)*b;
plot(ind);
loop(sse,-.444,.444,0.01);

Thank you,
Eric
 Linda K. Muthen posted on Friday, May 13, 2016 - 1:26 pm
Remove the IND parameter from the NEW statement and move the PLOT statement up before the assignment statement involving IND.

model constraint:
new(wmodval);
wmodval=.444;!+1SD sse
plot(ind);
ind=(a+c*wmodval)*b;
loop(sse,-.444,.444,0.01);
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: