第七章:把矛盾的相关要求修成可生成规格

本章造假目标

三个标准化指标被要求满足

r12=0.9,r13=0.9,r23=0.9.r_{12}=0.9,\qquad r_{13}=0.9,\qquad r_{23}=-0.9.

三个数分别位于 [1,1][-1,1],组成的矩阵却有最小特征值 0.8-0.8,生成器因而拒绝运行。验收要求保留前两个相关,把对称位置 r23=r32r_{23}=r_{32} 改成一位小数,并使最小特征值至少为 0.050.05。允许的操作只有修改这一对矩阵元素和据此重写生成式。本章将求出改动幅度最小的合格值,推导相应的 Cholesky 生成规则,并说明有限样本为何通常不会精确复现总体相关。

逐格范围不能保证整体可行

把目标写成矩阵:

R=(10.90.90.910.90.90.91).R_\star= \begin{pmatrix} 1&0.9&0.9\\ 0.9&1&-0.9\\ 0.9&-0.9&1 \end{pmatrix}.

一张相关矩阵至少要通过三层检查:

  1. 逐格范围:1rij1-1\le r_{ij}\le1

  2. 矩阵形式:rij=rjir_{ij}=r_{ji},且 rii=1r_{ii}=1

  3. 整体相容:所有两两相关能够由同一组随机变量同时实现。

RR_\star 已通过前两层。问题出在第三层:指标 2 与指标 1 几乎同向,指标 3 也与指标 1 几乎同向,指标 2 与指标 3 的夹角随之受到限制。把最后一项指定为强烈反向,相当于给三根向量指定了一组无法同时实现的夹角。

造假动作留下的影子

逐格校验会放过三个目标,负特征值和失败的 Cholesky 分解则会暴露整体矛盾。若未经记录便把 0.9-0.9 替换为可行值,需求文档、代码版本与最终相关矩阵之间的差异会形成另一条审计线索。

相关系数为什么是一个夹角

给定两列均有非零样本方差的数据

x=(x1,,xn),y=(y1,,yn),\mathbf x=(x_1,\ldots,x_n)^\top,\qquad \mathbf y=(y_1,\ldots,y_n)^\top,

直接计算 ixiyi\sum_i x_i y_i 会混入两列的基线。先从每个观测中减去各自均值:

xc=xxˉ1,yc=yyˉ1.\mathbf x_c=\mathbf x-\bar x\mathbf 1,\qquad \mathbf y_c=\mathbf y-\bar y\mathbf 1.

两列偏离中心的同向程度由内积

xcyc=i=1n(xixˉ)(yiyˉ)\mathbf x_c^\top\mathbf y_c =\sum_{i=1}^n(x_i-\bar x)(y_i-\bar y)

表示。除以自由度得到样本协方差:

sxy=xcycn1.s_{xy} =\frac{\mathbf x_c^\top\mathbf y_c}{n-1}.

协方差带有两列单位的乘积,改用厘米或米会改变其数值。再除以两列标准差,

rxy=sxysxsy=xcycxcyc=cosθ.r_{xy} =\frac{s_{xy}}{s_xs_y} =\frac{\mathbf x_c^\top\mathbf y_c} {\|\mathbf x_c\|\,\|\mathbf y_c\|} =\cos\theta.

相关系数等于两个中心化数据向量夹角的余弦。柯西–施瓦茨不等式

xcycxcyc|\mathbf x_c^\top\mathbf y_c| \le \|\mathbf x_c\|\,\|\mathbf y_c\|

从而得到

1rxy1.-1\le r_{xy}\le1.

给定这一几何解释,r=1r=1 表示两根中心化向量同向共线,r=1r=-1 表示反向共线,r=0r=0 表示正交。它只解决两根向量的可行范围;三根或更多向量还要共同嵌入同一个几何空间。第六章的抛物线例子同样说明,正交只排除了线性相关,没有排除其他形式的依赖。

方法来路:相关为何从遗传测量走进矩阵

Galton 在 1888 年研究人体测量之间的共同变化,并强调先按各自的变异尺度标准化,才能用同一指标描述不同量纲的联系。Pearson 在 1896 年进一步系统化了乘积矩相关与回归的代数。两变量问题只需研究一对测量;变量增多以后,全部两两相关必须组成同一个可实现的几何对象,相关矩阵由此成为多变量分析的入口。

非负方差把所有夹角绑在一起

设各变量的总体标准差 σi>0\sigma_i>0,按总体均值和标准差进行标准化:

Zi=Xiμiσi,E(Zi)=0,Var(Zi)=1.Z_i=\frac{X_i-\mu_i}{\sigma_i}, \qquad \mathbb{E}(Z_i)=0, \qquad \operatorname{Var}(Z_i)=1.

Z=(Z1,Z2,Z3),Cov(Z)=R.\mathbf Z=(Z_1,Z_2,Z_3)^\top, \qquad \operatorname{Cov}(\mathbf Z)=R.

由于每个分量的方差为 1,RR 同时也是 Z\mathbf Z 的相关矩阵。任取系数向量 a\mathbf a,线性组合

W=aZW=\mathbf a^\top\mathbf Z

的方差为

Var(W)=Var(iaiZi)=ijaiajCov(Zi,Zj)=aRa.\begin{aligned} \operatorname{Var}(W) &=\operatorname{Var}\left(\sum_i a_iZ_i\right)\\ &=\sum_i\sum_j a_i a_j\operatorname{Cov}(Z_i,Z_j)\\ &=\mathbf a^\top R\mathbf a. \end{aligned}

方差不可能为负,所以合法相关矩阵必须满足

aRa0对每个 a.\mathbf a^\top R\mathbf a\ge0 \qquad\text{对每个 }\mathbf a.

这项性质称为半正定,记作 R0R\succeq0。因此,相关矩阵可以视为一张“所有线性组合都拥有合法方差”的规格表。

对当前矩阵取

a=(1,1,1),\mathbf a=(1,-1,-1)^\top,

可得

aRa=2.4.\mathbf a^\top R_\star\mathbf a=-2.4.

若三个目标相关能够同时存在,Z1Z2Z3Z_1-Z_2-Z_3 的方差就会等于 2.4-2.4。一个具体方向已经足以否定整张规格表。

为什么检查特征值等价于检查所有方向

实对称矩阵可以用正交特征向量分解任意方向。二次型 aRa\mathbf a^\top R\mathbf a 是各特征方向上“系数平方乘以特征值”的总和。所有特征值非负时,每个方向的方差都非负;任一特征值为负时,沿对应方向便得到负方差。

先求第三个相关的半正定范围

保持前两个相关为 0.90.9,把待修改值记为 cc

R(c)=(10.90.90.91c0.9c1).R(c)= \begin{pmatrix} 1&0.9&0.9\\ 0.9&1&c\\ 0.9&c&1 \end{pmatrix}.

对称矩阵半正定,当且仅当它的全部主子式都非负。R(c)R(c) 的一阶主子式均为 1,二阶主子式为 10.921-0.9^210.921-0.9^21c21-c^2。在 c[1,1]c\in[-1,1] 的逐格范围内,只剩三阶行列式需要检查:

detR(c)=1+2(0.9)(0.9)c0.920.92c2=c2+1.62c0.62=(c0.62)(c1).\begin{aligned} \det R(c) &=1+2(0.9)(0.9)c-0.9^2-0.9^2-c^2\\ &=-c^2+1.62c-0.62\\ &=-(c-0.62)(c-1). \end{aligned}

因此

detR(c)00.62c1.\det R(c)\ge0 \quad\Longleftrightarrow\quad 0.62\le c\le1.

原要求 c=0.9c=-0.9 远在可行区间之外。若验收条件只有半正定,最小改动会把它抬到 0.620.62。这个边界使行列式为零,至少有一个线性组合的方差恰为零。

一般三变量相关矩阵

(1aba1cbc1)\begin{pmatrix} 1&a&b\\ a&1&c\\ b&c&1 \end{pmatrix}

的行列式还可以配成平方:

detR=1+2abca2b2c2=(1a2)(1b2)(cab)2.\begin{aligned} \det R &=1+2abc-a^2-b^2-c^2\\ &=(1-a^2)(1-b^2)-(c-ab)^2. \end{aligned}

a,b,c[1,1]a,b,c\in[-1,1] 时,半正定条件由此给出闭区间

ab(1a2)(1b2)cab+(1a2)(1b2).ab-\sqrt{(1-a^2)(1-b^2)} \le c\le ab+\sqrt{(1-a^2)(1-b^2)}.

代入 a=b=0.9a=b=0.9,同样得到 [0.62,1][0.62,1]。两个高正相关已经迫使第三个相关保持正向。

允许区间也是线性残差相关的范围

a<1|a|<1b<1|b|<1 时,从 Z2,Z3Z_2,Z_3 中分别减去它们在 Z1Z_1 方向上的线性投影,并做标准化:

E2=Z2aZ11a2,E3=Z3bZ11b2.E_2=\frac{Z_2-aZ_1}{\sqrt{1-a^2}}, \qquad E_3=\frac{Z_3-bZ_1}{\sqrt{1-b^2}}.

两项都具有零均值和单位方差,而且

Corr(E2,E3)=cab(1a2)(1b2).\operatorname{Corr}(E_2,E_3) =\frac{c-ab}{\sqrt{(1-a^2)(1-b^2)}}.

右侧称为控制 Z1Z_1 后的线性偏相关。要求它落在 [1,1][-1,1],恰好得到上面的允许区间。对 a=b=0.9a=b=0.9,边界 c=0.62c=0.62 对应残差完全反向,c=1c=1 对应残差完全同向。这里的“控制”指线性投影;缺少额外分布假设时,偏相关为零仍不能推出条件独立。

再用最小特征值保留数值余量

半正定只保证最小特征值不小于 0;正定进一步要求所有特征值都大于 0。对任意 a\mathbf a,特征值还给出下界

aR(c)aλmin(R(c))a2.\mathbf a^\top R(c)\mathbf a \ge \lambda_{\min}\bigl(R(c)\bigr)\|\mathbf a\|^2.

因此,λmin\lambda_{\min} 越接近 0,越容易出现几乎没有波动的线性方向。验收条件 λmin0.05\lambda_{\min}\ge0.05 为所有单位方向保留了统一的方差余量。

由于 R(c)R(c) 的第二、第三行具有对称结构,向量

(0,1,1)(0,1,-1)^\top

张成“第二项减第三项”的方向。直接相乘可知它是特征向量,对应特征值

λ1=1c.\lambda_1=1-c.

与它正交的二维子空间可取标准正交基

e1=(1,0,0),e+=(0,1,1)/2.\mathbf e_1=(1,0,0)^\top, \qquad \mathbf e_+=(0,1,1)^\top/\sqrt2.

R(c)R(c) 在这组基下的矩阵为

(10.920.921+c),\begin{pmatrix} 1&0.9\sqrt2\\ 0.9\sqrt2&1+c \end{pmatrix},

它的两个特征值为

λ±=2+c±c2+6.482.\lambda_{\pm} =\frac{2+c\pm\sqrt{c^2+6.48}}2.

原值 c=0.9c=-0.9 给出

{λ1,λ,λ+}={1.9,0.8,1.9},\{\lambda_1,\lambda_-,\lambda_+\} =\{1.9,-0.8,1.9\},

所以当前最小特征值确为 0.8-0.8

现在可以直接求出安全余量允许的连续区间。在半正定范围 0.62c10.62\le c\le1 内,条件 λ10.05\lambda_1\ge0.05 给出

c0.95,c\le0.95,

λ0.05\lambda_-\ge0.05 等价于

c2+6.48c+1.9,c2.873.8=2873800.7553.\begin{aligned} \sqrt{c^2+6.48}&\le c+1.9,\\ c&\ge \frac{2.87}{3.8} =\frac{287}{380} \approx0.7553. \end{aligned}

λ+\lambda_+ 在这个区间内自动超过门槛。因此全部连续可行值构成

0.7553c0.95.0.7553\ldots\le c\le0.95.

cc 必须保留一位小数,只有 0.80.80.90.9 落在该区间。与原值 0.9-0.9 距离更近的是 c=0.8c=0.8。为了核对边界两侧,c=0.7c=0.7

{λ1,λ,λ+}{0.300,0.030,2.670}.\{\lambda_1,\lambda_-,\lambda_+\} \approx\{0.300,0.030,2.670\}.

矩阵已经正定,最小特征值仍低于 0.050.05c=0.8c=0.8

{λ1,λ,λ+}{0.200,0.066,2.734}.\{\lambda_1,\lambda_-,\lambda_+\} \approx\{0.200,0.066,2.734\}.

它通过安全余量要求。因此改动幅度最小的一位小数答案为

r23=0.8,r_{23}=0.8,

最终规格是

R=(10.90.90.910.80.90.81).R_\dagger= \begin{pmatrix} 1&0.9&0.9\\ 0.9&1&0.8\\ 0.9&0.8&1 \end{pmatrix}.

适用边界:最小特征值是生成稳定性的一个代理

最小特征值接近零时,矩阵求逆和数值分解会对微小误差敏感。常用的相对指标是条件数 κ(R)=λmax/λmin\kappa(R)=\lambda_{\max}/\lambda_{\min};对 RR_\dagger,它约为 2.734/0.06641.52.734/0.066\approx41.5。阈值 0.050.05 是本章规定的验收余量,实际项目还要结合矩阵维度、算法容差和应用机制,不能把它当作普遍标准。

用 Cholesky 分解写出生成规则

每个实对称正定矩阵都存在唯一分解

R=LL,R_\dagger=LL^\top,

其中 LL 是对角元素为正的下三角矩阵。设其元素为 ij\ell_{ij},逐行匹配 LLLL^\topRR_\dagger 可得

11=1,21=31=0.9,22=10.92=0.19,32=0.8(0.9)(0.9)0.19,33=1312322.\begin{aligned} \ell_{11}&=1, &\ell_{21}&=\ell_{31}=0.9,\\ \ell_{22}&=\sqrt{1-0.9^2}=\sqrt{0.19}, &\ell_{32}&=\frac{0.8-(0.9)(0.9)}{\sqrt{0.19}},\\ \ell_{33}&=\sqrt{1-\ell_{31}^2-\ell_{32}^2}. \end{aligned}

因此

L=(1000.90.1900.90.80.810.1910.92(0.80.81)20.19).L= \begin{pmatrix} 1&0&0\\ 0.9&\sqrt{0.19}&0\\ 0.9&\dfrac{0.8-0.81}{\sqrt{0.19}} &\sqrt{1-0.9^2-\dfrac{(0.8-0.81)^2}{0.19}} \end{pmatrix}.

数值上,

L(1000.90.4358900.90.022940.43529).L\approx \begin{pmatrix} 1&0&0\\ 0.9&0.43589&0\\ 0.9&-0.02294&0.43529 \end{pmatrix}.

这些小数只用于展示;实际生成应保留上式的精确系数或足够多的有效数字。

U1,U2,U3U_1,U_2,U_3 相互独立,且

E(Ui)=0,Var(Ui)=1.\mathbb{E}(U_i)=0,\qquad \operatorname{Var}(U_i)=1.

定义

X1=U1,X2=0.9U1+0.19U2,X3=0.9U1+0.80.810.19U2+10.92(0.80.81)20.19U3.\begin{aligned} X_1&=U_1,\\ X_2&=0.9U_1+\sqrt{0.19}\,U_2,\\ X_3&=0.9U_1+\frac{0.8-0.81}{\sqrt{0.19}}U_2 +\sqrt{1-0.9^2-\frac{(0.8-0.81)^2}{0.19}}\,U_3. \end{aligned}

矩阵形式为 X=LU\mathbf X=L\mathbf U,所以

Cov(X)=LCov(U)L=LIL=R.\begin{aligned} \operatorname{Cov}(\mathbf X) &=L\operatorname{Cov}(\mathbf U)L^\top\\ &=LIL^\top\\ &=R_\dagger. \end{aligned}

由于 RR_\dagger 的对角元素为 1,所得协方差矩阵也就是相关矩阵。若 UiU_i 取独立标准正态,X\mathbf X 服从多元正态;若 UiU_i 使用其他零均值、单位方差分布,上述二阶结构仍成立,联合分布形状会随之改变。相关矩阵只规定均值之外的二阶结构。

方法来路:从大地测量方程到随机向量生成

Cholesky 在 20 世纪初的大地测量工作中设计了这种三角分解,用来高效求解三角网平差产生的最小二乘正规方程;该方法在他去世后于 1924 年发表。在线性方程中,三角结构把一次困难求解拆成两次代入;在概率模拟中,同一个分解把独立单位方差噪声变换成具有指定协方差的随机向量。

Cholesky 因子依赖变量排列。这里的 U1,U2,U3U_1,U_2,U_3 是便于生成的辅助噪声,不能仅凭分解结果把 U1U_1 解释为三个工程指标共同受到的真实物理因素。潜在机制需要另行建模和验证。

有限样本为什么不会精确等于目标矩阵

生成式保证总体相关。设独立生成的 nn 行辅助噪声经中心化后组成 UcRn×pU_c\in\mathbb R^{n\times p},本例 p=3p=3,其样本协方差为

SU=1n1UcUc.S_U=\frac1{n-1}U_c^\top U_c.

变换后的中心化矩阵满足 Xc=UcLX_c=U_cL^\top,所以

SX=1n1XcXc=LSUL.S_X =\frac1{n-1}X_c^\top X_c =LS_UL^\top.

有限样本中的 SUS_U 通常不等于 II,故 SXS_X 通常也不等于 RR_\dagger。随着样本量增加,大数定律使 SUS_U 趋近 II,从而使 SXS_X 趋近 RR_\dagger

样本协方差还要重新标准化才得到样本相关。令

D=diag((SX)11,,(SX)pp),R^=D1/2SXD1/2,D=\operatorname{diag}\bigl((S_X)_{11},\ldots,(S_X)_{pp}\bigr), \qquad \widehat R=D^{-1/2}S_XD^{-1/2},

其中每列的样本方差均须大于零。样本方差和样本协方差都含有抽样波动,因此 R^\widehat R 会围绕目标矩阵变化。若许多独立批次反复精确出现 0.9000,0.9000,0.80000.9000,0.9000,0.8000,数据很可能经过额外校准。

确实可以强制有限样本精确命中目标:先构造满足 SU=IS_U=I 的中心化矩阵,再右乘 LL^\top,便有 SX=R^=RS_X=\widehat R=R_\dagger。若生成流程声称各行来自普通独立抽样,这项校准会消除应有的样本协方差波动;用于数值实验的确定性设计也可能有意采用它,前提是如实记录。无论目的如何,精确校准都需要足够的样本秩。一般中心化样本协方差满足

rank(SX)min(n1,p).\operatorname{rank}(S_X) \le\min(n-1,p).

pnp\ge n 时,即使总体矩阵完全正定,样本协方差也至少含有 pn+1p-n+1 个零特征值。只要各列样本方差为正,R^\widehat RSXS_X 的秩相同,也会奇异。结构矛盾产生的明显负特征值、浮点舍入产生的极小负值、高维样本产生的零值,需要分别解释。

适用边界:相关为零仍然可能存在确定关系

第六章的 Y=X2Y=X^2 例子具有零协方差,YY 仍完全由 XX 决定。Cholesky 生成器复现目标相关矩阵,无法单凭这一步复现非线性关系、尾部共动或条件结构。散点图与后续联合模型仍需继续验收。

把修复后的规格放回审计链

原要求 (0.9,0.9,0.9)(0.9,0.9,-0.9) 的最小特征值为 0.8-0.8,生成器拒绝它有明确的数学原因。把第三项抬到半正定边界 0.620.62 会产生零方差方向;加入 0.050.05 的安全余量后,连续可行区间缩为 [0.7553,0.95][0.7553\ldots,0.95],一位小数规格中的最小合格值为 0.80.8

这项修改使单个相关从 0.9-0.9 移到 0.80.8,标量改动为 1.71.7;由于对称位置 r23r_{23}r32r_{32} 同时改变,两个矩阵的 Frobenius 距离为 1.721.7\sqrt2。需求版本、代码参数与输出矩阵会共同记录这次由强负相关到强正相关的改写。若工程机制坚称指标 2 与指标 3 应当反向,矩阵修复只解决可生成性,机制冲突仍然存在。

本章先判断给定相关矩阵能否存在,再把合格矩阵转成生成式。下一章将沿用特征值与特征向量,把二维协方差矩阵解释成点云的主轴,并检查重排配对怎样改变方差方向。

本章知识链

  1. 样本相关是中心化数据向量夹角的余弦,只描述线性对齐程度。

  2. 相关矩阵必须半正定,使任意线性组合都具有非负方差;逐格位于 [1,1][-1,1] 还不够。

  3. 保持 r12=r13=0.9r_{12}=r_{13}=0.9 时,半正定要求 0.62r2310.62\le r_{23}\le1;偏相关给出同一个区间的线性残差解释。

  4. 加入 λmin0.05\lambda_{\min}\ge0.05 和一位小数约束后,改动最小的合格值为 r23=0.8r_{23}=0.8;Cholesky 分解据此构造生成规则。

  5. 随机生成保证总体二阶结构,有限样本相关仍有抽样波动;精确校准、奇异矩阵与非线性依赖需要另行检查。

思考与练习

  1. x=(1,2,3)\mathbf x=(1,2,3)y=(3,2,1)\mathbf y=(3,2,1),计算中心化向量、协方差、相关系数与夹角。

  2. 检查相关目标 (r12,r13,r23)=(0.8,0.8,0)(r_{12},r_{13},r_{23})=(0.8,0.8,0) 是否半正定,并求保持前两项时第三项的完整允许区间。

  3. 复算 R(0.7)R(0.7)R(0.8)R(0.8) 的三个特征值,解释为什么“正定”仍未自动通过本章的安全余量。

  4. 逐项乘法验证正文的 LL=RLL^\top=R_\dagger,再由三个生成式直接计算 Cov(X2,X3)\operatorname{Cov}(X_2,X_3)

  5. 若把最小特征值门槛提高到 0.100.10,先求 cc 的连续可行区间,再在一位小数约束下寻找改动最小的值。

  6. 为什么 n=20,p=100n=20,p=100 时样本协方差矩阵至少有 81 个零特征值?这对矩阵求逆有什么影响?

  7. 证明若中心化辅助矩阵满足 SU=IS_U=I,则 Xc=UcLX_c=U_cL^\top 的样本协方差精确等于 RR_\dagger;说明这种构造至少要求 np+1n\ge p+1

  8. 为三个具体工程指标赋予含义,解释 (0.9,0.9,0.8)(0.9,0.9,0.8) 是否符合机制;再写出一种相关矩阵合格、散点关系依然可疑的情形。

专题导航