I am running some zero-one-inflated beta models in brms
, but it seems like the priors I am trying to set on all the beta coefficients do not end up being as I had specified. Although I specified that I wanted normal(0,1)
priors on the betas, when I do prior_summary()
it looks like there are a bunch of flat priors that bypassed the prior specification in my code.
Here is one of the models followed by the prior_summary()
output:
zoib_yl_prot <- brm(
bf(
day_combo_prot_perc ~ FAI + day_min_feed_scale + sex + (1 | id),
phi ~ FAI + sex + day_min_feed_scale + (1 | id),
zoi ~ FAI + sex + day_min_feed_scale + (1 | id),
coi ~ FAI + sex + day_min_feed_scale + (1 | id)
),
family = zero_one_inflated_beta(),
data = kam_follows_yl,
prior = c(prior(student_t(3, 0, 2.5), class = "Intercept"),
prior(normal(0, 1), class = "b")),
iter = 7000,
warmup = 2000,
cores = 2,
seed = 1234,
chains = 4,
control = list(adapt_delta = 0.98))
prior_summary(zoib_yl_prot)
> prior class coef
normal(0, 1) b
normal(0, 1) b day_min_feed_scale
normal(0, 1) b FAI
normal(0, 1) b sexmale
(flat) b
(flat) b day_min_feed_scale
(flat) b FAI
(flat) b sexmale
(flat) b
(flat) b day_min_feed_scale
(flat) b FAI
(flat) b sexmale
(flat) b
(flat) b day_min_feed_scale
(flat) b FAI
(flat) b sexmale
student_t(3, 0, 2.5) Intercept
logistic(0, 1) Intercept
student_t(3, 0, 2.5) Intercept
logistic(0, 1) Intercept
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd Intercept
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd Intercept
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd Intercept
student_t(3, 0, 2.5) sd
student_t(3, 0, 2.5) sd Intercept
group resp dpar nlpar lb ub source
user
(vectorized)
(vectorized)
(vectorized)
coi default
coi (vectorized)
coi (vectorized)
coi (vectorized)
phi default
phi (vectorized)
phi (vectorized)
phi (vectorized)
zoi default
zoi (vectorized)
zoi (vectorized)
zoi (vectorized)
user
coi default
phi default
zoi default
0 default
coi 0 default
phi 0 default
zoi 0 default
id 0 (vectorized)
id 0 (vectorized)
id coi 0 (vectorized)
id coi 0 (vectorized)
id phi 0 (vectorized)
id phi 0 (vectorized)
id zoi 0 (vectorized)
id zoi 0 (vectorized)
Why are not all of the priors of class="b"
normal(0,1)? I would have thought that my specification of prior(normal(0, 1), class = "b")
would have made all the betas a normal(0, 1) rather than having many of them flat.
Thanks!
- Operating System: Mac OS 12.3.1
- RStudio 2022.07.1+554 “Spotted Wakerobin” Release; R version 4.2.0
- brms Version: 2.17.0