MATLAB如何使用corrcoef函数计算样本数据的相关系数
【语法说明】
R=corrcoef(X):如果X为向量,函数返回1;如果X为m×n 矩阵,则以每行为观测值,每列为一个随机变量计算相关系数,返回一个n×n对称矩阵。假设协方差矩阵为C,相关系数矩阵为R,则相关系数可由协方差算得:
R=corrcoef(X,Y):相当于R=corrcoef([x(:) y(:)])。X和Y分别作为一个随机变量,函数返回一个2×2对称矩阵。
【功能介绍】求样本数据的相关系数。
【实例】同时存在3个随机变量,经过10次观测得到了一份数据,计算3个随机变量的相关系数。
>> a=[8,9,1,9,6,1,3,5,10,10];
>> b=[2,10,10,5,8,1,4,9,8,10];
>> c=[11,4.5,8.5,13.5,10,8,8.5,6.5,12,7];
>> corrcoef([a',b',c']) % 样本的相关系数矩阵
ans =
1.0000 0.2878 0.2260
0.2878 1.0000 -0.4014
0.2260 -0.4014 1.0000
>> c=cov([a',b',c']) % 利用协方差矩阵求相关系数
c =
12.6222 3.5111 2.1778
3.5111 11.7889 -3.7389
2.1778 -3.7389 7.3583
>> d1=repmat(diag(c),1,3)
d1 =
12.6222 12.6222 12.6222
11.7889 11.7889 11.7889
7.3583 7.3583 7.3583
>> d2=repmat(diag(c)',3,1)
d2 =
12.6222 11.7889 7.3583
12.6222 11.7889 7.3583
12.6222 11.7889 7.3583
>> cr=c./sqrt(d1.*d2)
cr =
1.0000 0.2878 0.2260
0.2878 1.0000 -0.4014
0.2260 -0.4014 1.0000
【实例讲解】相关系数的绝对值越大,表示随机变量之间的关联越强。