Python 中的二項分佈

Manav Narula 2023年1月30日
  1. 在 Python 中使用 numpy.random.binomial() 函式建立二項分佈
  2. 在 Python 中使用 scipy.stats.binom.pmf() 函式建立二項式概率分佈
Python 中的二項分佈

二項分佈是概率和統計的基本概念。當成功和失敗的概率已知時,它表示給定數量的獨立實驗的實際結果。僅當一個單獨的事件(例如拋硬幣)恰好可能出現 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.75 次試驗期間事件發生的次數。對大小為 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()

輸出:

使用 numpy.random.binomial() 函式在 Python 中建立二項分佈

在 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()

輸出:

scipy.stats.binom.pmf

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

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