美文网首页
协方差矩阵的计算

协方差矩阵的计算

作者: Vinicer | 来源:发表于2016-12-25 19:43 被阅读3219次

    详解协方差与协方差矩阵
    协方差的定义



    对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。
    记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定



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

    用中文来描述,就是:
    协方差(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)**

    相关文章

      网友评论

          本文标题:协方差矩阵的计算

          本文链接:https://www.haomeiwen.com/subject/cuddvttx.html