方差,协方差及协方差矩阵的计算

1.方差

  • 方差是用来衡量一组数据的离散程度,数序表达式如下:
    σ 2 = 1 N ∑ i = 1 N ( x i − μ ) 2 \sigma^2=\frac1N\sum_{i=1}^N(x_i-\mu)^2 σ2=N1i=1N(xiμ)2

    • σ 2 σ^2 σ2表示样本的总体方差,
    • N N N 表示样本总数,
    • x i x _i xi是第 i 个样本,
    • μ μ μ 是数据集的平均值 ( μ = 1 N ∑ i = 1 N x i ) (\mu=\frac1N\sum_{i=1}^Nx_i) (μ=N1i=1Nxi)
  • 假设某班级有 5 名学生的数学成绩为: 85 , 74 , 63 , 95 , 99 85, 74, 63, 95, 99 85,74,63,95,99, 计算平均值为 μ = 85 + 74 + 63 + 95 + 99 5 = 83.2 μ = \frac{85 +74 + 63 + 95 + 99} 5 =83.2 μ=585+74+63+95+99=83.2 ,方差的计算如下:
    σ 成绩 2 = ( 85 − 83.5 ) 2 + ( 74 − 83.5 ) 2 + ( 63 − 83.5 ) 2 + ( 95 − 83.5 ) 2 + ( 99 − 83.5 ) 2 5 = 177.05 {σ_{成绩}}^2 = \frac{(85-83.5)^2 +(74-83.5)^2 + (63-83.5)^2 + (95-83.5)^2 + (99 - 83.5)^2}{5} = 177.05 σ成绩2=5(8583.5)2+(7483.5)2+(6383.5)2+(9583.5)2+(9983.5)2=177.05

2.协方差

  • 协方差是用来衡量两组样本之间的关系,数序表达式如下:
    σ x σ y = 1 N ∑ i = 1 N ( x i − μ x ) ( y i − μ y ) \sigma_x\sigma_y=\frac{1}{N}\sum_{i=1}^N(x_i-\mu_x)(y_i-\mu_y) σxσy=N1i=1N(xiμx)(yiμy)
    • σ x σ y σ_xσ_y σxσy表示两组样本的总体协方差,
    • N N N 是样本对的总数,
    • x i , y i x _i, y_i xi,yi 是第 i 对样本,
    • μ x , μ y μ_x,μ_y μx,μy分别表示两组样本的均值。
  • 例如,要计算如下 x , y x, y x,y 两个样本的协方差:
xy
500200
600250
451180
    • 计算 x x x的平均值 u x = 500 + 600 + 451 3 = 517 u_x = \frac{500 +600 +451}3 = 517 ux=3500+600+451=517
    • 计算 y y y的平均值 u y = 200 + 250 + 180 3 = 210 u_y = \frac{200 +250 +180}3 = 210 uy=3200+250+180=210
      σ x σ y = ( 500 − 517 ) ( 200 − 210 ) + ( 600 − 517 ) ( 250 − 210 ) + ( 451 − 517 ) ( 180 − 210 ) 3 = 1823.33... σ_xσ_y = \frac{(500-517)(200 - 210) + (600-517)(250-210) + (451-517)(180-210) }{3} = 1823.33... σxσy=3(500517)(200210)+(600517)(250210)+(451517)(180210)=1823.33...

3.协方差矩阵

协方差矩阵就是将多组数据的方差和协方差用矩阵的形式表达出来,例如如下三组样本,其协方差的矩阵排布如下,从下图可以看出,对角线上是各个样本的方差,两边则是样本之间的协方差

xyz
x 1 x_1 x1 y 1 y_1 y1 z 1 z_1 z1
x 2 x_2 x2 y 2 y_2 y2 z 2 z_2 z2
x 3 x_3 x3 y 3 y_3 y3 z 3 z_3 z3

c o v = [ σ x 2 σ x σ y σ x σ z σ y σ x σ y 2 σ y σ z σ z σ x σ z σ y σ x 2 ] cov = \left[\begin{array}{ccc}σ_x^2&σ_xσ_y&σ_xσ_z\\ σ_yσ_x&σ_y^2&σ_yσ_z\\ σ_zσ_x&σ_zσ_y&σ_x^2\end{array}\right] cov= σx2σyσxσzσxσxσyσy2σzσyσxσzσyσzσx2
在这里插入图片描述

4.通过矩阵运算求解一个矩阵的协方差矩阵

  • 将第三节使用的样本写成矩阵的形式,本节主要求解这个矩阵的协方差矩阵
    [ x 1 y 1 z 1 x 2 y 2 z 2 x 3 y 3 z 3 ] \left[\begin{array}{ccc}x_1&y_1&z_1\\ x_2&y_2&z_2\\ x_3&y_3&z_3\end{array}\right] x1x2x3y1y2y3z1z2z3
  • 求出过度矩阵 a a a,根据下面计算可知,过度矩阵 a a a 其实是求解了每个样本的 标准差
    a = [ x 1 y 1 z 1 x 2 y 2 z 2 x 3 y 3 z 3 ] − 1 3 [ 1 1 1 1 1 1 1 1 1 ] [ x 1 y 1 z 1 x 2 y 2 z 2 x 3 y 3 z 3 ] − − − − a = [ x 1 y 1 z 1 x 2 y 2 z 2 x 3 y 3 z 3 ] − 1 3 [ x 1 + x 2 + x 3 y 1 + y 2 + y 3 z 1 + z 2 + z 3 x 1 + x 2 + x 3 y 1 + y 2 + y 3 z 1 + z 2 + z 3 x 1 + x 2 + x 3 y 1 + y 2 + y 3 z 1 + z 2 + z 3 ] − − − − a = [ x 1 − 1 3 ( x 1 + x 2 + x 3 ) y 1 − 1 3 ( y 1 + y 2 + y 3 ) z 1 − 1 3 ( z 1 + z 2 + z 3 ) x 2 − 1 3 ( x 1 + x 2 + x 3 ) y 2 − 1 3 ( y 1 + y 2 + y 3 ) z 2 − 1 3 ( z 1 + z 2 + z 3 ) x 3 − 1 3 ( x 1 + x 2 + x 3 ) y 3 − 1 3 ( y 1 + y 2 + y 3 ) z 3 − 1 3 ( z 1 + z 2 + z 3 ) ] a = \left[\begin{array}{ccc}x_1&y_1&z_1\\x_2&y_2&z_2\\x_3&y_3&z_3\end{array}\right] - \frac{1}{3} \left[\begin{array}{ccc}1&1&1\\1&1&1\\1&1&1\end{array}\right] \left[\begin{array}{ccc}x_1&y_1&z_1\\x_2&y_2&z_2\\x_3&y_3&z_3\end{array}\right] \\ ----\\ a = \left[\begin{array}{ccc}x_1&y_1&z_1\\x_2&y_2&z_2\\x_3&y_3&z_3\end{array}\right] - \frac{1}{3} \left[\begin{array}{ccc}x_1+x_2+x_3&y_1+y_2+y_3&z_1+z_2+z_3\\x_1+x_2+x_3&y_1+y_2+y_3&z_1+z_2+z_3\\x_1+x_2+x_3&y_1+y_2+y_3&z_1+z_2+z_3\end{array}\right] \\ ---- \\ a = \left[\begin{array}{ccc}x_1 - \frac{1}{3} (x_1+x_2+x_3)&y_1 - \frac{1}{3} (y_1+y_2+y_3)&z_1 -\frac{1}{3} (z_1+z_2+z_3) \\x_2 - \frac{1}{3} (x_1+x_2+x_3)&y_2 - \frac{1}{3} (y_1+y_2+y_3)&z_2 -\frac{1}{3} (z_1+z_2+z_3)\\x_3 - \frac{1}{3} (x_1+x_2+x_3)&y_3 - \frac{1}{3} (y_1+y_2+y_3)&z_3 -\frac{1}{3} (z_1+z_2+z_3)\end{array}\right] a= x1x2x3y1y2y3z1z2z3 31 111111111 x1x2x3y1y2y3z1z2z3 a= x1x2x3y1y2y3z1z2z3 31 x1+x2+x3x1+x2+x3x1+x2+x3y1+y2+y3y1+y2+y3y1+y2+y3z1+z2+z3z1+z2+z3z1+z2+z3 a= x131(x1+x2+x3)x231(x1+x2+x3)x331(x1+x2+x3)y131(y1+y2+y3)y231(y1+y2+y3)y331(y1+y2+y3)z131(z1+z2+z3)z231(z1+z2+z3)z331(z1+z2+z3)
  • 最后求解协方差矩阵P
    P = 1 3 ∗ a T ∗ a P = \frac{1}{3} * a^T *a P=31aTa

a T = [ x 1 − 1 3 ( x 1 + x 2 + x 3 ) x 2 − 1 3 ( x 1 + x 2 + x 3 ) x 3 − 1 3 ( x 1 + x 2 + x 3 ) y 1 − 1 3 ( y 1 + y 2 + y 3 ) y 2 − 1 3 ( y 1 + y 2 + y 3 ) y 3 − 1 3 ( y 1 + y 2 + y 3 ) z 1 − 1 3 ( z 1 + z 2 + z 3 ) z 2 − 1 3 ( z 1 + z 2 + z 3 ) z 3 − 1 3 ( z 1 + z 2 + z 3 ) ] a^T = \left[\begin{array}{ccc}x_1 - \frac{1}{3} (x_1+x_2+x_3)&x_2 - \frac{1}{3} (x_1+x_2+x_3)&x_3 - \frac{1}{3} (x_1+x_2+x_3) \\ y_1 - \frac{1}{3} (y_1+y_2+y_3)&y_2 - \frac{1}{3} (y_1+y_2+y_3)&y_3 - \frac{1}{3} (y_1+y_2+y_3)\\ z_1 - \frac{1}{3} (z_1+z_2+z_3)&z_2 -\frac{1}{3} (z_1+z_2+z_3)&z_3 -\frac{1}{3}(z_1+z_2+z_3)\end{array}\right] aT= x131(x1+x2+x3)y131(y1+y2+y3)z131(z1+z2+z3)x231(x1+x2+x3)y231(y1+y2+y3)z231(z1+z2+z3)x331(x1+x2+x3)y331(y1+y2+y3)z331(z1+z2+z3)

P = 1 3 ∗ [ x 1 − 1 3 ( x 1 + x 2 + x 3 ) x 2 − 1 3 ( x 1 + x 2 + x 3 ) x 3 − 1 3 ( x 1 + x 2 + x 3 ) y 1 − 1 3 ( y 1 + y 2 + y 3 ) y 2 − 1 3 ( y 1 + y 2 + y 3 ) y 3 − 1 3 ( y 1 + y 2 + y 3 ) z 1 − 1 3 ( z 1 + z 2 + z 3 ) z 2 − 1 3 ( z 1 + z 2 + z 3 ) z 3 − 1 3 ∗ ( z 1 + z 2 + z 3 ) ] ∗ [ x 1 − 1 3 ( x 1 + x 2 + x 3 ) y 1 − 1 3 ( y 1 + y 2 + y 3 ) z 1 − 1 3 ( z 1 + z 2 + z 3 ) x 2 − 1 3 ( x 1 + x 2 + x 3 ) y 2 − 1 3 ( y 1 + y 2 + y 3 ) z 2 − 1 3 ( z 1 + z 2 + z 3 ) x 3 − 1 3 ( x 1 + x 2 + x 3 ) y 3 − 1 3 ( y 1 + y 2 + y 3 ) z 3 − 1 3 ( z 1 + z 2 + z 3 ) ] P = \frac{1}{3} * \left[\begin{array}{ccc}x_1 - \frac{1}{3} (x_1+x_2+x_3)&x_2 - \frac{1}{3} (x_1+x_2+x_3)&x_3 - \frac{1}{3} (x_1+x_2+x_3) \\ y_1 - \frac{1}{3} (y_1+y_2+y_3)&y_2 - \frac{1}{3} (y_1+y_2+y_3)&y_3 - \frac{1}{3} (y_1+y_2+y_3)\\ z_1 - \frac{1}{3} (z_1+z_2+z_3)&z_2 -\frac{1}{3} (z_1+z_2+z_3)&z_3 -\frac{1}{3} *(z_1+z_2+z_3)\end{array}\right] * \left[\begin{array}{ccc}x_1 - \frac{1}{3} (x_1+x_2+x_3)&y_1 - \frac{1}{3} (y_1+y_2+y_3)&z_1 -\frac{1}{3} (z_1+z_2+z_3) \\x_2 - \frac{1}{3} (x_1+x_2+x_3)&y_2 - \frac{1}{3} (y_1+y_2+y_3)&z_2 -\frac{1}{3} (z_1+z_2+z_3)\\x_3 - \frac{1}{3} (x_1+x_2+x_3)&y_3 - \frac{1}{3} (y_1+y_2+y_3)&z_3 -\frac{1}{3} (z_1+z_2+z_3)\end{array}\right] P=31 x131(x1+x2+x3)y131(y1+y2+y3)z131(z1+z2+z3)x231(x1+x2+x3)y231(y1+y2+y3)z231(z1+z2+z3)x331(x1+x2+x3)y331(y1+y2+y3)z331(z1+z2+z3) x131(x1+x2+x3)x231(x1+x2+x3)x331(x1+x2+x3)y131(y1+y2+y3)y231(y1+y2+y3)y331(y1+y2+y3)z131(z1+z2+z3)z231(z1+z2+z3)z331(z1+z2+z3)

  • 如此运算便可通过矩阵运算求出协方差矩阵
### 协方差矩阵计算方法 #### 定义与公式 协方差矩阵用于描述一组随机变量之间的线性关系强度。如果有一组随机变量 \(X_1, X_2, \ldots, X_n\),则协方差矩阵是一个 \(n \times n\) 的对称矩阵,其中第 \(i,j\) 位置上的元素表示随机变量 \(X_i\) 和 \(X_j\) 的协方差协方差的定义如下: \[ \text{Cov}(X_i, X_j) = E[(X_i - \mu_i)(X_j - \mu_j)] \] 其中,\(E[\cdot]\) 表示期望运算,\(\mu_i\) 是 \(X_i\) 的均值[^2]。 对于给定的数据集,可以使用以下公式来估计协方差矩阵: \[ \Sigma_{ij} = \frac{1}{N-1} \sum_{k=1}^{N} (x_k[i] - \bar{x}[i])(x_k[j] - \bar{x}[j]) \] 这里,\(N\) 是样本数量,\(x_k[i]\) 是第 \(k\) 个样本中第 \(i\) 维的值,而 \(\bar{x}[i]\) 则是所有样本在该维度上的平均值[^1]。 #### Python 实现 以下是基于 NumPy 库的一个简单实现: ```python import numpy as np def calculate_covariance_matrix(data): """ 计算数据的协方差矩阵。 参数: data: ndarray, 形状为 (N_samples, N_features), 数据集中每一行代表一个样本 返回: cov_matrix: ndarray, 形状为 (N_features, N_features), 协方差矩阵 """ mean_vector = np.mean(data, axis=0) centered_data = data - mean_vector cov_matrix = np.dot(centered_data.T, centered_data) / (data.shape[0] - 1) return cov_matrix # 示例数据 data = np.array([[1, 2], [3, 4], [5, 6]]) cov_matrix = calculate_covariance_matrix(data) print("协方差矩阵:") print(cov_matrix) ``` 运行以上代码将会得到输入数据 `[[1, 2], [3, 4], [5, 6]]` 对应的协方差矩阵。 #### 结果解释 通过上述代码,我们可以看到输出的结果反映了每一对特征间的协方差大小。例如,在二维情况下,结果将是形如: \[ \begin{bmatrix} \sigma(X_1,X_1) & \sigma(X_1,X_2) \\ \sigma(X_2,X_1) & \sigma(X_2,X_2) \end{bmatrix} \] 这表明了各维度间的关系程度。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值