我正在尝试复制cov函数,使其以八度运行:https://octave.sourceforge.io/octave/function/cov.html
在给出的位置:
F = [[3,4,5],[5,4,3],[1,1,1]]
八度音色函数将返回:
cov(F)
ans =
4 3 2
3 3 3
2 3 4
虽然numpy函数cov https://numpy.org/doc/stable/reference/generated/numpy.cov.html的工作方式不同。它返回:
np.cov(F)
array([[ 1., -1., 0.],
[-1., 1., 0.],
[ 0., 0., 0.]])
如果我阅读了两个文档,都应该计算协方差矩阵,我会丢失什么?
答案 0 :(得分:1)
Octave's cov
将行视为观察值,将列视为变量:
如果x和y的每一行都是一个观察值,而每一列都是一个变量...
numpy.cov
默认为相反的行为:
行号:布尔型,可选
如果 rowvar 为True(默认值),则每一行代表一个变量,各列中具有观察值。否则,该关系将转置:每一列代表一个变量,而行包含观察值。
在调用rowvar=False
以获得Octave行为时指定numpy.cov
。