Interpreting ordinal regression output in R polr()

I ran an ordinal regression in R using polr(), and have checked the proportional odds assumptions with brant() from the brant package. I am very new to ordinal regression and I am a bit confused about how to interpret the output of the polr model.

My dependent variable is an ordered factor with 11 levels, and I have a series of independent variables, some continuous and some discrete.

Could anyone refer me to a relatively easy to understand guide to interpreting the outputs of polr() (coefficients, fit, etc)?

I have been following this guide, as suggested in the answer to a similar question. I have obtained the p values, CIs, and odds ratios. However, I am a bit confused about how to interpret them, as, unlike the example linked above, my DV has more than two levels.

The answer to this question on CV was also quite useful, but the independent variable in the example is binary and I was wondering how the interpretation would translate with, say, a continuous variable.

In short, how would I translate statements such as: "For every one unit increase in student’s GPA the odds of being more likely to apply (very or somewhat likely versus unlikely) is multiplied 1.85 times (i.e., increases 85%), holding constant all other variables" (from the 1st example above), but with a dependent variable with many levels?

For simplicity, let's assume that your model has only one independent variable (GPA), and that the dependent variable is ordinal with 5 categories (instead of 11).

Suppose that every student has a score, $$Z_i$$, that is on a continuous scale. The model equation is $$Z_i = \underbrace{\beta x_i}_{\eta_i} + \epsilon_i$$ where $$x_i$$ is the student's GPA, and $$\epsilon_i \sim \mathrm{Logistic}(0,1)$$. We thus have $$Z_i \sim \mathrm{Logistic}(\eta_i,1)$$, where the linear predictor $$\eta_i$$ is the location. Here are the density functions for the scores of two students, $$Z_1$$ and $$Z_2$$:

You don't get to observe the value of $$Z_i$$ directly (it's a latent variable). Instead, imagine that you have cutpoints $$\zeta_1<\zeta_2<\zeta_3<\zeta_4$$ along the horizontal axis, and you only know which group $$Z_i$$ falls into.

This is your independent variable, $$Y_i$$. Specifically, you observe: $$Y_i = \begin{cases} 1 & \text{if } Z_i<\zeta_1 \\ 2 & \text{if }\zeta_1 The plots below show that $$P(Y_1=2)>P(Y_2=2)$$, as $$Z_1$$ is likelier than $$Z_2$$ to fall between these two cutpoints. Notice that some cutpoints are closer together, so those categories will not be observed as often.

We have: \begin{align*} P(Y=2) &= P(\zeta_1 where $$\sigma$$ is the CDF of the $$\mathrm{Logistic}(0,1)$$ distribution, i.e. the inverse of the logit function.

Notice that we have $$P(Y>k)=\sigma(\eta-\zeta_k) \Leftrightarrow \mathrm{logit}(P(Y>k))=\eta - \zeta_k\,.$$ A one-unit increase in GPA changes the linear predictor from $$\eta$$ to $$\eta+\beta$$, so the log-odds of a student falling in a category higher than $$k$$ (for any $$k$$) increase by $$\beta$$.

It's also helpful to interpret the parameters by comparing individual cases, e.g., the probability of each value of $$Y$$ for a student who is average in every predictor, versus one who the same but with a GPA that is one point higher.

• Thank you for your comment, the visualisation actually helped a lot. I was more concerned about interpreting R's outputs and coefficient tables tho, do you have any tips for that? Commented Mar 17, 2023 at 8:29
• Good point! I've updated the answer. Commented Mar 17, 2023 at 11:38