2
$\begingroup$

Hi everyone,

I am looking for a way of simulating correlation matrices of fixed dimension in (at least) two ways.

First, I would like to determine the "uniform" distribution over the "correlation matrices space" and being able to sample from it (even defining what "uniform" means is not such an easy task !!!).

Second, I would like to get some parametric law for which sampled correlation matrices would be such that :

-the expectations of the eigenvalues are equal to some fixed set of values.

-we have a certain amount of "control" over the second moments of those eigenvalues through the parameters set.

I hope I made myself clear enough, and thank's for any leads or references to acheive such a thing. From my point of view this is a surprisingly complex problem and I thought it might raise some interest among you.

So far I tried an approach using diagonalization through orthogonal matrices and eigenvalues which was not really a success...

Edit :

Here are a few facts (sometimes empirical) that have come up when trying a diagonalization approach by an orthogonal matrix and a set of eigenvalues.(i.e. $C=\Omega Diag(\lambda_1,...,\lambda_n)\Omega^T$ with (I hope) obvious notations).

Naively, you can think that it would suffice to sample uniformly and independently a set of eigenvalue in the n-simplex and uniformly sample from orthogonal matrices space, after what you "do" the mutliplication to get a correlation matrix that is uniformly sampled in the correlation matrices sapce. But...

If your are given a set of eigenvalues (for your correlation matrix), then you can't sample (uniformly) an orthogonal matrix and get a correlation matrix after multiplication.

There are $n(n-3)/2$ degrees of freedom among the parameters of the orthogonal matrix to get a correlation matrix, when the space O(n) is a $n(n-1)/2$ dimensional space (the diagonal of the correlation matrix are constrained to be equal to 1 and that makes n equations). The "submanifolds" of O(n) that is so defined (to be compatible orthogonal matrices with respect to a set of eigenvalues) is really hard to express in a way that could be usefull.

Also, a fact that has (empirically) appeared is that sampling uniformly from orthognonal matrix space, then I thnik taht almost surely the eigenvalues that are compatible to get a correlation matrix are simply (1,...,1). So the correlation matrix is simply the identity matrix $I_n$ and this is I think the real surpising fact to me (not too surprisng though if you consider the degrees of freedom in the problem)

Regards

$\endgroup$
1

2 Answers 2

2
$\begingroup$

This article [Harry Joe, Generating random correlation matrices based on partial correlations, Journal of Multivariate Analysis, 97 (10), pp. 2177-2189 (2006)] addresses the question. The author gives a simple construction for generating a correlation matrix that is uniform over the space of positive definite correlation matrices. And there is an associated R command.

$\endgroup$
3
  • $\begingroup$ @Didier Piau : Thank you very much for the reference unfortunately I could'nt access the pdf, anyway I'll try to get it. I'm quite sure the article should answers fully the first part of my question. But I'm not sure it can address the second part, so I let the question open if you don't mind. Regards $\endgroup$
    – The Bridge
    May 19, 2011 at 18:35
  • $\begingroup$ You are absolutely right and I should have mentioned myself that HJ's paper deals (presumably) with only the first part of your question. $\endgroup$
    – Did
    May 20, 2011 at 6:06
  • $\begingroup$ Hi, a paper by Higham and Davies 'numerically stable generation of correlation matrices and their factors' (google ives it right away), gives a way to sample a correl matrix given its spectrum. Coupling this with a Dirichlet law over a n-scaled Simplex of dimension n (with proper weights) sounds pretty close to what I want to achieve, but this methods doesn't give a lot of information about the resulting law over correl matrix space. ahhh almost done... $\endgroup$
    – The Bridge
    May 23, 2011 at 20:54
0
$\begingroup$

Even if this answer doesn't give a satisfying answer to the second point of my original question, I found an article that answers exactly to the first point untitled "A fast Metropolis-Hastings method for generating random correlation matrices" from Irene Córdoba, Gherardo Varando, Concha Bielza, Pedro Larrañaga, moreover the authors have developped their algorithm in a R Package. So I wanted to share this with anybody who might be in need of such sampler. As a matter of fact there are several other possible answers and the article gives references to those (also with R packages for some of them). The benefit of the article is that it allows sampling in high dimension with computational efficiency.

$\endgroup$

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.