- Operating System: Ubuntu 18.04
- brms Version: 2.8.0

In linear brms models, priors are set on “an intercept that results when internally centering all population-level predictors around zero to improve sampling efficiency”.(set_prior() documentation).

From what I’ve read, nonlinear models in brms work pretty differently from linear models. For example, the intercepts of nonlinear models are of class “b” instead of class “Intercept”. Say I have this simple nonlinear model:

## Mock data

dd <- data.frame(x=1:100, y = 1:100 + rnorm(100,0,1), z = rnorm(100,10,1), g = sample(1:10,100, replace = TRUE))

## Group-level intercepts

dd$y <- dd$y + dd$g

nlform <- bf(y~x,

x~(1|g) + z,

nl = TRUE)

prior <- c(

prior(“normal(0,10)”, class = “b”, coef = “z”, nlpar = “x”),

prior(“normal(0,10)”, class = “b”, coef = “Intercept”, nlpar = “x”)

)

nlmod <- brm(nlform, prior = prior, data = dd, sample_prior = TRUE)

Am I setting the prior in the intercept of x in the centered or non-centered parametrization? In other words, is the prior set for when z = 0 or z ~= 10?