Covariate no longer significant after inclusion of interaction term

I'm trying to interpret some results here, and just want to make sure that my logic is sound.

I'm predicting a binary outcome with a categorical predictor (gene level coded as 0, 1, or 2 dependant on the number of risk alleles present). My hypothesis is that the gene's effect on the outcome is because of its effect on another variable (continous), say blood glucose level, which in turn affects CAD.

When I model the response as a function of the gene, all is fine, and it predicts very well (this is an established loci).

glm(cad ~ gene, Mastersheet, family = binomial) %>% summary()

Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.002729   0.041267   0.066    0.947
gene        0.354027   0.032885  10.766   <2e-16 ***


When I include my covariate in the model, all is still fine. The covariate is also an established predictor of cad.

glm(cad ~ gene+glucose, Mastersheet, family = binomial) %>% summary()

Estimate Std. Error z value Pr(>|z|)
(Intercept)  2.66501    0.10820  24.630   <2e-16 ***
gene         0.33467    0.03813   8.778   <2e-16 ***
glucose     -2.17507    0.07722 -28.168   <2e-16 ***


However, when an interaction term is included, the gene is no longer significant, though the model continues to be.

glm(formula = cad ~ gene * glucose, family = binomial, data = Mastersheet)

Estimate Std. Error z value Pr(>|z|)
(Intercept)     3.2845     0.1920  17.109  < 2e-16 ***
gene           -0.2306     0.1449  -1.591    0.112
glucose        -2.6674     0.1482 -18.004  < 2e-16 ***
gene:glucose    0.4471     0.1108   4.035 5.47e-05 ***


I'm looking for some help interpreting this meaningfully. Does this mean that because the gene becomes insignificant when the interaction is factored in, the effect of the gene on CAD is mediated entirely by it's interaction with glucose?

I couldn't find any other questions like this, sorry if it is a repeat.

Any and all help is appreciated! Thank you for your time!

The significance of interaction means that, as you change the level glucose by one unit, the change in CAD depends on how many risk alleles there are. The insignificance of gene implies that when glucose is at zero (or some other "base" level) then CAD is at the same level regardless of how many risk alleles there are.

When I say "CAD" or "change in CAD" I actually refer to $P\{CAD = 1\}$, but you have to be aware what your reference category is when you fit this in R.

• Thanks! Could that also be worded the other way around? i.e. The effect of increasing the gene by 1 on cad is modulated by glucose levels? Thereby saying that glucose modulates the effect of the gene? Aug 27, 2014 at 15:02
• Yes, if you change the number of risk alleles then the change in CAD will depend on the level of glucose. If the gene main effect were significant, then that statement would be true for any level of glucose. Since gene looks insignificant, it is true only if glucose is away form zero (or some other "base" level). Aug 27, 2014 at 15:19

In an early version of the question there was a comment about the unsuitability of the linear model in the problem. You can certainly do a linear probability model on binary data. There are times that this doesn't work and a non linear model is appropriate but there others where it is fine. See this discussion over at Mostly Harmless Econometrics which essentially amounts to that every problem with a misspecified linear model is also true about a misspecified nonlinear probability model. But you didn't really ask about that...

If the requirements of causal inference are satisfied, in the interacted linear model: Z ~ X + Y + XY the coefficient on X is the effect on Z for a Y value of zero. The coefficient on XY is the additional effect of a unit of X on Z when Y is 1 (or additional effect of a unit of Y when X is 1). As for what it means in your case, I read it as saying that gene is an unimportant predictor when glucose is near zero but important for values of glucose away from zero.

• What are "requirements of causal inference"? Aug 27, 2014 at 15:37
• A setting where you are confident that the regression coefficients represent the effect of the regressor on the regressand.
– BKay
Aug 27, 2014 at 18:27

First, I suggest you check the variance inflation factor (VIF) of your model. Sometimes the interaction term is highly correlated with the other independent variable(s), causing high VIFs and multicollinearity. I suspect that this may be the case, since the standard errors of both gene and glucoseare inflated after including the interaction term (e.g., genes: 0.008=>0.024). You can use vif() in the car package.

If the VIF is unacceptably high (this Wikipedia article recommends 5 as a cutoff value, even though I have seen other values), you should center glucose by subtracting its mean from each case (if it is not standardized). Centering has two benefits. First, it can reduce multicollinearity. Second, if you want to model gene as a categorical variable as you stated, you do need to center glucoseto set the intercept as the expected value of the linear predictor of cad when the independent variable (glucose) is set to its mean, instead of 0. Check this post more on centering.