1. 程式人生 > >【概率論與數理統計】小結6 - 大數定理與中心極限定理

【概率論與數理統計】小結6 - 大數定理與中心極限定理

tween 每次 研究 1-1 var 1.2 displays 一個 alt

:這兩個定理可以說是概率論中最重要的兩個定理。也是由於中心極限定理的存在,使得正態分布從其他眾多分布中脫穎而出,成為應用最為廣泛的分布。這兩個定理在概率論的歷史上非常重要,因此對於它們的研究也橫跨了幾個世紀(始於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

【概率論與數理統計】小結6 - 大數定理與中心極限定理