corr详解(MATLAB)
- corrcoef是对两个列向量,或者一个矩阵的每列进行的,用的是pearson相关
- corr可以对两个矩阵的每列进行,也可以对一个矩阵的每列进行,相关的类型可以是pearson或者Kendall或者Spearman
- 总之,corr强大很多
1、corrcoef
R = corrcoef(A
)
输入:一个矩阵A,
方法:计算矩阵A的每一列与每一列之间的皮尔逊相关系数,得到一个对称的相关系数矩阵。
返回: 一个相关系数矩阵R,
A = randn(n,m); % A是一个n*m的矩阵
corrcoef(A) % 返回一个m*m的对称矩阵
R = corrcoef(A,B)
输入: 两个向量,A,B均为列向量
返回:一个2*2 对称的相关系数矩阵
如果A, B 均为矩阵,则先把A,B转变为列向量,然后再计算皮尔逊相关系数,即等价于如下形式
A = randn(n,m); % A是一个n*m的矩阵
B = randn(n,m); % B是一个n*m的矩阵,
%% 注意A,B矩阵的个数一定要一样
corrcoef(A,B) % 返回一个2*2的对称矩阵
corrcoef(A(:),B(:)) % 等价 corrcoef(A,B)
2、corr
rho = corr(X)
输入:一个矩阵X
方法: 计算矩阵X的每一列与每一列之间的皮尔逊相关系数,得到一个对称的相关系数矩阵。
返回: 返回一个对称的相关系数矩阵rho
rho = corr(X,Y)
输入: X为$n*m1$的矩阵,Y为$n*m2$的矩阵
方法:返回输入矩阵X和Y中每对列之间的成对相关系数矩阵。
返回一个$m1*m2$的矩阵,其中第i行第j列元素代表X的第i列与Y第j列的相关系数
[rho,pval] = corr(___,Name,Value)
R = corr(X,'Type','Pearson')
R = corr(X,Y,'Type','Pearson')
R = corr(X,Y,'Type','Kendall')
R = corr(X,Y,'Type','Spearman')