Reversible jump and model averaging with brms?

I apologize if this has already been answered, I’m new to the package and Stan in general. Is there a way to implement a reversible jump (RJ)MCMC with brms, for the purposes of model selection and averaging?

Thanks

Can you give a little bit more background on what you are trying to implement?

I’m trying to model a binary response with a series of continuous predictors containing splines, and I wanted to use Bayesian model averaging (https://www.stat.colostate.edu//~jah/papers/statsci.pdf) using a RJMCMC as a means of variable selection.

@avehtari do you perhaps have some suggestions?

RJMCMC corresponds to spike-and-slab prior with point-mass spike. Generalized horseshoe prior can be used as continuous alternative. Using continuous model has the benefit that gradients and HMC make the mixing of MCMC much faster. You’ll get the model averaging also in continuous way. For both spike-and-slab and generalized horseshoe it’s best to handle variable selection as a decision problem and the projection predictive variable selection is best for that. I assume that brms doesn’t yet handle additive spline model so that the local scale parameter in horseshoe prior would be common to spline coefficients for one covariate?

References:

  • Piironen, J. and Vehtari, A. (2016), Comparison of Bayesian predictive methods for model selection, Statistics and Computing 27(3), 711–735. Online
  • Piironen, J., and Vehtari, A. (2017). On the hyperprior choice for the global shrinkage parameter in the horseshoe prior. Proceedings of the 20th International Conference on Artificial Intelligence and Statistics, PMLR 54:905-913. Online
  • Piironen, J., and Vehtari, A. (2017). Sparsity information and regularization in the horseshoe and other shrinkage priors. In Electronic Journal of Statistics, 11(2):5018-5051. Online
1 Like

OK, this give me a great direction to pursue. Thank you @paul.buerkner and @avehtari for your quick and informative responses!

In brms, we use the “random” effects parameterization of splines. Thus, the linear part(s) of a spline are part of the “fixed” effects design matrix, on whose coefficients we can put a horseshoe prior. the “non-linear” parts of a spline however are given a hierarchical normal prior, which can currently not be changed (we can just change the prior on the hierarchical SD).