Why is the result matrix “rho” of function corr (A, B) not a symmetric matrix?
7 views (last 30 days)
Show older comments
When I was browsing the ‘corr’ function examples provided on the official website, I found that the matrix rho in the result of corr (A, B) is not a symmetric matrix. This contradicts the mathematical knowledge I have learned, and I cannot understand why. Can someone help me? I would greatly appreciate it. The link is Linear or rank correlation - MATLAB corr (mathworks.com)
1 Comment
Stephen23
on 4 Dec 2023
Note that the provided formulas show that CORR calculates the mean of each column:
Accepted Answer
Bruno Luong
on 4 Dec 2023
As the doc describe, for example
- rho(2,1) is the correlation between X(:,2) and Y(:,1)
- rho(1,2) is the correlation between X(:,1) and Y(:,2)
There is no reason why rho(2,1) must be equal to rho(1,2), as they involve two DIFFERENT pairs.
More Answers (1)
Torsten
on 4 Dec 2023
Moved: Torsten
on 4 Dec 2023
corr(X,X) is symmetric, but why should corr(X,Y) be symmetric ? Element (i,j) is the correlation of column i of X and column j of Y, while element (j,i) is the correlation of column j of X and column i of Y.
1 Comment
Steven Lord
on 4 Dec 2023
Instead of corr(X, X) you should probably just call corr(X). As stated on the documentation page for the corr function, "If you input only a matrix X, rho is a symmetric k-by-k matrix, where k is the number of columns in X. The entry rho(a,b) is the pairwise linear correlation coefficient between column a and column b in X."
The corresponding sentence for the two-input case does not include the word "symmetric".
See Also
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!