What is the difference between Intercept and b_Intercept?

Hi Britta,

If you look at the underlying Stan code for the model using:

make_stancode(data = data,
    formula = x ~ y,
    seed = 1,
    save_pars = save_pars(all=TRUE))

You’ll see the respective definitions:

parameters {
  vector[Kc] b;  // population-level effects
  real Intercept;  // temporary intercept for centered predictors
  real<lower=0> sigma;  // residual SD
}
...
generated quantities {
  // actual population-level intercept
  real b_Intercept = Intercept - dot_product(means_X, b);
}

This is referring to the fact that brms mean-centers the predictors prior to analysis, so the Intercept parameter is on the mean-centered scale. The b_Intercept parameter is this mean-centered intercept back-transformed to the original scale of the predictors

5 Likes