Multivariate reparameterisation (Stan example) - Identifiability issues?

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.

L and alpha as parameters is shown in SUG Section 1.13.

If you have two parameters that are of type real, then yes, having them multiplied in the structures leading to the likelihood would induce an identifiability issue. But because L and alpha have structure in their types, the multiplication does not induce an identifiability issue.

1 Like

sounds clear, thanks Mike!

1 Like