2
$\begingroup$

I have a logistic regression model, where my outcome variable is a disease with yes and no outcome. We know that age is highly correlated with this disease. I have the data for a protein of interest and want to see whether this protein P has a relation with the disease. When I use protein alone as a predictor in the logistic model (in R), I get a significant p value for it. But when I add age in the model, my protein does not remain significant. I also looked at the correlation of my protein with age, and that is not correlated (0.08 correlation coefficient). So is it safe to omit age from the regression model?

DISEASE ~ PROTEIN   # significant ( p value : 0.00003)
DISEASE ~ PROTEIN + AGE 
    # Age is significant but protein no longer is (p value = 0.2)
$\endgroup$
3
  • 3
    $\begingroup$ Compute a likelihood ratio test to compare the two models. $\endgroup$
    – utobi
    Commented Mar 6 at 20:38
  • 2
    $\begingroup$ You might also want to look at DISEASE ~ AGE and how well the three models perform. Even better if you hold out a subset of your data, decide the three models and their coefficients on the rest of the data and then see how they perform on the data you initially held out. $\endgroup$
    – Henry
    Commented Mar 6 at 21:52
  • 1
    $\begingroup$ So you mean DISEASE ~ AGE DISEASE ~ PROTEIN DISEASE ~ PROTEIN + AGE and then look for lrt test? $\endgroup$ Commented Mar 6 at 22:10

1 Answer 1

2
$\begingroup$

You should have given more information, such as sample size, and range of age variable, and shown some plots ... but: If the tange of age is large, effect may not be linear, so maybe spline it. Leaving out a variable, like age, which you know is important, cannot be sound, so always include it.

So then fit two models, with and without protein, and calculate a likelihood ratio test. Standard output by standard software often use the Wald test, which for logistic regression only is approximate, and can be a bad approximation for usual sample sizes. Illustrating with R code, assuming age is splined:

library(splines)
mod0 <- glm(DISEASE ~ ns(AGE, df=4), family=binomial, data=your_data)
mod1 <- glm(DISEASE ~ ns(AGE, df=4) + PROTEIN, family=binomial, 
                         data=your_data)
anova(mod0, mod1, test="LRT")    
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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