协方差矩阵反映的是多个变量之间的相互关系(包括变量本身的方差和它们之间的协方差)。
协方差的计算公式
假设我们有一个数据集,其中有 n n n 个样本,每个样本有 p p p 个变量。令 X = { X 1 , X 2 , … , X p } X = \{X_1, X_2, \dots, X_p\} X={X1,X2,…,Xp} 是变量集,协方差矩阵 Σ \boldsymbol{\Sigma} Σ 的元素 Σ i j \Sigma_{ij} Σij 是第 i i i 个变量和第 j j j 个变量之间的协方差。协方差的公式为:
Cov ( X i , X j ) = 1 n − 1 ∑ k = 1 n ( X i k − X ˉ i ) ( X j k − X ˉ j ) \text{Cov}(X_i, X_j) = \frac{1}{n-1} \sum_{k=1}^{n} \left( X_{ik} - \bar{X}_i \right)\left( X_{jk} - \bar{X}_j \right) Cov(Xi,Xj)=n−11k=1∑n(Xik−Xˉi)(Xjk−Xˉj)
其中:
-
X i k X_{ik} Xik 是第 k k k 个样本的第 i i i 个变量的值。
-
X ˉ i \bar{X}_i Xˉi 是第 i i i 个变量的均值,计算公式为:
X ˉ i = 1 n ∑ k = 1 n X i k \bar{X}_i = \frac{1}{n} \sum_{k=1}^{n} X_{ik} Xˉi=n1k=1∑nXik -
Cov ( X i , X j ) \text{Cov}(X_i, X_j) Cov(Xi,Xj) 是第 i i i 个变量和第 j j j 个变量之间的协方差。
-
当 i = j i = j i=j 时, Cov ( X i , X j ) \text{Cov}(X_i, X_j) Cov(Xi,Xj) 就是第 i i i 个变量的方差。
计算协方差矩阵的步骤
假设我们有一个 3 个样本的二维数据集,表示为矩阵 A A A:
A = [ 9 6 5 3 8 4 ] A = \begin{bmatrix} 9 & 6 \\ 5 & 3 \\ 8 & 4 \end{bmatrix} A= 958634
- 每行表示一个样本,第一列是第一个变量 X 1 X_1 X1,第二列是第二个变量 X 2 X_2 X2。
- 样本数 n = 3 n = 3 n=3,变量数 p = 2 p = 2 p=2。
步骤1:计算每个变量的均值
-
X
1
X_1
X1 的均值:
X ˉ 1 = 9 + 5 + 8 3 = 7.33 \bar{X}_1 = \frac{9 + 5 + 8}{3} = 7.33 Xˉ1=39+5+8=7.33 -
X
2
X_2
X2 的均值:
X ˉ 2 = 6 + 3 + 4 3 = 4.33 \bar{X}_2 = \frac{6 + 3 + 4}{3} = 4.33 Xˉ2=36+3+4=4.33
步骤2:计算每个变量的协方差
-
变量 X 1 X_1 X1 和 X 1 X_1 X1 的协方差(即方差):
Cov ( X 1 , X 1 ) = 1 n − 1 ∑ k = 1 n ( X 1 k − X ˉ 1 ) 2 = 1 2 ( ( 9 − 7.33 ) 2 + ( 5 − 7.33 ) 2 + ( 8 − 7.33 ) 2 ) = 4.33 \text{Cov}(X_1, X_1) = \frac{1}{n-1} \sum_{k=1}^{n} \left( X_{1k} - \bar{X}_1 \right)^2 = \frac{1}{2} \left( (9-7.33)^2 + (5-7.33)^2 + (8-7.33)^2 \right) = 4.33 Cov(X1,X1)=n−11k=1∑n(X1k−Xˉ1)2=21((9−7.33)2+(5−7.33)2+(8−7.33)2)=4.33 -
变量 X 2 X_2 X2 和 X 2 X_2 X2 的协方差(即方差):
Cov ( X 2 , X 2 ) = 1 n − 1 ∑ k = 1 n ( X 2 k − X ˉ 2 ) 2 = 1 2 ( ( 6 − 4.33 ) 2 + ( 3 − 4.33 ) 2 + ( 4 − 4.33 ) 2 ) = 2.33 \text{Cov}(X_2, X_2) = \frac{1}{n-1} \sum_{k=1}^{n} \left( X_{2k} - \bar{X}_2 \right)^2 = \frac{1}{2} \left( (6-4.33)^2 + (3-4.33)^2 + (4-4.33)^2 \right) = 2.33 Cov(X2,X2)=n−11k=1∑n(X2k−Xˉ2)2=21((6−4.33)2+(3−4.33)2+(4−4.33)2)=2.33 -
变量 X 1 X_1 X1 和 X 2 X_2 X2 之间的协方差:
Cov ( X 1 , X 2 ) = 1 n − 1 ∑ k = 1 n ( X 1 k − X ˉ 1 ) ( X 2 k − X ˉ 2 ) \text{Cov}(X_1, X_2) = \frac{1}{n-1} \sum_{k=1}^{n} \left( X_{1k} - \bar{X}_1 \right) \left( X_{2k} - \bar{X}_2 \right) Cov(X1,X2)=n−11k=1∑n(X1k−Xˉ1)(X2k−Xˉ2)
计算过程为:
= 1 2 ( ( 9 − 7.33 ) ( 6 − 4.33 ) + ( 5 − 7.33 ) ( 3 − 4.33 ) + ( 8 − 7.33 ) ( 4 − 4.33 ) ) = 2.83 = \frac{1}{2} \left( (9-7.33)(6-4.33) + (5-7.33)(3-4.33) + (8-7.33)(4-4.33) \right) = 2.83 =21((9−7.33)(6−4.33)+(5−7.33)(3−4.33)+(8−7.33)(4−4.33))=2.83
步骤3:构建协方差矩阵
现在,我们可以得到协方差矩阵 Σ \boldsymbol{\Sigma} Σ:
Σ = [ 4.33 2.83 2.83 2.33 ] \boldsymbol{\Sigma} = \begin{bmatrix} 4.33 & 2.83 \\ 2.83 & 2.33 \end{bmatrix} Σ=[4.332.832.832.33]
协方差矩阵的对称性与正定性
-
对称性:由上面的计算可以看出,协方差矩阵 Σ \Sigma Σ 是对称的,因为:
Cov ( X 1 , X 2 ) = Cov ( X 2 , X 1 ) \text{Cov}(X_1, X_2) = \text{Cov}(X_2, X_1) Cov(X1,X2)=Cov(X2,X1)
这是协方差定义的性质,导致协方差矩阵的对角线下和对角线上元素相等。 -
正定性:
- 协方差矩阵的正定性意味着对任意非零向量
z
\mathbf{z}
z,都有:
z ⊤ Σ z > 0 \mathbf{z}^\top \boldsymbol{\Sigma} \mathbf{z} > 0 z⊤Σz>0 - 直观地理解,正定性确保协方差矩阵描述的系统是“可变”的,而不是“退化”的。这意味着变量间的相互关系可以产生合理的测量。
- 我们可以通过计算行列式来判断矩阵是否正定。如果行列式大于 0,矩阵就是正定的。
- 协方差矩阵的正定性意味着对任意非零向量
z
\mathbf{z}
z,都有:
在我们的例子中,协方差矩阵的行列式是:
∣ Σ ∣ = ( 4.33 ) ( 2.33 ) − ( 2.83 ) 2 = 2.08 |\boldsymbol{\Sigma}| = (4.33)(2.33) - (2.83)^2 = 2.08 ∣Σ∣=(4.33)(2.33)−(2.83)2=2.08
如果行列式为 0,严格来说这个矩阵并不是正定的,而是半正定的。这表明数据中两个变量之间高度线性相关,几乎是线性依赖的。对于一般数据,协方差矩阵应该是正定的。
总结
- 协方差矩阵的对称性:由协方差的定义决定, Cov ( X i , X j ) = Cov ( X j , X i ) \text{Cov}(X_i, X_j) = \text{Cov}(X_j, X_i) Cov(Xi,Xj)=Cov(Xj,Xi),因此协方差矩阵始终是对称的。
- 协方差矩阵的正定性:确保变量之间有实际的变化和不确定性。正定性可以通过计算行列式或检查其特征值是否全部为正来验证。