- 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?