- Operating System: Win 10
- brms Version: 2.4.3

I have a nonlinear model in brm with a parameter eta that is a linear predictor. I’d like to put a shrinkage prior (e.g., horseshoe) on the regression coefficents and a normal prior on the intercept.

In a linear model, I would do this in the following manner:

prior=c(prior(normal(0,2.5),class=“Intercept”,prior(horseshoe(),class=“b”)))

For nonlinear, I hoped it would work the following way:

prior=c(prior(prior(normal(0,2.5),class=“Intercept”,nlpar=“eta”,prior(horseshoe(),class=“b”,nlpar=“eta”)))

But it doesn’t. I know the following works:

prior=c(prior(horseshoe(),nlpar=“eta”))

But it’s not proper to put shrinkage priors on the intercept. I know I can separate out terms in the following manner:

prior=c(prior(normal(0,2.5),coef=“Intercept”,nlpar=“eta”))

But it’s not clear to me how I can vectorize the prior on the remaining parameters associated with eta (specifically so I can use the horseshoe).

Any ideas how I can fix this?