Is there any difference in parametrization or efficiency in writing a non-centered parametrization with offset and multiplier, vs introducing an auxiliary parameter?
Here is an example of the former:
parameters {
real<offset=1, multiplier=10> x;
}
model {
// ...
x ~ normal(1, 10);
}
And of the latter:
parameters {
real x0;
}
transformed parameters {
real x = 10 * x0 + 1;
}
model {
// ...
x0 ~ std_normal();
}
Lastly, I often find myself with e.g. omega ~ normal(0, 10) hyperparameters. Is there any benefit to using either of the techniques above? What if I have a non-zero (but still constant or data) location?
Thanks,
Will