注:这两个定理可以说是概率论中最重要的两个定理。也是由于中心极限定理的存在,使得正态分布从其他众多分布中脱颖而出,成为应用最为广泛的分布。这两个定理在概率论的历史上非常重要,因此对于它们的研究也横跨了几个世纪(始于18世纪初),众多耳熟能详的大数学家都对这两个定理有自己的贡献。因此,这两个定理都不是单一的定理。不同的大数定理和中心极限定理从不同的方面对相同的问题进行了阐述,它们条件各不相同,得到的结论的强弱程度也不一样。
1. 大数定理(law of large numbers,LLN)
图1-1,伯努利(1655-1705)
大数定律可以说是整个数理统计学的一块基石,最早的大数定律由伯努利在他的著作《推测术》中提出并给出了证明。这本书出版于伯努利去世后的1713年。数理统计学中包含两类重要的问题——对概率p的检验与估计。大数定律的本质是一类极限定理,它是由概率的统计定义“频率收敛于概率”引申而来的。简单来说就是n个独立同分布的随机变量的观察值的均值$\bar{X}$依概率收敛于这些随机变量所属分布的理论均值,也就是总体均值。
举一个古典概率模型的例子:拿一个盒子,里面装有大小、质地一样的球a+b个,其中白球a个,黑球b个。这时随机地从盒子中抽出一球(意指各球有同等可能被抽出),则“抽出的球为白球”这一事件A的概率p=a/(a+b).但是如果不知道a、b的比值,则p也不知道。但我们可以反复从此盒子中抽球(每次抽出记下其颜色后再放回盒子中)。设抽了N次,发现白球出现了m次,则用m/N去估计p。这个估计含有其程度不确定的误差,但我们直观上会觉得,抽取次数N越大,误差一般会缩小。
从实用的角度看,概率的统计定义无非是一种通过实验去估计事件概率的方法。大数定律为这种后验地认识世界的方式提供了坚实的理论基础。正如伯努利在结束《推测术》时就其结果的意义作的表述:“如果我们能把一切事件永恒地观察下去,则我们终将发现:世间的一切事物都受到因果律的支配,而我们也注定会在种种极其纷纭杂乱的现象中认识到某种必然。”
1.1 定义
设$X_1, X_2, ..., X_n$是独立同分布的随机变量,记它们的公共均值为$\mu$。又设它们的方差存在并记为$\sigma^2$。则对任意给定的$\varepsilon > 0$,有
$$\displaystyle \lim_{ n \to \infty } P(| \bar{X}_n - \mu| \geq \varepsilon) = 0 \hspace{ 10pt } \ldots (1-1)$$
这个式子指出了“当n很大时,$\bar{X}_n$接近$\mu$”的确切含义。这里的“接近”是概率上的,也就是说虽然概率非常小,但还是有一定的概率出现意外情况(例如上面的式子中概率大于$\varepsilon$)。只是这样的可能性越来越小,这样的收敛性,在概率论中叫做“$\bar{X}_n$依概率收敛于$\mu$”。
1.2 Python模拟抛硬币
下面用程序模拟抛硬币的过程来辅助说明大数定律:
用random模块生成区间[0,1)之间的随机数,如果生成的数小于0.5,就记为硬币正面朝上,否则记为硬币反面朝上。由于random.random()生成的数可以看做是服从区间[0,1)上的均匀分布,所以以0.5为界限,随机生成的数中大于0.5或小于0.5的概率应该是相同的(相当于硬币是均匀的)。这样就用随机数模拟出了实际的抛硬币试验。理论上试验次数越多(即抛硬币的次数越多),正反面出现的次数之比越接近于1(也就是说正反面各占一半).
1 import random 2 import matplotlib.pyplot as plt 3 4 5 def flip_plot(minExp, maxExp): 6 """ 7 Assumes minExp and maxExp positive integers; minExp < maxExp 8 Plots results of 2**minExp to 2**maxExp coin flips 9 """ 10 # 两个参数的含义,抛硬币的次数为2的minExp次方到2的maxExp次方,也就是一共做了(2**maxExp - 2**minExp)批次实验,每批次重复抛硬币2**n次 11 12 ratios = [] 13 xAxis = [] 14 for exp in range(minExp, maxExp + 1): 15 xAxis.append(2**exp) 16 for numFlips in xAxis: 17 numHeads = 0 # 初始化,硬币正面朝上的计数为0 18 for n in range(numFlips): 19 if random.random() < 0.5: # random.random()从[0, 1)随机的取出一个数 20 numHeads += 1 # 当随机取出的数小于0.5时,正面朝上的计数加1 21 numTails = numFlips - numHeads # 得到本次试验中反面朝上的次数 22 ratios.append(numHeads/float(numTails)) #正反面计数的比值 23 plt.title(‘Heads/Tails Ratios‘) 24 plt.xlabel(‘Number of Flips‘) 25 plt.ylabel(‘Heads/Tails‘) 26 plt.plot(xAxis, ratios) 27 plt.hlines(1, 0, xAxis[-1], linestyles=‘dashed‘, colors=‘r‘) 28 plt.show() 29 30 flip_plot(4, 16)
结果:
图1-2,随着实验次数的增加,正反面出现次数之比越来越接近于1
2. 中心极限定理(central limit theorem,CLT)
与大数定理描述某个值的收敛趋势不同,中心极限定理描述的是某种形式的随机变量和的分布。
2.1 从大数定理到中心极限定理
- 对于这两个定理之间的联系与区别,知乎上的Detian Deng有如下回答:
简单来说,大数定律(LLN)和中心极限定理(CLT)的联系与区别在于:
共同点:都是用来描述独立同分布(i.i.d)的随机变量的和的渐进表现(asymptotic behavior)
区别:首先,它们描述的是在不同的收敛速率(convergence rate)之下的表现,其次LLN前提条件弱一点:$E(|X|) < \infty$ , CLT成立条件强一点:$E(X^2) < \infty$
上面的描述中,$E(X^2) < \infty$相当于表示随机变量$X$的二阶原点矩存在,即方差存在;$E(|X|) < \infty$表示$X$的一阶原点矩存在,即期望存在。方差存在可以推出期望存在,但是反之则不行。
- 下面是我自己的理解:
利用大数定理我们可以用样本均值估计总体分布的均值。例如抛硬币,假如我们有一枚不均匀的硬币,事先并不知道正面朝上的概率$P_h$。那么我们可以大量重复抛这枚硬币,统计正面朝上的次数,用这个值除以抛硬币的总次数,就可以近似的得到一个比值,例如$P_1$。这个值就是对$P_h$的估计,根据大数定理,我们可以保证抛硬币的总次数越多这个估计的误差就越小(即$P_1$依概率收敛于$P_h$)。对于大数定理,故事到这里就结束了。
此时,如果我们将每次抛硬币都看成是一次伯努利试验,即$X \sim B(1, P_h)$,其中正面朝上记为1,概率为$P_h$。由于是同一个人进行的试验,可以将每次试验都看作是独立同分布。对于充分大的n,根据中心极限定理可得:
$$X_1 + X_2 + \cdots + X_n \sim N(nP_h, nP_h(1-P_h)) \hspace{ 10pt } \ldots (2-1)$$
上式表示所有试验结果之和,也就是硬币正面朝上的总次数,服从均值为$nP_h$,方差为$nP_h(1-P_h)$的正态分布。这里的分布是近似分布。严格意义上来说,n次伯努利试验之和服从二项分布$B(n, P_h)$,近似的正态分布中的均值和方差与对应的二项分布相同。式2-1是利用正态分布近似估计二项分布的理论基础(在$n$很大的前提下:$p$固定,$np$也很大时常用正态分布逼近;当$p$很小,$np$不太大时常用泊松分布逼近)。该式也是历史上最早的中心极限定理的表述形式。1716年棣莫弗讨论了p=1/2的情况,后来拉普拉斯将其推广到了一般p的情形。因此式2-1又叫做棣莫弗-拉普拉斯中心极限定理。
到这里,故事还没有结束。
假如此时又来了一个人,他不相信前一个人的试验结果,自己重新做了一次试验:大量的重复抛这枚硬币,他的估计值是$P_2$。接着又来了第三个人,第四个人,...,这些人每个人都做了一次这样的试验,每个人都得到了一个估计值$P_i$。那么这些不同的估计值之间有什么联系呢?类似上面一个人抛硬币的过程,如果将每个人抛硬币的试验看做是二项分布$B(n, P_h)$,正面记为1,背面记为0。那么每个人的试验结果之和都相当于一个具体的观察值,表示其试验中硬币正面朝上的总次数$X$。正面朝上的概率可以用$X/n$来估计。
由大数定理可得$X - n*P_h$依概率收敛于0(也就是说如果每个人的重复次数都非常多的话,每个人的结果都是依概率收敛于二项分布的期望),中心极限定理进一步给出了下面的结论:
值得注意的一点是,此时需要区分两个不同的量:一个是每个人重复伯努利试验的次数,还是取为$n$;另一个是参与试验的人数,这里取为$m$。
$$X_1 + X_2 + \cdots + X_m \sim N(\mu, \sigma^2) \hspace{ 10pt } \ldots (2-2)$$
也就是说,这m个不同的人的试验结果之和也是属于正态分布的。由于每个人的试验都相当于是一个二项分布,假如将每个二项分布都用式2-1逼近,那么这里的和就相当于服从式子2-1中正态分布的随机变量之和(这些不同的随机变量之间相互独立),也就不难求出这里的均值和方差分别为:$\mu = mnP_h, \sigma^2 = mnP_h(1-P_h)$。由于这些随机变量之间是相互独立的,因此求和以后均值和方差都扩大了m倍。
此外,
$$\bar{X} \sim N(nP_h, nP_h(1-P_h)/m) \hspace{ 10pt } \ldots (2-3)$$
其中,$\bar{X} = \frac{1}{m} \displaystyle \sum_{i=1}^{m}X_i$。同样本均值的均值和方差,m个人的结果均值的均值没变,方差缩小了m倍。
这里还有一个很好的问题是,m取多少比较合适。如果只取1,上面三个式子都是等价的,随着人数的增加,式2-3的方差越来越小,也就是说用多人的均值来估计的结果也越来越准确(不确定性减小了),而式2-2的方差会越来越大(所有人的试验结果之和)。对于式2-2,和式中的每一项都是一个二项分布,而不是式2-1中的伯努利分布。
那么和式中的每一项可以是其他分布吗?其实和式中的每一项可以是任意分布,只要每一项都是独立同分布且该分布的方差存在,那么当$m$趋近于无穷大时,它们的和就服从正态分布:
$$X_1 + X_2 + \cdots + X_m \sim N(m\mu, m\sigma^2) \hspace{ 10pt } \ldots (2-4)$$
其中$\mu$与$\sigma$是和式中每一项所属分布的期望和标准差。 式2-4是2-1的进一步推广,条件更弱,适用范围更加广泛。这就是独立同分布下的中心极限定理也叫作林德伯格-莱维(Lindeberg-Levi中心极限定理)。这里的服从也是近似服从。
2.2 用Python程序模拟中心极限定理
- 模拟服从伯努利分布的随机变量之和
这就相当于一个人做抛硬币的试验(正面朝上为1,反面朝上为0),这些试验结果之和就表示这个人的试验中出现正面朝上的总次数。
设单次伯努利试验服从$B(1, p)$,试验次数为n,那么这些试验结果之和近似服从$N(n, np(1-p))$
就像伯努利分布和二项分布一样,要得到分布中的一个观察值,就需要完整的做一次该分布对应的试验。如果将每个人的试验都看成一次二项试验:n次伯努利试验(即抛了n次硬币),一共$m$个人参与试验,就需要完成$m*n$次伯努利试验。
如果测量或估计都会有误差。
Reference
http://skhdh.blog.163.com/blog/static/279661392013126402728/
https://www.zhihu.com/question/22913867
https://www.zhihu.com/question/22913867/answer/35058403
https://www.quora.com/What-is-the-difference-between-the-Weak-Law-of-Large-Numbers-and-the-Central-Limit-Theorem/answer/Michael-Hochster?srid=uIoGQ