I'm trying to estimate a correlation matrix for a model where I already have a sense of the values of the off-diagonals based on existing studies. I'm quite new to Bayesian analysis so trying to learn as I go along.

The Stan package is pretty bullish on using an LKJ prior for correlation matrices (see here). There isn't a way for me to encode a specific expected value of the correlation matrix into the prior. From my understanding I could use the inverse Wishart to generate a covariance matrix instead, but that isn't guaranteed to generate a correlation matrix (i.e. diagonal of 1).

Can anyone recommend the best approach here? If it's useful at all I'm trying to recreate exactly this example, except specify my prior knowledge about the correlation matrix.


2 Answers 2


The Stan documentation and examples often use the LKJ prior in situations that are unlike the one you are describing where you are pretty sure about the off-diagonals.

In the case of a confirmatory factor analysis, I would do Wishart or inverse-Wishart on the covariance (not correlation) among the factors and fix some of the loadings to be $1.0$, rather than fixing the factor variances to be $1.0$.


Consider that your covariance matrix $\Sigma$ can be written as a correlation matrix $R$ multiplied elementwise by the tensor product of the vectors of the standard deviations.

$\Sigma = (\vec \sigma \otimes \vec \sigma) \odot R$

Provided that none of the standard deviations are zero, the elementwise product is invertible to obtain:

$(\vec \sigma \otimes \vec \sigma)^{-1} \odot \Sigma = R.$

As suggested by Ben, I would try an inverse-Wishart (or the Wishart up to an inverse) to allow putting background knowledge into the prior. Furthermore, I would try making it adaptive using the above relation so that published correlation values can be used.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.