计算两个形状 X 的协方差矩阵的正确方法是什么 (n x p)
和 Y 形状 (n x q)
import numpy as np
X = np.array([np.random.normal(size=10),
np.random.normal(size=10),
np.random.normal(size=10)]).T
Y = np.array([np.random.normal(size=10),
np.random.normal(size=10),
np.random.normal(size=10),
np.random.normal(size=10)]).T
正在做np.cov(X,Y)
返回错误。
但是np.cov(X.T, Y.T)
没有
这是什么原因呢?
最佳答案
来自文档:
y : array_like, optional
An additional set of variables and observations.
y has the same form as that of m.
矩阵的形状不相等。我想 numpy 作者忘记检查第一种情况的尺寸。对此我没有其他解释。在第一种情况下,计算可能在 Y 的子数组上运行。可能这已经在较新版本的 numpy 中得到修复,或者您可以考虑发送错误报告。
关于python - 计算具有不同特征数量和相同观察数量的两个矩阵的协方差矩阵的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38463210/