largest uncorrelated set in a correlation matrix

2 次查看(过去 30 天)
I have a large correlation matrix (1000x1000) and I want to find the largest uncorrelated set(s) from the matrix. The matrix contains only ones and zeros, and all the diagonal elements are ones, since this is a correlation matrix. The matrix is also symmetric.
I have provided an example correlation matrix for illustration (A to W) and the intended output matrix (X's).
So far my approach, which doesn't scale well for large correlation matrices:
1) Start with A and loop through A to W and find all the uncorrelated 2x2 sets.
2) Repeat step one now starting with B and loop through A to W, and so on...
3) With steps 1&2, I have all the 2x2 uncorrelated sets.
4) Now for each 2x2 uncorrelated set, loop though A to W again and find the 3x3 uncorrelated sets.
5) For each uncorrelated 3x3 set, loop though A to W to find the 4x4 uncorrelated sets.
6) Repeat this process till you find the largest uncorrelated set(s) -- X1, X2, X3,...
Obviously, this is a brute force approach, and doesn't scale well with higher dimension matrices. I would appreciate it if anyone could point me in the right direction to solve this problem efficiently in MATLAB.

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by