跳到正文
格致开物MATHWIKI

矩阵正态分布

矩阵正态分布(matrix normal distribution)是一类以矩阵为随机结果的正态模型。它用一个矩阵描述行之间的相关性,另一个矩阵描述列之间的相关性,适合表达“不同对象、多个变量”这两种方向同时存在关联的情形。这个可分离结构减少参数,但也限制了模型能够描述的协方差形状。

行与列共用的随机结构

设 X 为 m×n 随机矩阵,均值 M 同型。给定正定对称矩阵 U∈ℝm×m 和 V∈ℝn×n。本文采用 X∼MNm,n(M,U,V) 表示按列依次堆叠元素后, vec⁡(X)∼Nmn(vec⁡(M),V⊗U). U 控制行方向,V 控制列方向;⊗ 是克罗内克积。按行展开则协方差顺序要交换,不能混用。[1]

这一定义等价于:所有元素联合正态,且 𝔼[Xij]=Mij,Cov⁡(Xij,Xkℓ)=UikVjℓ. 因此 U 和 V 应理解为协方差的两个因子,而非不加区分地称作任意一列、一行的实际协方差;第 j 列的协方差为 VjjU。

从独立正态数构造

令 Z 的 mn 个元素独立服从标准正态。取 LULU𝖳=U、LVLV𝖳=V,构造 X=M+LUZLV𝖳. 每个输出元素都是独立正态数的线性组合,所以它们联合正态。进一步展开协方差: Cov⁡(Xij,Xkℓ)=∑a,b,c,d(LU)ia(LV)jb(LU)kc(LV)ℓdCov⁡(Zab,Zcd)=∑a,b(LU)ia(LU)ka(LV)jb(LV)ℓb=UikVjℓ. 第二步用到了独立性:只有 a=c,b=d 的项保留。这个构造同时给出采样办法和协方差结构的证明。

四个元素的协方差表

设 M=0, U=(11/21/21),V=(4001). 按 (X11,X21,X12,X22) 排列,有 V⊗U=(420024000011/2001/21). 第一列两个元素的方差都是四、协方差是二,故相关系数 2/4⋅4=1/2。第二列的方差都为一、协方差为二分之一,相关系数仍是二分之一。两列之间所有协方差为零;因为整个向量联合正态,两列在此例中独立。

按列展开的四乘四协方差表,第一块为四乘U,第二块为U,交叉块为零
相同的行间相关结构在两列重复,但第一列的方差尺度更大。格内数值是协方差,不是相关系数。

变式。 将 V12=V21 改为一,保持对角为四和一。新 V 仍正定,因为行列式为三。此时 Cov⁡(X11,X22)=U12V12=1/2,而同一行两列的协方差 Cov⁡(X11,X12)=1。不同索引必须分别代入,不能只读图中的一个块。

密度与可分离假设

在 U,V 正定时,密度为 f(X)=exp⁡{−12tr⁡[U−1(X−M)V−1(X−M)𝖳]}(2π)mn/2|U|n/2|V|m/2. 归一化因子中的幂分别是列数与行数的一半,这可用 |V⊗U|=|V|m|U|n 核对。[1]

任意联合正态矩阵未必是矩阵正态:一般 mn×mn 协方差不一定能分解为 V⊗U。此外 (cU,V/c) 对任意 c>0 给出同一个乘积,所以两个因子的整体尺度不可分别识别;估计时需固定一个尺度约定,例如 tr⁡(U)=m。若只把每一格都检验为正态,也不能据此保证所有格联合正态。

参考文献

  1. ↑ 1.0 1.1 SciPy 官方文档:scipy.stats.matrix_normal,“Notes”中的密度、列向量化和协方差。