python - 计算具有不同特征数量和相同观察数量的两个矩阵的协方差矩阵的正确方法

标签 python numpy

计算两个形状 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/

相关文章:

python - 在 python 中的循环中编写循环的更简洁的方法

c++ - 如何将一个窗口的客户区复制到另一个窗口?

python - 转置数据框和排序

python - 如何去掉小数点

python - 替代字节数组处理瓶颈的高速替代方案

python - Scipy,优化具有参数依赖约束的函数

Python - 如何生成大小大于列表元素数量的排列

python - 使用 BeautifulSoup 根据 name 属性获取属性值

python - 在python中找到四次多项式4次最小正实根的最快方法

python - 使用 NCO 或 Python 测量多个 netCDF 文件的每周平均值