概率论基础中的极限定理

2024-03-28 四 00:09 2024-06-05 三 21:41

概率论中的基础概念 之后继续整理概率基础笔记,主要是大数定律和中心极限定理的证明, 这部分内容纯粹是从概率公理出发所得到的,但它又是从概率到统计的一个桥梁,比如大数定律为蒙特卡洛统计模拟方法(统计学+计算机科学的结合)提供了理论支撑,而证明中又会引出 transform 的概念,中心极限定理为理解和处理各种噪声模型及抽样分布问题提供了关键的理论支持和计算方法。

本文中如果没有明确指出参考链接,那么大部分基于 《概率导论 (第2版·修订版)》 第 4,5 章,同时加上少量 《女士品茶》 中关于这些定理的背景相关的说明。

依概率收敛

依概率收敛描述了随机变量序列向某个随机变量收敛的性质。给定一个随机变量序列 \(\{X_n\}\) 和一个随机变量 \(Y\),如果对于所有的正数 \(\epsilon\),有

\[ \lim_{n \to \infty} P(|X_n - Y| \geq \epsilon) = 0 \]

则称序列 \(\{X_n\}\) 依概率收敛到 \(Y\),记作 \(X_n \xrightarrow{P} Y\)。

这里有几个问题:

  1. \( P(|X_n - Y| \geq \epsilon) \) 是什么, 如何理解
  2. 当 n 取一个足够大的值时,随机变量 \( X_{n} \) 和 Y 是什么关系,是分布接近吗?
  3. 为什会需要定义个随机序列 \( X_{1}, X_{2}, \dots X_{n} \) ? 现实中或者理论上哪里需要这样的序列呢?
  4. 如何去证明某个分布序列会依概率收敛到某个分布?

这些问题会在以各小节里回答。

理解 P(|X-a|>=e)

P() 可以看作一个函数,但它是作用在事件而不是数字上的,这个事件是一个带有逻辑真假的命题,对于逻辑为真的情况,可能会分配到一个非 0 值, 比如 P(骰子结果 1)=1/6, P(明天下雨)=0.4 。

但对于逻辑为假的情况,概率均为 0, 比如在标准六面骰子, P(骰子结果 7)=0; P(0>1)=0

对于逻辑为真的事件,其具体的概率值来自于随机实验的属性,它一般可以用概率密度函数来描述(也可以用累计分布函数,或者部分初始概率再加上结构性的描述来表示,比如 Bayes 网络)。P(X>1) 表示随机变量大于 1 的概率,它等于对概率密度函数某一侧的积分或求和 \( \int_{x=1}^{\infty}p(x)dx \), 如果 X 不可能取到大于 1 的值, 那么 P(X>1) 就是 0.

回到 P(|X-a|>=e):

  • 考虑 a=0 且 e 为某个具体数 1 的情况 P(|X|>=1) 根据"绝对值"的逻辑定义: \(P(|X|>=1) = P(X>=1 \cup X\leq -1) \) 因此它是概率函数双侧的积分或求和: \( \int_{x=-\infty}^{-1}p(x)dx + \int_{x=1}^{\infty}p(x)dx \)
  • 再考虑 a 不为 0 的情况

    对于 P(|X-a|>=1), 这里 a 是个具体实数而非随机随机变量,那么得到是平移后的双侧积分或求和:

    \[ \int_{x=-\infty}^{a-1}p(x)dx + \int_{x=a+1}^{\infty}p(x)dx \]

    因此这个值可以通过 X 的概率密度函数而确定

  • 接着,考虑 e 是任意正整数的情况

    回到依概率收敛的定义,这里 e 可以是任意正整数,先不考虑极限, P(|X-a|>=e)=0 是什么意思?

    前文说到, P(A)=0 等同于 A 这个事件对应的命题在当前实验下是一个假命题,因此 |X-a|>=e 不可能成立。如果 e 是一个固定值,那么这意味着 X 只能取到 (a-e, a+e) 之间的值,而由于 e 可以取任意小的正整数,那么 (a-e, a+e) 区间宽度可以无限缩小但又不为 0(因为 e 无法取到 0).

    这表明 X 最终只能取到 a 这个值,X 概率密度函数中所有的概率密度都集中到了 a 点上。也就是 X 从一个随机变量"退化" 到一个确定的实数 a 上。

  • 最后回到极限状态:

    \[ \lim_{n \to \infty} P(|X_n - a| \geq \epsilon) = 0 \]

    它表示的是,随着 n 越来越大,随机变量 \( X_{n} \) 的概率分布越集中在点 a 附近,最终几乎聚集在 a 上,如下图(1)所示。

prob_x-y.svg

理解 P(|X-Y|>=e)

尽管后文的大数定律并不要求依概率收敛公式中的目标变量 Y 是一个真正的随机变量,但本节还是想要理清当 Y 是一般的诸如遵循二项分布或正态分布的随机变量时,足够大的 n 对应的 \( X_{n} \) 和 Y 是什么关系?

如何理解 P(|X-Y|>=e)

首先 X-Y 是两个随机变量的减法,如果要严格计算它们的分布,即便它们独立也需要用到卷积,但我们在讨论一般的变量 X 和 Y ,而没有给定具体分布,因此这里只是从宏观上理解它们的关系。

首先 P(|X-Y|>=e) 实际是一个联合分布,如果 e 是一个比较小的固定值,比如 0.01, 并且将概率也限制在一个很小的值,如 \( P(|X-Y|>=0.01) \le 0.001 \), 那么其意思是, X Y 几乎都是以相同的值出现,它们之间差值大于 0.01 的概率很低,这隐约体现了出距离的概念。

如果随机序列 \( \{X_{n}\} \) 依概率收敛于 Y, 那么取一个足够大的 n, 得到的的随机变量 \( X=X_{n} \) 和 Y 的关系大致如上图(2)所示,它们的概率密度都会集中在 y=x 这条线的附近的狭缝中,但它们不一定是线性关系,比如图(3)中,X,Y 的概率密度就集中在狭缝的一个单位圆里, 那么它们的相关系数实际为 0 。 所以尽管依概率分布有一种 X Y 距离缩小的感觉,但是:

  • 它不意味着 X 和 Y 相关系数接近 1, 也就是越来越线性相关

    线性相关体现的是两个随机变量"值"的依赖关系,图 (3) 是一个反例。

  • 它不意味着 X 和 Y 的 KL 散度总体会接近 0 。

    KL 散度的计算中完全不涉及 X, Y 变量的值,而只涉及 P(X) 和 P(Y), 它描述的是两个概率概率分布形状的相似性。

    但即便 X 和 Y 在依概率收敛语境下很接近,那只说明了它们的联合分布的某种集中性质, 比如把图(3)里那个圆替换成一个不规则的图形,那么该图形在 X 和 Y 轴上的投影得到的边缘概率密度可以是任意的。

为什么出现序列和级数

在依概率收敛描述中,出现了随机变量序列 \( \{X_{n}\} \) 的说法,这很突兀,因为在概率论基础知识里很少讨论随机变量的序列(更多时候是讨论某个实验里事件序列,比如抛硬币)。该序列还是被参数 n 所控制,随着 n 变大它会更接近另外一个随机变量。

本文中,随机变量序列几乎就是为了描述和证明大数定律和中心极限定律引出的,并且它表示的就是一个足够多的随机变量列表中前 n 个随机变量的和 \( S_{n}=X_{1}+X_{2}+\dots +X_{n} \)或者平均 \( Z_{n}=\frac{S_{n}}{n} \) ,或记为 \( \bar{X} \)。比如表示前 n 个随机变量的平均的 python 类比:

Xs = list(range(1, 100))
def X(n):
    return sum(Xs[:n])/n

print(X(1), X(2), X(3))
1.0 1.5 2.0

在其他场景,比如随机过程里也会提到随机变量序列,但那时一般会有具体的说明。

关于序列更"底层" 的说明

序列和级数一般是在微积分中教学,它的目的是为了引出极限,但如果要真正去挖掘 "为什么" 需要序列或者级数这种数学对象,实际还是要回到实数的构建上。

对于整数和比例数(有理数),它们本质还是离散的(虽然有无穷),离散在于它们是可数无穷, 但要从这些离散的对象定义出连续稠密的实数对象,比如 \( e \), \( \pi \), 那么需要引出极限,而极限的定义需要序列和级数。

序列可以看作是自然数的函数,比如 \( a_{1}, a_{2}, a_{3}\dots \) 可以看作是 \( f(1), f(2), f(3) \)… 如果序列的项越来越接近某个固定的数值 \(L\),那么我们说这个序列收敛于 \(L\)。

级数是序列的项的累加和,形式上为 \(S_n = a_1 + a_2 + \ldots + a_n\), 如果随着 n 增大,级数的部分和趋于某个固定的值 \(S\),我们则说这个级数收敛于 \(S\) 。为什么要定义定义前 n 项和?这是因为很多实数是这样得到的,比如 \( e =1+\frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} .. \), 这是一种简化或者所谓"分析" 的思想,把一个复杂的东西拆成更多简单的部分的求和。

如何证明依概率收敛

要证明依概率收敛到一个具体实数,应该先找到一个形如 \( P(|X_n - a| \geq \epsilon) \le f(n) \) 的式子(这里把等号改成 <= ,更通用),然后两边取极限:

\[ \lim_{n\to \infty}P(|X_n - a| \geq \epsilon) \le \lim_{n\to \infty}f(n) \]

对于右边,只要能找一个极限为 0 的关于 n 的函数,比如最简单的 \( \frac{1}{n} \), 那么就可以得到 \( \lim P() \le 0 \), 由于概率 P 一定大于等于 0, 意味着 \( \lim P()=0 \) ,这就是依概率收敛的形式了。

对于不等式左边呢? 由于它涉及到计算区间概率的问题,需要引入概率中的一些著名不等式, 在下一节证明大数定律中具体说明。

弱大数定律

n 个独立随机变量的均值

从概率论基础可以知道,对于任何 X, Y 有 E[X+Y] = E[X] + E[Y] 以及 Var(X+Y) = Var(X)+ Var(Y)+2Cov(X,Y), 如果扩展到更多的变量,那么对于期望来说,可以很自然地扩展到:

\[ E[X+Y+Z] = E[X]+E[Y]+E[Z] \]

这意味着,如果 X, Y, Z 都有相同的均值 \( \mu \),那么:

\[ E[\frac{X+Y+Z}{3}] = \mu \]

继续扩展到 n 个变量:

\[ E[\frac{1}{n}\sum_{i}^{n}X_{i}] = \mu \]

这里核心是对 \( \frac{1}{n}\sum_{i}^{n}X_{i} \) 进行概念上的理解,它实际是一个随机变量,将其记做 \( \bar{X} \), 它的值可能是不稳定的,比如抛掷三个硬币,有的时候出现 2 个正面,有点时候出现 0 个正面,如果把正面映射到数字 1, 反面映射到数字 0, 那么 \( \bar{X} \) 在这两次的值分别是 \( \frac{2}{3} \) 和 0 。不过以上式子表明,不论 n 多大,该变量的期望 \( E[\bar{X}] \) 都等于单个随机变量的期望 \( E[X_{i}] \) 。

尽管从期望的视角来看, \( \bar{X} \) 随机变量没有随着 n 的变化而变化,但期望只是代表随机变量的某个性质,在另外一些视角上看, \( \bar{X} \) 是在随着 n 变化的,比如方差。方差本身表示概率分布偏离中心的总体程度,或者说概率密度在均值点附近的集中程度,方差为 0 意味着随机变量是某个确定值,比如对于随机变量 X, 它在 X=1 的时候概率为 1, 其他为 0, 那么其方差为 0, 而 \( P(|X-1|\ge \epsilon ) \) 的概率都是 0, 这很符合依概率收敛的描述。因此方差越小,本身就体现了概率越收敛于某个数值的直觉。

由于目前对 \( X_{i} \) 之间没有添加 "独立性" 约束,这使得对 n 个变量求平均后的方差很难计算,因此退后一步,加上"独立性"和同方差假设,可以得到:

\[ Var(\sum_{i}^{n}X_{i}) = nVar(X_{i}) \]

\[ Var(\frac{1}{n}\sum_{i}^{n}X_{i}) = \frac{1}{n^{2}} nVar(X_{i}) = \frac{Var(X_{i})}{n} \]

两边加上极限: \[ \lim_{n\to \infty}Var(\frac{1}{n}\sum_{i}^{n}X_{i}) = \lim_{n\to \infty} \frac{Var(X_{i})}{n} = 0 \]

以上等式为 0 的前提是单个变量的方差不是无限大。在该前提下,同方差的假设还可以继续放宽,即便不是同方差,只要每个 \( X_{i} \) 方差是有限就可以从中选出一个方差的最大值记为 \( V_{\max } \) ,得到:

\[ \lim_{n\to \infty}Var(\frac{1}{n}\sum_{i}^{n}X_{i}) \le \lim_{n\to \infty} \frac{V_{\max} }{n} = 0 \]

如何把以上情况描述成依概率收敛的语言呢?核心在于要把 P(|X-a|>=e) 和方差建立一个等式或者不等式关系,而 Chebyshev 不等式补上了这层关系,最终得到了大数定律。

关于方差无限大的说明

什么情况下随机变量分布方差会无限大? 一种自然界和社会现象中常见的分布是幂律分布(Power-law distribution),它的特点是大量小事件和少量大事件之间存在一种“长尾”关系。财富分布、互联网上网页知名度(被引用链接数)都可以用幂律分布近似建模。幂律分布概率密度函数一般形式为 \(P(x) = Cx^{-\alpha}\),其中 \(C\) 是归一化常数,\(\alpha\) 是幂律指数,通常 \(\alpha > 1\)。当幂律指数 \(\alpha \leq 3\) 时,幂律分布的方差是无限的。这意味着一般的统计度量(如均值和方差)可能无法充分捕捉数据的特性。

另外,根据根据维基百科的说明,方差无穷大假设也不是很必要:

很大或者无穷大的方差会使其收敛得缓慢一些,但大数定律仍然成立。通常采用这个假设来使证明更加简洁。

大数定律 - 维基百科,自由的百科全书

因此实际只要均值相同这一个假设即可。

弱大数定律/定理引入

大数定律提供了一个经典的依概率收敛的例子。考虑一个随机变量序列 \(\{X_i\}\),这些随机变量独立同分布,且有相同的期望 \(\mu\) 和有限的方差 \(\sigma^2\)。定义样本均值 \(\overline{X}_n = \frac{1}{n}\sum_{i=1}^{n}X_i\)。

我们想证明 \(\overline{X}_n\) 依概率收敛到 \(\mu\),即 \(\overline{X}_n \xrightarrow{P} \mu\)。

它表明,当 n 逐渐变大时, \( \bar{X}_{n} \) 随机变量的概率密度会逐渐聚集到 \( \mu \) 点上,因此如果 n 足够大,从 X 中采样出 n 个值后求平均基本就等于 X 的理想期望,因此可以用随机采样方法来近似理想的分布的参数, 这给随机采样和参数估计提供了理论基础。

要证明对于任何整数 \( \epsilon \) 有 \[ \lim_{n\to \infty}P(|\bar{X}_n - \mu | \geq \epsilon) = 0 \]

需要用到切比雪夫不等式(Chebyshev's inequality):

\[ P(|\overline{X}_n - \mu| \geq \epsilon) \leq \frac{\sigma^2}{n\epsilon^2} \]

这样给定任何一个 \( \epsilon \), 只要 n 足够大,等式右边都能趋近于 0, 为了证明该不等式还需要引入 markov 不等式

切比雪夫不等式提供了随机变量的方差与其偏离均值的概率的上界。随着 \(n\) 的增大,\(\frac{\sigma^2}{n\epsilon^2}\) 趋于 0。这证明了样本均值 \(\overline{X}_n\) 依概率收敛到总体均值 \(\mu\)。

另外,弱大数定律实际是一种定理,因为它可以通过概率公理推导出来,"定律" 是早期没有形式化证明前的称呼,表示这是一种观察到现象后归纳出来的规律,比如抛大量硬币后发现正面朝上的频率接近 1/2, 而这和人触摸硬币后觉得它是 "均匀" 的感觉是比较契合的。

强大数定律说明

弱大数定律是基于 "依概率收敛" 这种极限表达式的,概率论里还有一种更为强的收敛形式–以概率 1 收敛,基于该形式可以定义强大数定律(SLLN),引入强大数定律主要是考虑理论的严谨和完善性。 本文不列出。具体可以参考 概率导论 (第2版·修订版) 5.5 节

弱大数定律证明之 Markov 不等式

对于非负的随机变量,假设 E(X) 存在,那么 markov 不等式为:

\( P(X>=t) <= \frac{E(x)}{t} \)

可以用 P(X>t) 的定义来证明,由于 X 的非负性质,因此可以舍弃部分值来构造出不等式:

\begin{align*} \mathbf{E}(X) & = \int_{0}^{\infty}xf(x)dx \\ & = \int_{0}^{t}xf(x)dx + \int_{t}^{\infty}xf(x)dx \\ & \geq \int_{t}^{\infty}xf(x)dx \geq t\int_{t}^{\infty}f(x)dx \\ & = t P(x>=t) \end{align*}

因此有 \[ P(x>=t) \leq \frac{E(X)}{t} \]

这个不等式算是比较弱的,因为经过了两次缩放,但至少提供了对概率分布右侧尾部区间的概率估计的上界。

它还直观上表明:如果某个概率分布的期望很小,那么从中采样出一个很大的数的概率会很低。

弱大数定律证明之 Chebyshev 不等式

把 Markov 不等式中的随机变量写成 \( Y=(X-\mu)^{2} \) 后得到: \[ P((X-\mu)^{2}>=\epsilon^{2}) <= \frac{E[(X-\mu)^{2}]}{\epsilon ^{2}} = \frac{\sigma^{2}}{\epsilon ^{2}} \]

\( (X-\mu)^{2}>=\epsilon^{2} \) 等价于 \( |X-\mu |\ge \epsilon \)

因此:

\begin{align*} P(|X-\mu|\geq \epsilon) \leq \frac{\sigma^2}{\epsilon ^2} \end{align*}

\(\mu ,\sigma^{2} \) 是 X 变量的期望和方差

把其中 X 替换成前文提到的更具有 "统计" 意义的对象 – \(\bar{X}_n=\frac{1}{n}\sum_{1}^{n}X_i \) 这里 \( X_{i} \) 要有相同的均值,并且:

  • 如果有相同的有限的方差 \( \sigma^{2} \), 那么由前文知道 \( Var(\bar{X}_{n}) = \frac{\sigma^{2} }{n} \), 那么

    \[ P(|\bar{X}_n-\mu|\geq \epsilon) \leq \frac{\sigma^{2} }{n\epsilon ^2} \]

  • 如果不同的有限的方差,并且最大值仍然记为 \( \sigma^{2} \), 那么由前文知道 \( Var(\bar{X}_{n}) \le \frac{\sigma^{2} }{n} \), 那么仍然可以得到以上不等式。

这个式子导出的 \(\overline{X}_n\) 依概率收敛到 \(\mu\) 就是弱大数定律,也称辛钦定理,其假设是 \( X_{i} \) 独立并且有相同的均值。

除了证明另外, Chebyshev 实际是一个给概率分布提供通用的"双尾" 区间概率估计的工具,比如赋予 \( \epsilon \) 标准差的意义的话可以得到:

\begin{align*} P(|X-\mu|\geq k\sigma) \leq \frac{1}{k^2} \end{align*}

这表明偏离中心 k 个标准差的概率不小于 \( 1/k^2 \), 当然这也是一个比较松的范围,比如 k=1 时就没有提供有用信息。

伯努利大数定律:概率的频率主义解释

对于任何重复发生的事情都可以用一个指示(indicator) 函数来把这个事件转成 0,1 的 Bernoulli 随机变量。 例如,当掷骰子时,一般我们会将该随机变量 X 的取值定义到 {1,2,3,4,5,6}, 但如果只关注其中某个事件,比如是否出现 6, 就可以用指示函数把它变成一个随机变量 Y ,取值为 {1, 0}, 1 表示 6 出现 – 概率为 5/6,0 表示不出现 – 概率为 1/6 。

这样的话,n 次随机事件的平均值 \( \bar{X}_{n} \) 就可以写成 F/n, 其中 F 是事件发生的次数(这是随机变量), F/n 就是事件发生的频率。而 \( \bar{X}_{n} \) 的均值为 p ,即单次事件发生的理想概率(总体概率)。

弱大数定律(辛钦定理)公式:

\[ P(|\bar{X}_n-\mu|\geq \epsilon) \leq \frac{\sigma^{2} }{n\epsilon ^2} \]

可以写成伯努利大数定律公式:

\[ P(|\frac{F}{n}-p|\geq \epsilon) \leq \frac{\sigma^{2} }{n\epsilon ^2} \]

不等式右侧可以不需要用 p 去替换,因为我们只关注它是否趋向于 0 。

该定理以严格的数学形式表达了频率(empirical frequency)的稳定性,也就是说当 n 很大时, 事件发生的频率较大偏离总体概率的可能性很小。这为频率主义观点——概率即长期频率——提供了坚实的数学基础。

两种实验机制和抽样分布

假设有这么一个场景,A 去参加一个实验,坐在类似银行办业务的柜台前,柜台内的人每十秒钟都给他呈现一个硬币的随机状态,但 A 看不到随机过程是如何发生的。经过他长时间观察和统计,他基本确认硬币出现正反面在顺序上没有很特殊的规律性,而出现正面的硬币数量的比例大概是 1/2,那么他可以有两种猜测:

  • 柜台内的人每次都在他看不见的角落重新投掷了硬币,然后把硬币结果呈现给他
  • 柜台内的人从一个包含 n 个已经抛掷的硬币(正面和反面数量比例 1:1, n 是大于 1 的偶数)的桌面上随机选择了一个硬币,将结果呈现给他后再放回到桌面等待下一次随机抽取

实际上仅凭借呈现的结果,A 完全无法区分硬币是通过哪一种机制获得的,因为这两种机制在现象上完全是等价的。

这引出了两种抽样方式:

  • "函数式"的:每个结果都是从一个随机变量里新鲜采样

    import random
    n = 10
    print([random.randint(0, 9) for _ in range(n)])
    
    [1, 6, 3, 2, 4, 1, 3, 1, 7, 4]
    
  • "数据式"的:从一个足够大的随机结果库里再随机选择

    # 生成一个足够大的随机结果库
    random_result_library = [random.randint(0, 9) for _ in range(1000)]
    
    sample = random.choices(random_result_library, k=n)
    print(sample)
    
    [9, 1, 2, 7, 4, 0, 8, 7, 4, 0]
    

    以上 choices 是有放回的抽取。 可以进行多次抽样,然后对每次抽取的样本求平均,这个平均值也是一个随机量:

    for i in range(7): # 抽样 7 次,每次 n 个样本, 计算平均
        print(sum(random.choices(random_result_library, k=n))/n)
    
    4.7
    4.5
    3.9
    5.2
    5.5
    5.0
    6.1
    

    这种多次抽样下得到的值形成的分布称为抽样分布。

接下来用数学符号来描述,前文提到,随机变量序列 \( \{X_{n}\} \) 一般来自于从某个足够大的随机变量列表里对前 n 个随机变量求平均得到新的随机变量 \( \bar{X}_{n} \),然后讨论 n 逐渐增大情况下的收敛性质。

对于任何随机变量,我们可以从中采样出多个样本,比如从伯努利分布采样出 100 个结果就相当于抛了 100 次理想硬币。

由于 \( \bar{X}_{n} \) 也是随机变量,对它采样 1 次实际可以看作对 n 个 \( X_{i} \) 都分别采样出一个值然后求平均,对 \( \bar{X}_{n} \) 采样 100 次就得到了 100 个平均值,它们实际服从某个分布,我们目前不知道该分布的具体形式,但已经计算过均值和方差(假设 \( X_{i} \) 有相同的方差 \( \sigma \) ):

\[ E[\bar{X}_{n}] = \mu \quad Var(\bar{X}_{n}) = \frac{\sigma ^{2}}{n} \]

而在统计活动中,经常从某个总体中抽取多个大小接近的样本群,比如对某个地区人口调研了 5 次,每次抽取 100 个样本,分别对每次抽取的样本求平均,就可以得到 5 个均值,它们都相当于是从 \( \bar{X}_{100} \) 中采样结果。这 5 个点组成的分布被称为“抽样分布”,抽样分布的标准差被称为标准误差(Standard Error, SE), \(SE = \frac{\sigma}{\sqrt{n}}\),其中 \(\sigma\) 是总体标准差,\(n\) 是样本大小。它和理想情况下多个随机变量均值 \( \bar{X}_{n} \) 的标准差是一样的。

大数定律为这两种采样提供相同的数学支持:

  • 在蒙特开洛采样方法中,就是每次从某个"动态" 的随机函数里生成结果,只要生成的够多样本,其均值可以很接近原始分布的期望。 那么可以通过对这些结果均值来反向估计这个函数背后随机变量的期望值
  • 在经济、社会医疗等学科中,通过对人群或者特定现实对象的抽样可以获得对总体人群或现象的信息。

中心极限定理

为什么还要中心极限定理

这可能不是一个好的问题,因为在中心极限定理被严格证明之前,费希尔关于似然函数的理论就默认建立在该定理之上,拉普拉斯在 19 世纪早期用中心极限定理假设证明了最小二乘法(参见《女士品茶》第 9 章)。

因此统计学本身可能不需要这些理论证明来支撑,它本身是关于现实数据的实践类学科,至少可以用经验手段来维持其有效性,然而极限理论的证明使得统计学获得了更加强稳固的数学支撑(反过来也可以表明概率公理这种形式系统建立得很合理,在极限情况下还能与现实中的观察保持一致)。

大数定律建立了纯数学化的概率论和带有"经验" 色彩的统计学之间的关系,但它核心描述的还只是经验均值和理想期望在样本很大的情况下的渐进关系。

同样作为数学推导的结果,一种数学发现,中心极限定理则表明大量样本情况下样本均值随机变量会越来越接近正态分布。这意味着,我们不单单能够在大数定律的支持下,用大量抽样样本去估计均值这种参数,还能够谈论这个均值偏离理想期望的概率(或者说置信度)是多少,因为可以用近似的正态分布精确地计算出抽样结果偏离理想期望的概率,这是经典假设检验里的重要方法。

期望、方差、偏度、峰度和 moment

期望和方差可以看作是对某个随机变量遵循的分布的特定“切片”或特征,期望的重要性可能一方面来自人的直觉,比如用平均成绩衡量两个班级的水平高低,在掷骰子游戏里计算期望以判断自己是否能过在长期获利。另一方面,许多常见的初等概率分布仅需要期望和方差就可以描述,比如正态分布、二项分布。

假设两个班平均成绩完全相同,这个时候可能就会去对比另外的指标,比如方差越小说明成绩分布越集中,学生的成绩更加均匀,这可能体现了老师对每个学生的关照程度。但如果方差也相同,还能用哪些指标呢?

矩(moment)则提供了统一的形式来描述随机变量的分布特征。它分为原始矩和中心矩:

  • 第 \(n\) 个原始矩定义为随机变量 \(X\) 的 \(n\) 次幂的期望值 \(E[X^n]\)
  • 第 \(n\) 个中心矩定义为随机变量 \(X\) 与均值之差的 \(n\) 次幂的期望值 \(E[(X-E[X])^n]\)

偏度(Skewness)和峰度(Kurtosis)分别对应的是三阶中心矩和四阶中心矩(与正态分布峰度的差),它们在均值和方差之外提供了额外的信息。

正偏度表示分布的右尾(正方向)较长,负偏度则表示左尾(负方向)较长。偏度的计算公式为: \[ \text{Skewness} = E\left[\left(\frac{X - \mu}{\sigma}\right)^3\right] = \frac{\sum_{i=1}^{n} (X_i - \overline{X})^3}{(n-1) \cdot \sigma^3} \]

峰度计算时减去 3 是为了让正态分布的峰度为 0,方便比较。峰度是衡量概率分布尖锐程度的统计量,也可以解释为分布尾部的厚度。正态分布的峰度被定义为 3。超过 3 的峰度表示分布比正态分布更尖锐,称为“尖峰态”;小于 3 的峰度表示分布比正态分布更平缓,称为“扁平态”。

\[ \text{Kurtosis} = E\left[\left(\frac{X - \mu}{\sigma}\right)^4\right] - 3 = \frac{\sum_{i=1}^{n} (X_i - \overline{X})^4}{(n-1) \cdot \sigma^4} - 3 \]

对这两个度量的直观理解可以参考: 39_偏度和峰度 峰度.zh_en_哔哩哔哩_bilibili, 这里只是想表明它们是分布的矩的特例,不会具体讨论如何利用这两种度量进行分布分析。

对于连续分布的原始矩,计算方式为:

\begin{align*} \mathbf{E}(X) &= \int_{-\infty}^{\infty}xf(x)dx \\ \mathbf{E}(X^2) &= \int_{-\infty}^{\infty}x^2f(x)dx \\ \dots \\ \mathbf{E}(X^n) &= \int_{-\infty}^{\infty}x^nf(x)dx \\ \end{align*}

一种形式上和矩很相似的抽象是向量的 p-范数:

\[ \|v\|_p = \left( \sum_{i=1}^{n} |x_i|^p \right)^{\frac{1}{p}} \]

不同的 p-范数对应了向量不同视角下的一个度量。

另外一种内涵上和矩接近的类比是高阶导数:

考虑一个实数值随机变量的分布,其一阶矩(即期望)提供了分布中心的位置信息,就像一阶导数在某点处提供了函数曲线在该点附近的最佳线性近似的斜率。二阶矩(方差)描述了数据围绕中心值的离散程度,类似于二阶导数描述的函数曲线的凹凸性(曲率)。

泰勒展开(也称为麦克劳林级数)可以用函数某点的无穷阶导数的组合来"还原"出真实的函数点的所有信息,同样,后文会展示用分布的无穷阶矩的组合来还原或保存真实的分布函数(一些经典分布只需要少量矩来表示,例如正态分布只需一阶和二阶矩,它的高阶矩都是 0, 就像 f(x)=x 除了一阶导数外的高阶导数都是 0 一样)。

概率分布的历史雏形

统计学先驱皮尔逊最初认为所有概率分布都可以只用四个数来描述,以下摘自《女士品茶》第二章 分布与参数一节:

皮尔逊认为,我们测量到的数据只是随机分布的一部分,而随机分布的概率是由分布函数这个数学函数描述的。皮尔逊发现了一系列分布函数,他称之为“偏斜分布”。他宣称偏斜分布可以描述科学家在一切数据中可能看到的任何一种分布。在这个体系中,每个分布由四个数值确定。确定分布函数的数值与观测值并不是同一种“数值”。这些数值无法观测,但是可以根 据观测值的分布方式推算出来。这些数值后来被称为参数——这个词来自希腊语,意为“准观测值”。能够完整描述皮尔逊体系中数字的四个参数分别叫做:

  1. 均值——观测值分布的中间值;
  2. 标准差——大多数观测值相对于均值的分散程度;
  3. 对称度——观测值偏向均值一边的程度;
  4. 峰度——罕见观测值相对于均值的分散程度。

根据皮尔逊将现实看作概率分布的观点,我们无须将实验结果看作仔细测量的精确数字,我们只能谈论数值的概率,而不是确定的数值。每个实验的结果是随机的,因为它们无法预测。不过,我们可以用分布的统计模型描述这种随机性的数学本质。 用描述随机的模型来表示本质。概率分布是真实的,显示看到的数据反而是随机的影像。

根据这种思想,达尔文雀(他在书中使用的一个重要例子)并不是科学研究的对象,真正的对象是某个雀鸟物种所有个体的随机分布。如果能测量出某个雀鸟物种所有个体的喙长,就能得到这些喙长的分布函数的四个参数(前四个 moment),而这四个参数就代表了该物种的喙长。

皮尔逊原本想用分布变化来证明达尔文进化论,然而这方面并没有实质性进展,但他掀起的这场革命为我们留下了一份宝贵的思想遗产,那就是,科学研究的对象不是可以观察到的事物,而是描述观测值概率的数学分布函数。

生成函数和特征函数

还是用上一节中的例子来说明,如果两个班级的平均成绩相等,可以比较成绩的方差,再相等则比较偏度、峰度,以此类推,也许可以一直对比下去,如果所有阶的 moment 都相等,那么"基本"可以认为这两个班级的成绩分布是一样的。

这类似于对比两个函数泰勒展开的每一项,如果二者都相等,那么可以认为这两个函数(在该点附近)基本相等。

那么我们就需要一个数学对象,它可以把随机变量的所有阶的 moment 都存储在该对象中,然后经过一定操作就可以获得任意阶的 moment 。当然,一个疑问是,我直接给出概率密度函数不就可以计算出任意阶的 moment 吗?为什么要捣鼓出一个新的数学对象。

这里有两种类比性的解释:

  • 第一种来自编程:比如你已经有一个数列保存了所有需要的数据,但为了查询和插入的总体效率, 需要用平衡二叉树(比如红黑树)来重新保存这些数据。因此尽管保存的数据本身没有变, 但新的数据结构在实际场景中有很大的效率提升。
  • 第二种来自数学本身:当解一个多元一次线性方程组的时候,可以用高斯消元法去解,但如果将其写成矩阵和向量形式 Ax=b, 那么我们可以用线性空间里的各种手段来探测、分解、重组 A 和 b 从而使得计算变得更加方便。因此尽管方程组和矩阵或向量都拥有一样的数据,但将方程组变换到一个具有丰富数学性质的空间里,我们有更多方便的工具来展现方程的特点和性质,也可以获得更灵活简便的计算方法。

对于分布的 moment, 我们将其保存在所谓的生成函数 (Generating Function) 中,有时候也翻译为母函数,它都表示一种展开、繁衍的意思。该函数的形式一般是多项式进行累加,就像一个数据结构中的链表。

例如,矩生成函数(矩母函数)如下:

\[ M_{X}(t) =\sum_{0}^{\infty}m_{n}\frac{t^{n}}{n!} \]

其中的 \( m_{n} \) 是 X 随机变量的 n 阶矩,对于原始矩就是 \( E[X^n] \) , 注意这个形式实际可以看作函数 M 在 0 点附近的泰勒展开式,其中 \( m_{n} \) 是函数在 0 点的 n 阶导数,反过来这意味着,只要对 \( M_x(t) \) 求第 n 阶导数再取 t=0,就可以得到 X 的 n 阶矩,因此该函数把随机变量 X 的所有矩信息都保存住了。(所以这里实际把 n 阶导数和 n 阶矩性质绑定了)

由于期望的线性性质,可以将上式子继续写成:

\[ M_{X}(t) = \sum_{0}^{\infty}E[X^{n}]\frac{t^{n}}{n!} = E[\sum_{0}^{\infty}X^{n}\frac{t^{n}}{n!}] = E[\sum_{0}^{\infty}\frac{(tX)^{n}}{n!}] \]

最后一个式子内无穷级数实际等于 \( e^{tX} \) (X 是一个随机变量),因此有:

\[ M_{X}(t) = E[e^{tX}] \]

注意这是一种"高层"的符号表达,矩母函数的意义还是来自以上展开的多项式形式。但由于指数形式有比较好的运算性质(比如乘法),因此这种"高层" 的对随机变量求指数之后再求期望的操作也称为变换 transform ,有许多这种变换的例子,比如

比如针对离散随机变量的 z-变换, 针对连续随机变量的 拉普拉斯变换,信号处理领域的傅里叶变换等,本文不对此展开。

这里给出另外一种对分布的变换 – 特征函数:

\[ C_{X}(t) = E[e^{itX}] \]

它和矩生成函数唯一区别是在指数位置加入了虚数 i, 这是出于数学性质上的考虑,因为 \( e^{itX} \) 中指数是纯虚部的,模长 \( \|e^{itX}\| \) 就等于 1 ,因此对它求期望永远不会出现无穷大的情况,而如果是矩母函数,如果有些 X 随机变量取值可以无穷大,再取指数后期望可能不存在。因此后文给出的证明是基于特征函数,然而基于矩母函数也是可以的(不严格考虑极端情况或者加上一点假设限制),参考: 正题3:中心极限定理证明_哔哩哔哩_bilibili

无论是特征函数或者矩母函数,经过转换后的随机变量有很好的加法/乘法性质,假设随机变量 \( X_{i} \) 之间独立的话,会得到:

\[ M_{X_1+\dots +X_n}(t)=E[e^{t(X_1 +X_2+\dots)}] = E[e^{tX_{1}}]E[e^{tX_{2}}]\dots = \prod_{i=1}^{n}M_{X_i}(t) \]

注意是独立性使得 E[XY]=E[X][Y] 的,这个性质使得多个随机变量之间的加法在转换后变成了特征函数之间的乘法,而指数形式的乘法又有很好的性质,这是证明中心定理的关键技巧。

欧拉方程的解释

特征函数中涉及到复指数的性质,而后文还涉及到欧拉方程,完全严格的证明会需要用到数学分析、复分析等知识,相当于为了写一段 println("hello") 去重写操作系统和编译器,因此这里不打破抽象层去列出它们底层的合理性, 而只是做一点"高层"的解释

自然常数 e

e 有多种定义,比如前文提到的无穷级数,不过它还有 \( e=\lim\limits_{n\to \infty} (1+\frac{1}{n})^{n} \) 形式, 它体现出了复利的思想,每一单位的本金都会生出利息,而一旦出现利息,利息又被"同化"到本金里产生利息,当产生利息间隔足够小、同化速度足够快时就是会趋近该极限,因此其中包含了在无限细分情况下倍增的思想。

因此 e 是一个由多项式极限定义出来的数学对象,只是用 e 对其符号化了,对 e 的所有操作都可以在其最底层的极限语言层面获得验证。

后文可以看到,中心极限定理的证明得益于 e 可以在两种表达形式之间随意转换:

\[ \lim\limits_{n\to \infty} (1+\frac{1}{n})^{n} = \lim\limits_{n\to \infty} \sum_{0}^{n} \frac{1}{n!} \]

这就像一个"旋转门", 一边是无限的多项式乘法,另一边是无限的连续加法。

复数

复数则来自于解方程里出现的一些特殊情况,比如 \( x^{2}+1=0 \) 在实数范围内是没有解的,然而没有解是语义上的,形式上以上方程的解仍然是 \( x=\sqrt{a} \) ,只不过 a=-1 。

数学家发现给 \( \sqrt{-1} \) 定义一个符号 i 满足 \( i^{2}=-1 \) 后,i 参与一般的四则运算并不会导致矛盾,因此 扩充出了复数。(注:复数最初引入不是为了对一元二次方程的解进行扩充,而是为了对一元三次方程解的形式和意义保持一致而引出的,可参考《复分析:可视化方法》1.1 引言。)

这里给出数学里扩充失败的例子作为对照:

ax=b 的解的形式为 x=b/a, 如果此时 a=0, 那么可以说 x 无解,如果定义新的符号 j= 1/0 ,它想融入到现有数学体系,会导致矛盾,比如 0j=1, 违背了 0 乘以任何数为 0 的基本原则。因此把 b/0 都称为未定义,类似 python 里抛出异常了,而不是给它一个类似 i 和 e 的变量名去继续参与数学的计算。

欧拉方程

也许 \( e^{ix} \) 也是一个像 \( \frac{1}{0} \) 一样无定义的对象,但欧拉方程为其意义背书,它把 \( e^{ix} \) 拆解成了更合理的部分:

\(e^{ix}=\cos(x)+i\sin (x) \) ,而这仅仅是一个一个普通的 a+ib 形式的复数,并且 \( e^{ix} \) 的乘法运算完全符合复数在极坐标下的乘法运算规则,即模长之间相乘,角度之间相加:

\[ re^{i\theta_{1}}*Re^{i\theta_{2}} = rRe^{i(\theta_{1}+\theta_{2})} \]

另外 \( e^{ix} \) 可以和普通的实数函数一样展开成泰勒级数:

\[ e^{{ix}} = 1+ix+\frac{(iz)^{2}}{2!}+\frac{(iz)^{3}}{3!}+\dots \]

欧拉公式的具体证明可以参考 欧拉公式 - 维基百科,自由的百科全书, 其中用到了上文中 e 的极限定义展开,相当于在汇编层面说明了程序的合理性。

这里的额外启示是,如果能把 \( \frac{1}{0} \) 拆成一个更为基本的数学对象之间的加法或者乘法表达式同时不导致矛盾,那么 \( \frac{1}{0} \) 也会有意义。

欧拉方程在证明中核心的意义就是说明复数可以和普通实数一样去求指数、泰勒展开,并且还有用比实数更完备一点的性质,不太需要考虑一些边界条件。

中心极限定理的证明

直接证明多个随机变量的和的分布是非常困难的,即便多个随机变量是独立的,那么也需要用到卷积。而两个变量的卷积就涉及积分或累加,若是 \(n\) 个变量卷积就更加困难了。根据上节矩生成函数(MGF)或特征函数(CF)的性质, 多个随机变量的和可以变成多个特征函数的乘积,那么只要这个结果和正态分布的特征函数一样,就可以认为多个随机变量和服从正态分布。

这种思路的一个类比是:当我们检查某个软件下载后是否损坏,一般可以先计算该软件的签名,然后和官方提供的签名进行对比,如果一致,那么很大概率说明软件没有问题。但密码学是通过哈希函数几乎不会碰撞的性质来保证"签名" 的有效性,特征函数同样要有类似的性质,实际上特征函数有比哈希函数更进一步,可以通过特征函数反向推导出唯一的“加密前的”概率分布函数,而不需要用概率来保证,该性质的证明参考 mathematical statistics - Proof that moment generating functions uniquely determine probability distributions - Cross Validated

下面是中心极限定理的描述:

随机变量 \(X_1, X_2, ..., X_n\),它们具有相同的期望 \(\mu\) 和方差 \(\sigma^2\),并且我们关注它们的和 \(S_n = \sum_{i=1}^n X_i\) 的分布。

通过期望和方差的性质就可以知道, \( E[S_{n}] = n\mu; Var(S_{n}) = n\sigma^{2} \), 因此 \( S_{n} \) 的方差会越来越大,概率分布会越来越平坦,或者说越来越发散,因此 \( S_{n} \) 本身没有收敛性质,即便它能接近一个高斯分布,也是非常扁平的高斯分布, 而这时候用高斯分布去估计概率或者置信区间误差也会很大。

所以一般我们考虑的对象是 \( Z_{n} = \frac{S_{n}}{n} \), 同样,不需要任何定理,我们可以知道 \( Z_{n} \) 的期望是 \( \mu \), 方差是 \( \frac{\sigma^{2}}{n} \), 这只是对一阶和二阶矩的论述,中心极限定理还给 \( Z_{n} \) 的分布加上了限定,即当 n 逐渐增大, \( Z_{n} \) 的分布会越来越接近 \(N(\mu, \frac{\sigma^{2}}{n}) \) 。

如果再对其进行标准化,:

\[ Z' = \frac{Z_{n }-\mu}{\sigma /\sqrt{n}} = \frac{S_n - n\mu}{\sigma\sqrt{n}} = \sum \frac{X_{i}-\mu }{\sigma \sqrt{n}} \]

那么 \( Z' \) 是越来越接近 \( N(0, 1) \) 的,它等于多个变量 \( Y_{i}= \frac{X_{i}-\mu }{\sigma \sqrt{n}} \) 求和的结果。

所以接下来证明的就是多个 \( Y_{i} \) 求和后的分布接近标准正态分布,也就是多个 \( Y_{i} \) 的特征函数的乘积接近标准正态分布的特征方程 \( \) \( e^{-t^{2} /{2}} \), 这是一个简单的式子,因此容易展现结果。

这里准备几个 \( Y_{i} \) 的矩信息,证明中会使用到:

  • \( E[Y_{i}] = 0 \), 因为 \( Y_{i} \) 本身就是对 \( X_{i} \) 进行标准化基础上再除以 \( \sqrt{n} \) 的结果。
  • \( Var[Y_{i}] = Var(\frac{1}{\sigma \sqrt{n}}X_{i}) = \frac{1}{\sigma ^{2}n} \sigma ^{2} = \frac{1}{n}\)
  • \( E[Y_{i}^{2}] = Var[Y_{i}] + E[Y_{i}]^{2} = \frac{1}{n} + 0 = \frac{1}{n}\)

接着是是中心极限定理的证明:

  1. 写出单个变量 \( Y_{i} \) 的特征方程:

\[ C_{Y_i}(t) = E[e^{tY_i}] \]

继续对 e 展开成级数形式就得到: \[ C_{Y_i}(t) = E[e^{tY_i}] = E[1+itY_{i}-\frac{1}{2}t^{2}Y_{i}^{2}+O(t^{3})] \]

这里 \( O(t^{3}) \) 表示更高阶乘的余项,由于我们只关注 \( t^{2} \), 因此只展开到 2 阶,根据期望的线性性质,可以直接继续展开(这些步骤实际上是回到矩母函数的"底层"定义,即用多项式的系数来保存分布的各阶矩,前文把它写成 e 的指数形式是为了之后能够更好地处理"高层"的乘法):

\[ C_{Y_i}(t) = E[1+itY_{i}-\frac{1}{2}t^{2}Y_{i}^{2}+O(t^{3})] = 1+itE[Y_{i}]-\frac{1}{2}t^{2}E[Y_{i}^{2}]+O(t^{3}) = 1+0-\frac{1}{2}\frac{t^{2}}{n} + O(t^{3}) \]

也就是

\[ C_{Y_i}(t) = 1-\frac{1}{2}\frac{t^{2}}{n^{2}} + O(t^{3}) \]

这里 \( O(t^{3}) \) 表示更高阶乘的余项的期望了,同样不关心它的具体只。

  1. 对 n 个 \( Y_{i} \) 求和的结果 \( Z' \) 计算特征方程:

\[ C_{Z'}(t) = E[e^{tZ'}] = E[\prod e^{tY_{i}}] \]

由于 \( Y_{i} \) 之间的完全独立性,因此根据 E[XYZ] = E[X]E[Y]E[Z], 最后一个式子求期望可以写到累积内部:

\[ C_{Z'}(t) = E[\prod e^{tY_{i}}] = \prod E[e^{tY_{i}}] = \prod C_{Yi}(t) \]

完全独立和两两独立

E[XYZ] = E[X]E[Y]E[Z] 实际上是在说三个随机变量的行为互不影响,即它们之间不存在任何形式的相关性或依赖性。 因为 E[XYZ] 可以写成 E[UZ], 这里 U = XY, 那么 E[XYZ]=E[UZ]=E[U]E[Z] = E[X]E[Y]E[Z]

这意味着 Z 和 U 也相互独立,根据乘法交换律,X 要和 YZ 独立, Y 和 XZ 独立,因此它们完全独立。

再根据 \( Y_{i} \) 是同分布假设,所有的 \( C_{Y_{i}}(t) \) 都相同,因此:

\[ C_{Z'}(t) = C_{Yi}(t)^{n} = (1-\frac{1}{2}\frac{t^{2}}{n} + O(t^{3}))^{n} \]

对比 e 的定义 \( e=\lim\limits_{n\to \infty} (1+\frac{1}{n})^{n} \), 它可以扩展到:

\( e^{x}=\lim\limits_{n\to \infty} (1+\frac{x}{n})^{n} \)

那么 \( (1-\frac{1}{2}\frac{t^{2}}{n})^{n} \) 就应该是 \( e^{-\frac{1}{2}t^{2}} \), 这就是标准高斯分布的特征函数, 而 \( 1-\frac{1}{2}\frac{t^{2}}{n} + O(t^{3}) \) 中的 \( O(t^{3}) \) 里由于分母中都是 n 的更高的乘方,因此它不会对极限产生影响,最终

\[ \lim\limits_{n \to \infty} C_{Z'}(t) = \lim\limits_{n \to \infty} (1-\frac{1}{2}\frac{t^{2}}{n} + O(t^{3}))^{n} = e^{-\frac{1}{2}t^{2}} \]

这就说明了 \( Z' \) 随着 n 越大越趋近标准正态分布。

总结"独立" 和 "同分布" 在证明中的作用:

  • 独立性: 这是使得特征函数(的指数形式)可以进行累乘的关键,中心极限定理有其他更宽松的变种,比如不需要同分布, 但独立性假设仍然无法去掉。
  • 同分布: 这使得随机变量卷积在特征函数空间变成了某个函数的 n 次方,这和 e 的极限定义匹配上了,最终导出了最终 \( e^{t^{2}} \) 形式,而这是正态分布的标准"签名" 。
radioLinkPopups

如对本文有任何疑问,欢迎通过 github issue 邮件 metaescape at foxmail dot com 进行反馈