Why is the result matrix “rho” of function corr (A, B) not a symmetric matrix?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Stephen23
2023-12-4
Note that the provided formulas show that CORR calculates the mean of each column:
采纳的回答
Bruno Luong
2023-12-4
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.
更多回答(1 个)
Torsten
2023-12-4
移动:Torsten
2023-12-4
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 个评论
Steven Lord
2023-12-4
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".
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!