Mix shrinkage and normal priors for rstanarm regression coefficients


#1

Operating System:
Interface Version:
Compiler/Toolkit:

Hi!

I would like to use variable selection with some shrinkage priors in rstanarm. However, there are some regressors which I do not want to put at test here of being 0. So I would like to specify hs priors for many regressors, but not for all. Can I do that or do I have to write my own Stan program?

Thanks.

Best,
Sebastian


#2

You can let the local scales in the hs priors be HUGE for the ones that you don’t want to shrink (much).


#3

Uhhh… that was obvious! I totally forgot about this syntax. Thanks.


#4

took me a while to try this… but how can I actually set the local_scale to be huge for each covariate?

What I tried is to set the global scale different for the different regressors… but rstanarm does not let me do that as it expects a single global scale for all covariates.


#5

You are referring to hs() or hs_plus()? I think slab_scale can be a vector.


#6

I am using hs… and slab_scale cannot be a vector as it seems.


#7

Ok, maybe it is df that is the vector.


#8

but df won’t do the trick of allowing me to mix covariates which I do not penalizes with covariates which I do penalize, right?

This sounds to me I need to go to brms, right? Is a feature like this mixed estimation of interest to rstanarm so that it is worthwhile to file a ticket?

I am interested in doing this as I want to control for some covariates no matter what the data is telling me - this is sort of a prior knowledge which I would like to put into this.

@paul.buerkner … can brms handle different priors for different covariates? So a normal for the intercept and a few covariates which I don’t want to subject to shrinkage, while for other covariates I would like to use horseshoe priors? … I am a newbie to brms …


#9

brms can handle that. See the first post in Error applying horseshoe prior in Poisson glm for an example how to use brms’ non-linear syntax for that purpose.