# Lkj(1) vs no prior on correlation matrix?

Hey all,

A simple question (hopefully): Is using lkj_corr_cholesky(1) the same thing as having no prior at all on the cholesky correlation matrix?

I was under the impression that not having a prior on a cholesky factorized cor matrix implies lkj(1).
However, I was fitting two models - identical, but coded differently, that involves a 4x4 correlation matrix. One model had lkj(1), one had no prior. The two yielded very similar, but still consistently different correlation estimates. Once I added the lkj(1) prior to the model missing it, the two lined up perfectly (within MCMC error, anyway).

Is there a reason for this?

`L ~ lkj_corr_cholesky(1)` is a non-uniform prior on `L` that implies `L * L'` is uniformally distributed over correlation matrices of that size. There is really no such thing as “no prior”. However, if you were to omit the `L ~ lkj_corr_cholesky(1)`, then you would be expressing your beliefs that `L` is uniformally distributed over the space of Cholesky factors of correlation matrices of that size, in which case `L * L'` would be non-uniformally distributed over correlation matrices of that size in a weird way.

2 Likes

Excellent, thank you.

So if I instead had a cor matrix (not a cholesky cor matrix), then lkj_corr(1) would be the same as no [expressed] prior. (Sorry - I mispoke; I meant no expressed prior).

That is:
`R ~ lkj_corr(1)` is the same as `//R ~ lkj_corr(1)` [as in - it’s commented out and is not evaluated].

Yeah, if `lkj_corr(1)` gets called then it does check that it is a valid correlation matrix and throws and exception otherwise, but that should be valid by construction if you declare it in the parameters block.

1 Like

As always, thank you. Very helpful.