The structural model can be conceptualized in an identical fashion to the binary regression model
In a latent variable y* formulation—substantively—we are assuming a latent continuous dependent variable y* exists and that someone’s place on y* is the cause of their observed category choice y
Our data only has partial information: the categorical (ordinal) y
Conceptually, imagine we measured the true latent variable (y*) and then decided later to collapse the continuous variable into four ordered categories
Since y* is latent we focus on Pr(y = j | x)
Conceptually, y* is responsible for the observed categories of y. Remember we don’t actually observe y* (so we can’t directly estimate slope of the blue line). Instead, we need to take the information we do have on the proportion of responses in each category of y, make some assumptions, and extrapolate to y* (and thus the blue line)
Assumptions & predicted probabilities for ordered models
To get predictions, we examine whether predicted y* is between thresholds
We need some additional assumptions about α and ε to identify the model (below)
Identification
Because y* is unobserved we do not know its scale. To set the scale of y* and to compute Pr(y = j | x) we need to make some assumptions which affect the scale/metric of the DV:
We cannot estimate all of the thresholds* and the intercept
One of two sets of identifying assumptions are often used
Alternative 1: \(\tau_{1} = 0\)
Alternative 2: \(\alpha = 0\)
These alternatives lead to different parameterizations. But the parameterization chosen:
Does not affect the βs
Does not affect the significance tests of the βs
Does not affect the predicted probabilities of specific outcomes
*Note only J – 1 thresholds are needed (refer back to the continuum above; how many thresholds needed to know which category an observation is in?)
Potential software issues
Numerical methods for maximum likelihood estimation are readily available, although in practice the ordinal model can be a difficult model for obtaining convergence
Generally, takes longer to converge than most other categorical DV models
Different software packages will use different parameterizations
Small n’s in a category can lead to failure to converge
You can merge adjacent categories and only lose information… if the model assumptions are correct!
// Equal distribution in each outcome category //quiologit y_merge_4_5 c.c i.b x1 x2*Pr(probs)qui margins, at(c=(-30(.5)30)) atmeansmarginsplot, noci plotopts(msym(none) lwidth(medthick) lpat(solid)) /// xlab(-30(10)30) xtitle("Continuous IV") ytitle("Pr({it:y} = {it:j})") ///title("Ordinal Logit Functional Form: Category 4 and 5 Have Been Merged", size(medium)) ///subtitle("Probability of each category {it:j}") ///legend(order(1 "Outcome=1" 2 "Outcome=2" 3 "Outcome=3" 4 "Outcome=4 {it:or} 5")) ///scheme(cleanplots5)
Variables that uniquely identify margins: c
# Simulated data from 5.0 (see the code there)# Merge categories to demonstrate only lose infosim <- sim |>mutate(y_merge_4_5 =factor(ifelse(as.numeric(y) >=4, 4, as.numeric(y))))table(sim$y, sim$y_merge_4_5)
# Equal distribution in each outcome categorymergemod <-polr(y_merge_4_5 ~ c + b + x1 + x2, data = sim, Hess =TRUE)# Pr(probs) with the other IVs at their meanspr_merge <-predictions(mergemod, newdata =datagrid(c =seq(-30, 30, .5)))ggplot(pr_merge, aes(x = c, y = estimate, color = group)) +geom_line(linewidth =1) +scale_color_manual(values = viridisLite::cividis(5, end = .95, direction =-1)[1:4],labels =c("Outcome=1", "Outcome=2", "Outcome=3", "Outcome=4 or 5")) +scale_x_continuous(breaks =seq(-30, 30, 10)) +labs(title ="Ordinal Logit Functional Form: Category 4 and 5 Have Been Merged",subtitle ="Probability of each category j",x ="Continuous IV", y ="Pr(y = j)", color =NULL) +theme(plot.title.position ="plot")