
Ordinal IRT: the ordinal factor model of Quinn (2004)
Source:R/spatial_voting.R
morie_spatial_voting_ordinal_irt.RdEach ordinal response is a thresholded latent normal,
$$y^*_{ij} = \lambda_{j0} + \lambda_j^\top \phi_i + e_{ij},
\quad e_{ij} \sim N(0, 1),$$
with \(y_{ij} = c\) when \(\gamma_{j,c-1} < y^*_{ij} \le
\gamma_{j,c}\), item-specific cutpoints \(\gamma_{j0} = -\infty\),
\(\gamma_{j1} = 0\), \(\gamma_{jC} = \infty\), ideal points
\(\phi_i \sim N(0, I)\), loadings \(\lambda_j \sim N(0, I / L_0)\)
and a flat prior on the free cutpoints. \(L_0 = 0\) (the default)
is the flat loading prior of MCMCpack::MCMCordfactanal. Each
item's categories are its observed values in increasing order.
Usage
morie_spatial_voting_ordinal_irt(
Y,
n_dims = 1L,
n_samples = 500L,
burn_in = 100L,
seed = 42L,
lambda_prior_precision = 0
)Value
List: ideal_points and ideal_sd (respondents by
dimension), discrimination (items by dimension),
intercept, cutpoints (per item, posterior means, the
first fixed at 0), acceptance (cutpoint steps after burn-in),
n_samples, engine.
Details
Each sweep updates the free cutpoints of every item by the Cowles
(1996) Metropolis-Hastings step with \(y^*\) integrated out (step
sizes tuned during burn-in only), then draws \(y^*\) from truncated
normals and the loadings and ideal points from their Gaussian full
conditionals. Reflection (and, with several dimensions, rotation)
leaves the model unchanged; each draw is reflected so the first item
loads positively, or with several dimensions rotated onto the first
draw. On 200 simulated respondents and ten four-category items the
posterior means agree with MCMCordfactanal (first loading
constrained positive) to Monte Carlo error: ideal points correlate at
0.9999 and loadings, intercepts and cutpoints differ by at most 0.05.