Message/Author 


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? 


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 multiplegroup 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. 


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; 


XWITH is required for interactions between latent variables. 


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 


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. 


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 JohnsonNeyman technique. If not, I will rely on the confidence intervals. Best regards, David 


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 pvalues for them. 


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 


You have to use Model Constraint, where you express the indirect effects using parameter labels given in the Model command. 


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 


You have to express the indirect effect in Model Constraint in this case. 


Dear Bengt, I'm afraid I don't understand what you mean. How would I modify my input? Please let me know, Thanks, David 


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. 


I believe I have done that it the input code provided earlier. What am I missing? 


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 


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 pvalues 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. 


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. 


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. 


Dear Prof. Muthen. I have sent you an email. Thanks a lot ! 


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 passp1passp3; 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 


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 