I am still learning and unsure about centered vs noncentered modelling. I have a simple linear regression model and am trying to understand the modelling with this before I move on to complex stuff.
I had
I feel that I am not completely grasping something here. Would this already be “reparametrizing”? I feel that I only gave something a different name - then again, reparametrizing can be just that.
edit: Just for completeness:
price and beta are vectors, beta_0 is a real and x is a matrix. All have the right dimensions, both models run and produce the same results, I would say. As this is not a complex thing, I had expected that and was only looking to get the gist of it.
edit2:
After thinking about it, I would say this is not about non-centering, as I did not split anything up in smaller parts - is that correct?
Yeah what you’ve done here is not a reparameterization. What you did is to store the result of beta_0 + x * beta in a variable called price_mean. So you’ve written the same model using slightly different Stan code but it’s not a reparameterization.
The non-centered parameterization that you refer to can be used when you have particular kinds of hierarchical priors. So in your case, imagine you had
model {
...
beta ~ normal(mu_beta, sigma_beta);
}
where mu_beta and sigma_beta are parameters in the model. In that case you would be using a “centered” parameterization for beta because the prior is centered around the prior mean mu_beta. However, you could write a statistically equivalent model using the “non-centered” parameterization
in which case the prior for beta_raw is standard normal and then we compute beta by scaling beta_raw by sigma_beta and shifting it by mu_beta. That is, we take a normal(0, 1) and scale it by sigma_beta to get normal(0, sigma_beta) and then shift it by mu_beta to get normal(mu_beta, sigma_beta).
I’m not saying this necessarily makes sense to do in your case, just trying to use your example.
I highly recommend @betanalpha’s case study at Diagnosing Biased Inference with Divergences, which shows an example of centered and non-centered parameterizations and discusses when this type of reparameterization can be useful.
Thank you! Yeah, I was unsure regarding this, but I agree that this is no reparametrization. And thank you for the example! I feel I am understanding it better and better the more I read and work with it - which is obviously not a surprise. ;)
You’re right! I had read that, but was still unsure. (Now, a couple of days later, I believe I understand it a lot better)
I am getting more and more into Stan and also more and more in the ability to judge the scope of things I do not understand. Thanks for all the support here!