Python 熊猫如何计算协方差矩阵?

Python 熊猫如何计算协方差矩阵?,python,pandas,Python,Pandas,因此,我刚刚开始使用python进行统计/机器学习,并使用线性代数计算协方差矩阵 例如: import sklearn.preprocessing as pre import pandas as pd import numpy as np cols = ['sepal length', 'sepal width', 'petal length', 'petal width', 'classification'] iris = pd.read_csv('data/iris.data', name

因此,我刚刚开始使用python进行统计/机器学习,并使用线性代数计算协方差矩阵

例如:

import sklearn.preprocessing as pre
import pandas as pd
import numpy as np

cols = ['sepal length', 'sepal width', 'petal length', 'petal width', 'classification']
iris = pd.read_csv('data/iris.data', names=cols)
data = iris.loc[:,'sepal length':'petal width']
centered = pd.DataFrame(pre.scale(data, with_std=False), columns=iris.columns[0:4])
cov = centered.T @ centered
然后,我注意到DataFrame对象有一个计算协方差矩阵的方法,但它给了我一组不同的值

cov = centered.cov()
我想知道为什么会这样。我猜这是某种数据的缩放,但我对统计学不太熟悉,也不太确定。这让我怀疑我是否做错了。

来自

返回数据帧时间序列的协方差矩阵最新版本 协方差通过N-1标准化。


我不确定这种缩放在概念上意味着什么,但乘以1/n-1确实会得到相同的结果。也许这条线索会帮助你:你做过任何研究,检查过文档吗?我的问题已经得到了回答,但是的,我先检查了文档。谢谢你的邀请。