How to get "absolute" estimate of categorical coefficients in ordinal model?


Say I simply model how two categories (group) predict an ordinal outcome (coded as integers -3 to 3) using a latent probit model:

   # Data
    D = data.frame(
      response = ordered(sample(-3:3, 50, replace=T)),
      group = rep(c('A', 'B'), each=25))

    # Fit
    fit = brm(response ~ group, D, family=cumulative('probit'), chains = 1)

The parameter estimates (fixef(fit)) are:

               Estimate Est.Error        Q2.5      Q97.5
Intercept[1] -1.5296313 0.4675201 -2.50225569 -0.6709311
Intercept[2] -0.3400179 0.4008245 -1.11796242  0.4344084
Intercept[3]  0.1475556 0.3957674 -0.61386887  0.9406194
Intercept[4]  0.7612172 0.4036700  0.01900015  1.5740368
Intercept[5]  1.2638932 0.4173757  0.49971783  2.1210693
Intercept[6]  2.0226779 0.4736091  1.12749921  2.9540043
groupB        0.6102738 0.5117214 -0.36214454  1.6832346

Is there a way to get the “absolute” posterior for the latent group A and B on the scale of the response variable and not as a contrast to the other group? I.e., something similar to doing intercept + groupB for group B in a normal model. I am particularly interested in doing a one-sided test on each of the groups whether they rate greater than 0. My intuitions fail me a bit whether this is even possible/meaningful since response-zero is somewhere in between the latent thresholds Intercept[3] and Intercept[4].

  • Operating System: Windows 10
  • brms Version: 2.7


The problem is that a basic intercept parameter in an ordinal model is not identified in addition to the ordional thresholds (which I also call “intercept” in brms for internal reasons). As a result, any parameterization that is equivalent to a parameterization with a basic intercept (e.g. as induced by the the formula ~ 0 + group which you wanted to use I guess) won’t be identified as well.