Was playing around with @saudiwin’s Bayesian/Stan-based ordered beta regression model implementation in the ordbetareg package and had a few questions:

The paper introducing the model uses a Dirichlet(1,1,1) prior over the three possible distributions for the latent outcome. Am I correct that this is a flat prior such that Pr(y=0)=Pr(y=1)=Pr(0<y<1)? I was surprised at this prior choice since I’d imagine in most applications of the model, some clustering at the endpoints of the response scale is expected but that nevertheless we expect the vast majority of responses to fall in (0,1) not \{0,1\}. In fact, if we had something close to a uniform prior on the observed response scale, wouldn’t we want something closer to D(\dfrac{1}{101}, \dfrac{99}{101}, \dfrac{1}{101})?

I was thinking of applying the model to some longitudinal data. Can the ordbetareg package accommodate longitudinal designs, such as random intercept models? Looking under the hood of the package, it looks like I’d need to implement this directly in rstan or brms since the thresholds cannot vary across grouping factors. The reason I’m not sure about this is that it looks like the formula can include varying intercepts independent of the cutpoints, by using the usual brms formula syntax formula = y ~ (1 | id) even so.

How does adding the random intercepts, as per above, influence the interpretation of the cutpoints within this model, if at all?

I don’t think it’s always true that the majority of responses are in the (0,1) interval. It is quite plausible to have a lot of responses at the boundaries and few in the middle. As such, I think the Dirichlet(1,1,1) prior is reasonable. Of course this can be modified in the ordbetareg function to use something else if you think a different prior is more reasonable in a given application. It is unlikely that this prior will affect estimates unless it is either very tight or there is a very small amount of data.

Yes you can include varying intercepts, that shouldn’t affect the estimates. The cutpoints are defined relative to the linear predictor, so whatever you put in the linear predictor is up to you. If you want varying cutpoints, though, that would be a bit more tricky. That might require some re-writing on the brms side. Of course, it would be straightforward if you modify the Stan code and fit it yourself, but not nearly as convenient. I haven’t seen many use cases yet for varying cutpoints but I can consider it for the package if there is interest.

I don’t think this affects how the cutpoints are interpreted as again this is about what goes into X'\beta, the linear predictor. The intercepts can be contrast coded or coded in some other way, but as long as it stays within the linear predictor it should be fine. It’s only modifying the cutpoints themselves that things would get hairy.

Of course, if you find any models that fail because you include random intercepts, please let me know! Thanks also for using the package.