相关性分析
corr
描述
例子
查找两个矩阵之间的相关性
找到两个矩阵之间的相关性,并将其与两个列向量之间的相关性进行比较。
生成样本数据。
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
和列四个Y
,rho(2,4)
,是最高的,并且它代表了两列之间的高的正相关性。对应的p值pval(2,4)
对于所示的四位数为零。由于p值小于的显着性水平0.05
,因此表明拒绝了两列之间不存在相关性的假设。
计算之间的相关性X
和Y
使用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
功能,将输入的矩阵X
和Y
成列向量,X(:)
并且Y(:)
,计算它们之间的相关性之前。因此,不再需要在矩阵的第二X
列与矩阵的第四列之间引入相关性Y
,因为这两列位于转换后的列向量的不同部分中。
的非对角元素的值r
,其表示之间的相关系数X
和Y
,是低的。此值表示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
和列四个Y
,rho(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
和列两个Y
,rho(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相关系数。'Tail'
— 替代假设
'both'
(默认)| 'right'
|'left'
替代假设,指定为以逗号分隔的一对,由'Tail'
表中的值和组成。'Tail'
指定用于计算p值以测试无相关假设的替代假设。
值 | 描述 |
---|---|
'both' |
测试相关性不是的替代假设0 。 |
'right' |
测试相关性大于 0 |
'left' |
测试相关性小于的替代假设0 。 |
corr
计算p为通过加倍两个单尾的更显著的双尾检验-值p -值。
例: 'Tail','left'
输出参数
更多关于
皮尔逊线性相关系数
皮尔森线性相关系数是最常用的线性相关系数。对于矩阵X的X a列 和矩阵Y的Y b列,均值和,皮尔逊线性相关系数 rho(a,b)定义为:〜〜X一=Ñ我=1(X一,我)/Ñ,〜〜ÿb=ÑĴ=1(Xb,Ĵ)/Ñ
ř ħ Ô (一,b ) = Ñ我=1(X一,我 - 〜〜X一)(Ýb ,我 - 〜〜ÿb){Ñ我=1(X一,我 - 〜〜X一)2ÑĴ=1(Ýb,Ĵ- 〜〜Ÿb)