Solved – Hyperprior distributions for the parameters (scale matrix and degrees of freedom) of a wishart prior to an inverse covariance matrix

I'm estimating several inverse covariance matrices of a set of measurements across different subpopulations using an wishart prior in jags/rjags/R.

Instead of specifying a scale matrix and degrees of freedom on the inverse covariance matrix prior (the wishart distribution), I would like to use a hyperprior on the scale matrix and degrees of freedom, so they can be estimated from the variation across subpopulations.

I haven't found much literature on hyperpriors for the scale matrix and degrees of freedom. Most of the literature seems to stop the hierarchy at the choice of the prior to the covariance/inverse covariance and/or are focused on estimating a single covariance matrix rather than several covariance matrices across different populations.

Any suggestions as to how to go about this – what are the recommended hyperprior distributions to use for the scale matrix and degrees of freedom of the wishart distribution? Is there some literature on this that I'm missing?

R's DPpackage allows a hierarchy that goes as far as you are suggesting on the scale matrix in the function DPdensity. You can peek at what they do in their manual or in the associated vignette to get some ideas. Let $Sigma$ be the covariance matrix. It sets $Sigma sim IW(nu_1, Psi_1)$ and $Psi_1 sim IW(nu_2, Psi_2)$ where $IW(nu, Psi)$ is inverse-Wishart with degrees of freedom $nu$ and mean $frac{Psi^{-1}}{nu – p – 1}$ where $p$ is the dimension of the data. This looked a little backwards to me at first, but if you play with the density you can see it is conjugate. The Wishart density doesn't look promising for putting anything analytical on $nu$. You could always put just about anything on $nu$ and use a Metropolis-Hastings step.

EDIT: I just noticed you are using jags. There's a good chance I think that it will puke if you try to put any prior on $Psi_1$, even though inverse-Wishart is conjugate. BUGS implementations can be fickle about what they allow for their multivariate distributions, so it might not know how to do the conjugate update. I don't know for sure though.

Similar Posts:

Rate this post

Leave a Comment