相关系数矩阵

 

相关系数矩阵反映的是两两变量之间的相关程度,一般是计算皮尔逊相关系数。如下表,有x1x2x3x4四个变量,计算其相关系数矩阵,评估变量相关性。


x1 x2 x3 x4
1 7 26 6 60
2 1 29 15 52
3 11 56 8 20
4 11 31 8 47
5 7 52 6 33
6 11 55 9 22

SPL 代码如下:


A B
1 [[7,26,6,60],[1,29,15,52],[11,56,8,20],[11,31,8,47],[7,52,6,33],[11,55,9,22],[3,71,17,6],[1,31,22,44],[2,54,18,22],[21,47,4,26],[1,40,23,34],[11,66,9,12],[10,68,8,12]] [[x1,x2,x3,x4]]
2 =transpose(A1)
3 for A2 =A2.(pearson(A3,~))
4
>B1=B1|[B3]
5 =transpose(B1)
6 =[B1(1).insert(1,"")]|A5

A1 输入样本数据

B1 定义一个序列,保存计算结果

A2 A1转置

A3:B4 循环A2, 计算变量两两之间的相关系数,结果存入B1

A5 转置B1

A6加入变量名称

上述代码执行完毕后,可生成相关系数矩阵如下表:


x1 x2 x3 x4
x1 1 0.228579 -0.82413 -0.24545
x2 0.228579 1 -0.13924 -0.97295
x3 -0.82413 -0.13924 1 0.029537
x4 -0.24545 -0.97295 0.029537 1

除了上述方法,相关系数矩阵还可以通过计算标准化后的协方差矩阵来获得。


A
1 [[7,26,6,60],[1,29,15,52],[11,56,8,20],[11,31,8,47],[7,52,6,33],[11,55,9,22],[3,71,17,6],[1,31,22,44],[2,54,18,22],[21,47,4,26],[1,40,23,34],[11,66,9,12],[10,68,8,12]]
2 =mnorm@s(A1,1)
3 =covm(A2)

A2 A1按列标准化,标准化后中心值为0,标准差为 1。@表示采用统计学计算除以n-1

A3 计算标准化后协方差矩阵,结果即为相关系数矩阵。

..