For a study I've recently designed, I'd like to assess whether four continuous variables (M1-M4) moderate the impact of five continuous independent variables (X1-X5) on one continuous dependent variable (Y).

What would be the be best way to perform the data analysis?

Do I simply need to create interaction terms for the supposed predictors and moderators, enter all of these into a really long regression equation, and see which are significant? In other words, would my overall regression equation be:

Y = β1X1 + β2X2 + β3X3 + β4X4 + β5X5 + β6M1 + β7M2 + β8M3 + β9M4 + β10X1M1 + β11X2M1 + β12X3M1 + β13X4M1 + β14X5M1 + β15X1M2 + β16X2M2 + β17X3M2 + β18X4M2 + β19X5M2 + β20X1M3 + β21X2M3 + β22X3M3 + β23X4M3 + β24X5M3 + β25X1M4 + β26X2M4 + β27X3M4 + β28X4M4 + β29X5M4 + C + e

If so, what would be the proper procedure for interpreting the output and performing any follow-up analyses? Any and all advice greatly appreciated


At first people are usually tempted to say: Well, just compute the covariance between the variables. However, this only assesses the linear relation between two variables. For example: If $y = \sin(x)$ then there is a very high relation between x and y but the covariance term will not necessarily give this pair a high value (in comparison to the other possible values) because the relation is not linear.

The same reason applies to the model you suggest: Who will ever guarantee that the relation between the target variables and the M-variables will be of the shape you have modelled it?

Without knowing more or making more assumptions about the distributions of the variables the only choice you have is to use a measure that attempts to model the non-linear relationships as well.

Here are few hints into the general direction:

1) just draw a scatterplot and check by eye whether or not you can find some obvious relations that you could study in detail

2) compute the mutual information (wikipedia) of the M-variables and the X/Y-variables

3) For each of the target variables Y, X1, ..., X4 compute a model (random forest, gradient boosting, ...) with that variable as a target variable and then let the model give you the feature importance it thinks is correct.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.