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).
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.
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.