二項分布近似模擬實驗

二項分布

  • 正態近似
    如果n足夠大,那么分布的偏度就比較小。在這種情況下,如果使用適當的連續性校正,那么B(n, p)的一個很好的近似是正態分布N~(np, np(1-p)).
    n越大(至少20),近似越好,當p不接近0或1時更好。不同的經驗法則可以用來決定n是否足夠大,以及p是否距離0或1足夠遠:
    一個規則是x=np和n(1 ? p)都必須大于 5。

  • 泊松近似
    當試驗的次數趨于無窮大,而乘積np固定時,二項分布收斂于泊松分布。因此參數為λ = np的泊松分布可以作為二項分布B(n, p)的近似,如果n足夠大,而p足夠小.

模擬實驗

import random
import matplotlib.pyplot as plt

LMBDA = 1

def binomial(n, p):
    sumOb = 0
    for i in range(n):
        pp = random.uniform(0,1)
        sumOb += (1 if pp < p else 0)
    return int(float(sumOb) / n * 100000)

# np固定(n->無窮大,p->正無窮小),二項分布趨近于泊松分布,模擬實驗
def experimentPoison(times):
    ob = []
    for i in range(times):
        n = random.randint(80000, 100000)
        p = float(LMBDA) / n
        ob.append(binomial(n, p))
    return ob

# p固定,n->無窮大,二項分布趨近于正態分布,模擬實驗
def experimentNorm(times):
    ob = []
    p = 0.3
    for i in range(times):
        n = random.randint(80000, 100000)
        tmp = binomial(n, p)
        ob.append(tmp)
    return ob
# 正態模擬畫圖
obNorms = experimentNorm(10000)
plt.hist(obNorms, 50)
plt.show()

output_2_0.png
# 泊松模擬畫圖
obsPoison = experimentPoison(10000)
plt.hist(obsPoison, 50)
plt.show()
output_3_0.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容