Terminology and Overview
In the context of multiple regression:
- a moderator effect is just an interaction between two predictors, typically created by multiplying the two predictors together, often after first centering the predictors.
- a covariate is just a predictor that was not used in the formation of the moderator and that is conceptualised as something that needs to be controlled for.
Thus, you should be able to run a hiearchical regression with moderators and covariates in just about any statistical software that supports multiple regression.
Typical approach to testing moderator effect after controlling for covariates
- SPSS: If you are doing the hierarchical regression in SPSS, you'd probably enter the predictors in blocks. Here's a tutorial.
- R: If you are doing this in R, you'd probably define separate linear models
lm
each adding additional predictors and use anova
to compare the models. Here's a tutorial.
Once you understand hierarchical regression in your chosen tool a simple recipe would be as follows. Let's assume that you have the following variables
- main effect precitors:
IV1
IV2
- interaction effect: multiplication of
IV1
and IV2
- covariates
CV1
CV2
In some cases you may need to create the moderator
- If you are using SPSS, you will need to multiply the two predictor variables together (e.g.,
compute iv1byiv2 = iv1 * iv2.
). If you want to interpret the regression coefficients, you may find it useful to center iv1
and iv2
before creating the interaction term.
- If you are using R, you can just use the notation
iv1*iv2
in the linear model notation.
You can then estimate the models
- Block/model 1: Enter covariates
m1 <- lm(DV~CV1+CV2)
- Block/model 2: Enter main effect predictors
m2 <- lm(DV~CV1+CV2+IV1+IV2)
- Block/model 3: Enter interaction effect
m3 <- lm(DV~CV1+CV2+IV1*IV2)
You can then interpret the significance of the r-square change between block 2 and 3 as a test of whether there is an interaction effect: anova(m2, m3)
Simple slopes analysis
If you want to perform simple slopes analysis, you can take the regression formula provided by the final multiple regression and calculate some appropriate values to plot.
You can do this by hand or you can use predict
in R. For example, you might calculate the values predicted by the regression equation using the following values
IV1 IV2 CV1 CV2
-2sd -2sd mean mean
-2sd +2sd mean mean
+2sd -2sd mean mean
+2sd +2sd mean mean
You can then plot these values using whatever plotting tool that you like (e.g., R, SPSS, Excel).
Personally, I find Conditioning Plots a better option than simple slopes analysis. R has the coplot
function. The idea is to show a scatter plot of the relationship between IV and DV in a set of arranged scatterplots defined by ranges of the moderator. When I searched, I found an example of using conditioning plots for moderator regression on page 585 of Handbook of Research Methods in Personality Psychology
Best Answer
A multiple regression model is a special case of a path model. There are many analyses that can be conducted via path models. Only some of those can be fit with multiple regression models. If a multiple regression model is a viable option, either could be used. In that case I (and I suspect most data analysts), would use a standard multiple regression instead of a path analysis, because it would be more familiar to a wider audience.