Message/Author 


Is it possible to test the moderating effect of M (M is a moderators which is subject to influence of N) on the path from X (independent variable) to Y (dependent variable). I think this will be a multilevel moderation on path from X to Y. (X>Y is moderated by N>M). Can you please guide me through the process? 


I don't understand your model. What role exactly does N play? What does "X>Y is moderated by N>M" mean? Why do you say it is multilevel? Please write out the full model in some way. 


HI, I am sorry I did not explain it well. You can see the visual representation of my model following the link http://postimg.org/image/g0ex0qvtr/. The model has 3 IVs (lets say A, B and C) and 1 DV (Z). The paths between IVs and DV is moderated my M and P. Moderator M is further influenced by N (e.g. M can represent 'trust' and N is 'trust determinant'). 


With a continuous moderator such as your M, you create interaction variables (products) in Define. So for instance am = a*m; Apart from that you simply say Z on ac am .... ; M on n; 


I used the DEFINE command but I have an error message 'undefined variable used in transformation' 


Please send the output and your license number to support@statmodel.com. 

Dan R. posted on Thursday, May 28, 2015  12:01 pm



For the time being, I've dropped the 111 mediation component from my model to first look at the level 2 moderation effect. My question is whether it looks like I set up my level 2 moderation effects (Y ON XW & Y ON MZ) appropriately (i.e., if these regressions are significant, can I claim level two moderation is supported). Here is the model with simplified variable names: Usevariables are Y X M W Z XW MZ; WITHIN = X M; BETWEEN = W Z; CLUSTER = Subject; DEFINE: XW=X*W; MZ=M*Z; Analysis: TYPE = TWOLEVEL; ESTIMATOR=MLR; Model: %WITHIN% Y ON X M; Y M; %BETWEEN% Y W Z XW MZ; Y ON W; Y ON XW; Y ON Z; Y ON MZ; Output: sampstat stdyx Tech1 Tech8; 


Looks ok so far. 

Dan R. posted on Thursday, May 28, 2015  8:39 pm



Thank you, Bengt. And for mediation tests at level 1 and level 2, have I set the following up correctly? Given the interaction effects, my understanding is that the overall chisquare and traditional fit statistics aren't available. So, should I report the BIC and SRMR for comparisons? I actually do get a Chisquare x(12)=6.213, but I'm not sure if this is for the overall multilevel model or just a portion of the model. Any insights you could provide would be greatly appreciated. Usevariables are Y X M W Z XW MZ; WITHIN = X M; BETWEEN = W Z; CLUSTER = Subject; DEFINE: XW=X*W; MZ=M*Z; Analysis: TYPE = TWOLEVEL; ESTIMATOR=MLR; Model: %WITHIN% Y ON X (cw); Y ON M (bw); M ON X (aw); Y M; %BETWEEN% Y W Z XW MZ; Y ON W; Y ON XW (cb); Y ON Z; Y ON MZ (bb); MZ ON XW (ab); MODEL CONSTRAINT: New(indirw directw totalw indirb directb totalb); indirw = aw*bw; directw = cw; totalw = cw+aw*bw; indirb = ab*bb; directb = cb; totalb = cb+ab*bb; Output: sampstat stdyx Tech1 Tech8; 


Your Between model looks strange. The "MZ" variable name sounds like an interaction term and it is not declared as Within or Between. 

Dan R. posted on Friday, May 29, 2015  12:21 pm



The MZ variable is an interaction  M is measured at level 1, and Z is measured at level 2. If I try to specify MZ on the between = line, I run into the following error: *** ERROR One or more betweenlevel variables have variation within a cluster for one or more clusters. Check your data and format statement. Between Cluster ID with variation in this variable Variable (only one cluster ID will be listed) AMG_NEGA 531 DLP_EF 531 Any thoughts? 


You typically don't have an interaction variable as a dependent variable as you do on Between saying MZ ON XW. MZ is not a betweenlevel variable given that M is measured on the within level. I don't see which kind of interaction model you are after for Between, that is, it isn't clear if you want to moderate the x>m, x>y, or m>y paths. Putting aside that you are doing this on Between for 2level model, maybe you want to study the Preacher et al (2007) MBR article on moderated mediation (singlelevel) to see how such interaction models are set up. 


Dear Dr. Muthen, I want to test whether L2 continuous variable (Z) moderates (inter=Z*X) the effects of L2 continuous variable X on changes in L1 dependent variable Y. 1. Is my syntax correct? If s on inter is significant does this suggest moderation? cluster = class id; within = wave0 Qwave; between = X Z inter; TYPE = COMPLEX TWOLEVEL RANDOM; MODEL: %within% s  Y ON wave0 Qwave; %between% Y; s ON X Z inter; 2. What is the difference in conclusions if I omit "random" and inter is significant (Y is measured at 3 time points)? TYPE = COMPLEX TWOLEVEL; MODEL: %within% Y; %between% Y; Y ON X Z inter; Thank you for your help. 


Approach 1. and 2. should be the same if the residual variance of s is zero. The s residual gets multiplied by the within predictor of Y. Note that your syntax for approach 1. has 2 predictors of Y on within  but you can only define a random slope for one at a time. Note also that if on Between you regress s on predictors, the same predictors typically influence Y as well. 


Dear Dr. Muthen, Thank you for your quick answer and guidance. Just to clarify, the "between" variances (L2) of both "S" and "Y" are significant for all 3 options of Random: %within% Y; option 1) S  Y ON wave; option 2) S  Y ON Qwave; option 3) S  Y ON wave Qwave; %between% Y; S; Should I go with approach 1. from my previous post to test moderation by L2 variable "Z" (inter=Z*X) of the effects of L2 variable "X" on changes in L1 variable "Y"? 


Yes, approach 1 is good but your input isn't correct. First, as I mentioned you cannot say s  Y ON wave0 Qwave; because the random slope statementrefers to one predictor, not two as you have. Second, on between you should let Y be regressed on X Z and inter. 


Dear Dr. Muthen, I want to run 211 multilevel moderation, please share the syntax. I am using 6.1 version of Mplus and unable to find any relevant syntax for 211 moderation.Thank you in advance. 


See our Mediation page at http://www.statmodel.com/Mediation.shtml under Preacher et al. multilevel mediation inputs 


Dear Dr. Muthen, I have few questions regarding multilevel moderation. First, can we test within and between level moderation? (e.g. Independent variables are based on between level and moderators are based on within level). Second, if so, which syntax are required to test multilevel moderation. I have not find any relevant syntax for my model in which independent variables (level 2) are based on between level and moderators and dependent variables are based on (level 1) within level. Thank you in advance. 


See our web page http://www.statmodel.com/Mediation.shtml under the heading Preacher et al. multilevel mediation inputs 


CAN I USE BAYESIAN ESTIMATOR FOR MULTILEVEL MODERATED MEDIATION? I HAVE TRIED HOWEVER, I GOT THIS MESSAGE: PLEASE HELP *** ERROR in MODEL command Unrestricted xvariables for analysis with TYPE=TWOLEVEL and ESTIMATOR=BAYES must be specified as either a WITHIN or BETWEEN variable. The following variable cannot exist on both levels: PD *** ERROR in MODEL command Unrestricted xvariables for analysis with TYPE=TWOLEVEL and ESTIMATOR=BAYES must be specified as either a WITHIN or BETWEEN variable. The following variable cannot exist on both levels: IMPLEPD 


Send your output to Support along with your license number. 

Zehua Cui posted on Wednesday, November 20, 2019  3:01 pm



Dear Dr. Muthen, I am looking at how the association between motherchild biological synchrony and child internalizing/externalizing behaviors is moderated by neighborhood context.But I am a little stuck on the syntax. The biological data is multilevel, nested within time and each dyad. For the within level, I will use the mother's biological data to predict child's biological data to come up a synchrony score (which becomes between level). Also, my neighborhood variable, and child outcome variables are also between level. So, it's not a crosslevel moderation, and I am stuck on how to create an interaction term. Below is part of my syntax. Could you provide me some guidance on how to create an interaction term in this case and how to put it in the between part of the syntax? Thank you so much! Cluster=ID; Within=RSA_P RSA_C; Between=INT_W1 INT_W2 EXT_W1 EXT_W2 Neighb; Define: center Neighb (grandmean); Analysis: Type=twolevel; type=random; estimator=MLR; model: %within% Sync RSA_P on RSA_C; %between% 


You mention "time"  what is your number of time points? And, how many neighborhoods do you have? Dyads are well handled in a singlelevel format so with time as level 1, motherchild as level 2, and neighborhood as level 3, you need 3level modeling (assuming enough time points and neighborhoods). Moderation of level 2 parameters by neighborhoods is then handled by random slopes specified on level 2 and analyzed on level 3. With only a few time points, you can use wide format for time and reduce to 2 levels. See our Topic 10 Short Course video and handout as well as UG examples. 

Zehua Cui posted on Thursday, November 21, 2019  1:48 pm



Dear Dr. Muthen, Thank you so much for your quick response! I am very sorry that my statement was a little confusing. The biological data is calculated every 30 seconds within a 5 minute interval. So both the mother and child will have 10 time points of biological data, and every motherchild dyad will only have one synchrony value. I have 100 motherchild data (100 synchrony value) and 66 neighborhoods (motherchild dyads not from the same neighborhoods). So I want to create an interaction between Synchrony and neighborhood (all between levels), but I can't define it using the define command, because I have to use mother's biological data to predict child's biological data on the within level first. Do you know how I can create an interaction term for the between level using the parameter from the within level? Do I have to do a latent interaction like INTSYNC XWITH neighb (for the between level)? 


Perhaps this is what you have in mind for a child DV and a mother IV on level 1: Level 1: r1  child on mother; Level 2: r2  r1 on synch; Level 3: r2 on neighb; This gives an interaction between synch and neighb via the random slope r2. The synch variable on level 2 predicts the random slope r1 in the mother  child relationship. 

Back to top 