加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

python 线性代数:求协方差矩阵

(2016-07-07 13:22:20)
标签:

python基础

python基础教程

python学习

分类: Python学习

先搞懂协方差矩阵是什么东西:这篇文章有助于你的理解:

http://s12/mw690/006du1Yszy732oQNDfB1b&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

搞懂协方差以后,我们以一个通俗易懂的例子来说明怎样在python中求协方差矩阵,已经求它是为了干嘛。

  1. 假如我们现在想要知道身高和体重的关系,我们测量了三个人的身高和体重,身高用s表示,体重用t表示:

  2. http://s12/mw690/006du1Yszy732oRqtbZdb&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

  3. 两个向量构成一个向量组:y

  4. http://s6/mw690/006du1Yszy732oSd7nLd5&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

  5. 使用numpy.cov方法来求协方差矩阵:

  6. http://s8/mw690/006du1Yszy732oT62p157&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

  7. 怎样读懂协方差矩阵呢?400是s和s的协方差(也就是方差);右上角200是s与t的协方差;100是t与t的协方差(也就是方差);可见协方差矩阵是一个对称阵

  8. http://s8/mw690/006du1Yszy732oTJfuLb7&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

  9. 假如我们再增加一个变量,我们还知道这些人的性别,于是性别就是:

  10. http://s10/mw690/006du1Yszy732oUkrsR49&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

  11. 结果也是这样的:

  12. http://s2/mw690/006du1Yszy732oV0mul41&690线性代数:求协方差矩阵" TITLE="python 线性代数:求协方差矩阵" />

  13. 这是今天用到的所有代码:

    >>> 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]])

    >>> 

     

    >>> 

    >>> 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有