Skip to content

2.3 数字特征与矩 ​

2.2 节建立了描述随机变量的完整工具。累积分布函数、概率质量函数与概率密度函数都把分布的全部信息保存下来,代价是需要一个函数对象。比较两个分布、评估一个估计量的好坏、判断一组数据是否支持某个模型,若每次都从函数层面出发会显得繁琐。实际使用中常把分布压缩为少数几个数值,用这些数值概括分布的中心位置、离散程度、对称性与尾部厚度。

这些概括性的数值称为数字特征(numerical characteristic),期望、方差、协方差、偏度、峰度都属于这一类。它们把高维的函数对象映为实数或低维向量,使不同分布之间可以直接比较大小。机器学习中的损失函数大多写成期望的形式,模型的训练目标是最小化某个期望,评估指标是某个期望的估计,理解期望与方差的性质是读懂这些定义的起点。

本节先建立数学期望,再引入条件期望并给出它在预测问题中的角色,随后讨论方差、协方差与相关系数,接着把期望与方差推广到高阶矩、协方差矩阵,再引入矩生成函数与特征函数这两类工具函数,最后交代矩刻画分布的局限,并介绍互信息等能捕捉非线性依赖的量。这些内容与 2.2 节的分布函数互为表里,也为 2.4 与 2.5 节的具体分布族提供统一的描述参数。

2.3.1 数学期望 ​

离散与连续情形的定义 ​

数学期望(mathematical expectation)是随机变量取值按概率加权的平均,简称期望,记作 E[X]。离散型随机变量取值为 x1,x2,…,概率质量函数为 p(xi),期望定义为

E[X]=∑ixip(xi)

连续型随机变量有密度 f(x),期望定义为

E[X]=∫−∞∞xf(x)dx

两个定义形式一致,都是取值与对应权重的乘积求和。这个加权平均把分布的重心位置提取出来,是描述分布中心最常用的量。抛一枚均匀硬币并用 1 与 0 表示正反面,期望为 1×0.5+0×0.5=0.5,它不一定是随机变量能取到的值,只表示长期平均的结果。

混合型随机变量的期望把求和与积分两部分相加。若随机变量在若干个离散点上有质量、其余部分连续,期望等于离散点贡献之和加上连续部分的积分。这一处理方式与 2.2 节混合分布的结构对应。

期望的线性性 ​

期望最重要的性质是线性性:对任意常数 a,b 与随机变量 X,Y,

E[aX+bY]=aE[X]+bE[Y]

这一性质对任意两个随机变量成立,不要求 X 与 Y 独立,也不要求它们的分布形式。离散与连续情形的证明都是把求和或积分按线性拆分。线性性的实用价值在于把复杂随机变量的期望分解为若干简单部分:样本均值 X¯=1n∑iXi 的期望为 1n∑iE[Xi],若各样本来自同一分布,则为 E[X1],无论样本之间是否相关。

由线性性可以推出常数的期望:E[c]=c。还可以得到指示变量方法:事件 A 的指示变量 1A 取值 1 或 0,其期望为 P(A)。把待求的概率或计数写成指示变量之和,再对每一项取期望,是组合问题中常用的技巧,能避免直接计算复杂的联合分布。

LOTUS 与期望存在的条件 ​

当需要计算 g(X) 的期望时,不必先求 g(X) 的分布,可以直接用 X 的分布加权:

E[g(X)]=∫−∞∞g(x)fX(x)dx

离散情形把积分换成求和。这一公式称为 LOTUS(law of the unconscious statistician),它把 g(X) 的期望化为对 X 的分布的积分,省去了变换求密度的中间步骤。前面讨论变量变换时得到的公式在此处不再必要,只要 g 的函数形式已知即可计算。对多元情形,E[g(X,Y)]=∬g(x,y)fX,Y(x,y)dxdy,同样只需联合密度。

期望存在需要绝对收敛。若 ∫|x|f(x)dx<∞,则期望存在且由上述积分给出,这样的随机变量称为可积的。若积分按某种对称方式对消后收敛、但绝对值不收敛,例如 ∫xf(x)dx 以主值意义为 0 而 ∫|x|f(x)dx=∞,称期望不存在,不能把主值 0 当作期望。柯西分布是典型例子,它的密度为 1π(1+x2),尾部按 x−2 衰减,∫|x|f(x)dx 发散,期望不存在。大数定律要求期望存在,对柯西分布不适用,其样本均值不收敛。判断期望是否存在需要检查 ∫|x|f(x)dx 是否有限,只看积分符号下的对称性会出错。

python
import numpy as np
from scipy import stats

# 用 LOTUS 计算 E[X^2],X ~ N(0, 1),理论值为 1
val = stats.norm.expect(lambda x: x ** 2)
print(round(val, 4))                       # 1.0

# E[|X|],X ~ N(0, 1),理论值为 sqrt(2/pi)
print(round(stats.norm.expect(lambda x: abs(x)), 4))   # 0.7979

# 柯西分布:样本均值不收敛
rng = np.random.default_rng(0)
for n in [1_000, 100_000, 1_000_000]:
    sample = stats.cauchy.rvs(size=n, random_state=rng)
    print(f"n = {n},样本均值 = {sample.mean():.4f}")
# 数值上下跳动,不趋于稳定值,反映期望不存在

2.3.2 条件期望 ​

定义与作为随机变量 ​

在已知事件 B 发生的条件下,随机变量 X 的条件期望(conditional expectation)定义为用条件分布加权的平均:

E[X∣B]=E[X1B]P(B)

连续情形下写成对条件密度的积分 E[X∣B]=∫xfX∣B(x)dx,其中 fX∣B(x)=f(x)/P(B) 在 B 上取值。这一步把 2.1 节条件概率的收缩视角移植到随机变量上。

更常见的形式是给定另一个随机变量 Y 的取值,记 E[X∣Y=y]。当 y 变化时,这个量也随之变化,因此 E[X∣Y] 本身是一个随机变量,它是 Y 的函数。E[X∣Y] 与 E[X∣Y=y] 的区别在于前者是随机变量,后者是前者的一个取值。条件期望可以作为 Y 的估计量,因为它把 Y 携带的关于 X 的信息编码进一个数值。

全期望公式 ​

全期望公式(law of total expectation),又称塔性质(tower property),把无条件期望写成条件期望的期望:

E[X]=E[E[X∣Y]]

证明思路是把联合密度分层积分。连续情形下,

E[E[X∣Y]]=∫(∫xfX∣Y(x∣y)dx)fY(y)dy=∫∫xfX,Y(x,y)dxdy=E[X]

内层积分得到 E[X∣Y=y],外层按 Y 的密度加权,合起来等于对联合密度的积分。离散情形把积分换成求和。塔性质的含义是:先按 Y 的取值分类求平均,再按各类的权重合并,结果与直接求平均一致。

塔性质有迭代形式。若 G1⊆G2 是两个信息层级,则

E[E[X∣G2]∣G1]=E[X∣G1]

信息越多,条件期望离 X 越近;把较细的信息再平均回较粗的层级,回到粗层级的条件期望。塔性质是马尔可夫链转移分析、鞅论、期望最大化算法的基础。

条件期望作为最小均方误差预测器 ​

条件期望在预测问题中有明确的最优性。用 Y 的函数 φ(Y) 预测 X,均方误差为 E[(X−φ(Y))2],使这一误差最小的函数是

φ^(Y)=E[X∣Y]

证明思路与 1.5 节的最小二乘投影一致。把误差分解为

E[(X−φ(Y))2]=E[(X−E[X∣Y])2]+E[(E[X∣Y]−φ(Y))2]

两项之间的关系为正交分解,交叉项为零来自 E[X−E[X∣Y]∣Y]=0。第一项与 φ 无关,第二项非负且当 φ(Y)=E[X∣Y] 时取零。结论是任意函数中最优的预测器是条件期望,它在均方误差意义下不可超越。

这一结论与 1.5 节的最小二乘投影是同一件事的两个层面。线性代数把任意向量投影到子空间上得到最优逼近,概率论把随机变量投影到由 Y 生成的函数空间上得到条件期望。两者的共同结构是正交条件:残差 X−E[X∣Y] 与预测量的任意函数正交。若把允许的函数限制为 Y 的线性函数,最优解退化为线性回归,这正是线性最小二乘的随机变量版本。

2.3.3 方差与标准差 ​

定义与计算技巧 ​

方差(variance)度量随机变量围绕期望的离散程度,定义为偏离期望的平方的期望:

Var(X)=E[(X−E[X])2]

方差开平方得到标准差(standard deviation)σ=Var(X),它与随机变量同量纲,解释更直接。方差为 0 当且仅当 X 以概率 1 等于常数,此时离散程度消失。

直接按定义计算方差需要先求期望再做平方的期望,展开平方后可以得到更便于计算的形式:

Var(X)=E[X2−2XE[X]+(E[X])2]=E[X2]−2(E[X])2+(E[X])2=E[X2]−(E[X])2

公式 E[X2]−(E[X])2 把方差写成二阶原点矩减去一阶原点矩的平方,计算时只需两个期望。等价的借用记号 Var(X)=E[X2]−μ2,其中 μ=E[X]。由方差非负得到 E[X2]≥(E[X])2,这是柯西-施瓦茨不等式的一个特例。

方差的性质与线性变换 ​

方差对常数平移不变,对常数缩放按平方缩放:

Var(aX+b)=a2Var(X)

证明把 aX+b 代入定义,平移 b 在偏离均值时被消去,缩放 a 在平方中给出 a2。方差的单位是原单位的平方,与期望的线性性相比,方差在缩放下的幂次更高,这是标准化 Z=(X−μ)/σ 能同时把均值归零、方差归一的原因。

对两个随机变量,方差的加法需要协方差项:

Var(X+Y)=Var(X)+Var(Y)+2Cov(X,Y)

当 X 与 Y 独立时协方差为零,方差可以直接相加。独立同分布样本的样本均值方差为 Var(X¯)=σ2/n,这正是样本量增大时均值估计精度提高的速度,也是中心极限定理中标准差按 n 缩小的来源。

条件方差与全方差公式 ​

给定 Y 后 X 的条件方差 Var(X∣Y)=E[(X−E[X∣Y])2∣Y] 是一个随机变量,它度量在每个 Y 取值下 X 的剩余离散程度。无条件方差可以分解为两部分:

Var(X)=E[Var(X∣Y)]+Var(E[X∣Y])

这一恒等式称为全方差公式(law of total variance)。证明从条件方差的性质出发,把 X−E[X]=(X−E[X∣Y])+(E[X∣Y]−E[X]) 展开平方后取期望,交叉项由塔性质归零。

公式的两项各有解释。第一项 E[Var(X∣Y)] 是组内方差的加权平均,度量在已知 Y 之后仍然存在的波动;第二项 Var(E[X∣Y]) 是组间方差,度量 Y 对 X 均值的解释能力。已知 Y 之后剩余的总波动等于组内波动加上组间波动,这一分解是方差分析中总平方和分解的基础,也解释了混合分布的方差为何大于各分量方差的加权平均:多出的部分正是分量均值之间的差异。

python
import numpy as np

rng = np.random.default_rng(0)
n = 1_000_000

# Y 取 0..3,X | Y=y ~ N(y, 1)
y = rng.integers(0, 4, size=n)
x = rng.normal(loc=y, scale=1.0)

total = x.var()
between = y.var()                                   # Var(E[X|Y]),理论值为 Var(Y)
within = np.mean([x[y == k].var() for k in range(4)])   # E[Var(X|Y)],理论值为 1

print(round(total, 4), round(between + within, 4))
# 4.25 4.25,两项相加等于总方差
print(round(between, 4), round(within, 4))
# 1.25 1.00,组间方差来自 Y 的取值差异,组内方差来自噪声

2.3.4 协方差与相关系数 ​

定义与性质 ​

协方差(covariance)度量两个随机变量共同变化的程度,定义为

Cov(X,Y)=E[(X−E[X])(Y−E[Y])]=E[XY]−E[X]E[Y])

两个随机变量同向偏离各自的均值时乘积为正,反向偏离时乘积为负,协方差是这种同步性的平均。X 与自身、Y 与自身的协方差分别是各自的方差。独立随机变量的协方差为零,原因是 E[XY]=E[X]E[Y] 在独立时成立,代入第二个表达式得零。协方差为零的随机变量称为不相关(uncorrelated),不相关比独立弱,零协方差只排除了线性同步,未排除其他形式的依赖。

协方差是双线性的:Cov(aX+b,cY+d)=acCov(X,Y),对两个变量各自线性组合时按相应系数缩放。这一性质来自期望的线性性,使得方差在求和时的协方差项可以逐对展开。

相关系数及其局限 ​

协方差有量纲,数值大小受单位影响,不便比较。把协方差按两个标准差归一,得到相关系数(correlation coefficient):

ρXY=Cov(X,Y)Var(X)Var(Y)

由柯西-施瓦茨不等式,|ρXY|≤1,等号成立当且仅当 X 与 Y 以概率 1 满足线性关系 Y=aX+b。相关系数额外消除了量纲,取值落在 [−1,1],符号给出同步的方向,绝对值给出线性关系的强度。

相关系数有两个限制需要记住。第一,它只度量线性关系。若 Y=X2 且 X 关于原点对称,ρXY 可以为 0,但 Y 完全由 X 决定,两者存在确定性依赖。相关的判定必须配合散点图与非线性方法,单看相关系数会漏掉这类依赖。第二,相关系数对异常值敏感。个别极端点可以把相关系数从接近零推到接近 1,或反向拉低,这种改变来自几个点而非整体趋势。稳健的做法是同时报告去除极端点前后的相关系数,或改用秩相关等对异常值不敏感的量。

相关与因果无关 ​

相关系数刻画的是数值上的线性同步,它不提供因果方向的信息。两个变量高度相关可能来自 X 影响 Y、Y 影响 X、存在共同原因同时影响两者,或抽样过程引入的选择效应。观察到相关后需要额外的实验设计或因果推断方法才能讨论因果,仅凭相关系数无法区分这些结构。辛普森悖论提供了一个具体的例子:在合并数据中出现的相关方向,在按混杂变量分层后可能反转,相关系数本身不揭示这一分层结构。

2.3.5 矩、偏度与峰度 ​

原点矩、中心矩与混合矩 ​

随机变量的各阶期望统称为矩(moment)。E[Xk] 称为 k 阶原点矩(raw moment),E[(X−E[X])k] 称为 k 阶中心矩(central moment)。一阶原点矩是期望,二阶中心矩是方差,三阶中心矩用于刻画不对称性,四阶中心矩用于刻画尾部。

两个随机变量之间的 E[XpYq] 称为 (p,q) 阶混合矩(mixed moment),协方差是 (1,1) 阶中心混合矩。矩为描述分布提供了一族逐阶增细的指标:低阶矩给出粗略的位置与尺度,高阶矩补充形状与尾部信息。

偏度与峰度 ​

偏度(skewness)由三阶标准化中心矩定义:

γ1=E[(X−E[X])3]Var(X)3/2

偏度为正表示右尾较长,分布右侧拖出较长的尾部,收入、房价与服务器响应时间属于这一类;偏度为负表示左尾较长。对称分布的偏度为零,但偏度为零不保证对称,可能出现两侧尾部形态不同的情形。

峰度(kurtosis)由四阶标准化中心矩定义:

γ2=E[(X−E[X])4]Var(X)2

正态分布的峰度为 3,习惯上把 γ2−3 称为超额峰度(excess kurtosis)。超额峰度为正表示尾部比正态厚,极端值出现更频繁,金融收益、洪峰流量属于这一类;为负表示尾部比正态薄,取值集中程度更高。峰度综合了尾部厚度与峰值尖峭程度,读作尾部指标更为稳妥。

矩存在的层级关系 ​

矩的存在有层级关系。若 k 阶绝对矩有限,E[|X|k]<∞,则对任意 j≤k 有 E[|X|j]<∞。原因是在 |X|>1 的部分 |X|j≤|X|k,在 |X|≤1 的部分 |X|j≤1,两段都可控。因此低阶矩比高阶矩更容易存在,矩的阶数越高,对尾部的要求越严格。

这条层级关系解释了为什么有些分布有均值而无方差。t 分布的自由度为 ν 时,只有阶数小于 ν 的矩存在:ν>1 时均值存在,ν>2 时方差存在,ν>3 时偏度存在,ν>4 时峰度存在。ν=2 时均值存在而方差发散,ν=1 即柯西分布时连均值都不存在。判断一个分布的某阶矩是否存在,先看尾部的衰减速度再对照这一层级。

2.3.6 协方差矩阵与相关矩阵 ​

定义与性质 ​

对随机向量 X=(X1,…,Xn),协方差矩阵(covariance matrix)定义为

Σ=Cov(X)=E[(X−E[X])(X−E[X])⊤]

矩阵第 (i,j) 个元素为 Cov(Xi,Xj),对角线元素为各分量的方差。协方差矩阵是对称矩阵,Σ=Σ⊤,因为 Cov(Xi,Xj)=Cov(Xj,Xi)。

协方差矩阵半正定。对任意非零向量 a,

a⊤Σa=Var(a⊤X)≥0

这一等式把二次型写成了线性组合的方差,方差非负保证二次型非负。当 Σ 正定时线性组合的方差严格大于零,随机向量在任意方向上都有波动;当 Σ 奇异时存在使方差为零的方向,说明分量之间存在线性关系,例如某个分量是其他分量的线性组合。这一联系把协方差矩阵与 1.6 节的特征值分析连在一起:Σ 的特征向量给出方差最大与最小的方向,主成分分析正是沿这些方向做投影。

相关矩阵(correlation matrix)是把协方差矩阵按标准差归一后的结果,其 (i,j) 元为 ρij=Σij/ΣiiΣjj,对角线元素全为 1。相关矩阵消去了各分量的量纲差异,便于比较不同变量之间的关联强度。

多元情形下的全方差公式 ​

把一维的全方差公式推广到向量情形,令 X 为随机向量、Y 为随机变量,则

Cov(X)=E[Cov(X∣Y)]+Cov(E[X∣Y])

左边是 X 的无条件协方差矩阵,右边第一项是条件协方差矩阵的期望,第二项是条件期望向量的协方差矩阵。逐元素看,每个元素都满足一维的全方差公式,因此多元版本是逐分量的结果。这一分解在因子模型与隐变量模型中反复出现:观测变量的协方差被拆分为共同因子贡献的部分与个体噪声贡献的部分,因子分析的目标就是从观测协方差中识别出这两部分。有限混合模型的对数似然计算依赖这一分解,期望最大化算法在每一步都用它更新各组分的协方差估计。

2.3.7 矩生成函数、特征函数与累积量 ​

矩生成函数 ​

矩生成函数(moment generating function, MGF)定义为

MX(t)=E[etX]

它在 t=0 附近存在时,对 t 求 k 阶导数并在 t=0 取值可得 k 阶原点矩:MX(k)(0)=E[Xk]。名称来自这一性质,矩可以通过对生成函数求导逐阶读出。矩生成函数把分布的矩打包成一个函数,简化了矩的计算。

矩生成函数对独立和的乘法性质很简洁。若 X 与 Y 独立,则

MX+Y(t)=E[et(X+Y)]=E[etX]E[etY]=MX(t)MY(t)

和函数的矩生成函数是各矩生成函数的乘积。这一性质使独立和的分布识别变得容易:若乘积的形式对应某个已知分布的矩生成函数,就得到和所服从的分布。二项分布、Gamma 分布的可加性都可以由此推出。

矩生成函数的限制是它可能不存在。E[etX] 的积分在 t>0 时对被 etX 控制的尾部要求很高,若尾部衰减不够快,矩生成函数在 t=0 之外的任意邻域都发散。对数正态分布、t 分布都属于矩生成函数不存在的情形,此时需要改用特征函数。

特征函数 ​

特征函数(characteristic function)定义为

φX(t)=E[eitX]=E[cos⁡(tX)]+iE[sin⁡(tX)]

复数指数的模恒为 1,|eitX|=1,因此特征函数的积分绝对收敛,对任意随机变量都存在。这一优点是特征函数取代矩生成函数成为通用工具的原因。

特征函数与分布一一对应,两个随机变量有相同的特征函数当且仅当分布相同,这一事实称为特征函数的唯一性定理,它使从特征函数反推分布成为可能。特征函数在原点处的导数(若存在)给出各阶矩,用法与矩生成函数相同。特征函数同样具有独立和的乘法性质:

φX+Y(t)=φX(t)φY(t)

累积量 ​

对特征函数取对数并作泰勒展开,得到累积量(cumulant)的累积量生成函数:

KX(t)=ln⁡φX(t)=∑k=1∞κk(it)kk!

系数 κk 是 k 阶累积量,也称半不变量。低阶累积量与矩有简单关系:κ1=E[X] 是均值,κ2=Var(X) 是方差,κ3 与三阶中心矩相等,κ4 等于四阶中心矩减去三倍方差的平方。累积量名称中的可加性指:独立随机变量之和的 k 阶累积量等于各变量 k 阶累积量之和,对任意阶都成立。这一性质比矩的可加性更强,矩只有一阶在无独立性要求下可加,高阶矩的可加需要额外的组合修正。

累积量在物理与统计中用于刻画分布的非高斯性。三阶累积量度量不对称,四阶累积量度量尾部,高阶累积量为零是高斯分布的特征。独立和的高阶累积量按项累加、不产生交叉项,这一性质使累积量在信号处理与高阶统计中比矩更便于处理。

用特征函数看中心极限定理 ​

中心极限定理的证明轮廓可以用特征函数写出。设 X1,…,Xn 独立同分布,E[Xi]=0,Var(Xi)=σ2。考虑标准化和 Sn=1σn∑iXi。由特征函数的乘法性质与尺度变换 φaX(t)=φX(at),

φSn(t)=[φX(tσn)]n

把 φX 在原点作泰勒展开,φX(u)=1−σ2u22+o(u2),代入 u=tσn 得到

φSn(t)=[1−t22n+o(1n)]n→e−t2/2,n→∞

极限 e−t2/2 正是标准正态分布的特征函数。由特征函数的唯一性定理,Sn 的分布收敛到标准正态分布。这一推导说明了特征函数在极限定理中的作用:把和的卷积化为特征函数的乘积,乘积取极限又化为指数函数。详细的收敛条件与证明留给 2.7 节,此处只呈现思路。

2.3.8 高阶矩与分布的刻画 ​

矩问题 ​

一个自然的问题是:若一个分布的所有矩 E[Xk] 都已知,能否唯一确定这个分布?这个问题称为矩问题(moment problem)。在矩增长条件受限时,例如满足 Carleman 条件 ∑k(E[X2k])−1/(2k)=∞,矩序列唯一确定分布。对数正态分布不满足这一条件,给出了矩不能唯一确定分布的具体例子。

设 X∼LogNormal(0,1),其 k 阶原点矩为 E[Xk]=ek2/2。这一序列增长极快,不同分布可以共享完全相同的矩序列。构造与对数正态分布共享全部矩的另一个分布的方法是取对数正态密度乘以 1+ϵsin⁡(2πln⁡x) 这样的扰动因子,只要扰动满足一定条件,密度仍然非负且归一,而全部矩不变。两个不同的分布拥有同一组矩,说明仅凭矩无法确定分布。

矩方法的适用范围 ​

矩不唯一确定分布这一事实有实际含义。用样本矩去匹配理论分布的各阶矩(矩估计)在小样本下可能得到多个候选,或在尾部差异较大的分布族之间无法区分。矩方法可靠的前提是所考虑的分布族由有限阶矩唯一确定,例如正态分布由前两阶矩完全确定,Gamma 分布由前两阶矩确定形状与尺度参数。当分布族的尾部形态未知时,仅报告前几阶矩不足以排除形态相近但尾部不同的分布。

这一局限并不否定矩的价值。低阶矩在大多数场景下已经能概括分布的主要特征,偏度与峰度补充了形状信息。报告时应说明用到了哪些阶的矩,并在分布形态存疑时辅以分位数或直方图,避免把所有判断都建立在少数几个矩上。

2.3.9 信息型数字特征 ​

互信息与条件互信息 ​

线性相关系数只能捕捉线性依赖,非线性依赖需要用其他量。互信息(mutual information)度量两个随机变量之间的依赖强度,定义为

I(X;Y)=∬fX,Y(x,y)ln⁡fX,Y(x,y)fX(x)fY(y)dxdy

互信息为零当且仅当 X 与 Y 独立,它对任意形式的依赖都敏感,包括线性与非线性、单调与非单调。互信息衡量的是 Y 的取值能减少多少关于 X 的不确定性,因此取值非负,且在最强的函数依赖(Y 是 X 的一一变换)下达到上界 min(H(X),H(Y)),其中 H 是熵。

条件互信息(conditional mutual information)I(X;Y∣Z) 度量在已知 Z 之后 X 与 Y 之间剩余的依赖。它与条件独立的关系是:I(X;Y∣Z)=0 当且仅当 X 与 Y 在给定 Z 下条件独立。这一量在因果发现与特征选择中用于区分直接依赖与共因引起的依赖。熵、相对熵与互信息的详细内容见信息论章节,此处只说明它们在数字特征体系中的位置:互信息是相关系数的非线性推广,用分布的比率而非协方差来度量依赖。

距离相关与最大信息系数 ​

距离相关(distance correlation)是另一个可捕捉非线性依赖的指标。它基于样本点之间距离矩阵的变换,计算成对距离的协方差,构造出取值范围在 [0,1] 的相关系数版本。距离相关的关键性质是:它为零当且仅当两个随机变量独立,弥补了皮尔逊相关系数在非线性依赖下可能为零的不足。计算复杂度为 O(n2),在样本量较大时需要近似算法。

最大信息系数(maximal information coefficient, MIC)通过把数据划分成网格并在不同分辨率下计算互信息的最大值来度量依赖强度,取值落在 [0,1]。它对函数型依赖具有一致性:样本量增大时,只要存在任何非随机的函数关系,MIC 就趋近于 1。MIC 用于探索性分析,能在事先不知道依赖形式时发现变量之间的关联,代价是计算量较大且对参数敏感。

这三个量共同说明,相关系数只是依赖度量中的一个特例。当怀疑依赖可能是非线性时,加入互信息或距离相关作为补充,可以避免因相关系数接近零而错误地判定变量独立。

python
import numpy as np
from scipy import stats

rng = np.random.default_rng(5)
n = 400

# 非线性依赖:Y = X^2,X 关于 0 对称
x = rng.uniform(-1, 1, size=n)
y = x ** 2

# 皮尔逊相关系数接近 0
print("皮尔逊相关:", round(np.corrcoef(x, y)[0, 1], 4))          # 约 0.00
# 斯皮尔曼秩相关同样接近 0,单调性也不明显
print("斯皮尔曼相关:", round(stats.spearmanr(x, y).statistic, 4))  # 约 -0.00

def distance_correlation(a, b):
    """距离相关,取值范围 [0, 1]"""
    a = np.asarray(a, dtype=float)[:, None]
    b = np.asarray(b, dtype=float)[:, None]
    A = np.abs(a - a.T)
    B = np.abs(b - b.T)
    A = A - A.mean(axis=0, keepdims=True) - A.mean(axis=1, keepdims=True) + A.mean()
    B = B - B.mean(axis=0, keepdims=True) - B.mean(axis=1, keepdims=True) + B.mean()
    dcov2 = (A * B).mean()
    dvarx = (A * A).mean()
    dvary = (B * B).mean()
    return np.sqrt(dcov2) / (dvarx ** 0.25 * dvary ** 0.25)

print("距离相关:", round(distance_correlation(x, y), 4))          # 明显大于 0

# 矩生成函数的数值计算:N(0,1) 的 MGF 理论值为 exp(t^2/2)
for t in [0.5, 1.0]:
    numeric = stats.norm.expect(lambda z, t=t: np.exp(t * z))
    print(f"t = {t},数值 {numeric:.4f},理论 {np.exp(t ** 2 / 2):.4f}")
# t = 0.5,数值 1.1331,理论 1.1331
# t = 1.0,数值 1.6487,理论 1.6487

皮尔逊相关与斯皮尔曼秩相关都接近零,而距离相关明显大于零,三者对比说明 Y=X2 这类非线性依赖能被距离相关识别,被线性相关遗漏。矩生成函数的数值计算与理论值一致,说明用积分定义计算 MGF 是可行的。

2.3.10 本节小结 ​

把分布压缩为可比较的数值

本节建立了一套把分布抽象为数值的工具。数学期望是概率加权的平均,具备线性性且不要求独立性,LOTUS 允许在不求变换分布的情况下计算函数的期望,期望的存在需要绝对收敛。条件期望 E[X∣Y] 是随机变量,塔性质把无条件期望与条件期望联系起来,均方误差最小的预测器正是条件期望,它与 1.5 节的最小二乘投影共享正交分解的结构。方差度量离散程度,全方差公式把总方差拆为组内与组间两部分。协方差与相关系数描述线性关联,相关系数只对线性关系与无异常值的数据可靠。矩按阶数逐层补充形状信息,偏度刻画不对称,峰度刻画尾部厚度,高阶矩的存在比低阶矩更严格。协方差矩阵对称半正定,特征值分析直接连到主成分方法。矩生成函数、特征函数与累积量把分布打包成函数,独立和的乘法性质与累积量的可加性是推导极限定理的工具,中心极限定理的证明轮廓正是特征函数乘法性质的直接结果。矩不能唯一确定分布,对数正态分布提供了反例。互信息、距离相关与最大信息系数则补上了相关系数无法覆盖的非线性依赖。

数字特征给出了一组参数,具体分布族则由这些参数刻画。二项分布、泊松分布、几何分布用一个或两个参数确定全部概率,正态分布、指数分布、Gamma 分布各有自己的参数组合方式。下一节讨论常见离散分布,说明它们的来源、参数含义、数字特征与相互联系,再在 2.5 节讨论连续分布族,把本节建立的期望、方差与矩的计算落到具体分布上。

练习题 ​

第 1 题 概念推导 ​

设 X 与 Y 是随机变量且 E[|X|]<∞。由条件期望的定义与塔性质,证明全方差公式

Var(X)=E[Var(X∣Y)]+Var(E[X∣Y])
参考答案

记 μ=E[X],m(Y)=E[X∣Y]。把 X−μ 分解为

X−μ=(X−m(Y))+(m(Y)−μ)

两边平方后取期望:

Var(X)=E[(X−m(Y))2]+2E[(X−m(Y))(m(Y)−μ)]+E[(m(Y)−μ)2]

逐项处理。第三项 E[(m(Y)−μ)2]=Var(m(Y))=Var(E[X∣Y])。

第一项用塔性质:E[(X−m(Y))2]=E[E[(X−m(Y))2∣Y]]=E[Var(X∣Y)],因为给定 Y 时 m(Y) 是条件期望。

第二项的交叉项对 Y 取条件期望:

E[(X−m(Y))(m(Y)−μ)∣Y]=(m(Y)−μ)E[X−m(Y)∣Y]=(m(Y)−μ)⋅0=0

再用塔性质,交叉项的无条件期望也为零。三项合并即得全方差公式。

第 2 题 计算推理 ​

设 X 服从均值为 μ、方差为 σ2 的分布,Y=aX+b。求 E[Y]、Var(Y) 与 Cov(X,Y),并计算 X 与 Y 的相关系数。讨论 a<0 时相关系数的符号。

参考答案

由期望的线性性,E[Y]=aE[X]+b=aμ+b。

由方差的性质,Var(Y)=a2Var(X)=a2σ2。

由协方差的双线性,Cov(X,Y)=Cov(X,aX+b)=aCov(X,X)+Cov(X,b)=aσ2。

相关系数为

ρXY=aσ2σ2a2σ2=aσ2σ⋅|a|σ=a|a|

a>0 时 ρXY=1,a<0 时 ρXY=−1。两种情况下 |ρXY|=1,说明 X 与 Y 之间存在严格线性关系,相关系数达到上界。符号由斜率决定:单调递增的线性变换给出 +1,单调递减给出 −1。这一结果也说明相关系数只反映线性关系的方向与强度,符合 |ρ|≤1 的上界,取等号时 X 与 Y 线性相关。

第 3 题 代码验证 ​

用蒙特卡洛方法验证全方差公式。令 Y 取值为 {1,2,3},各值概率相等,给定 Y=y 时 X∼N(y,y2)。分别估计 Var(X)、E[Var(X∣Y)] 与 Var(E[X∣Y]),检验三者之和是否等于总方差。

参考答案
python
import numpy as np

rng = np.random.default_rng(7)
n = 1_000_000

y = rng.integers(1, 4, size=n)              # Y 均匀取 1, 2, 3
x = rng.normal(loc=y, scale=y)              # X | Y=y ~ N(y, y^2)

total = x.var()
between = y.var()                            # Var(E[X|Y]),E[X|Y]=Y,理论值为 Var(Y)
within = np.mean([x[y == k].var() for k in (1, 2, 3)])   # E[Var(X|Y)] = E[Y^2]

print(round(total, 4), round(between + within, 4))
# 4.6667 4.6667,两项之和等于总方差

print(round(between, 4), round(within, 4))
# 0.6667 4.0000
# Var(Y) = 2/3 ≈ 0.6667;E[Y^2] = (1+4+9)/3 = 14/3 ≈ 4.6667

数值结果与理论一致。这里 E[X∣Y]=Y,故组间方差为 Var(Y)=2/3;条件方差为 Y2,其期望为 E[Y2]=14/3。两项相加为 2/3+14/3=16/3≈5.33,与直接算得的 E[X2]−(E[X])2 相符。运行中由于 Y 的取值与噪声都参与,组内方差的估计约为 4.67,与理论 14/3 的偏差在小数点后第二位,来自模拟误差。

第 4 题 综合应用 ​

某在线学习平台比较两种学习方案对成绩提升的效果,记录了参与者的成绩提升值 X(分)与基线成绩 Y(分)。样本中 X 与 Y 的相关系数为 0.72。项目负责人据此认为基线成绩越高,学习方案的效果越好。请指出这一推断可能存在的问题,并给出至少两种补充分析的方法。

参考答案

相关系数 0.72 只说明 X 与 Y 存在较强的线性同步,它不足以支持因果方向的结论。可能存在的问题有以下几类。

第一,相关方向不等于因果方向。基线成绩高与提升值大同时出现,可能因为提升值本身以基线为参照,分数越高可提升的空间结构不同,也可能出现向均值回归的现象:基线成绩高于平均水平的参与者往往包含正向的随机波动,后续测量回落,使提升值的变化与基线呈现系统性关联。这一现象会使相关为正,与学习方案的因果作用无关。

第二,存在混杂变量。学习时长、原有基础、参与动机等因素可能同时影响基线与提升值,从而在合并数据中产生相关。相关系数不揭示分层结构,可能掩盖辛普森悖论式的反转。

第三,线性关系未必成立。相关系数只度量线性同步,若真实关系为非线性或存在天花板效应,0.72 不能代表整体趋势。个别极端值也可能抬高相关系数。

补充分析方法包括:绘制基线成绩与提升值的散点图,观察关系形态与异常值;按学习时长或原有基础分层后重新计算相关系数或组间比较;拟合包含基线的回归模型,检验基线的系数是否显著;在有条件时使用随机化分组或因果推断方法(如倾向得分匹配)以区分相关与因果。

常见错误 ​

错误 1 · 由 E[XY]=E[X]E[Y] 断定 X 与 Y 独立

原因:独立确实蕴含 E[XY]=E[X]E[Y],但反过来不成立。等式只说明协方差为零,即两者不相关,不排除非线性依赖。Y=X2 且 X 对称分布时协方差为零,两者仍存在确定性关系。

解决:把不相关与独立分开对待。需要独立性时从数据的生成机制论证或用条件分布检验,不单凭协方差为零下结论。怀疑非线性依赖时补充互信息或距离相关等度量。

错误 2 · 忽略期望存在的前提直接计算积分

原因:按对称性计算的 ∫xf(x)dx 可能以主值意义收敛,而 ∫|x|f(x)dx 发散。把主值当作期望会得到看似合理的结果,但该随机变量期望不存在,相关结论(如大数定律)失效。

解决:计算前先检查绝对收敛,确认 ∫|x|f(x)dx<∞。柯西分布、t 分布等重尾分布需要特别留意,指数较小的矩可能不存在,报告均值或方差时先确认对应的矩存在。

错误 3 · 把相关系数当作依赖程度的通用度量

原因:相关系数只覆盖线性关系,且在非线性依赖下可能接近零。若据此判定两个变量独立,会漏掉函数型依赖。相关系数对异常值也敏感,个别点可以大幅改变数值。

解决:把相关系数作为线性关联的指标,配合散点图、秩相关、互信息或距离相关综合判断。报告相关系数时说明是否剔除异常值,必要时同时给出稳健的依赖度量。

错误 4 · 对任意随机变量都使用矩生成函数

原因:矩生成函数要求 E[etX] 在 t=0 附近有限,尾部较厚的分布不满足这一条件。对数正态分布、t 分布、柯西分布的矩生成函数在原点外发散,无法用来推导矩或识别分布。

解决:遇到矩生成函数不存在的情形改用特征函数。特征函数的模恒为 1,对任意随机变量都存在,独立和的乘法性质与唯一性定理仍然可用。用矩生成函数推出结论时,先确认它在原点邻域内有限。