人們在長期實踐中認識到頻率具有穩定性,即當實驗次數不斷增加時,頻率穩定在一個數附近,這一事實顯示了可以用一個數來表征事件發生的可能性大小,這使人們認識到概率的客觀存在,進而由頻率的性質的啟發和抽象給出了概率的定義,因而頻率的穩定性是概率客觀存在的基礎,伯努利大數定理則以嚴密的數學形式論證了頻率的穩定性。
在談論伯努利大數定理之前,我們先看一下大數定理。
大數定律
随機事件A的頻率 f(A)當重複試驗的次數n增大時,總是呈現出穩定性,穩定在某一個常數附近。頻率的穩定性是概率定義的客觀基礎。
伯努利大數定理
設X1,X2,...,Xn是獨立同分布的随機變量,記它們的公共均值為μ。又設它們的方差存在并記為σ2。則對任意給定的ε>0,有
這個式子指出了“當n很大時,Xˉn接近μ”的确切含義。這裡的“接近”是概率上的,也就是說雖然概率非常小,但還是有一定的概率出現意外情況(例如上面的式子中概率大于ε)。隻是這樣的可能性越來越小,這樣的收斂性,在概率論中叫做“Xˉn依概率收斂于μ”。
中心極限定理
"多個獨立統計量的和的平均值,符合正态分布。"
中心極限定理用通俗的話來講就是,假設有一個服從(μ,σ2)的總體,這個總體的分布可以是任意分布,不用是正态分布,既可以是離散的,也可以是連續的。我們從該分布裡随機取n個樣本x1,x2,...,xn,然後求這些樣本的均值Xˉ,這個過程我們重複m次,我們就會得到xˉ1,xˉ2,xˉ3,...,xˉm,如果n→∞,這些樣本的均值服從
的正态分布。
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
mu ,sigma = 0, 1
sampleNum = 10
np.random.seed(0)
s = np.random.normal(mu, sigma, sampleNum)
plt.hist(s, bins=100, density=True)
plt.legend(labels=[ 'Number of samples %s' %sampleNum])
plt.show()
上圖中,随着統計量個數的增加,它們和的平均值越來越符合正态分布。
根據中心極限定理,如果一個事物受到多種因素的影響,不管每個因素本身是什麼分布,它們加總後,結果的平均值就是正态分布。在實際問題中同樣,常常需要考慮許多随機因素所産生的總影響。例如,許多因素決定了人的身高:營養、遺傳、環境、族裔、性别等等,這些因素的綜合效果,使得人的身高基本滿足正态分布。另外,在物理實驗中,免不了有誤差,而誤差形成的原因五花八門,各種各樣。如果能夠分别弄清楚産生誤差的每種單一原因,誤差的分布曲線可能不是高斯的。但是,當所有的誤差加在一起時,實驗者通常會得到一個正态分布。
核心觀念是無論之前各值的分布情況是怎麼樣的,取樣計算的平均值會符合正态分布,這一點使得正态分布的适用範圍很大,當然前提條件是取樣是随機的,值是獨立的。一般來講取樣數量大于30個(即n>30)就可以讓中心極限定理發揮作用。不同分布情況下取平均值後得到的正态分布可以見如下圖示
比如說,我們将一枚均勻硬币抛4次,正反(1、0)出現的可能性有16種(可用從0000到1111的16個二進制數表示),大數定律中涉及的概率p=0.5,指的是這16種情形的平均值。而所謂“分布”,則是描述這16種可能性在概率圖中分别所處的位置。從理論上說,這16種可能性中, 1出現0、1、2、3、4次的概率,分别是1/16、4/16、6/16、4/16、1/16。圖2的左圖顯示的便是當實驗次數n=4時,出現1的概率對不同“出現次數”的分布情形。
0 |
1 |
2 |
3 |
4 |
- |
- |
1100 |
- |
- |
- |
- |
1010 |
- |
- |
- |
1000 |
1001 |
1110 |
- |
- |
0100 |
0110 |
1101 |
- |
- |
0010 |
0101 |
1011 |
- |
0000 |
0001 |
0011 |
0111 |
1111 |
# -*- coding: utf-8 -*-
"""
Created on Tue Jul 30 18:52:49 2019
@author: ZCJOHNLV
"""
from scipy.special import comb
# 輸入投硬币的次數
n = 4
index = []
data = []
for i in range(n 1):
p = comb(n,i)*0.5**i*0.5**(n-i)
data.append(p)
index.append(i)
print(data)
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑體顯示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常顯示負号
plt.bar(left=index, height=data, width=0.4, alpha=0.8, color='red')
plt.xlabel("區間")
plt.ylabel("頻數")
plt.title("%s次抛硬币正面向上的頻率分布"%n)
plt.show()
顯而易見,抛硬币概率的分布圖形随着抛丢次數n的變化而變化。抛硬币實驗n次的概率分布稱為二項分布。對對稱硬币來說,二項分布是一個取值對應于二項式系數的離散函數,也就是帕斯卡三角形中的第n列。當實驗次數n增大,可能的排列數也随之增多,比如,當n=4時對應于(1、4、6、4、1);當n=5時,對應于帕斯卡三角形中的第5列(1、5、10、10、5、1)……,然後再依次類推下去。下圖中,畫出了n=5、20、50的概率分布圖。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!