# Using Beta to interpret interaction in general linear model

Following the question here, someone suggested that I could just look at the B column in SPSS "Parameter Estimates" table to interpret the interaction.

For instance, the B column for one of my tests is as following:

• Intercept: .724
• [Gender = 1.00]: .140
• [Gender = 2.00]: 0
• [Gender = 1.00] * Income: .620
• [Gender = 2.00] * Income: .690

The dependent variable is purchase of a particular product. 1 = Males and 2 = Females

On the basis of the above, can I say that the gender of female has a stronger effect between income and purchase.

• You did something wrong or incorrectly reprinted the results here. Since there's only 2 sexes, you can't get 2 interaction terms, but only one, and this is [Gender=1]*Income. The other interaction term is set to zero because of redundancy. Commented Nov 17, 2011 at 7:28
• @ttnphns There is indeed a question of coding, but note that including two separate indicators for gender and no constant will produce output like that reported here. It is equivalent to what you seem to be expecting, which also consists of three parameters: an intercept, an overall (Income) slope, and a differential slope for the interaction.
– whuber
Commented Nov 17, 2011 at 7:37
• @whuber, Agree. But the question links to my reply where I gave the concrete SPSS code, the model. Adhesh is expected to have used that code, by the sound of his question. Commented Nov 17, 2011 at 7:46
• I have re-run the test and updated the above post. Commented Nov 17, 2011 at 15:18
• That's a bad message to take away, Adhesh, because it's not right. Several important lessons are (i) check the model goodness of fit, (ii) code the categorical variables in an interpretable way, (iii) make scatterplots of the data and the residuals, (iv) consider transforming the variables, and (v) work through a textbook or the examples in your stats software before applying an unfamiliar statistical method on data you care about.
– whuber
Commented Nov 18, 2011 at 21:43

I am not familiar with SPSS syntax, however it seems that your model 1) does not include an intercept, and 2) does not include 'income' as a predictor, just as an interaction term. There may be good reason for this, but at first glance it seems that including the intercept and 'income' as a predictor will make interpreting the interaction coefficients easier for you. (Edit: I see now that you did include an intercept. I misunderstood the SPSS output at first).

To demonstrate the impact of including and not including 1) and 2) on standard output of linear regressions, I have three examples below. I use R, but the syntax should be understandable enough to follow along even if you are not familiar with R. In the examples, died is a binary outcome, and sex and age are exposures. In these examples, age will be equivalent to income in your example, as far as interpretation goes.

## First, we load in example data from the MASS package to make a
## reproducible example
require(MASS)
dat <- Aids2
dat$died <- 0 dat$died[dat\$status == "D"] <- 1 # Just creating a binary outcome variable
head(dat) # head() lets you see the first few rows, to familiarize with the data

## Example A: No intercept, age not included as a predictor
## Note that in R, including '- 1' removes the intercept
glm1 <- glm(died ~ sex + sex:age - 1, data = dat)
summary(glm1)
#Coefficients:
#             Estimate Std. Error t value Pr(>|t|)
#   sexF     0.2994329  0.1236565   2.421  0.01552 *
#   sexM     0.5530537  0.0366979  15.070  < 2e-16 ***
#   sexF:age 0.0077433  0.0029413   2.633  0.00852 **
#   sexM:age 0.0017959  0.0009501   1.890  0.05882 .

## Example B: No intercept, age included as a predictor
glm2 <- glm(died ~ sex + age + sex:age - 1, data = dat)
summary(glm2)
#Coefficients:
#             Estimate Std. Error t value Pr(>|t|)
#   sexF      0.299433   0.123656   2.421  0.01552 *
#   sexM      0.553054   0.036698  15.070  < 2e-16 ***
#   age       0.007743   0.002941   2.633  0.00852 **
#   sexM:age -0.005947   0.003091  -1.924  0.05444 .

## Example C: With intercept, age included as a predictor
glm3 <- glm(died ~ sex + age + sex:age, data = dat)
summary(glm3)
#Coefficients:
#                Estimate Std. Error t value Pr(>|t|)
#   (Intercept)  0.299433   0.123656   2.421  0.01552 *
#   sexM         0.253621   0.128987   1.966  0.04937 *
#   age          0.007743   0.002941   2.633  0.00852 **
#   sexM:age    -0.005947   0.003091  -1.924  0.05444 .


Note in the examples how the reported coefficients change depending on the terms included. I believe that Example C is probably the model you are interested in, unless you have good reason otherwise. We will ignore questions of statistical or practical significance and causation for the sake of clarity, focusing on interaction coefficient interpretation instead.

• The risk of death is 0.254 greater for males compared to females.
• The risk of death increases 0.008 per year of age.
• The increase in risk of death is 0.006 less per year of age among males compared to females.

(Also note that the intercept is rather meaningless here. It is, I believe, the risk of death among females at age 0.)

In more lay terms, age increases the risk of death among females more so than among males. However, on average, males are at higher risk of death compared to females.

Update

Just to round out the coefficient interpretations for Examples A and B:

Example A:

• The risk of death among females at age 0 is 0.299
• The risk of death among males at age 0 is 0.553
• Each additional year of age increases risk by 0.008 among females
• Each additional year of age increases risk by 0.002 among males

While the first two coefficients are rather meaningless, due to the extrapolation of age to 0, the difference between 0.553 and 0.299 is 0.254, which is the sexM coefficient in Example C. Also, 0.002 - 0.008 is -0.006, which is the sexM:age interaction coefficient in Examples B and C.

Example B:

• The risk of death among females at age 0 is 0.299
• The risk of death among males at age 0 is 0.553
• The risk of death increases 0.008 per year of age.
• The increase in risk of death is 0.006 less per year of age among males compared to females.

Further update

To bring this back to your original question:

Intercept: .724
[Gender = 1.00]: .140
[Gender = 2.00]: 0
[Gender = 1.00] * Income: .620
[Gender = 2.00] * Income: .690

• The risk of purchasing among females at income 0 is 0.724
• The risk of purchasing among males is 0.140 greater than females
• Each additional unit income increases risk of purchase by 0.620 among males
• Each additional unit income increases risk of purchase by 0.690 among females

Thus:

• The increase in risk of purchasing per unit income is 0.690 - 0.620 = 0.070 greater among females compared to males

Note

As whuber notes in comments above, proper interpretation of the coefficients assumes you have looked into proper regression diagnostics, you can defend your model, and that the data are from a valid study. For example, instead of linear regression, logistic or poisson regression (with standard errors calculated with a sandwich estimator) would be much better, as the outcome is binary.