Normal priors on scale parameter

I often use normal prior distributions on, for example, a scale parameter, \sigma, with support (0,\infty). I understand that Stan will transform \sigma to an unconstrained variable behind the scenes.

I also recall, although I have no references, that normal priors are often a better choice than many of the densities that have a positive support (e.g. a Half-Cauchy).

Anyway, I often see papers specifying priors with support to match the constraints of variables (of course, a proper prior must be used). How would I formally state that I used a normal prior on a scale parameter, \sigma > 0?

I don’t want readers saying my prior is improper for \sigma (although technically it is, Stan just does some work behind the scenes).

Would it be correct to say the prior distribution is \sigma \sim N(0,10^6) (0,\infty)? It looks a little strange.

I ask here as I think I have seen many moderators suggest normal priors for variables with positive support since Stan knows how to handle this nicely.

For reporting, I’ve seen people just use ~ half-normal(...) rather than ~ N(...)

By the way, a scale of 10^6 will only be sensible for quantities within an order of magnitude or so of that value; be sure not to use such a large value merely to make the prior “super-weakly-informed”.


So would you say, \sigma \sim \text{Half-Normal}(0,10) would be appropriate to represent a \text{Normal}(0,10) prior on \sigma, when \sigma has support (0,\infty)?

A 95\% CI for \sigma is [0.70,1.19]. I very often use a \text{Normal}(0,10^6) prior thinking it worked well as an informative prior.

Not just that, recall that there is 1/\sigma^3 somewhere in the derivative of normal lpdf, large \sigma could risk underflow or at least losing precision.


The greater the scale, the more diffuse the prior credibility density, so a scale of 10^6 is highly uninformed.

For some motivation for half-normal priors see Section 3 of Prior Modeling.

For why

<lower=0> x;
x ~ normal(0, 1);

in Stan implements a (truncated) half-normal prior and not a normal prior see An Introduction to Stan.

1 Like

Not quite. Instead, I would say that you don’t have a \mathrm{Normal}(0,10) prior on \sigma. You have a half-normal prior. The fact that we express this in Stan as sigma ~ normal(...) is just a bit of Stan syntax. The prior that is being encoded here, given a positivity constraint on sigma, is half-normal.