https://www.cnblogs.com/michaelxun/

相关性分析

corr

线性或等级相关

折叠全部页面
 

描述

rho = corr(X) 返回输入矩阵中每对列之间成对线性相关系数的矩阵X

rho = corr(X,Y) 返回输入矩阵X和中每对列之间的成对相关系数矩阵Y

[rho,pval] = corr(X,Y) 还返回p值pval矩阵,用于测试无相关假设与非零相关的替代假设。

[rho,pval] = corr(___,Name,Value) 除了使用先前语法中的输入自变量之外,还使用一个或多个“名称/值”对自变量指定选项。例如, 'Type','Kendall'指定计算肯德尔的tau相关系数。

 

例子

全部收缩

查找两个矩阵之间的相关性

找到两个矩阵之间的相关性,并将其与两个列向量之间的相关性进行比较。

生成样本数据。

rng('默认'
X = randn(30,4);
Y = randn(30,4);

介绍矩阵第二X列与矩阵第四列之间的相关性Y

Y(:,4)= Y(:,4)+ X(:,2);

计算X和的列之间的相关性Y

[rho,pval] = corr(X,Y)
rho = 4×4

   -0.1686 -0.0363 0.2278 0.3245
    0.3022 0.0332 -0.0866 0.7653
   -0.3632 -0.0987 -0.0200 -0.3693
   -0.1365 -0.1804 0.0853 0.0279

pval = 4×4

    0.3731 0.8489 0.2260 0.0802
    0.1045 0.8619 0.6491 0.0000
    0.0485 0.6039 0.9166 0.0446
    0.4721 0.3400 0.6539 0.8837

正如预期的那样,两列之间的相关系数X和列四个Yrho(2,4),是最高的,并且它代表了两列之间的高的正相关性。对应的ppval(2,4)对于所示的四位数为零。由于p值小于的显着性水平0.05,因此表明拒绝了两列之间不存在相关性的假设。

计算之间的相关性XY使用corrcoef

[r,p] = corrcoef(X,Y)
r = 2×2

    1.0000 -0.0329
   -0.0329 1.0000

p = 2×2

    1.0000 0.7213
    0.7213 1.0000

的MATLAB®功能corrcoef,不像corr功能,将输入的矩阵XY成列向量,X(:)并且Y(:),计算它们之间的相关性之前。因此,不再需要在矩阵的第二X列与矩阵的第四列之间引入相关性Y,因为这两列位于转换后的列向量的不同部分中。

的非对角元素的值r,其表示之间的相关系数XY,是低的。此值表示X之间几乎没有相关性Y同样,的非对角线元素的值(p表示p值)比的显着性水平高得多0.05该值表明没有足够的证据来拒绝X之间没有相关性的假设Y

 
 

测试相关性的假设

测试两个矩阵的列之间的正,负和非零相关性的替代假设。分别比较相关系数的p值。

生成样本数据。

rng('默认'
X = randn(50,4);
Y = randn(50,4);

在矩阵的第一X列和矩阵的第四列之间引入正相关Y

Y(:,4)= Y(:,4)+ 0.7 * X(:,1);

在的第二列X和的第二列之间引入负相关Y

Y(:,2)= Y(:,2)-2 * X(:,2);

测试相关性大于零的替代假设。

[rho,pval] = corr(X,Y,'Tail''right'
rho = 4×4

    0.0627 -0.1438 -0.0035 0.7060
   -0.1197 -0.8600 -0.0440 0.1984
   -0.1119 0.2210 -0.3433 0.1070
   -0.3526 -0.2224 0.1023 0.0374

pval = 4×4

    0.3327 0.8405 0.5097 0.0000
    0.7962 1.0000 0.6192 0.0836
    0.7803 0.0615 0.9927 0.2298
    0.9940 0.9397 0.2398 0.3982

正如预期的那样,列之一之间的相关系数X和列四个Yrho(1,4)具有最高正值,表示两列之间的高的正相关性。对应的p值,pval(1,4)对于所示的四位数为零,低于的显着性水平0.05这些结果表明拒绝了两列之间不存在相关性的零假设,并得出了相关性大于零的结论。

测试相关性小于零的替代假设。

[rho,pval] = corr(X,Y,'Tail''left'
rho = 4×4

    0.0627 -0.1438 -0.0035 0.7060
   -0.1197 -0.8600 -0.0440 0.1984
   -0.1119 0.2210 -0.3433 0.1070
   -0.3526 -0.2224 0.1023 0.0374

pval = 4×4

    0.6673 0.1595 0.4903 1.0000
    0.2038 0.0000 0.3808 0.9164
    0.2197 0.9385 0.0073 0.7702
    0.0060 0.0603 0.7602 0.6018

正如预期的那样,两列之间的相关系数X和列两个Yrho(2,2),具有最大绝对值(负数-0.86),代表两列之间的高的负相关。对应的p值,pval(2,2)对于所示的四位数为零,低于的显着性水平0.05同样,这些结果表明对原假设的拒绝,并得出结论,相关性小于零。

测试相关性不为零的替代假设。

[rho,pval] = corr(X,Y)
rho = 4×4

    0.0627 -0.1438 -0.0035 0.7060
   -0.1197 -0.8600 -0.0440 0.1984
   -0.1119 0.2210 -0.3433 0.1070
   -0.3526 -0.2224 0.1023 0.0374

pval = 4×4

    0.6654 0.3190 0.9807 0.0000
    0.4075 0.0000 0.7615 0.1673
    0.4393 0.1231 0.0147 0.4595
    0.0120 0.1206 0.4797 0.7964

p -值,pval(1,4)pval(2,2),均为零所示的四位数字。由于p值低于的显着性水平0.05,因此相关系数rho(1,4)rho(2,2)明显不同于零。因此,原假设被拒绝;相关性不为零。

 
 

输入参数

全部收缩

X— 输入矩阵
矩阵

输入矩阵,指定为n × k 矩阵。的行X对应于观测值,列对应于变量。

例: X = randn(10,5)

数据类型:single |double

Y— 输入矩阵
矩阵

输入矩阵,指定为 ñ -by- ķ 2 矩阵时X被指定为一个 ñ -by- ķ 1 矩阵。的行Y对应于观测值,列对应于变量。

例: Y = randn(20,7)

数据类型:single |double

名称-值对参数

指定可选的逗号分隔的Name,Value参数Name是参数名称,Value是对应的值。 Name必须出现在引号内。您可以按任意顺序指定几个名称和值对参数 Name1,Value1,...,NameN,ValueN

示例:corr(X,Y,'Type','Kendall','Rows','complete')仅使用不包含缺失值的行来返回Kendall的tau相关系数。

'Type'— 相关类型
'Pearson'(默认)| 'Kendall'|'Spearman'

相关类型,指定为以逗号分隔的一对,由'Type'和之一组成

描述
'Pearson' 皮尔逊线性相关系数
'Kendall' 肯德尔的Tau系数
'Spearman' 斯皮尔曼的罗

corr使用学生的t 分布来计算相关变换,从而计算Pearson相关p值。正态分布来自正态分布这种关联是精确的使用精确的置换分布(对于小样本量)或大样本近似值,计算Kendall tau和Spearman rho 的 p值。XYcorr

例: 'Type','Spearman'

'Rows'— 用于计算的行
'all'(默认)| 'complete'|'pairwise'

在计算中使用的行,指定为以逗号分隔的一对,由'Rows'和之一组成

描述
'all' 使用输入的所有行,而不管缺少的值(NaNs)。
'complete' 仅使用输入的行,且不缺少任何值。
'pairwise' rho(i,j)使用列i或中 没有缺失值的行进行计算j

'complete'值不同,该 'pairwise'值始终会产生一个正定或半正定rho此外,该 'complete'值通常使用较少的观察值来估计rho输入(XY)的行何时包含缺失值。

例: 'Rows','pairwise'

'Tail'— 替代假设
'both'(默认)| 'right'|'left'

替代假设,指定为以逗号分隔的一对,由'Tail'表中的值和组成'Tail'指定用于计算p值以测试无相关假设的替代假设

描述
'both' 测试相关性不是的替代假设0
'right' 测试相关性大于 0
'left' 测试相关性小于的替代假设0

corr计算p为通过加倍两个单尾的更显著的双尾检验-值p -值。

例: 'Tail','left'

输出参数

全部收缩

rho—成对线性相关系数
矩阵

成对线性相关系数,以矩阵形式返回。

  • 如果仅输入矩阵X, rho则是对称的 k × k矩阵,其中 k是中的列数 X该条目rho(a,b)是线性列之间的相关系数的成对 一个和列b在 X

  • 如果输入矩阵X和 Yrho是 ķ 1 -by- ķ 2 矩阵,其中ķ 1和 ķ 2是列的数目XY分别。该条目rho(a,b)是第a in X列和第b in 之间的成对线性相关系数Y

pvalp -值
矩阵

p值,以矩阵形式返回。的每个元素 pval都是的对应元素prho

如果pval(a,b)小于(小于 0.05),则相关性 rho(a,b)与零显着不同。

更多关于

全部收缩

皮尔逊线性相关系数

皮尔森线性相关系数是最常用的线性相关系数。对于矩阵X的a列 矩阵Y的b,均值,皮尔逊线性相关系数 rho(a,b)定义为:X=Ñ=1X/Ñÿb=ÑĴ=1XbĴ/Ñ

ř ħ Ô  = Ñ=1X - 〜XÝ - 〜ÿb{Ñ=1X - 〜X2ÑĴ=1ÝbĴ- 〜Ÿb2}2

 

其中n是每列的长度。

相关系数的值范围可以从–1到 +1–1表示完全负相关,而值+1表示完全正相关。0表示各列之间没有相关性。

肯德尔的Tau系数

Kendall的tau是基于计数的(数I,J)对,用于我置于<J 是一致的,也就是说,对于其中具有相同的符号。肯德尔tau方程包含对归一化常数中的联系的调整,通常称为tau-b。Xi -XjYi -Yj

对于矩阵 X中的a矩阵Y中的b,Kendall的tau系数定义为:

τ K− 

 

其中,ķ Ñ 1=1个ñĴ=+1ξ*XX一个ĴÿÿĴ

ξ*XX一个ĴÿÿĴ =1个0− 1如果如果如果Xi - XjYi - YjXi - XjYi - YjXi - XjYi - Yj000

 

相关系数的值范围可以从–1到 +1–1表示一个列的排名与另一列相反,而值+1 表示两个列的排名相同。0 表示各列之间没有关系。

斯皮尔曼的罗

Spearman的rho等于应用于a和 b列的排名的Pearson线性相关系数

如果每一列中的所有等级都不同,则该方程式简化为:

ř ħ Ô  = d2n2 − 

 

其中d是两列的等级之间的差,n是每列的长度。

提示

之间的差corr(X,Y)的MATLAB和®功能corrcoef(X,Y)是, corrcoef(X,Y)返回一个两个向量相关系数矩阵XY如果 XY不是列向量, corrcoef(X,Y)则将它们转换为列向量。

参考文献

[1] Gibbons,JD 非参数统计推断。第二版。德克(1985年)。

[2] Hollander,M.和DA Wolfe。非参数统计方法威利(1973)。

[3] Kendall,MG 等级相关方法格里芬(Griffin),1970年。

[4] Best,DJ和DE Roberts。“算法AS 89:Spearman的rho的上尾概率。” 应用统计,24:377-379。

posted @ 2020-04-15 13:43  吴实一  阅读(1317)  评论(0编辑  收藏  举报
https://www.cnblogs.com/michaelxun/