皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用

皮尔逊相关系数可以用来表述两个序列的相关性。

常常用来做数据分析、数据挖掘等工作。

如何简单快捷的实现皮尔逊相关,并得到结果?
需要应用MATLAB中的 corr(X, Y)或者 corrcoef(X,Y)函数。

其中 corr(X, Y)既可以计算矩阵相关也可以计算序列相关,而 corrcoef(X,Y)中如果 X, Y为矩阵,则会将其转换为序列再进行计算。

CORR

皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用
伪代码
X,Y  # 为两个序列并且都是列向量.

pearson_corr = corr(X, Y)   #  求X, Y序列的皮尔逊相关系数.

该函数同样可以设置参数计算不同的相关系数。

'Pearson' (the default) computes Pearson's linear correlation coefficient
'Kendall' computes Kendall's tau
'Spearman' computes Spearman's rho

Example 1

A = randn(10,1);
B = randn(10,1);
R = corrcoef(A,B)
X = corr(A,B)

如果corr()输入为向量则其输出为两个向量相关性的标量系数。

R =
   1.000000000000000   0.327514034455913
   0.327514034455913   1.000000000000000
X =
   0.327514034455913

即R(1,2)= R(2,1)= X

Example 2

rng('default')
x = randn(30,4);
y = randn(30,4);
y(:,4) = sum(x,2); % introduce correlation
[r,p] = corr(x,y)

其中 r 为两个矩阵中列向量间的相关系数,p 为非零相关的假设检验值(位置与 r 对应),如果值小于 0.05 则相关性显著。

r =

   -0.1686   -0.0363    0.2278    0.6901
    0.3022    0.0332   -0.0866    0.2617
   -0.3632   -0.0987   -0.0200    0.3504
   -0.1365   -0.1804    0.0853    0.4908

p =

    0.3731    0.8489    0.2260    0.0000
    0.1045    0.8619    0.6491    0.1624
    0.0485    0.6039    0.9166    0.0577
    0.4721    0.3400    0.6539    0.0059

CORRCOEF

皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用
其中 corrcoef( )返回的 P 值同样为假设检验值,在 corr()中解释过不再解释,详情请见 MATLAB帮助文档。

Example 1

x = randn(6,1);
y = randn(6,1);
A = [x y 2*y+3];
R = corrcoef(A)

上述例子中A为 (6,3)矩阵,将其每列看作一组变量的序列,进行相关性计算,得到结果

 R =
    1.0000   -0.6237   -0.6237
   -0.6237    1.0000    1.0000
   -0.6237    1.0000    1.0000

对角线上由于是变量自相关所以都是1,元素(2,3)由于 y 与 2*y+3 是线性相关所以相关系数也是1。

Example 2

A = randn(10,1);
B = randn(10,1);
R = corrcoef(A,B)

上述A,B分别为长度为10的列向量,函数将两个列向量看作两个变量进行相关性分析。

R =
    1.0000    0.4518
    0.4518    1.0000

Original: https://blog.csdn.net/qq_37207042/article/details/116698626
Author: 咸鱼.m
Title: 皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/639300/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球