numpy中相关系数

np.cov(x)是用于计算协方差矩阵的:

得到的矩阵第i行第j列表示第i个变量和第j个变量的协方差。

np.corrcoef(x)是求相关系数矩阵:

得到的矩阵第i行第j列表示第i个变量和第j个变量的相关系数。

 
import numpy as np
a=[1,2,3]
b=[2,4,5]
c=[2,7,8]
d=[9,8,3]
x=np.vstack((a,b,c,d))
print(x)
print(np.cov(x))
print(np.cov(a,b))
print(np.corrcoef(x))

输出:

[[1 2 3]
 [2 4 5]
 [2 7 8]
 [9 8 3]]
[[ 1.          1.5         3.         -3.        ]
 [ 1.5         2.33333333  4.83333333 -4.16666667]
 [ 3.          4.83333333 10.33333333 -7.66666667]
 [-3.         -4.16666667 -7.66666667 10.33333333]]
[[1.         1.5       ]
 [1.5        2.33333333]]
[[ 1.          0.98198051  0.93325653 -0.93325653]
 [ 0.98198051  1.          0.98432414 -0.84855529]
 [ 0.93325653  0.98432414  1.         -0.74193548]

 [-0.93325653 -0.84855529 -0.74193548  1.        ]]

其中np.vstack是将各个list按行堆叠,相关系数的结果,为对称矩阵,对角线为与自身的相关系数为1,其余的就是第i个变量和第j个变量的相关系数。比如说0.98198051,就是a和b的相关系数,也就是x中第一行和第二行的相关系数。

 

你可能感兴趣的:(numpy,相关系数,python)