Default behaviour of brm model cumulative family models

I just had a question regarding the default behaviour of the brms package when using the cumulative family of models. My models are multilevel ordinal regressions (with 11 levels of the outcome) with several fixed effects and a single random effect for participant (my syntax for the random effect is + (1 | ID) where ID is a unique number for each participant).

What I was hoping to clarify is how the random effect actually behaves within the linear model by default. Does it:

  1. Vary by just participant and essentially work much like the fixed effects by just adding a single varying parameter

  2. Vary by participant and by K (levels of the outcome variable) such that the random effect is different at different levels of K

Additionally, if it’s possible to select between these two behaviours somewhere within the model code, it would be great to hear how this is done.

I hope that this is clear, if any other details are helpful please do let me know. Otherwise, any advice / places I could look for further information would be extremely helpful.

1 Like

if you can read Stan code, you can often gain better understanding of what the model is doing by looking at the result of make_stancode. I think your question reveals some confusion about the internals of the cumulative models, so I would invite you to (re-)check Paul’s tutorial to make sure you understand it better.

In particular, for cumulative models, there is only one linear predictor, so the random effect has to act on all levels in a similar way. You can however use the thresh(gr = something) to make the thresholds of the model vary between some groups. If you however used other ordinal models available in brms (i.e. continuation/stopping ratio a.k.a. sequential models or adjacent category models), there is a separate linear predictor for each category - by default all model terms act the same on all categories and the categories just get separate intercepts, but you can use cs( (1 | ID) + x + ... ) to let some coefficients differ between categories.

Hope that clarifies more than confuses!

1 Like


Yes that definitely helps clear things up and thank you for flagging the additional tutorial I can read. Many thanks for taking the time to respond to this.