我有以下数据框:
A B
0 1 5
1 2 6
2 3 7
3 4 8
我想计算协方差
a = df.iloc[:,0].values
b = df.iloc[:,1].values
将 numpy 用于 cov 为:
numpy.cov(a,b)
我得到:
array([[ 1.66666667, 1.66666667],
[ 1.66666667, 1.66666667]])
对角线元素不应该是1吗?如何将对角线元素设为 1?
最佳答案
不,他们不应该。我认为您可能将其与相关性混淆了。
相关性和协方差是不同的。
您在对角线上看到的只是变量的方差!
公式的维基截图 -
Wiki Link
关于python - 协方差矩阵的对角元素不是 1 pandas/numpy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47427238/