Tutorials › Biostatistics › Ordinal Logistic Regression for Clinical Outcomes

Regression

Ordinal Logistic Regression (Proportional Odds Model)

How to analyze ordered clinical outcomes without pretending the categories are equally spaced: the cumulative-logit model, proportional-odds interpretation, a complete worked clinical-trial example, predicted probabilities, and what to do when the proportional-odds assumption fails.

Intermediate 9 min read

What You'll Learn

  • Why an ordinal endpoint is different from a binary or continuous endpoint
  • How cumulative logits produce the proportional-odds model
  • How to interpret the ordinal logistic regression odds ratio correctly
  • A complete 600-subject clinical-trial example with computed estimates
  • How one treatment odds ratio produces probabilities for every severity category
  • The proportional-odds assumption and what to do when it is violated

Introduction

Clinical outcomes are often neither purely binary nor genuinely continuous. A patient may be classified as having a response of none, mild, moderate, or major; a disease severity score may be classified as mild, moderate, or severe; or a clinician may rate improvement on an ordered scale such as poor, fair, good, or excellent.

These outcomes contain more information than a binary endpoint because the categories have a meaningful order. But they should not automatically be analyzed as continuous measurements because the numerical distance between categories is not necessarily meaningful. The difference between "mild" and "moderate" does not have to be the same magnitude as the difference between "moderate" and "severe."

Ordinal logistic regression provides a middle ground. It uses the ordering information without assuming that the categories are equally spaced. The most commonly used version is the proportional odds model, also called the cumulative logit model.

The key idea: instead of modeling the probability of each category independently, the proportional-odds model models a series of cumulative probabilities, such as the probability of being in category 2 or better, category 3 or better, and category 4 or better. The regression coefficient for a predictor is constrained to be the same across all of those cumulative comparisons.

Why Not Just Use Ordinary Logistic Regression?

Binary logistic regression requires a binary outcome. Suppose a clinical endpoint has four ordered categories:

Code Clinical outcome
1 No response
2 Mild response
3 Moderate response
4 Major response

There are several possible ways to turn this into a binary endpoint:

  • Response ≥ 2 vs. response = 1
  • Response ≥ 3 vs. response ≤ 2
  • Response = 4 vs. response ≤ 3

The problem is that each binary definition throws away part of the ordering information. Worse, the estimated treatment effect can depend substantially on which cutoff was selected. Ordinal logistic regression uses all of the ordered categories simultaneously.

Important distinction: ordinal logistic regression does not treat categories 1, 2, 3, and 4 as equally spaced numerical measurements. Coding the categories as 1–4 is used to establish their ordering; it does not mean that category 4 is "twice as much" as category 2.

The Cumulative Probability Idea

Suppose the outcome has four categories. There are three meaningful cumulative cutpoints:

$$ P(Y \le 1), \qquad P(Y \le 2), \qquad P(Y \le 3) $$

Equivalently, when higher categories represent better outcomes, we can think in terms of:

$$ P(Y \ge 2), \qquad P(Y \ge 3), \qquad P(Y \ge 4) $$

The proportional-odds model is based on these cumulative comparisons rather than on the individual category probabilities themselves.

For the conventional cumulative-logit formulation:

$$ \log\left[ \frac{P(Y \le j)} {P(Y > j)} \right] = \alpha_j - \mathbf{x}^{T}\boldsymbol{\beta}, \qquad j=1,\ldots,K-1 $$

where:

  • \(K\) is the number of ordered outcome categories;
  • \(\alpha_j\) is a category-specific intercept or threshold;
  • \(\mathbf{x}\) is the vector of patient-level covariates;
  • \(\boldsymbol{\beta}\) contains the regression coefficients.

The important feature is that the threshold changes with \(j\), but the regression coefficient does not.

Why It Is Called the "Proportional Odds" Model

Consider a treatment indicator \(X\), where \(X=1\) denotes the active treatment and \(X=0\) denotes control. For each cumulative cutoff:

$$ \log\left[ \frac{P(Y \le j)} {P(Y > j)} \right] = \alpha_j-\beta X $$

For the treatment group, the cumulative odds are therefore:

$$ \frac{P(Y \le j \mid X=1)} {P(Y > j \mid X=1)} = e^{-\beta} \frac{P(Y \le j \mid X=0)} {P(Y > j \mid X=0)} $$

Or, reversing the direction so that higher outcome categories are favored:

$$ \frac{\text{Odds}(Y>j\mid X=1)} {\text{Odds}(Y>j\mid X=0)} = e^\beta $$

The same odds ratio applies at every cumulative cutoff. That is the proportional-odds assumption.

Interpretation: if \(e^\beta=2.0\), the treatment approximately doubles the odds of being in a higher outcome category rather than at or below any particular cutpoint — whether the cutpoint is "none vs. anything better," "none/mild vs. moderate/major," or "none/mild/moderate vs. major."

A Worked Clinical-Trial Example

Consider a simulated randomized clinical trial with 600 patients, 300 assigned to treatment and 300 assigned to control. The primary outcome is a four-level ordered response measured at the end of treatment:

Outcome Code
No response 1
Mild response 2
Moderate response 3
Major response 4

The simulated observed data are:

Treatment No response Mild Moderate Major Total
Control 70 72 77 69 288
Active treatment 52 43 90 127 312

The treatment arm clearly has a different distribution: there are fewer patients in the two lowest categories and substantially more patients in the major-response category.

We fit a proportional-odds logistic regression containing treatment and age:

$$ \log\left[ \frac{P(Y\le j)} {P(Y>j)} \right] = \alpha_j - \beta_1(\text{Treatment}) - \beta_2(\text{Age}_{10}) $$

where \(\text{Age}_{10}\) is age centered at 55 years and expressed in 10-year units. This means that the age coefficient represents the change associated with a 10-year increase in age.

The Fitted Model

The maximum-likelihood fit gives the following estimates:

Parameter Estimate Standard Error P-value
Treatment 0.7216 0.1496 <0.0001
Age, per 10 years −0.1441 0.0746 0.0535
Threshold 1 −1.0498 0.1213
Threshold 2 −0.0318 0.0868
Threshold 3 0.1790 0.0697

The treatment coefficient is approximately 0.7216. Exponentiating it gives:

$$ OR_{\text{Treatment}} = e^{0.7216} = \mathbf{2.06} $$ $$ 95\%\,CI = \left(e^{0.7216-1.96(0.1496)}, e^{0.7216+1.96(0.1496)}\right) = \mathbf{(1.53,\;2.76)} $$

Interpreting the Treatment Odds Ratio

The estimated proportional-odds ratio is:

$$ \boxed{OR=2.06} $$

This means that, after adjusting for age, the treatment group has approximately 2.06 times the odds of being in a higher response category than the control group.

Crucially, this interpretation applies across all cumulative cutpoints:

Cumulative comparison Interpretation of treatment effect
Response > 1 vs. response = 1 OR ≈ 2.06
Response > 2 vs. response ≤ 2 OR ≈ 2.06
Response > 3 vs. response ≤ 3 OR ≈ 2.06
Do not say: "Treatment patients are 2.06 times more likely to have a major response." That is not what the proportional-odds coefficient means. The model estimates a common odds ratio for being above each cumulative threshold, not an odds ratio for one specific category.

From Log-Odds Back to Probabilities

Odds ratios are compact, but clinicians often want something more intuitive: "What is the probability that a typical patient falls into each response category?"

For a patient aged 55, the fitted model gives the following predicted probabilities:

Response category Control Active treatment
No response 25.9% 14.5%
Mild response 22.0% 16.4%
Moderate response 27.3% 28.8%
Major response 24.7% 40.3%

Notice something important: the model does not simply multiply every category probability by 2.06. The odds ratio applies to the cumulative odds. The resulting probability distribution is therefore constrained to remain coherent: all four probabilities are non-negative and sum to 1.

For this 55-year-old example, the predicted probability of a major response increases from approximately 24.7% under control to 40.3% under treatment. That probability difference is an easier clinical quantity to communicate, while the odds ratio remains the primary regression parameter.

Where the Thresholds Come From

The model estimates one threshold for each boundary between adjacent outcome categories. With four categories there are three thresholds:

$$ \alpha_1,\qquad \alpha_2,\qquad \alpha_3 $$

These thresholds determine where the cumulative probabilities fall along the underlying latent response scale.

For example:

$$ \text{logit}\{P(Y\le1)\} = \alpha_1-\beta X $$ $$ \text{logit}\{P(Y\le2)\} = \alpha_2-\beta X $$ $$ \text{logit}\{P(Y\le3)\} = \alpha_3-\beta X $$

The three thresholds are different because the three cumulative probabilities are different. But the treatment coefficient \(\beta\) is shared across all three equations.

That shared coefficient is exactly what makes the model parsimonious and clinically interpretable — and exactly what creates the proportional-odds assumption.

The Proportional-Odds Assumption

The assumption can be stated simply: the effect of a predictor is the same regardless of which cumulative cutpoint is being considered.

For treatment, the model assumes that:

$$ OR_{Y>1} = OR_{Y>2} = OR_{Y>3} $$

In the worked example, all three are represented by the same estimated odds ratio, 2.06.

This does not mean that the predicted probabilities for the categories are identical across cutpoints. It means that the relative treatment effect on the cumulative odds scale is assumed to be constant.

Think of the model as parallel cumulative effects. The thresholds move as the outcome cutoff changes, but the regression slope stays the same. This is why the model is also called a parallel-lines model.

What If Proportional Odds Is False?

Suppose a treatment primarily moves patients from moderate to major response but has little effect on whether patients achieve at least a mild response. Then the treatment effect may genuinely differ depending on the cutoff.

For example, imagine that separate binary analyses produce:

Cumulative comparison Estimated treatment OR
Response > 1 vs. response = 1 1.15
Response > 2 vs. response ≤ 2 1.70
Response > 3 vs. response ≤ 3 3.10

A single proportional-odds estimate cannot represent this pattern particularly well. The treatment effect is increasing dramatically as the definition of "better outcome" becomes more stringent.

This is why proportional odds should be treated as a modeling assumption, not as an automatic truth merely because the outcome is ordinal.

How Do You Assess Proportional Odds?

There is no single diagnostic that should be treated as a mechanical pass/fail criterion. In practice, assessment can combine:

  • graphical or descriptive examination of cumulative logits;
  • comparison of models with and without proportionality constraints;
  • formal score, likelihood-ratio, or Wald-type tests;
  • clinical understanding of whether a common treatment effect across thresholds is plausible;
  • and sensitivity analyses using alternative ordinal models.

A common strategy is to compare the proportional-odds model with a partial proportional-odds model, in which some predictors retain a common coefficient while others are allowed to have different effects at different cumulative cutpoints.

$$ \text{Proportional odds:} \qquad \beta_{1,1}=\beta_{1,2}=\cdots=\beta_{1,K-1} $$

A partial proportional-odds model relaxes that equality for selected predictors. This can preserve much of the efficiency and interpretability of the ordinal model without forcing every covariate to satisfy proportionality.

Alternative Models When Proportional Odds Fails

Partial proportional-odds model

This is often the most natural extension. Predictors that satisfy proportionality retain one common coefficient, while predictors that violate it receive cutpoint-specific coefficients.

Adjacent-category logistic model

This model compares neighboring categories rather than cumulative categories. For example, it can model the odds of category 2 versus category 1, category 3 versus category 2, and category 4 versus category 3.

Continuation-ratio model

This approach models sequential transitions through the ordered categories. It can be particularly useful when the clinical process itself is naturally sequential.

Multinomial logistic regression

If the ordering assumption is not credible at all, multinomial logistic regression can treat the categories as nominal. The tradeoff is that the model discards the ordering information and generally requires substantially more parameters.

Do not automatically abandon ordinal regression because one diagnostic test is statistically significant. With large samples, very small departures from proportionality can produce significant tests. The magnitude and clinical importance of the departure matter as much as the formal test.

Why Ordinal Regression Can Be More Efficient

Suppose a four-category endpoint is converted into a binary endpoint by defining "response" as categories 3 or 4 versus categories 1 or 2. The analysis then ignores whether a patient was:

  • no response versus mild response,
  • moderate response versus major response,
  • or anywhere else within the ordered scale.

Ordinal logistic regression uses the complete ordering structure. When the proportional-odds assumption is reasonable, this can provide a more efficient summary of the treatment effect than arbitrarily collapsing the endpoint.

The efficiency advantage is not guaranteed. If proportional odds is badly wrong, forcing the model to use a common treatment effect can produce a misleading summary. The gain in efficiency comes from imposing a useful structure — not from getting something for free.

Ordinal Endpoints in Clinical Trials

Ordinal outcomes appear frequently in clinical research. Examples include:

Clinical setting Possible ordinal endpoint
Neurology Functional disability categories
Oncology Ordered response categories
Dermatology Investigator-rated severity grades
Psychiatry Ordered symptom severity
Rheumatology Ordered disease activity categories
Patient-reported outcomes None / mild / moderate / severe symptom categories

In each setting, the analyst must determine whether the categories genuinely possess a defensible ordering and whether a proportional-odds interpretation is clinically reasonable.

Covariate Adjustment

The model becomes particularly useful when the ordinal endpoint needs adjustment for baseline prognostic variables. For example:

$$ \text{logit}\{P(Y\le j)\} = \alpha_j - \beta_1(\text{Treatment}) - \beta_2(\text{Baseline severity}) - \beta_3(\text{Age}) - \beta_4(\text{Region}) $$

The treatment odds ratio is then interpreted conditional on the covariates included in the model.

This is conceptually similar to binary logistic regression, but the outcome model retains the ordering information through the cumulative thresholds.

Continuous Covariates Need Careful Interpretation Too

The treatment coefficient in the worked example is straightforward because treatment is binary. Age is different.

The estimated age coefficient was:

$$ \beta_{\text{Age}}=-0.1441 $$

Because age was measured in 10-year units:

$$ OR_{\text{Age}} = e^{-0.1441} = \mathbf{0.866} $$

Thus, under the model, each additional 10 years of age is associated with approximately a 13.4% reduction in the odds of being in a higher response category, holding treatment constant.

That interpretation assumes the effect of age is linear on the cumulative log-odds scale. As with ordinary logistic regression, that assumption should also be assessed rather than silently accepted.

R Implementation

A common implementation in R is the polr() function from the MASS package. The outcome should be stored as an ordered factor.

library(MASS)

dat$response <- ordered(
  dat$response,
  levels = c("None", "Mild", "Moderate", "Major")
)

fit <- polr(
  response ~ treatment + age,
  data = dat,
  Hess = TRUE
)

summary(fit)

# Odds ratios
exp(coef(fit))

# 95% confidence intervals
exp(confint(fit))

The critical point is that the response must retain its ordering. Treating an ordinal endpoint as an ordinary numeric variable or an unordered factor changes the model being fitted.

Python Implementation

The same type of proportional-odds model can be fit in Python with statsmodels:

from statsmodels.miscmodels.ordinal_model import OrderedModel

model = OrderedModel(
    y,
    X,
    distr="logit"
)

result = model.fit(
    method="bfgs"
)

print(result.summary())

# Treatment odds ratio
import numpy as np

treatment_or = np.exp(
    result.params["Treatment"]
)

print(treatment_or)

For the worked example, the fitted treatment coefficient was approximately 0.7216, giving:

exp(0.7216) = 2.06

A Useful Mental Model: One Effect, Several Cutpoints

A useful way to visualize proportional odds is to imagine sliding a threshold through the ordered outcome.

With four categories, the model asks three questions:

  1. Does treatment increase the chance of moving above category 1?
  2. Does treatment increase the chance of moving above category 2?
  3. Does treatment increase the chance of moving above category 3?

The proportional-odds model says:

$$ \text{Treatment effect at cutoff 1} = \text{Treatment effect at cutoff 2} = \text{Treatment effect at cutoff 3} $$

The thresholds are different, but the treatment effect is shared. That is the central idea behind the entire model.

Common Mistakes

  • Calling ordinal logistic regression "logistic regression with a 1–4 outcome." The categories are ordered, but the model does not assume equal numerical spacing.
  • Interpreting the odds ratio as the odds of one specific category. The proportional-odds OR applies to cumulative higher-versus-lower comparisons.
  • Ignoring the direction of the outcome coding. If higher numbers mean worse disease rather than better disease, the direction of the odds ratio changes.
  • Assuming proportional odds because the model converged. Convergence means the optimizer found a solution; it does not prove the model assumptions are correct.
  • Automatically collapsing an ordinal endpoint into a binary endpoint. Dichotomization can discard substantial information and make the result dependent on an arbitrary cutoff.
  • Ignoring sparse categories. Very small numbers in one or more categories can produce unstable estimates, large standard errors, or convergence problems.
  • Assuming the proportional-odds assumption applies to every predictor without checking it. Partial proportional-odds models can be appropriate when only selected predictors violate proportionality.

Ordinal Logistic Regression vs. Other Common Models

Model Outcome Key assumption Main interpretation
Linear regression Continuous Mean modeled linearly Mean difference
Binary logistic regression Two categories Log-odds relationship Odds ratio
Ordinal logistic regression Ordered categories Proportional odds Cumulative odds ratio
Multinomial logistic regression Unordered categories No ordering required Category-specific relative odds

What the Model Is Really Buying You

The major advantage of the proportional-odds model is not simply that it can analyze a four-level endpoint. Its real advantage is that it imposes a clinically interpretable structure on the relationship between treatment and an ordered outcome.

Instead of estimating a separate treatment effect for every category or every possible binary collapse, the model estimates one common treatment effect while allowing the baseline distribution across categories to be determined by separate thresholds.

$$ \boxed{ \text{Different thresholds} + \text{common treatment slope} = \text{proportional odds model} } $$

When that structure is scientifically reasonable, it can produce a concise and efficient analysis of an ordinal endpoint.

Shortcomings and Key Details

  • The proportional-odds assumption is substantive. It should be assessed rather than treated as a mathematical convenience.
  • The odds ratio is cumulative. It does not directly describe the probability of one particular outcome category.
  • Ordinal categories do not have to be equally spaced. The method uses ordering, not interval-scale assumptions.
  • Dichotomization can waste information. A binary analysis may be appropriate when clinically prespecified, but arbitrary collapsing of an ordinal endpoint can reduce efficiency.
  • Very sparse categories can cause instability. Categories with few observations may require collapsing or an alternative modeling strategy if scientifically defensible.
  • Partial proportional-odds models are an important alternative. They relax the common-slope assumption only where needed rather than abandoning ordinal modeling altogether.
  • Statistical significance is not the same as clinical importance. A treatment OR of 1.10 may be highly significant in a very large trial while representing little clinically meaningful improvement.

Summary

Ordinal logistic regression is designed for outcomes that have a meaningful order but where the distances between categories cannot reasonably be treated as numerical intervals. The proportional-odds model accomplishes this by modeling cumulative logits at each boundary between categories.

In the worked 600-subject example, treatment produced an estimated proportional-odds ratio of 2.06 (95% CI 1.53–2.76). This means that, after adjusting for age, treatment was associated with approximately twice the odds of being in a higher response category across the cumulative outcome thresholds.

The central assumption is that the treatment effect is common across those thresholds. When that assumption is reasonable, the model provides an efficient and highly interpretable analysis of an ordered clinical endpoint. When it is not reasonable, partial proportional-odds, adjacent-category, continuation-ratio, or multinomial models may provide better alternatives.

The takeaway: An ordinal endpoint contains more information than a binary endpoint, but less structure than a continuous measurement. The proportional- odds model occupies that middle ground by preserving the ordering information while avoiding the unjustified assumption that the categories are equally spaced.

References

McCullagh, P. (1980). Regression Models for Ordinal Data. Journal of the Royal Statistical Society: Series B, 42(2), 109–142.

Agresti, A. (2010). Analysis of Ordinal Categorical Data, 2nd ed. Wiley.

Harrell, F.E. (2015). Regression Modeling Strategies, 2nd ed. Springer.

Agresti, A. (2013). Categorical Data Analysis, 3rd ed. Wiley.

Clinical Trials

See proportional odds (ordinal) regression in real clinical trials

See the method applied to published trial results, with the estimates, confidence intervals and interpretation explained.

ACTG A5279
Independent statistical analysis of ACTG A5279 (NCT01404312), a randomized phase 3 trial comparing a rifapentine-plus-isoniazid regimen with an isoniazid regimen for tuberculosis…
Phase 3 · n = 3,000