Why is the result matrix “rho” of function corr (A, B) not a symmetric matrix?

4 vues (au cours des 30 derniers jours)
Sure
Sure le 4 Déc 2023
Commenté : Sure le 5 Déc 2023
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)

Réponse acceptée

Bruno Luong
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
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
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".

Connectez-vous pour commenter.

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by