python 线性代数:求协方差矩阵
标签:
python基础python基础教程python学习 |
分类: Python学习 |
先搞懂协方差矩阵是什么东西:这篇文章有助于你的理解:
http://s12/mw690/006du1Yszy732oQNDfB1b&690线性代数:求协方差矩阵" TITLE="python
搞懂协方差以后,我们以一个通俗易懂的例子来说明怎样在python中求协方差矩阵,已经求它是为了干嘛。
-
假如我们现在想要知道身高和体重的关系,我们测量了三个人的身高和体重,身高用s表示,体重用t表示:
-
http://s12/mw690/006du1Yszy732oRqtbZdb&690线性代数:求协方差矩阵" TITLE="python
线性代数:求协方差矩阵" />
-
两个向量构成一个向量组:y
-
http://s6/mw690/006du1Yszy732oSd7nLd5&690线性代数:求协方差矩阵" TITLE="python
线性代数:求协方差矩阵" />
-
使用numpy.cov方法来求协方差矩阵:
-
http://s8/mw690/006du1Yszy732oT62p157&690线性代数:求协方差矩阵" TITLE="python
线性代数:求协方差矩阵" />
-
怎样读懂协方差矩阵呢?400是s和s的协方差(也就是方差);右上角200是s与t的协方差;100是t与t的协方差(也就是方差);可见协方差矩阵是一个对称阵
-
http://s8/mw690/006du1Yszy732oTJfuLb7&690线性代数:求协方差矩阵" TITLE="python
线性代数:求协方差矩阵" />
-
假如我们再增加一个变量,我们还知道这些人的性别,于是性别就是:
-
http://s10/mw690/006du1Yszy732oUkrsR49&690线性代数:求协方差矩阵" TITLE="python
线性代数:求协方差矩阵" />
-
结果也是这样的:
-
http://s2/mw690/006du1Yszy732oV0mul41&690线性代数:求协方差矩阵" TITLE="python
线性代数:求协方差矩阵" />
-
这是今天用到的所有代码:
>>> 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]]) >>>
>>>
>>>

加载中…