How to partition a matrix into components that are independent?

7 次查看(过去 30 天)
I'm going to partition a symmetric matrix (covariance matrix) into columns/rows that are independent. Any help is appreciated.
  2 个评论
Mahdi
Mahdi 2014-5-26
Do you mean that you want to extract certain values (rows/columns) and define them as new variables?
MJ
MJ 2014-5-26
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.

请先登录,再进行评论。

回答(2 个)

Star Strider
Star Strider 2014-5-26
Is this what you want to do?
X = rand(4,4);
Xr = X(2,:) % Extract second row
Xc = X(:,3) % Extract third column
  2 个评论
MJ
MJ 2014-5-26
No. I have a cov matrix (40x40) that includes several linearly dependent variables, so I'm trying to find those variables.
Star Strider
Star Strider 2014-5-26
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.

请先登录,再进行评论。


Kelly Kearney
Kelly Kearney 2014-5-26
help corr
Will calculate linear correlation between columns of a matrix.

标签

Community Treasure Hunt

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

Start Hunting!

Translated by