Ordinal outcome variables have values that can be ordered but are not separated by equal intervals. This guide develops ordinal logistic regression through a latent variable argument, explains the cumulative logit formulation and its threshold parameters, and demonstrates fitting with both polr from the MASS package and clm from the ordinal package.
Ordinal outcome variables
An ordinal variable has values that can be ranked but for which the gaps between adjacent values are not necessarily equal. Examples include Likert-scale responses (“strongly disagree” through “strongly agree”), pain ratings, or educational attainment categories. Treating such a variable as numeric and fitting a normal linear model implies that the intervals between levels are equal, which is rarely defensible. Treating it as an unordered categorical variable ignores the ordering, discarding information. Ordinal logistic regression occupies the sensible middle ground.
The latent variable formulation
Binary logistic regression can be understood through a latent variable argument. Suppose there is an unobserved continuous variable \(z_i\) such that
and we observe \(y_i = 1\) if \(z_i \geq 0\), and \(y_i = 0\) otherwise. This is mathematically equivalent to the standard logistic regression formulation.
The extension to ordinal outcomes is straightforward. For \(L\) ordered values, we introduce \(L - 1\)cutpoints\(\zeta_1 < \zeta_2 < \cdots < \zeta_{L-1}\) and define
where \(\zeta_0 = -\infty\) and \(\zeta_L = \infty\). The regression coefficients \(\beta_k\) shift the centre of the latent distribution; the cutpoints divide the real line into \(L\) regions corresponding to the \(L\) outcome categories.
The cumulative logit model
An equivalent and more common presentation works directly with cumulative probabilities. The cumulative logit model specifies
The same \(\beta\) coefficients appear in each equation (a proportional odds assumption), but the intercepts differ. A positive \(\beta_k\) means that increasing \(x_k\) is associated with higher values of \(y\).
Fitting with polr
The admit dataset from pscl contains GRE scores and admission decisions for graduate school applicants. The outcome score is an ordered factor.
We can also recover predictions by hand using plogis, which clarifies the model mechanics:
beta <-coef(M_8)zeta <- M_8$zeta# For gre.quant = 600, the latent distribution centre is:centre <- beta *600# Cumulative probability of each threshold:plogis(zeta, location = centre)
The ordinal package provides clm, which fits the same cumulative logit model but with more flexible options including non-proportional-odds extensions.
Warning: (3) Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
In addition: Absolute and relative convergence criteria were met