Non-centered student_t - matt's trick



Reading a lot about non-centered parametrisation I am keen to find such version for the student-t distribution when I want to replace normal priors

From Matt’s comment in!topic/stan-users/EAGOHgnintY

I assume

beta ~ student_t(nu, mu, sigma); 

nu ~ gamma(2,0.1);
mu ~ normal(0,1);
sigma ~ cauchy(0,2.5);


beta = mu + beta_z * sigma / sqrt(tau);

beta_z ~ normal(0,1);
tau ~ gamma(nu/2, nu/2);
nu ~ gamma(2,0.1);
mu ~ normal(0,1);
sigma ~ cauchy(0,2.5);

P.S. Is this a lot different from (?)

beta = mu + beta_z * sigma;

beta_z ~ student_t(nu,0,1);
nu ~ gamma(2,0.1);
mu ~ normal(0,1);
sigma ~ cauchy(0,2.5);


All three of those are equivalent ways of putting a student_t prior on beta.

I think the name for these things are Gaussian scale mixtures or scale mixtures of normals? There’s a few of these. I’m Googling around and not finding a super ezmode list of them. There’s one on page 156 of the book “Gaussian Markov Random Fields.”

Matt says in that thread that the one in the middle has the lightest tails? Usually heavy tails are a pain to sample? That adds an extra parameter but maybe it’s fine. Probably best to just try it out in an example problem if it’s not too difficult.

I think in other situations they’re strongly preferred just cause once you split it into a Gaussian and a gamma, then you can do algebra with the Gaussian bit so it’s super nice. They do that here:


See for the various ways of parameterizing the Cauchy distribution – the first two alternatives immediately generalize to the Student-t by putting the degrees off freedom parameter in the right place (see the Wikipedia article on Student-t for more) and the relative geometry behavior is the same.