1
$\begingroup$

I try to calculate the odds ratios and p-values for continuous and categorical predictors at a specific unit of change (e.g. odds ratio for a change of 10 years, not 1 year) of a multiple logistic regression model.

library:

library(tidyverse)
library(rms)

my test data:

data <- tibble(age=c(50,49,13,20,100,80,25,110,25,25,13,54,23,45,27,87,55,22),
        dose=c(400,800,800,200,100,450,400,432,543,3245,654,554,64,356,543,321,356,432),
        class=c(0,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,0,1))

my analysis:

dd <- datadist(data);  options(datadist='dd')
g <- lrm(class ~ age+dose, data=data)

What I tried:

From https://stackoverflow.com/questions/24627237/convert-odds-ratio-of-unit-change-to-whole-range I learned that I could calculate the odds ratio for a specific unit of change with:

#calculate odds ratio of age for a multiple of 10 years (10-units-change)
unit.change=c(10)
exp(coef(g)["age"]*unit.change)

I do not know how to calculate a p-value for this odds ratio now.

print(g)

gives me p-values for the beta coefficients, can I use these p-values?

From https://www.rdocumentation.org/packages/rms/versions/3.1-0/topics/summary.rms I learned that summary.rms calculates inter-quartile range effects. Can I somehow use summary.rms to calculate odds ratios at specific unit of change (and corresponding p-values) for every predictor? (my real data has multiple categorical and continuous predictors...).

$\endgroup$
  • 2
    $\begingroup$ (1) This is not multivariate regression: it's multiple regression. (2) It's unclear what you mean by a "p-value for this odds ratio" (for a ten-year change): could you tell us what hypothesis you are testing and show us how it differs from the usual null hypothesis that the coefficient is zero? $\endgroup$ – whuber Oct 4 at 18:43
  • $\begingroup$ Thank you for your comment. I corrected (1). Regarding (2) I would like to give a p-value for the odds ratio that I calculate from the coefficient, is it the same as for the underlying coefficient? I would like to calculate an odds ratio that reflects not an 1-unit-change but a 10-unit-change for years. $\endgroup$ – captcoma Oct 4 at 19:01
  • $\begingroup$ There's no such thing as a p-value for a parameter. P-values relate to hypothesis tests. In order to explain what you're looking for, you need to tell us what you are testing. $\endgroup$ – whuber Oct 4 at 19:09
  • $\begingroup$ The null hypothesis is that the OR is 1 $\endgroup$ – captcoma Oct 4 at 19:20
  • 1
    $\begingroup$ Isn't that precisely the null hypothesis that is automatically tested by the software output? $\endgroup$ – whuber Oct 4 at 19:23
3
$\begingroup$

Yes, the p-value for the effect of a 10-unit change in the covariate (years in this case) is the same as that for the effect of a 1-unit change. Here's the demonstration: the p-value for the original question (effect of a 1-unit change) is $P(|Z|>\frac{\hat\beta}{\sigma_{\hat\beta}})$, i.e. the tail area of the Normal distribution beyond the ratio of (estimated change)/(standard error of estimated change). The estimated effect of a 10-unit change in the covariate is $10\hat\beta$, but the standard error of this change is $10\sigma_{\hat\beta}$; the changes cancel out and we end up with the same p-value as before.

In the case of a logistic regression you will be doing tests on the log-odds ratio scale [or equivalently on the scale of additive changes in the log-odds], but the concept is the same.

$\endgroup$

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.