Why is the result matrix “rho” of function corr (A, B) not a symmetric matrix?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
Stephen23
le 4 Déc 2023
Note that the provided formulas show that CORR calculates the mean of each column:
Réponse acceptée
Bruno Luong
le 4 Déc 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.
Plus de réponses (1)
Torsten
le 4 Déc 2023
Déplacé(e) : Torsten
le 4 Déc 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 commentaire
Steven Lord
le 4 Déc 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".
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!