Prior intercept samples no longer saved in brms 2.5.0?

After updating to brms 2.5.0 I noticed that sample_prior=“yes” no longer provides samples from the prior on the intercept. Setting save_all_pars does not remedy the situation. This is true even when setting an explicit prior on the intercept. There is the temp_Intercept, but it used to be the case that there was both prior_b_Intercept and temp_Intercept, and I recall histograms of the two looking somewhat different when I once compared them. Would anyone be able to shed light on the “temp_Intercept” and what happened to sampling from the prior intercept?

fit = brm(alcohol ~ ., Wine_Samp,prior=c(
set_prior(“normal(0,1)”, “b”),
set_prior(“student_t(3,0,1)”,“Intercept”)
),cores=4,sample_prior=“yes”,save_all_pars
=TRUE,iter=40000,warmup=5000, control=list(adapt_delta=.75))

Session info ----------------------------------------------------------------------------------------------------------
version R version 3.5.1 (2018-07-02)
system x86_64, mingw32
ui RStudio (1.2.907)
language (EN)
collate English_United States.1252
tz America/New_York
date 2018-10-19

This is correct. I realized that the saved prior of the actual Intercept could be incorrect in some cases because of the way brms samples from the priors. There was no good fix for it so I decided to remove it. The prior on temp_Intercept is the prior you specify via class = "Intercept", but temp_Intercept is not the actual intercept of the model. See ?set_prior for details.

If you are interested in the prior of the actual intercept, I recommend using the ~ 0 + Intercept + ... notation so the intercept will be treated as part of the predictor design matrix.

Thank you!

I just ran into this, so thank you for the clarification on here, Paul. This information doesn’t seem to have made its way into the brms reference manual, yet (version 2.6.0). Would you mind including it in perhaps the prior_samples.brmsfit section?

You are right. I have just added it to the documation.

Oh great! Thanks, Paul.