Is it possible to create separate priors for each coefficient in an ordinal logistic regression model that uses category specific terms? For example, in the model below, I would like a separate prior for each of the the var_aB[1] and var_aB[2] terms.
Looking at the results of get_prior() and prior_summary(), I don’t see any way to distinguish between the coefficients when setting a prior.
I have tried setting priors using something like:
priors ← c(prior(student_t(5, 2, 1), class = b, coef = var_aB[1]),
prior(student_t(5, 0, 1), class = b, coef = var_aB[2])
but this doesn’t seem to work.
I am using Windows 10 and brms 2.15.0.
library(brms)
dat <- data.frame(var_a = factor(rep(c('A', 'B'), times = 50),
levels = c('A', 'B')),
var_b = rep(c(1, 2, 1, 2), times = 25),
response = factor(sample(c('low', 'mid', 'high'), size = 100,
replace = TRUE), ordered = TRUE,
levels = c('low', 'mid', 'high')))
# Not the priors I want. Just using these as defaults.
priors <- c(prior(student_t(5, 0, 1), class = b))
# Model with category specific terms
mod <- brm(response ~ cs(var_a) + cs(var_b) + cs(var_a:var_b),
prior = priors,
family = cratio(),
data = dat,
chains = 4, cores = 4,
seed = 77777)
# Model results. I want to be able to have separate priors for the [1] and [2] parts of each term.
summary(mod)
Please let me know if setting separate priors for each category specific term is possible, and, if so, how to do it.
Thank you.