python - 无法正确计算 np.cov()

标签 python covariance normal-distribution probability-density covariance-matrix

这个问题可能很愚蠢,但我找不到对此的解释。

我正在从头开始编写多元概率密度函数(用于研究目的),我需要计算的其中一件事是数据的协方差矩阵。我正在使用 Iris 数据集(150 个样本,4 个特征),当我编码时:


cov_matrix = np.cov(X)
print(cov_matrix.shape) // (150,150)

我不明白为什么它返回一个 150x150 矩阵,这是一个“逐元素协方差矩阵”吗?它不应该是一个 4x4 的协方差矩阵吗?

提前致谢。

最佳答案

默认 Numpy assumes变量在行中,而观察值在列中:

rowvar : bool, optional
If rowvar is True (default), then each row represents a variable, with observations in the columns. Otherwise, the relationship is transposed: each column represents a variable, while the rows contain observations.

关于python - 无法正确计算 np.cov(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65494140/

相关文章:

python - 数据损坏 C++ 和 Python 之间的管道

c++ - 在其派生类中更改基类方法的返回类型

scala - 为协变集合添加 `to[Col[_]]` 方法

java - 如何在需要称为协方差的父类(super class)型的方法中返回子类型?

r - 正态分布均值贝叶斯推理的玩具 R 代码 [降雪量数据]

python - 在pylab中以不同颜色显示多个掩码

python - 在世界地图上绘制 GeoIP 数据

javascript - python-selenium-点击出现的链接

r - 如何在要重复 5000 次的 for 循环中找到相关系数?并保存统计

具有可变上限的 Python 双变量正态 CDF