Python での二項分布
-
Python で
numpy.random.binomial()
関数を使用して二項分布を作成する -
Python で
scipy.stats.binom.pmf()
関数を使用して二項確率の分布を作成する
二項分布は、確率と統計の重要な概念です。これは、成功と失敗の確率がわかっている場合の、特定の数の独立した実験の実際の結果を表します。コイントスのように、別のイベントで正確に 2つの結果が可能である場合にのみ可能です。その数式を以下に示します。
このチュートリアルでは、Python で二項分布を作成する方法を示します。
Python で numpy.random.binomial()
関数を使用して二項分布を作成する
numpy
モジュールは、numpy
配列に一連のランダムな値を生成できます。numpy.random.binomial()
関数を使用して、この分布のサンプルを返すことができます。
関数のパラメーターとして、試行回数(n
)、成功の確率(p
)、および最終出力のサイズ(サイズ
)を指定できます。
例えば、
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 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