How to partition a matrix into components that are independent?

I'm going to partition a symmetric matrix (covariance matrix) into columns/rows that are independent. Any help is appreciated.

2 commentaires

Do you mean that you want to extract certain values (rows/columns) and define them as new variables?
No. I have a symmetric matrix, a covariance matrix (40x40), which includes linearly dependent variables. I'm going to find variables that are linearly correlated, or those that are independent.

Connectez-vous pour commenter.

Réponses (2)

Is this what you want to do?
X = rand(4,4);
Xr = X(2,:) % Extract second row
Xc = X(:,3) % Extract third column

2 commentaires

No. I have a cov matrix (40x40) that includes several linearly dependent variables, so I'm trying to find those variables.
The easiest way is probably to use the core MATLAB function corrcoef. The way I would suggest using it is to use the P (probability) values:
[R,P] = corrcoef(X)
[pr,pc] = find(P < 0.05)
and search for the lowest ones, or those that exceeded your limits, for instance P < 0.05 or lower. The find function will give you the row and column indices for those values. There may be other criteria, but this has the advantage of having statistical validity.

Connectez-vous pour commenter.

help corr
Will calculate linear correlation between columns of a matrix.

Catégories

En savoir plus sur Sparse Matrices dans Centre d'aide et File Exchange

Tags

Question posée :

MJ
le 26 Mai 2014

Commenté :

le 26 Mai 2014

Community Treasure Hunt

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

Start Hunting!

Translated by