zoukankan      html  css  js  c++  java
  • 具体解释协方差与协方差矩阵

    协方差的定义

     

    对于一般的分布,直接代入E(X)之类的就能够计算出来了,但真给你一个详细数值的分布,要计算协方差矩阵,依据这个公式来计算,还真不easy反应过来。网上值得參考的资料也不多,这里用一个样例说明协方差矩阵是怎么计算出来的吧。

    记住,XY是一个列向量,它表示了每种情况下每一个样本可能出现的数。比方给定

    X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4个样本,每一个样本都是二维的,所以仅仅可能有XY两种维度。所以

     

    用中文来描写叙述,就是:

    协方差(i,j)=(第i列的全部元素-i列的均值)*(第j列的全部元素-j列的均值)

    这里仅仅有X,Y两列,所以得到的协方差矩阵是2x2的矩阵,以下分别求出每个元素:

           所以,依照定义,给定的4个二维样本的协方差矩阵为:

     

        

    matlab计算这个样例

    z=[1,2;3,6;4,2;5,2]

    cov(z)

    ans =

        2.9167   -0.3333

       -0.3333    4.0000

    能够看出,matlab计算协方差过程中还将元素统一缩小了3倍。所以,协方差的matlab计算公式为:

        协方差(i,j)=(第i列全部元素-i列均值)*(第j列全部元素-j列均值)/(样本数-1

           以下在给出一个43样本的实例,注意4维样本与符号X,Y就没有关系了,X,Y表示两维的,4维就直接套用计算公式,不用X,Y那么具有迷惑性的表达了。

     

     

     

       

                    

            (3)与matlab计算验证

                         Z=[1 2 3 4;3 4 1 2;2 3 1 4]

                         cov(Z)

                         ans =

                              1.0000    1.0000   -1.0000   -1.0000

                              1.0000    1.0000   -1.0000   -1.0000

                             -1.0000   -1.0000    1.3333    0.6667

                              -1.0000   -1.0000    0.6667    1.3333

           可知该计算方法是正确的。我们还能够看出,协方差矩阵都是方阵,它的维度与样本维度有关(相等)。參考2中还给出了计算协方差矩阵的源码,很简洁易懂,在此感谢一下!

     

    參考:

    [1] http://en.wikipedia.org/wiki/Covariance_matrix

    [2] http://www.cnblogs.com/cvlabs/archive/2010/05/08/1730319.html

     

     

  • 相关阅读:
    java语言程序设计与数据结构(基础版)第三章**3.4
    贪心练习:阿里巴巴与十四大盗————背包问题
    贪心练习最优装载问题
    贪心训练均分纸牌Noip2002
    排队打水问题(信息学奥赛一本通贪心算法)
    PAT甲题题解-1040. Longest Symmetric String (25)-求最长回文子串
    PAT甲题题解-1039. Course List for Student (25)-建立映射+vector
    PAT甲题题解-1038. Recover the Smallest Number (30)-排序/贪心,自定义cmp函数的强大啊!!!
    PAT甲题题解-1037. Magic Coupon (25)-贪心,水
    PAT甲题题解-1036. Boys vs Girls (25)-找最大最小,大水题
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4045960.html
Copyright © 2011-2022 走看看