Multilevel regression for 3-way categorical outcome

Thank you. I looked into refcat argument but am still a bit confused, as to how I would test from such a model whether there are effects on the absolute odds of a particular level. Here’s an example with a three-way outcome prog:

library("brms")
library("foreign")
ml <- read.dta("https://stats.idre.ucla.edu/stat/data/hsbdemo.dta")

summary(ml)
contrasts(ml$female) = cbind("yes" = c(-1, 1))

my.priors = c(
  prior(normal(0, 5), class = b), 
  prior(normal(0, 5), class = Intercept)
)

m = brm(
  prog ~ 1 + read * female, 
  family = categorical(link=logit, refcat = NA), 
  prior = my.priors,
  data = ml,
)

This yields a model with estimates for all three outcomes:

Family: categorical 
  Links: mugeneral = logit; muacademic = logit; muvocation = logit 
Formula: prog ~ 1 + read * female 
   Data: ml (Number of observations: 200) 
Samples: 4 chains, each with iter = 2000; warmup = 1000; thin = 1;
         total post-warmup samples = 4000

Population-Level Effects: 
                          Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
mugeneral_Intercept          27.21    169.02  -291.18   389.49         36 1.06
muacademic_Intercept         24.03    168.99  -294.35   384.63         36 1.06
muvocation_Intercept         29.61    169.00  -289.11   390.29         36 1.06
mugeneral_read               -0.54      3.23    -7.46     5.55         37 1.06
mugeneral_femaleyes           1.61      2.78    -4.03     6.65         72 1.03
mugeneral_read:femaleyes      0.12      2.86    -5.98     5.37         51 1.09
muacademic_read              -0.46      3.23    -7.35     5.61         37 1.06
muacademic_femaleyes         -0.38      2.78    -6.10     4.66         72 1.03
muacademic_read:femaleyes     0.16      2.86    -5.93     5.43         51 1.09
muvocation_read              -0.59      3.23    -7.48     5.52         37 1.06
muvocation_femaleyes         -0.39      2.80    -6.17     4.65         73 1.03
muvocation_read:femaleyes     0.16      2.86    -5.93     5.42         51 1.09

How do I interpret this output? are the effects given in each row the effects on the absolute log-odds of that outcome? I.e., mugeneral_read describes the effect of read on the log-odds of prog == “general”? I didn’t find any further documentation on this.

1 Like