M-方差、协方差、协方差矩阵

0.目录


在统计学中,方差是用来度量单个随机变量的离散程度,而协方差则一般用来刻画两个随机变量的相似程度。

1.方差(Variance)

用来度量随机变量X 与其均值E(X) 的偏离程度,方差是各个样本与样本均值的差的平方和的均值:

\sigma_x^2 = var(X) = cov(X, X) = E[(X - E[X])^2] = \frac{\sum_{i=1}^{n}(X_i - \overline{X})^2}{n-1}
其中n表示样本量,符号\overline{X}表示观测样本的均值

2.协方差(Covariance)

  1. 随机变量的协方差
    跟数学期望、方差一样,是分布的一个总体参数。在概率论和统计中,协方差是对两个随机变量联合分布线性相关程度的一种度量。两个随机变量越线性相关,协方差越大,完全线性无关,协方差为零。正相关,负相关。
    cov(X,Y) = E[(X - E[X])(Y - E[Y])]
    当X,Y是同一个随机变量时,X与其自身的协方差就是X的方差,可以说方差是协方差的一个特例。
    cov(X,X) = E[(X - E[X])(X - E[X])] = E[(X - E[X])^2] = var(X)
    由于随机变量的取值范围不同,两个协方差不具备可比性。如X,Y,Z分别是三个随机变量,想要比较X与Y的线性相关程度强,还是X与Z的线性相关程度强,通过cov(X,Y)cov(X,Z)无法直接比较。定义相关系数\eta为:
    η = \frac{cov(X,Y)}{\sqrt{var(X)⋅var(Y)}}
    通过X的方差var(X)与Y的方差var(Y)对协方差cov(X,Y)归一化,得到相关系数\eta\eta的取值范围是[−1,1]。1表示完全线性相关,−1表示完全线性负相关,0表示线性无关。线性无关并不代表完全无关,更不代表相互独立。

  2. 样本的协方差
    在实际中,通常我们手头会有一些样本,样本有多个属性,每个样本可以看成一个多维随机变量的样本点,我们需要分析两个维度之间的线性关系。协方差及相关系数是度量随机变量间线性关系的参数,由于不知道具体的分布,只能通过样本来进行估计。设样本对应的多维随机变量为X=[X1,X2,X3,...,Xn]T,样本集合为{x⋅j=[x1j,x2j,...,xnj]T|1⩽j⩽m},m\text{为样本数量}。与样本方差的计算相似,a和b两个维度样本的协方差公式为,其中1⩽a⩽n,1⩽b⩽n,n\text{为样本维度}
    q_{ab} = \frac{\sum_{j=1}^{m}(x_{aj} - \overline{x}_a)(x_{bj} - \overline{x}_{b})}{m−1}
    这里分母为m−1是因为随机变量的数学期望未知,以样本均值代替,自由度减一。

3.协方差矩阵(Covariance matrix)

  1. 对多维随机变量X = [X_1,X_2,X_3...X_n]^T,我们往往需要计算各维度两两之间的协方差,这样各协方差组成了一个n×n的矩阵,称为协方差矩阵。协方差矩阵是个对称矩阵,对角线上的元素是各维度上随机变量的方差。我们定义协方差矩阵为\Sigma,这个符号与求和\Sigma相同,需要根据上下文区分。矩阵内的元素\Sigma_{ij}为:
    \Sigma_{ij} = cov(X_i,X_j) = E[(X_i - E[X_i])(X_j - E[X_j])]
    这样这个矩阵为:
    \Sigma = E[(X - E[X])(X - E[X])^T]
    = \left[ \begin{matrix} cov(X_1,X_1) & \cdots & cov(X_1,X_n) \\ \vdots & \ddots & \vdots \\ cov(X_n,X_1) & \cdots & cov(X_n,X_n) \\ \end{matrix} \right] = \mathbb{R}^{n \times n}
    = \left[ \begin{matrix} E[(X_1 - E[X_1])(X_1 - E[X_1])] & \cdots & E[(X_1 - E[X_1])(X_n - E[X_n])] \\ \vdots & \ddots & \vdots \\ E[(X_n - E[X_n])(X_1 - E[X_1])] & \cdots & E[(X_n - E[X_n])(X_n - E[X_n])] \\ \end{matrix} \right]

  2. 样本的协方差矩阵
    与上面的协方差矩阵相同,只是矩阵内各元素以样本的协方差替换。样本集合为{x_{.j} = [x_{ij},x_{2j}...x_{nj}]^T|1 \le j \le m}, \text{m为样本数量}。所有样本可以表示成一个n×m的矩阵。我们\hat{\Sigma}表示样本的协方差矩阵,与\Sigma区分。
    \hat{\Sigma} = \left[ \begin{matrix} {} q_{11} & \cdots & q_{1n} \\ \vdots & \ddots & \vdots \\ q_{n1} & \cdots & q_{nn} \end{matrix} \right] = \mathbb{R}^{n \times n}
    =\frac{1}{m-1} \left[ \begin{matrix} {} \sum_{j=1}^{m}(x_{1j} - \overline{x}_1)(x_{1j} - \overline{x}_{1}) & \cdots & \sum_{j=1}^{m}(x_{1j} - \overline{x}_1)(x_{nj} - \overline{x}_{n}) \\ \vdots & \ddots & \vdots \\ \sum_{j=1}^{m}(x_{nj} - \overline{x}_n)(x_{1j} - \overline{x}_{1}) & \cdots & \sum_{j=1}^{m}(x_{nj} - \overline{x}_n)(x_{nj} - \overline{x}_n) \end{matrix} \right]
    = \frac{1}{m-1}\sum_{j=1}^{m}(x_{.j} - \overline{x})(x_{.j} - \overline{x})^T
    公式中m 为样本数量,x¯为样本的均值,是一个列向量,x⋅j 为第 j 个样本,也是一个列向量。

    在写程序计算样本的协方差矩阵时,我们通常用后一种向量形式计算。一个原因是代码更紧凑清晰,另一个原因是计算机对矩阵及向量运算有大量的优化,效率高于在代码中计算每个元素。

    需要注意的是,协方差矩阵是计算样本不同维度之间的协方差,而不是对不同样本计算,所以协方差矩阵的大小与维度相同。

    很多时候我们只关注不同维度间的线性关系,且要求这种线性关系可以互相比较。所以,在计算协方差矩阵之前,通常会对样本进行归一化,包括两部分:

    1. y_{.j} = x_{.j} - \hat{x}。即对样本进行平移,使其重心在原点
    2. z_{j.} = \frac{y_{j.}}{\sigma_i},其中\sigma_i是维度i的标准差。这样消除了数值大小的影响

    这样,协方差矩阵\hat{\Sigma}可以写成:
    \hat{\Sigma} = \frac{1}{m-1}\sum_{j=1}^{m}z_{.j}z_{.j}^T
    该矩阵内的元素具有可比性。

3. 多元正态分布与线性变换

引用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容