The interpretation of coefficients in an ordinal logistic regression varies by the software you use. In this FAQ page, we will focus on the interpretation of the coefficients in R, but the results generalize to Stata, SPSS and Mplus. For a detailed description of how to analyze your data using R, refer to R Data Analysis Examples Ordinal Logistic Regression.
Definitions
First let’s establish some notation and review the concepts involved in ordinal logistic regression. Let
for
Ordinal Logistic Regression Model
The ordinal logistic regression model can be defined as
How R parameterizes the ordinal regression model
In Stata and R (polr
) the ordinal logistic regression model is parameterized as
where
Suppose we want to see whether a binary predictor parental education (pared
) predicts an ordinal outcome of students who are unlikely, somewhat likely and very likely to apply to a college (apply
).
Due to the parallel lines assumption, even though we have three categories, the coefficient of parental education (pared
) stays the same across the two categories. The the two equations for pared = 1
and pared = 0
are
Then
To run an ordinal logistic regression in R, first load the following libraries:
library(foreign) library(MASS)
Now read in the data and run the analysis using polr
:
dat <- read.dta("https://stats.idre.ucla.edu/stat/data/ologit.dta") m <- polr(apply ~ pared, data = dat) summary(m)
The shortened output looks like the following:
Coefficients: Value Std. Error t value pared 1.127 0.2634 4.28 Intercepts: Value Std. Error t value unlikely|somewhat likely 0.3768 0.1103 3.4152 somewhat likely|very likely 2.4519 0.1826 13.4302
The output shows that for students whose parents attended college, the log odds of being unlikely to apply to college (versus somewhat or very likely) is actually
To see the connection between the parallel lines assumption and the proportional odds assumption, exponentiate both sides of the equations above and use the property that pared
for each level of apply
.
From the odds of each level of pared, we can calculate the odds ratio of pared
for each level of apply
.
The proportional odds assumption ensures that the odds ratios across all
Interpreting the odds ratio
The proportional odds assumption is not simply that the odds are the same but that the odds ratios are the same across categories. These odds ratios can be derived by exponentiating the coefficients (in the log-odds metric), but the interpretation is a bit unexpected. Recall that the coefficient
Since the exponent is the inverse function of the log, we can simply exponentiate both sides of this equation, and by using the property that
For simplicity of notation and by the proportional odds assumption, let
However, as we will see in the output, this is not what we actually obtain from R!
R
To obtain the odds ratio in R, simply exponentiate the coefficient or log-odds of pared
. The following code uses
cbind
to combine the odds ratio with its confidence interval. First store the confidence interval in object ci
,
(ci <- confint(m)) 2.5 % 97.5 % 0.6131222 1.6478130
Then bind the transpose of the ci
object with coef(m)
and exponentiate the values,
exp(cbind(coef(m),t(ci))) 2.5 % 97.5 % pared 3.087899 1.846187 5.195605
In our example,
Since
From the output,
Another way to look at the odds ratio
Double negation can be logically confusing. Suppose we wanted to interpret the odds of being more likely to apply to college. We can perform a slight manipulation of our original odds ratio:
Since
Instead of interpreting the odds of being in the
Verifying both interpretations of the odds ratio using predicted probabilities
To verify that indeed the odds ratio of 3.08 can be interpreted in two ways, let’s derive them from the predicted probabilities in R.
After storing the polr
object in object m
, pass this object as well as a dataset with the levels of pared
into the predict function. Specify type="p"
for predicted probabilities.
newdat <- data.frame(pared=c(0,1)) (phat <- predict(object = m, newdat, type="p")) unlikely somewhat likely very likely 1 0.5931114 0.3275856 0.07930294 2 0.3206801 0.4692269 0.21009300
Each row represents the first level (pared
, and each column represents apply
.
Interpretation 1
The first interpretation is for students whose parents did not attend college, the odds of being unlikely versus somewhat or very likely (i.e., less likely) to apply is 3.08 times that of students whose parents did go to college.
To verify this interpretation, we arbitrarily calculate the odds ratio for the first level of apply
which we know by the proportional odds assumption is equivalent to the odds ratio for the second level of apply
. Since we are looking at pared = 0
vs. pared = 1
for
Interpretation 2
The second interpretation is for students whose parents did attend college, the odds of being very or somewhat likely versus unlikely (i.e., more likely) to apply is 3.08 times that of students whose parents did not go to college.
Here we are looking at pared = 1
vs. pared = 0
for apply
The odds ratio for both interpretations matches the output of R.
Summary
In general, to obtain the odds ratio it is easier to exponentiate the coefficient itself rather than its negative because this is what is output directly from R (polr
). The researcher must then decide which of the two interpretations to use:
- For students whose parents did not attend college, the odds of being less likely to apply is 3.08 times that of students whose parents did go to college.
- For students whose parents did attend college, the odds of being more likely to apply is 3.08 times that of students whose parents did not go to college.
The second interpretation is easier because it avoids double negation.
References
Bilder, C. R., & Loughin, T. M. (2014). Analysis of categorical data with R. Chapman and Hall/CRC.