numpy协方差矩阵

发布于 2021-01-29 16:01:52

假设我有两个长度为25的向量,并且我想计算它们的协方差矩阵。我尝试使用numpy.cov进行此操作,但始终以2x2矩阵结尾。

>>> import numpy as np
>>> x=np.random.normal(size=25)
>>> y=np.random.normal(size=25)
>>> np.cov(x,y)
array([[ 0.77568388,  0.15568432],
       [ 0.15568432,  0.73839014]])

使用rowvar标志也无济于事-我得到的结果完全相同。

>>> np.cov(x,y,rowvar=0)
array([[ 0.77568388,  0.15568432],
       [ 0.15568432,  0.73839014]])

如何获得25x25的协方差矩阵?

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您有两个向量,而不是25。我所用的计算机没有python,所以我无法对此进行测试,但是请尝试:

    z = zip(x,y)
    np.cov(z)
    

    当然....真正想要的可能更像是:

    n=100 # number of points in each vector
    num_vects=25
    vals=[]
    for _ in range(num_vects):
        vals.append(np.random.normal(size=n))
    np.cov(vals)
    

    这需要num_vects1xn向量的协方差(我认为/希望)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看