假设我有两个长度为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协方差矩阵?
阅读文档时
或者看Numpy Covariance,Numpy将数组的每一行作为一个单独的变量,因此有两个变量,因此得到一个2x 2协方差矩阵。
我认为上一篇文章有正确的解决方法。我有解释:-)
你有两个向量,不是25。我所在的计算机没有python,因此我无法测试,但请尝试:
当然。。。。你真正想要的可能是:
这取
num_vects
1xn
向量的协方差(我想/希望)试试这个:
相关问题 更多 >
编程相关推荐