1
$\begingroup$

I am writing a Gibbs sampler from scratch. As recommended in various places (http://www3.stat.sinica.edu.tw/statistica/oldpdf/A10n416.pdf, and in another question Covariance matrix proposal distribution) I have split covariance matrices for random effects (e.g. $A$) into a vector $\sigma$ of standard deviations and a correlation matrix $\Omega$ in the following way:

$A=\text{diag_matrix}(\sigma)\text{ }\Omega \text{ diag_matrix}(\sigma)$

I have assigned half student t priors to the standard deviations $\sigma$ and an LKJ prior to the correlation matrix $\Omega$ (see e.g. recommendations under Hyperpriors in https://mc-stan.org/docs/2_18/stan-users-guide/multivariate-hierarchical-priors-section.html). I wanted to update the correlation matrix $\Omega$ in a single block rather than update each unique element of it individually.

From my model, the posterior for updating the correlation matrix $\Omega$ does not have a standard form, and so I was considering using a Metropolis Hastings step to update it. However I'm not sure what proposal to use, because:

  • Most examples I have seen suggest proposals for covariance matrices rather than correlation matrices
  • The proposal will need to restrict the off-diagonals of the correlation matrix to fall between -1 and 1, and the on diagonals to equal 1
  • I don't see how you could use an LKJ distribution as a proposal and make it rely on the current $\Omega$ when sampling the new $\Omega'$

What proposals would allow update of the correlation matrix in a single step, relying on the current value for $\Omega$, whilst ensuring the elements of the matrix are contrained as I described? Any advice would be very welcome.

$\endgroup$
1
$\begingroup$

You could use a proposal for a covariance matrix, and calculate the implied correlation matrix from it. You could then see if this proposed correlation matrix is accepted using the Matropolis-Hastings ratio.

| cite | improve this answer | |
$\endgroup$

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