Interpreting multi-level interaction
Message/Author
 Andrew Li posted on Monday, February 13, 2017 - 2:13 pm
Hello,
I am trying to interpret the interaction of two L-2 variables in the prediction of a L-1 variable. In this case, X and W are L-2 variables and Y is a L-1 Variable. I hypothesize that the cross-level relationship between X and Y will be moderated by W. I have the codes below. In particular, I am not sure the last few lines with respect to simple slope analyses are correct. Would you please take a look? BTW, all the variables are continuous variables and I have grandmean centered the two level-2 variables. Thank you.

usevariables = a1 x w y inter ;
cluster = a1;
between = x w inter;
define:
center x w (grandmean);
inter = x * w;
analysis: type = twolevel;
model:
%between%
y on x (b1)
w (b2)
inter (b3);
model constraint:
new (x1 x2 x3);
x1 = b1 + b3*(1);
x2 = b1;
x3 = b1 + b3*(-1);
output: Sampstat stdyx;
 Bengt O. Muthen posted on Monday, February 13, 2017 - 5:51 pm
This looks fine. Except you want to add

%Within%
y;
 Andrew Li posted on Tuesday, February 14, 2017 - 7:02 am
Dear Dr. Muthen,
Thank you so much for your reply. I use the Mplus code from the Geiser book (p. 216). In the demonstration of the codes for the Mean-as-outcomes model (a model where there is no L-1 predictor but one L-2 predictor), the code does not include a %within line. I wonder why this line is included as you suggested. Is it because now I have more than one L-2 predictor and also the interaction between two L-2 predictors? Thank you.
 Bengt O. Muthen posted on Wednesday, February 15, 2017 - 11:09 am
Make sure that the within-level variance is estimated - check your output. If it isn't, add it.
 Andrew Li posted on Wednesday, February 15, 2017 - 5:03 pm
Dear Dr. Muthen,
Thank you for your response. I really appreciate it.
You mention variance in your response. I use Tech3 to get the variance/covariance matrix. However, I don't quite understand the numbering on the x and y axes. I know that I can get the info with Tech1 in the output. The problem is I have a really hard time figuring out which number matches which parameter. I am sure there is a very intuitive way but I guess it gets lost in me. I read the relevant section in the manual and I still have no clues. Your help is greatly appreciate.
 Linda K. Muthen posted on Wednesday, February 15, 2017 - 5:42 pm
TECH1 gives a number to each free parameter in the model. Those numbers are used in the TECH3 variance/covariance matrix. For example the 1,1 entry is the variance of parameter 1. The 1,2 entry is the covariance between parameter 1 and parameter 2 etc.
 Andrew Li posted on Thursday, February 16, 2017 - 7:23 am
Dear Dr. Muthen,
I understood the variance/covariance matrix in the TECH3 output. The problem I have is related to the TECH1 output. Specifically, I don't know which parameter is related to which number. The TECH1 output includes a lot of symbols like beta, alpha, etc. I don't know how each number corresponds to the specific variables/parameters in my model.
Andrew
 Linda K. Muthen posted on Thursday, February 16, 2017 - 8:21 am
See pages 757-760 of the current user's guide on the website. The matrices are described there.
 Andrew Li posted on Thursday, February 16, 2017 - 12:04 pm
Dear Dr. Muthen,
Thank you so much. I was finally able to figure out what each number means.

Sorry to pepper you with questions, but where can I find the degrees of freedom for the slope and intercept? I don't see them in the output (tech1 tech8, tech3 cinterval)?
 Bengt O. Muthen posted on Thursday, February 16, 2017 - 6:47 pm
Perhaps you are referring to degrees of freedom for F tests. Mplus provides z-tests instead (no df's). See chapter 1 of our new book.
 Andrew Li posted on Friday, February 17, 2017 - 6:05 am
 Bengt O. Muthen posted on Saturday, February 18, 2017 - 5:05 pm
ok.
 Alexander O'Donnell posted on Thursday, September 10, 2020 - 4:07 am
Hello, I am currently trying to plot an interaction on the within-level using the standard simple slopes approach that is commonly used in regression-based analyses. As there aren't any intercepts on the within level, how can I compute such a plot? Is it appropriate to use the intercept at the between level to plot these slopes, or is it simply not possible to report the interaction in this way? Any assistance would be greatly appreciated. I have included my syntax below, outlining how I have investigated my significant interaction on the within level.

MODEL:
%Within%
Y on X (b1);
Y on W (b2);
Y on INT (b3);

%Between%
Y on X W INT;
[Y] (b0);

MODEL CONSTRAINT:
NEW(LOW_W MED_W HIGH_W SIMP_LO SIMP_MED SIMP_HI);
LOW_W = -0.745;
MED_W = 0;
HIGH_W = 0.745;

SIMP_LO = b1 + b3*LOW_W;
SIMP_MED = b1 + b3*MED_W;
SIMP_HI = b1 + b3*HIGH_W;

PLOT(LOMOD MEDMOD HIMOD);
LOOP(XVAL,1,5,0.1);
LOMOD = (b0 + b2*LOW_W) + (b1 + b3*LOW_W)*XVAL;
MEDMOD = (b0 + b2*MED_W) + (b1 + b3*MED_W)*XVAL;
HIMOD = (b0 + b2*HIGH_W) + (b1 + b3*HIGH_W)*XVAL;
 Bengt O. Muthen posted on Thursday, September 10, 2020 - 2:24 pm
Your Within-level SIMP_LO/MED/HI are fine as is. Simple slopes don't need to involve intercepts (typically don't).