Hello all,
I'm wondering if there's general guidance on how to formulate models in NIMBLE regarding centered vs. non-centered parameterization, or if this is context dependent. When I specify a random intercepts/slopes model like this:
y[i,m] ~ alpha[m] + beta1[m]*x
alpha[m] ~ dnorm(
alpha.mu, sd = alpha.sigma)
alpha.sigma ~ dunif(0, 10)
beta[m] ~ dnorm(
beta.mu, sd = beta.sigma) # idem
beta.sigma ~ dunif(0, 10)
vs.
y[i,m] ~ (alpha0 + alpha[m]) + (beta0 + beta[m])*x
alpha0 ~ dnorm(0, sd = 10)
alpha[m] ~ dnorm(0, sd = alpha.sigma)
alpha.sigma ~ dunif(0, 10)
beta0 ~ dnorm(0, sd = 10)
beta[m] ~ dnorm(0, sd = beta.sigma)
beta.sigma ~ dunif(0, 10)
I notice I get different samplers, like losing the conjugate sampler on
alpha.mu in the second parameterization. I've seen that a few people recommend the latter parameterization for STAN but I'm not sure if NIMBLE would be the same. What I like about the second parameterization is that one could put indicator variables for RJMCMC on the random component as a test to see if there's additional random variation to the mean intercept and/or slopes (alpha0 and beta0). But, if it's going to give me much less efficient sampling, it may be better to formulate the first parameterization.
Looking forward to your answer. I'm still loving NIMBLE!
Regards,
Matt