Wondering how people are doing latent variable modelling when the observed variables are ordinal. In the blog I link below this paragraph, an example in brms is given, but the observed variables related to the underlying construct are simulated as continuous with rnorm()
. In my field, it’s more likely that we measure such things with ordinal survey data.
Let’s say I have an underlying construct X
that is well-established in the field. It’s at least very practically useful to consider this as something that really exists. We target this construct in a survey with three questions (q1
, q2
, and q3
) that are answered with a 5-point ordinal rating scale. We then want to predict y
with our latent variable.
Borrowing from the blog post I linked to, a way to do that in brms would be to set up the model in the following way. However, when I make it so that my ordinal variables are ordered factors, the model won’t run as it is expecting continuous variables.
# mi(x) tells brms that it is missing
bf1 <- bf(q1 ~ 0 + mi(X))
bf2 <- bf(q2 ~ 0 + mi(X))
bf3 <- bf(q3 ~ 0 + mi(X))
bf4 <- bf(X | mi() ~ 0)
bf5 <- bf(y ~ mi(X))
# Fitting the model
fit3 <- brm(bf1 + bf2 + bf3 + bf4 + bf5 + set_rescor(FALSE), data = d,
prior = c(prior(normal(1, 0.000001), coef = miX, resp = q1),
prior(normal(1, 1), coef = miX, resp = q2),
prior(normal(1, 1), coef = miX, resp = q3),
prior(normal(0, 1), coef = miX, resp = y)), ...)
The only issue I’m having here is that I can’t find resources on how to fit these types of models that properly account for the fact that q1
, q2
, and q3
are ordinal variables. It seems like people are often just treating ordinal variables as continuous variables, which is something I wouldn’t want to do. Any direction to materials or recommendations would be greatly appreciated!