先搞懂协方差矩阵是什献垴淄睬么东西:这篇文章有助于你的理解:![python 线性代数:[12]求协方差矩阵](https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad7f1e95556eee7340f6578b8da.jpg)
两个向量构成一个向量组:y![python 线性代数:[12]求协方差矩阵](https://exp-picture.cdn.bcebos.com/354e7a781423beb9fcbc787630d6e1d06ce8b3da.jpg)
使用numpy.cov方法来求协方差矩阵:![python 线性代数:[12]求协方差矩阵](https://exp-picture.cdn.bcebos.com/9b2098254193cee823860daf5a0ff2260c9aa8da.jpg)
怎样读懂协方差矩阵呢?400是s和s的协方差(也就是方差);右上角200是s与t的协方差;100是t与t的协方差(也就是方差);可见协方差矩阵是一个对称阵![python 线性代数:[12]求协方差矩阵](https://exp-picture.cdn.bcebos.com/304f0999e92abab8dec2334a4814f1c594eea1da.jpg)
假如我们再增加一个变量,我们还知道这些人的性别,于是性别就是:![python 线性代数:[12]求协方差矩阵](https://exp-picture.cdn.bcebos.com/b666b2530688912c0348855c1b4800fc76f797da.jpg)
结果也是这样的:![python 线性代数:[12]求协方差矩阵](https://exp-picture.cdn.bcebos.com/76b6860e5f204371f1596f94323acd8921c58fda.jpg)
这是今天用到的所有代码:
>>> import numpy
>>> s=[100,120,140]
>>> t=[50,60,70]
>>> y=s+t
>>> y
[100, 120, 140, 50, 60, 70]
>>> y=[s,t]
>>> y
[[100, 120, 140], [50, 60, 70]]
>>> a=numpy.cov(y)
>>> a
array([[ 400., 200.],
[ 200., 100.]])
>>>
>>> x=[1,0,1]
>>> y=[s,t,x]
>>>
>>> a=numpy.cov(y)
>>> a
array([[ 4.00000000e+02, 2.00000000e+02, 0.00000000e+00],
[ 2.00000000e+02, 1.00000000e+02, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 3.33333333e-01]])
>>>
>>>
>>>