Hi all,
In Chapter 23 - Efficiency Tuning under Stan users-guide, there is an example for multivariate reparameterisation (with codes provided below).
The covariance matrix Sigma is a data input, and from that the cholesky factor L was obtained. Suppose if Sigma was not a data input and L was an unknown parameter, wouldn’t multiplying the two unknown parameters, L with the alpha, make the model non-identifiable? If the model is still identifiable, can someone explain why it may still be identifiable? If it is non-identifiable, would introducing a new parameter so that \theta \equiv L \alpha, and omitting L and alpha as a parameter solve the identifiability issue?
data {
int<lower=2> K;
vector[K] mu;
cov_matrix[K] Sigma;
...
}
transformed data {
matrix[K, K] L;
L = cholesky_decompose(Sigma);
}
parameters {
vector[K] alpha;
...
}
transformed parameters {
vector[K] beta;
beta = mu + L * alpha;
}
model {
alpha ~ std_normal();
// implies: beta ~ multi_normal(mu, Sigma)
}
Many thanks.