理解多元高斯分布

本文主要转载自参考文献【1,2】。虽然公式看起来比较多,并且似乎很复杂,其实并不难理解,静下心来慢慢看。其中,为了进一步增加可理解性,标色的为我在原文基础上加入的自己的理解。


一、多元标准高斯分布

熟悉一元高斯分布的同学都知道, 若随机变量XN(μ,σ2)X \sim \mathcal{N}(\mu, \sigma^2) , 则有如下的概率密度函数
理解多元高斯分布
而如果我们对随机变量XX进行标准化, 用 Z=XμσZ = \frac{X - \mu}{\sigma}对(1)进行换元, 继而有
理解多元高斯分布

此时我们说随机变量ZN(0,1)Z \sim \mathcal{N}(0, 1)服从一元标准高斯分布( ZZ是标准正态分布,下文多次用到), 其均值μ=0\mu = 0, 方差 σ2=1\sigma^2 = 1,其概率密度函数为
理解多元高斯分布
需要注意的是, 为了保证概率密度函数在RR上的积分为1, 换元时需要求dx=σdzdx = \sigma \cdot dz, 从而得到(3).

随机变量XX 标准化的过程, 实际上是消除量纲影响和分布差异的过程. 通过将随机变量的值减去其均值再除以标准差, 使得随机变量与其均值的差距可以用若干个标准差来衡量, 从而实现了不同随机变量与其对应均值的差距, 可以以一种相对的距离来进行比较.

一元标准高斯分布与我们讨论多元标准高斯分布有什么关系呢? 事实上, 多元标准高斯分布的概率密度函数正是从(4)导出的. 假设我们有随机向量Z=[Z1,,Zn]\vec{Z} = [Z_1, \cdots, Z_n]^\top , 其中 ZiN(0,1)(i=1,,n)Z_i \sim \mathcal{N}(0, 1) (i = 1, \cdots, n)Zi,Zj(i,j=1,,nij)Z_i, Z_j(i, j = 1, \cdots, n \wedge i \neq j) 彼此独立, 即随机向量中的每个随机变量ZiZ_{i}都服从标准高斯分布且两两彼此独立. 则由(4)与独立随机变量概率密度函数之间的关系, 我们可得随机向量Z=[Z1,,Zn]\vec{Z} = [Z_1, \cdots, Z_n]^\top 的联合概率密度函数为

理解多元高斯分布
我们称随机向量ZN(0,I)\vec{Z} \sim \mathcal{N}(\vec{0}, \mathbf{I}) , 即随机向量服从均值为零向量, 协方差矩阵为单位矩阵的高斯分布( 随机向量中的每个随机变量ZiZ_{i}都服从标准高斯分布且两两彼此独立). 在这里, 随机向量Z\vec{Z}的协方差矩阵是Conv(Zi,Zj),i,j=1,,nConv(Z_i, Z_j), i, j = 1, \cdots, n 组成的矩阵, 即
理解多元高斯分布
由于随机向量ZN(0,I)\vec{Z} \sim \mathcal{N}(\vec{0}, \mathbf{I}) , 所以其协方差矩阵的对角线元素为1, 其余元素为0. 如果我们取常数c=p(z1,,zn)c = p(z_1, \cdots, z_n) , 则可得函数 p(z1,,zn)p(z_1, \cdots, z_n) 的等高线为c=ZZc = Z^\top Z , 当随机向量Z\vec{Z}为二维向量时, 我们有
理解多元高斯分布
等高线可以这么理解:概率密度函数p=cp=c就是概率密度函数的等高线,观察概率密度公式,发现只有ZZZ^\top Z不是常数,而其余部分都是常数,即ZZZ^\top Z实际上决定了c的值。

由(7)我们可知, 其等高线为以(0, 0)为圆心的同心圆.
理解多元高斯分布

二、多元高斯分布

由上一节我们知道, 当随机向量ZN(0,I)\vec{Z} \sim \mathcal{N}(\vec{0}, \mathbf{I})时, 其每个随机变量ZiN(0,1)(i=1,,n)Z_i \sim \mathcal{N}(0, 1) (i = 1, \cdots, n)彼此独立, 我们可通过(4)与独立随机变量概率密度函数之间的关系得出其联合概率密度函数(5). 那对于普通的随机向量XN(μ,Σ)\vec{X} \sim \mathcal{N}(\vec{\mu}, \Sigma) , 即其每个随机变量 XiN(μi,σi2)(i=1,,n)X_i \sim \mathcal{N}(\mu_i, \sigma_i^2) (i = 1, \cdots, n)Xi,Xj(i,j=1,,n)X_i, X_j(i, j = 1, \cdots, n)彼此不独立的情况下, 我们该如何求随机向量$$ 的联合概率密度函数呢? 一个很自然的想法是, 如果我们能通过线性变换, 使得随机向量 X\vec{X} 中的每个随机变量彼此独立, 则我们也可以通过独立随机变量概率密度函数之间的关系求出其联合概率密度函数. 事实上, 我们有如下定理可完成这个工作(来源)

定理1: 若存在随机向量XN(μ,Σ)\vec{X} \sim \mathcal{N}(\vec{\mu}, \Sigma) , 其中 μRn\vec{\mu} \in R^n为均值向量, ΣS++n×n\Sigma \in S^{n \times n}_{++}半正定实对称矩阵为 X\vec{X} 的协方差矩阵, 则存在满秩矩阵BRn×nB \in R^{n \times n}, 使得Z=B1(Xμ)\vec{Z} = B^{-1}(\vec{X} - \vec{\mu}) , 而 ZN(0,I)\vec{Z} \sim \mathcal{N}(\vec{0}, \mathbf{I}).

有了定理1, 我们就可以对随机向量X\vec{X} 做相应的线性变换, 使其随机变量在线性变换后彼此独立, 从而求出其联合概率密度函数, 具体地
理解多元高斯分布
由多元函数换元变换公式(与一元中换元dx=σdzdx = \sigma \cdot dz是一个意思,只不过多元需要求雅可比行列式), 我们还需要求出雅可比行列式 J(ZX)J(\vec{Z} \to \vec{X}), 由(8)可得
理解多元高斯分布
由(9)(10), 我们可进一步得
理解多元高斯分布
我们得到随机向量 XN(μ,Σ)\vec{X} \sim \mathcal{N}(\vec{\mu}, \Sigma) 的联合概率密度函数为
理解多元高斯分布
在(12)中, 随机向量X\vec{X} 的协方差矩阵还未得到体现, 我们可通过线性变换(8)做进一步处理
理解多元高斯分布
根据(13),我们发现, (12)中BBBB^\top就是线性变换前的随机向量 XN(μ,Σ)\vec{X} \sim \mathcal{N}(\vec{\mu}, \Sigma)的协方差矩阵Σ\Sigma , 所以由(12)(13), 我们可以得到联合概率密度函数的最终形式
理解多元高斯分布
原本由定理1, 我们还需要求线性变换矩阵 BB , 才能确定随机向量 X\vec{X} 的联合概率密度函数的表达式, 现在由(13)我们即可得最终形式(14), 随机向量 X\vec{X} 的联合概率密度函数由其均值向量 μ\vec{\mu} 和其协方差矩阵 Σ\Sigma唯一确定, 但我们需要明白的是, 这是通过定理1的线性变换 Z=B1(Xμ)\vec{Z} = B^{-1}(\vec{X} - \vec{\mu})得到的, 即此线性变换隐含其中.

如果我们取常数 c=p(x1,,xn)c = p(x_1, \cdots, x_n) , 则可得函数p(x1,,xn)p(x_1, \cdots, x_n)的等高线为c=(Xμ)Σ1(Xμ)c= (\vec{X} - \vec{\mu})^\top \Sigma^{-1}(\vec{X} - \vec{\mu}) , 当随机向量X\vec{X}为二维向量时, 我们对协方差矩阵Σ\Sigma进行分解, 因为其为实对称矩阵, 可正交对角化(理论
理解多元高斯分布
由于矩阵QQ 是酉矩阵, 所以 Q(Xμ)=QXQuQ^\top (\vec{X} - \vec{\mu}) = Q^\top \vec{X} - Q^\top \vec{u} 可以理解为将随机向量 X\vec{X} , 均值向量 μ\vec{\mu} 在矩阵QQ 的列向量所组成的单位正交基上进行投影并在该单位正交基上进行相减. 我们不妨记投影后的向量分别为XQ=QX,uQ=Qμ\vec{X}_Q = Q^\top \vec{X}, \vec{u}_Q = Q^\top \vec{\mu} , 同时记矩阵 Λ=[λ1;00;λ2],λ1λ2\Lambda = \begin{bmatrix} \lambda_1 ; 0 \\ 0 ; \lambda_2\end{bmatrix}, \lambda_1 \geq \lambda_2, 则(15)的二次型可表示为
理解多元高斯分布
由(16)我们可知, 此时函数p(x1,,xn)p(x_1, \cdots, x_n) 的等高线是在矩阵QQ 的列向量所组成的单位正交基上的一个椭圆, 椭圆的中心是uQ=[μQ1,μQ2]\vec{u}_{Q} = [\mu_{Q_1}, \mu_{Q_2}]^\top , 长半轴为 λ1\sqrt{\lambda_1} , 短半轴为λ2\sqrt{\lambda_2} .

如果协方差矩阵Σ\Sigma 不是对角矩阵, 则正交对角化得到的酉矩阵 QQ 不是标准正交基, 其代表一个旋转, 此时的椭圆应该是一个倾斜的椭圆, 随机向量X\vec{X} 中的随机变量不是彼此独立的;
理解多元高斯分布
如果协方差矩阵 Σ\Sigma 是对角矩阵, 则正交对角化得到的酉矩阵 QQ 就是标准正交基, 则前述的投影是在标准正交基上完成的, 此时的椭圆应该是一个水平的椭圆, 随机向量 X\vec{X} 中的随机变量就是彼此独立的.
理解多元高斯分布

三、多元高斯分布的几何意义

现在我们知道, 随机向量 XN(μ,Σ)\vec{X} \sim \mathcal{N}(\vec{\mu}, \Sigma) 的联合概率密度函数是通过线性变换 Z=B1(Xμ)\vec{Z} = B^{-1}(\vec{X} - \vec{\mu}) 的帮助, 将随机向量 X\vec{X} 的各个随机变量去相关性, 然后利用独立随机变量概率密度函数之间的关系得出的, 亦既是定理1所表述的内容. 那具体地, 线性变化 Z=B1(Xμ)\vec{Z} = B^{-1}(\vec{X} - \vec{\mu}) 是怎么去相关性使随机向量 X\vec{X} 的各个随机变量彼此独立的呢? 我们不妨在二维平面上, 再次由定理1和(15)出发来看看这个去相关性的过程.

由定理1我们有
理解多元高斯分布
再由(15)(17)可得
理解多元高斯分布
由(18)我们已经可以非常明显地看出线性变换Z=B1(Xμ)\vec{Z} = B^{-1}(\vec{X} - \vec{\mu})的具体操作了
理解多元高斯分布
我们先对标准正交基进行拉伸, 横轴和纵轴分别拉伸 1λ1,1λ2\frac{1}{\sqrt{\lambda_1}}, \frac{1}{\sqrt{\lambda_2}} 倍, 再使用酉矩阵 QQ 对拉伸后的正交基进行旋转, 最后将去均值的随机向量 Xμ\vec{X} - \vec{\mu}在新的正交基上进行投影, 从而使完成线性变换Z=B1(Xμ)\vec{Z} = B^{-1}(\vec{X} - \vec{\mu}) 后的随机变量在新的正交基上彼此独立. 值得注意的是, 如果随机向量X\vec{X}本来就是独立随机变量组成的, 此时其协方差矩阵是一个对角矩阵, 则酉矩阵QQ 是一个单位矩阵I\mathbf{I} , 此线性变换中只有拉伸而没有旋转.
理解多元高斯分布

四、总结

本文从多元标准高斯分布出发, 阐述了如何通过线性变换, 将任意的服从多元高斯分布的随机向量去相关性, 并求出其联合概率密度函数的过程, 最后给出了线性变换的具体过程阐述. 多元高斯分布是许多其他理论工具的基础, 掌握它是进行其他相关理论研究的关键.

五、二维高斯分布

我们已经知道多维高斯分布的概率密度为:
理解多元高斯分布
协方差矩阵是一个对称矩阵,决定了多维高斯分布的形状。

要点:

  • 协方差矩阵的对角线元素为 xxyy 轴的方差
  • 反斜对角线上的两个值为协方差,表明 xxyy的线性相关程度(正值时: xx增大, yy也随之增大;负值时: xx增大, yy随之减小)

以下以二维高斯分布为例,显示了不同协方差矩阵时的概率分布。
理解多元高斯分布

参考文献

【1】多元高斯分布完全解析 转载自1
【2】协方差矩阵与二维高斯分布