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中第一行和第二行的相关系数。