Python 中的二項分佈
Manav Narula
2023年1月30日
二項分佈是概率和統計的基本概念。當成功和失敗的概率已知時,它表示給定數量的獨立實驗的實際結果。僅當一個單獨的事件(例如拋硬幣)恰好可能出現 2 個結果時,才有可能。其數學公式如下所示。
本教程將演示如何在 Python 中建立二項分佈。
在 Python 中使用 numpy.random.binomial()
函式建立二項分佈
numpy
模組可以在 numpy
陣列中生成一系列隨機值。我們可以使用 numpy.random.binomial()
函式返回此分佈的樣本。
我們可以指定試驗次數 (n
)、成功概率 (p
) 和最終輸出的大小 (size
) 作為函式中的引數。
例如,
import numpy as np
a = np.random.binomial(n=5, p=0.7, size=20)
print(a)
輸出:
[5 4 2 3 2 4 4 3 3 3 4 2 3 4 3 4 5 5 2 2]
在上面的示例中,每個值表示在成功概率為 0.7
的 5
次試驗期間事件發生的次數。對大小為 20 的樣本重複此操作。
我們也可以使用 seaborn.distplot()
函式來繪製它。
例如,
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
a = np.random.binomial(n=5, p=0.7, size=20)
sns.distplot(a, hist=True, kde=False)
plt.show()
輸出:
在 Python 中使用 scipy.stats.binom.pmf()
函式建立二項式概率分佈
scipy.stats.binom.pmf()
函式返回某些給定值的二項式概率。我們可以使用它來建立二項式概率的分佈。
它與以前的分佈不同。我們將迴圈建立此分佈所需的成功次數。
例如,
from scipy.stats import binom
n = 5
p = 0.7
s = list(range(n + 1))
a = [binom.pmf(r, n, p) for r in s]
print(a)
sns.distplot(a, hist=True, kde=False)
plt.show()
輸出:
作者: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn