The proportional odds restriction

Ordinal regression models often employ a proportional odds restriction, which roughly means that the effect of moving from one ordinal category to the next is constant. Here, we provide an example of a model with a predictor that has opposite effects depending on the ordinal categories in question. The example helps provide intuition for what the proportional odds restriction does and why we might consider avoiding it. The example originally appeared in Smithson and Merkle (2013).

ordinal regression
proportional odds
statistics
R
VGAM
Author
Affiliation
Published

February 20, 2025

Long ago when I was an assistant professor, I co-authored a book about generalized linear models. The book discusses non-normal linear models, including logistic regression, ordinal regression, and beta regression. In this post, I pull my favorite data example from the book and discuss it. I continue to like it because it helps illustrate the implications of proportional odds regression in an intuitive manner.

Ordinal Regression

There are a few popular varieties of ordinal regression models, with Bürkner and Vuorre (2019) providing a good summary. Around the time I co-authored the book, I found Fullerton (2009) to be very enlightening. A key idea is that, across all the ordinal regression models, you are predicting the log odds of something. The “something” that you are predicting determines the type of model. We have:

  • Cumulative model: Predict the log odds of being above some point \(k\) on the ordinal scale.
  • Adjacent model: Predict the log odds of being at point \(k\), given that you are either at point \(k\) or point \((k-1)\).
  • Stage model: Predict the log odds of being at point \(k\), given that you are at point \(k\) or higher.

Regardless of the type of model, it is a regression, so there are linear equations on the log odds. Notice that equations is plural because, for an ordinal variable, there will be multiple regression equations. For example, imagine we have a cumulative model with one predictor variable and a 3-category ordinal outcome. Then we have two regression equations: \[\begin{align*} \log \left (\frac{P(y > 1)}{P(y = 1)} \right) &= \alpha_1 + \beta_{1} x \\ \log \left (\frac{P(y > 2)}{P(y \leq 2)} \right) &= \alpha_2 + \beta_{2} x. \end{align*}\] with \(\alpha_1 > \alpha_2\). This order restriction on the intercepts ensures that \(P(y > 1) > P(y > 2)\), which should happen for an ordinal \(y\).

Proportional Odds

In the above model, the proportional odds restriction says that \(\beta_1 = \beta_2\). In words, the estimated “effect” of \(x\) remains the same, regardless of what part of the ordinal scale we are predicting. This restriction seems to be very common amongst ordinal regression modelers, so much that the cumulative model with proportional odds restriction is commonly called the proportional odds model. But we could also add a proportional odds restriction to an adjacent model or to a stage model, in which case we would have a proportional odds model that is different from the proportional odds model.

Illustration

To demonstrate the implications of the proportional odds restriction, we consider the email data from the smdata package (a package full of datasets that were used in the Smithson and Merkle 2013 book). The dataset is from the 2010 U.S. General Social Survey and contains responses to two questions: “marital status” and “weekly hours spent emailing.” The marital status variable, which will be the response variable, can take the values of “never married”, “married”, and “divorced”. It is an ordinal variable because there are no remarried people in the dataset. So a person can only move from “never married” to “married”, and from “married” to “divorced”.

Our ordinal regression model will be predicting a person’s marital status based on their weekly time spent emailing (remember that this dataset is from 2010, so social media is still relatively young!). A stage model works well for our marital status variable. It predicts two things: first, the chance of staying unmarried (i.e., the chance of being unmarried given that you have any marital status), then the chance of staying married (i.e., the chance of being married given that you are either married or divorced). The VGAM package (Yee 2010) is a nice and mature package that can estimate these models. Below, we load the data, fit the stage model with proportional odds assumption (using parallel = TRUE), and print the results:

data(email, package = "smdata")

library(VGAM)

m1 <- vglm(marital ~ z.email, family = sratio(parallel = TRUE), data = email)
summary(m1)
Call:
vglm(formula = marital ~ z.email, family = sratio(parallel = TRUE), 
    data = email)

Coefficients: 
               Estimate Std. Error z value Pr(>|z|)    
(Intercept):1 -0.648481   0.033438 -19.394   <2e-16 ***
(Intercept):2  0.928087   0.043481  21.345   <2e-16 ***
z.email       -0.004306   0.026492  -0.163    0.871    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Names of linear predictors: logitlink(P[Y=1|Y>=1]), logitlink(P[Y=2|Y>=2])

Residual deviance: 8208.682 on 7931 degrees of freedom

Log-likelihood: -4104.341 on 7931 degrees of freedom

Number of Fisher scoring iterations: 4 

No Hauck-Donner effect found in any of the estimates


Exponentiated coefficients:
  z.email 
0.9957037 

The estimated slope associated with time spent emailing (z.email) is close to 0 relative to its standard error. It suggests that time spent emailing is unrelated to marital status.

Now, let’s fit the same model without the proportional odds assumption and examine results:

m2 <- vglm(marital ~ z.email, family = sratio(parallel = FALSE), data = email)
summary(m2)
Call:
vglm(formula = marital ~ z.email, family = sratio(parallel = FALSE), 
    data = email)

Coefficients: 
              Estimate Std. Error z value Pr(>|z|)    
(Intercept):1 -0.64872    0.03345 -19.396   <2e-16 ***
(Intercept):2  0.92827    0.04352  21.331   <2e-16 ***
z.email:1      0.04009    0.03285   1.220   0.2223    
z.email:2     -0.08001    0.04257  -1.879   0.0602 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Names of linear predictors: logitlink(P[Y=1|Y>=1]), logitlink(P[Y=2|Y>=2])

Residual deviance: 8203.776 on 7930 degrees of freedom

Log-likelihood: -4101.888 on 7930 degrees of freedom

Number of Fisher scoring iterations: 4 

No Hauck-Donner effect found in any of the estimates


Exponentiated coefficients:
z.email:1 z.email:2 
1.0409022 0.9231083 

Now we have two slopes associated with z.email, one predicting the chance of remaining single and one predicting the chance of remaining married. We see that the first slope is positive, suggesting that increased time spent emailing is associated with a higher chance of staying single. The second slope is negative, suggesting that increased time spent emailing is associated with a lower chance of staying married. The signs of these two slopes match the intuition that, to have successful relationships, you shouldn’t spend all your time on the computer!

You may object that the p-values for both m2 slopes are above .05, so that the proportional odds assumption may not make a big difference: for both models, we may conclude “no significant effects of time spent emailing.” I agree the results of these models do not provide convincing evidence that time emailing is associated with marital status, but I still find the example worthwhile for conveying the meaning of the proportional odds assumption.

Summary

This example helps to illustrate the implications of the proportional odds assumption. We could imagine a related dataset where there is a strong positive slope suggesting that email time is related to staying single, and a strong negative slope suggesting that email time is related to getting divorced. Then, when we employ the proportion odds assumption, the differing signs cancel one another out, leading to an estimated slope near 0. You can apply this intuition to your own ordinal regression models, deciding whether the proportional odds assumption may be problematic in other applications.

License

The code on this page is copyrighted by Edgar Merkle and licensed under the GPLv3 license:

https://www.gnu.org/licenses/gpl-3.0.en.html

The text and figures on this page are copyrighted by Edgar Merkle and licensed under the CC BY-NC 4.0 license:

https://creativecommons.org/licenses/by-nc/4.0/

Computing Environment

sessionInfo()
R version 4.4.2 (2024-10-31)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3 
LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3;  LAPACK version 3.10.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

time zone: America/Chicago
tzcode source: system (glibc)

attached base packages:
[1] splines   stats4    stats     graphics  grDevices datasets  utils    
[8] methods   base     

other attached packages:
[1] VGAM_1.1-12

loaded via a namespace (and not attached):
 [1] digest_0.6.37     fastmap_1.2.0     xfun_0.50         bspm_0.5.5       
 [5] knitr_1.49        htmltools_0.5.8.1 rmarkdown_2.29    cli_3.6.3        
 [9] compiler_4.4.2    tools_4.4.2       evaluate_1.0.3    yaml_2.3.10      
[13] rlang_1.1.5       jsonlite_1.8.9    htmlwidgets_1.6.4

References

Bürkner, Paul-Christian, and Matti Vuorre. 2019. “Ordinal Regression Models in Psychology: A Tutorial.” Advances in Methods and Practices in Psychological Science 2 (1): 77–101. https://doi.org/10.1177/2515245918823199.
Fullerton, A. S. 2009. “A Conceptual Framework for Ordered Logistic Regression Models.” Sociological Methods & Research 38: 306–47. https://doi.org/10.1177/0049124109346162.
Smithson, M., and E. C. Merkle. 2013. Generalized Linear Models for Categorical and Continuous Limited Dependent Variables. Boca Raton, FL: Chapman & Hall/CRC.
Yee, T. W. 2010. “The VGAM Package for Categorical Data Analysis.” Journal of Statistical Software 32: 1–34. http://www.jstatsoft.org/v32/i10/.

Reuse

Citation

BibTeX citation:
@online{merkle2025,
  author = {Merkle, Edgar C.},
  title = {The Proportional Odds Restriction},
  date = {2025-02-20},
  url = {https://ecmerkle.github.io/cs/propodds.html},
  langid = {en}
}
For attribution, please cite this work as:
Merkle, Edgar C. 2025. “The Proportional Odds Restriction.” February 20, 2025. https://ecmerkle.github.io/cs/propodds.html.