Understanding odd estimates from cumulative probit model

Yeah, I was starting to wonder if the problem was your reliance on the brms defaults for the priors, which is very generous in models like this. In my experience, a little prior can go a long way for upper level variance parameters and ordinal thresholds. Speaking of which, you might want to specify non-default priors for those thresholds. If you wanted to take a null approach where you assumed each of the 7 categories was equally probable, you could derive their mean values like this:

tibble(rating = 1:7) %>% 
  mutate(proportion = 1/7) %>% 
  mutate(cumulative_proportion = cumsum(proportion)) %>% 
  mutate(right_hand_threshold = qnorm(cumulative_proportion))
# A tibble: 7 × 4
  rating proportion cumulative_proportion right_hand_threshold
   <int>      <dbl>                 <dbl>                <dbl>
1      1      0.143                 0.143               -1.07 
2      2      0.143                 0.286               -0.566
3      3      0.143                 0.429               -0.180
4      4      0.143                 0.571                0.180
5      5      0.143                 0.714                0.566
6      6      0.143                 0.857                1.07 
7      7      0.143                 1                  Inf  

And thus, you could add in your threshold priors with something like this:

my_priors <- c(
  prior(normal(-1.0675705, 1), class = Intercept, coef = 1),
  prior(normal(-0.5659488, 1), class = Intercept, coef = 2),
  prior(normal(-0.1800124, 1), class = Intercept, coef = 3),
  prior(normal( 0.1800124, 1), class = Intercept, coef = 4),
  prior(normal( 0.5659488, 1), class = Intercept, coef = 5),
  prior(normal( 1.0675705, 1), class = Intercept, coef = 6),
  
  prior(normal(0, 1), class = sd),
  
  prior(normal(0, 0.5), class = b))
3 Likes