协方差矩阵的计算方法_两个向量的协方差计算

(5) 2024-07-15 08:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
协方差矩阵的计算方法_两个向量的协方差计算,希望能够帮助你!!!。

1. 协方差矩阵

X , Y X,Y X,Y是两个随机变量, X , Y X,Y X,Y的协方差 C o v ( X , Y ) Cov(X,Y) Cov(X,Y)定义为:
c o v ( X , Y ) = E [ ( X − μ x ) ( Y − μ y ) ] cov(X,Y) = E[(X-\mu_x)(Y-\mu_y)] cov(X,Y)=E[(X−μx​)(Y−μy​)]
其中:
E ( X ) = μ x , E ( Y ) = μ y E(X)=\mu_x,E(Y)=\mu_y E(X)=μx​,E(Y)=μy​

2.协方差矩阵定义

矩阵中的数据按行排列和按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个observation(样本),那么每一列就是一个随机变量(特征)。
X m × n = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] = [ c 1 c 2 ⋯ c n ] X_{m \times n} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{bmatrix} \quad = \begin{bmatrix} c_1 & c_2 & \cdots & c_n \end{bmatrix} \quad Xm×n​=⎣⎢⎢⎢⎡​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋱⋯​a1n​a2n​⋮amn​​⎦⎥⎥⎥⎤​=[c1​​c2​​⋯​cn​​]
协方差矩阵:
c o v M a t r i x = 1 m − 1 [ c o v ( c 1 , c 1 ) c o v ( c 1 , c 2 ) ⋯ c o v ( c 1 , c n ) c o v ( c 2 , c 1 ) c o v ( c 2 , c 2 ) ⋯ c o v ( c 2 , c n ) ⋮ ⋮ ⋱ ⋮ c o v ( c n , c 1 ) c o v ( c n , c 2 ) ⋯ c o v ( c n , c n ) ] covMatrix = \frac{1}{m-1} \begin{bmatrix} cov(c_1, c_1) & cov(c_1, c_2) & \cdots & cov(c_1, c_n) \\ cov(c_2, c_1) & cov(c_2, c_2) & \cdots & cov(c_2, c_n) \\ \vdots & \vdots & \ddots & \vdots \\ cov(c_n, c_1) & cov(c_n, c_2) & \cdots & cov(c_n, c_n) \\ \end{bmatrix} \quad covMatrix=m−11​⎣⎢⎢⎢⎡​cov(c1​,c1​)cov(c2​,c1​)⋮cov(cn​,c1​)​cov(c1​,c2​)cov(c2​,c2​)⋮cov(cn​,c2​)​⋯⋯⋱⋯​cov(c1​,cn​)cov(c2​,cn​)⋮cov(cn​,cn​)​⎦⎥⎥⎥⎤​
协方差矩阵的维度等于随机变量的个数,即每一个observation的维度。在某些场合前边也会出现 1 m \frac{1}{m} m1​,而不是 1 m − 1 \frac{1}{m-1} m−11​。

3.求解协方差矩阵的步骤

举个例子,矩阵X按行排列:
X = [ 1 2 3 3 1 1 ] = [ c 1 c 2 c 3 ] X = \begin{bmatrix} 1 & 2 & 3 \\ 3 & 1 & 1\\ \end{bmatrix} \quad = \begin{bmatrix} c_1 & c_2 & c_3 \end{bmatrix} \quad X=[13​21​31​]=[c1​​c2​​c3​​]

1.求每个维度的平均值
c ˉ = [ 2 1.5 2 ] = [ c 1 ˉ c 2 ˉ c 3 ˉ ] \bar{c} = \begin{bmatrix} 2 & 1.5 & 2 \end{bmatrix} \quad = \begin{bmatrix} \bar{c_1} & \bar{c_2} & \bar{c_3} \end{bmatrix} \quad cˉ=[2​1.5​2​]=[c1​ˉ​​c2​ˉ​​c3​ˉ​​]
2.将X的每一列减去平均值
X = [ − 1 0.5 1 1 − 0.5 − 1 ] X = \begin{bmatrix} -1 & 0.5 & 1 \\ 1 & -0.5 & -1\\ \end{bmatrix} \quad X=[−11​0.5−0.5​1−1​]
其中:
c i = c i − c i ˉ c_i = c_i - \bar{c_i} ci​=ci​−ci​ˉ​
3.计算协方差矩阵
c o v = 1 m − 1 X T X = 1 2 − 1 [ 2 − 1 − 2 − 1 0.5 1 − 2 1 2 ] cov = \frac{1}{m-1}X^TX = \frac{1}{2-1} \begin{bmatrix} 2 & -1 & -2 \\ -1 & 0.5 & 1 \\ -2 & 1 & 2 \\ \end{bmatrix} \quad cov=m−11​XTX=2−11​⎣⎡​2−1−2​−10.51​−212​⎦⎤​

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复