Message/Author 

Mplus User posted on Wednesday, May 31, 2017  10:47 am



I have a mediation model, and I'm interested in testing whether two mediation effects are significantly different from each other in magnitude. I use the Model Constraint method to create a new variable "diff" (see below). I also requested for standardized effects (stdyx). The Mplus output provides standardized and unstandardized coefficients for all my variables except diff, in which only an unstandardized coefficient was provided. I also tried using biascorrected bootstrapping, but again, only an unstandardized coefficient was provided. Is there a way to obtain the standardized coefficient for the new variable, diff? MODEL CONSTRAINT: NEW (ind_1 ind_2 ); ind_1 = a1*b1; ind_2 = a2*b2; NEW (diff); diff = ind_1  ind_2; 


You have to express the standardization yourself in Model Constraint. That is, express the standardized version of ind_1 and ind_2 and then express the difference. 

Mplus User posted on Thursday, June 01, 2017  10:01 am



Thank you so much, Bengt. This is probably a dumb question  how do I create a standardized version of ind_1 and ind_2? MODEL CONSTRAINT: NEW (ind_1 ind_2 ); ind_1 = a1*b1; ind_2 = a2*b2; NEW (diff); diff = ind_1  ind_2; 

Mplus User posted on Thursday, June 01, 2017  10:42 am



I tried to answer my own question. Does this syntax create a standardized version of the two indirect effects? This is based on equation 9 in Preacher and Kelly (2011). I multiplied path a and path b by the standard deviation of X (.744) divided by the standard deviation of y (2.911). Is the syntax below correct? MODEL CONSTRAINT: NEW (ind_1 ind_2); ind_1 = a1*b1*.744/2.911; ind_2 = a2*b2*.744/2.911; NEW (diff); diff = ind_1  ind_2; 


The formula is right but when you insert numbers like this (e.g..744) you are not taking into account sampling error. You need to express the SDs in model parameter terms. 

Mplus User posted on Thursday, June 01, 2017  9:17 pm



How do I express the SD in model parameter terms? 


For instance, Model: .... x (varx); y on x (b); y (resvary); Model Constraint: New(sd); sd = sqrt(b*b*varx+resvary); 


Hi everyone, I am using a MODEL CONSTRAINT statement to estimate group differences in all paths in the multiple group model. The model works fine, but I don't understand how to interpret the output, what kind of statistics is calculated with the model constraint? model: DIFtas on Risk8; MODEL MALE: DIFtas on Risk8(p1) ; MODEL FEMALE: DIFtas on Risk8(p1f) ; model constraint: new diff1 (and so on for each of the 27 paths); diff1=p1p1f; and I then get the estimates, SE, and pvalues for the new/additional parameters in the bottom of my ouptput. DIFF1 (Estimate= 0.142) (SE=0.129)(ESt/SE=1.105)(pvalue=0.269) What kind of statistics is reported with the estimate? Looks like a Beta to me, is it correct? 


Like all parameters in the Model command, your p1 and p1f parameters are unstandardized regression coefficients. Diff1 is their difference. 


Dear Munthen, I have a moderated mediation model, I use a the Model Constraint method to create new variables of indirect effects "IND_HI; IND_LO" (see below). I also requested for standardized effects (stdyx). The Mplus output provides standardized and unstandardized coefficients for all my variables except the new variables. Is there a way to obtain the standardized coefficient for the indirect effects? MODEL CONSTRAINT: NEW(LOW_TC HIGH_TC IND_LOWTC IND_HITC TOT_LOWTC TOT_HITC); LOW_TC = 2; HIGH_TC = 5; IND_LOWTC = a1*b1 + a1*b3*LOW_TC; IND_HITC = a1*b1 + a1*b3*HIGH_TC; TOT_LOWTC = IND_LOWTC + cdash; TOT_HITC = IND_HITC + cdash; PLOT(LOMOD HIMOD); LOOP(XVAL,1,6,.01); LOMOD = IND_LOWTC*XVAL; HIMOD = IND_HITC*XVAL; PLOT: TYPE = plot2; OUTPUT: STANDARDIZED CINTERVAL (BOOTSTRAP) TECH8; 


There is no way for Mplus to know what quantities you have in Model Constraint, so no way to standardize. You have to do it yourself in Model Constraint by using variances based on parameter labels in the Model command. 


Hello everyone, I am trying to use MODEL CONSTRAINT to assess differences in distal outcomes across profiles in a LTA. I am using the manual 3step approach. However, I am getting an error message (Unknown parameter label in MODEL CONSTRAINT) and I cannot see where the problem in my syntax is. I wonder if a different pair of eyes may find it. Thank you in advance to all! Here is the relevant syntax: CLASSES ARE T1(4) T2(4); NOMINAL ARE T1_N_LTA T2_N_LTA; ANALYSIS: TYPE IS mixture; ESTIMATOR IS MLR; MODEL: %Overall% T2 ON T1; T1 ON esexe (r1r3); T2 ON esexe (r1r3); Model T1: %T1#1% [T1_N_LTA#1@4.299]; [T1_N_LTA#2@6.586]; [T1_N_LTA#3@3.982]; [e5ext] (aa1); [e5iden] (aa2); [e5inti] (aa3); %T1#2% [T1_N_LTA#1@1.542]; [T1_N_LTA#2@1.578]; [T1_N_LTA#3@0.808]; [e5ext] (ab1); [e5iden] (ab2); [e5inti] (ab3); ... MODEL CONSTRAINT: New(ext_12); ext_12=aa1ab1; ... *** ERROR Unknown parameter label in MODEL CONSTRAINT: AA1 


Send your full output to Support along with your license number. 

Jordan posted on Tuesday, September 11, 2018  12:23 pm



Hello, I've noticed that when I use a Model Constraint command (in this case, to estimate conditional indirect effects), the beta parameters of the model change drastically. Are these valid, or should I only pay attention to the beta parameters when running the model without the model constraint command? (Relatedly, I've noticed that the fit indices are markedly different as well;i.e., poorer fitting). Thanks 


I can't see that happening. Please send both outputs to Support along with your license number. 


Hello Mrs and Mr Munthen, We are working on the syntaxis that I posted below: D_LT BY DLV DLG DLP DLS; B_LT BY LG LP LS LV; B_LT ON D_LT (cdash); B_LT ON TEI (b1); B_LT ON ZPAS (b2); B_LT ON ZCONF (b3); B_LT ON ZAGR (b4); TEI ON D_LT (a1); ZPAS ON D_LT (a2); ZCONF ON D_LT (a3); ZAGR ON D_LT (a4); ZPAS ON TEI (d1); ZCONF ON TEI (d2); ZAGR ON TEI (d3); MODEL CONSTRAINT: NEW(a1b1 a2b2 a1d1b2 a3b3 a1d2b3 a4b4 a1d3b4 ); a1b1= a1*b1; a2b2=a2*b2; a1d1b2= a1*d1*b2; a3b3=a3*b3; a1d2b3=a1*d2*b3; a4b4 =a4*b4; a1d3b4=a1*d3*b4; Taking into account these, we are trying to standardyze an indirect effect of two (nonparallel) mediators. Which is the best option to standardyze the indirect effects of these model? Thanks, 


It looks like your X variable is D_LT and your Y variable is B_LT, in which case you should multiply your indirect effect with sqrt[V(D_LT)] and divide by sqrt[V(B_LT)]. So in Model Constraint you have to express those 2 variances in terms of model parameter labels. 

Qiong Wu posted on Tuesday, April 23, 2019  7:00 pm



Dear Drs. Muthen, I am using a threestep LCA to estimate coefficients in an APIM model. However, I'm getting error messages that I did not get when I was running a regression (i.e., a half of the APIM, only one direction instead of two directions). MODEL: %OVERALL% mt4moc ON mt1sasc mt1moc ; mt4sasc ON mt1sasc mt1moc ; mt1sasc mt1moc; %c#1% mt4moc ON mt1sasc(bcc1) mt1moc(bmm1); [mt4moc](mm1); [mt1sasc](acc1); [mt1moc](amm1); mt4sasc ON mt1sasc(bc1) mt1moc(bm1); [mt4sasc](m1); [mt1sasc](ac1); [mt1moc](am1); ... Model constraint: NEW (ddN4mm1); ddN4mm1 = mm1+acc1*bcc1+amm1*bmm1; *** ERROR Unknown parameter label in MODEL CONSTRAINT: ACC1 Could you give me some suggestions? 


We need to see your full output  send to Support along with your license number. 


Dear Drs. Muthen, I am reporting standardized results (STDY) for a model. However, I am also using Model Constraint to compare some of the coefficients and I understand that Model Constraint uses the unstandardized coefficients as inputs. Do you see this as an issue? Is it necessary to convert the coefficients into standardized values within the Model Constraint command first, in order to obtain accurate/consistent results? Thank you in advance for any guidance you can offer. 


In general, you do want to compare unstandardized coefficients to not also be influenced by variance differences. It depends on your research question really. 


Dear Professors, Regarding the standardization of coefficients, you are mentioning above that one needs "to express the SDs in model parameter terms." I am now wondering how to get the SD for y in the case of a multiple regression analysis. You were giving the example for a simple regression: "sd = sqrt(b*b*varx+resvary)". How would one express the SD of y in terms of model parameters (possibly in terms of sqrt(R^2 + resvary)) in the case of a multiple regression, please? 


With 2 x's, you replace the expression in parentheses by b1*b1*varx1+b2*b2*varx2+2*b1*b2*covx1x2 

Back to top 