統計學的Python實現-018:二項隨機變量的概率計算

作者:長行

時間:2019.03.21

統計學解釋

二項隨機變量是指每次試驗只會有兩種可能結果的試驗,我們定義爲事件A和事件A的對立事件。此時,在n次重複試驗中,事件A發生的次數X服從二項分佈(鏈接),次數X等於k的概率如下:
P{X=k}=Cnk(1p)nk,k=0,1,2,...,n P\{X=k\}=C^{k}_{n}(1-p)^{n-k},\qquad k=0,1,2,...,n

實現代碼

下面我們來用Python實現兩種功能:其一爲計算次數X等於k的概率,其二爲計算次數X大於等於k的概率。

1.次數X等於k的概率

def binomial_distribution(p,n,x):
    c=math.factorial(n)/math.factorial(n-x)/math.factorial(x)
    return c*(p**x)*((1-p)**(n-x))
binomial_distribution(0.25,100,25)

結果:

0.09179969176683679

其中p爲事件A發生的概率,n爲重複試驗的次數,x爲次數X。我們以“將一套100個四選一選擇題蒙到25分”的概率作爲例子測試:

2.次數X大於k的概率

def binomial_distribution_morethan(p, n, x):
    count = 0
    for i in range(x, n, 1):
        c = math.factorial(n) / math.factorial(n - i) / math.factorial(i)
        count += c * (p ** i) * ((1 - p) ** (n - i))
    return count
binomial_distribution_morethan(0.25,100,30)

結果:

0.14954104656657347

其中p爲事件A發生的概率,n爲重複試驗的次數,x爲次數X。我們以“將一套100個四選一選擇題蒙到30分以上”的概率作爲例子測試:

實際應用

二項隨機變量的概率計算方法可以應用到各種二項隨機變量的情形中,例如:計算隨機抽取一組居民樣本其中觀看某電視節目的人數;隨機抽取一組選民樣本,其中支持某候選人的人數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章