协方差矩阵怎么求
01
首先我们要了解协方差矩阵的意义,协方差矩阵每个元素Cov(xi,xj)表示的随机变量xi与xj的协方差,并且对角线上的元素等于向量自身的方差。
02
协方差代表两个变量之间的关系,其计算公式如图。
03
如果协方差结果为正值,则代表两个相应变量之间的关系为正相关,如果为负值则为负相关,如果为0则代表不相关。将每个元素的协方差数值代入矩阵,即得出协方差矩阵的数字形式。
04
协方差矩阵很简单,但它能通过变换得出一个完全不相关的矩阵,即主成分分析。
协方差矩阵的计算
详解协方差与协方差矩阵
协方差的定义
对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。
记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定
则X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4个样本,每个样本都是二维的,所以只可能有X和Y两种维度。所以
用中文来描述,就是:
协方差(i,j)=(第i列的所有元素-第i列的均值)*(第j列的所有元素-第j列的均值)
这里只有X,Y两列,所以得到的协方差矩阵是2×2的矩阵,下面分别求出每一个元素:
用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)*
如何求协方差矩阵
(1) 取列向量c和s,分别以cos(theta_i)和sin(theta_i)为分量
那么原来的矩阵是I+XY^T,其中X=[c,s],Y=[s,c]
利用Sylvester恒等式det(I+XY^T)=det(I+Y^TX)即可,后面那个二阶行列式可以算出来
(2) 记原矩阵为A,再取多项式f(x)=a1+a_2x+…+a_nx^{n-1}
再取一个Vandermonde矩阵W,W由x^n-2=0的n个复根x_1,…,x_n生成
那么AW=WD,其中D是对角阵,对角元为f(x_1),…,f(x_n),所以det(A)=det(D)