SciPy scipy.stats.poisson

Bhuwan Bhatt 2023年1月30日
  1. ポアソン分布を生成するための scipy.stats.poisson() の構文
  2. scipy.stats.poisson.pmf() メソッドを使用して、ポアソン分布の確率質量関数(PMF)を計算する
  3. scipy.stats.poisson.pmf() メソッドで loc 値を設定する
  4. scipy.stats.poisson.cdf() メソッドを使用して、ポアソン分布の累積分布関数(CDF)を計算する
SciPy scipy.stats.poisson

scipy.stats.poisson 関数は,ポアソン確率分布の確率質量関数 (PMF) 、確率密度関数 (PDF)、累積分布関数 (CDF) を計算するのに使用できるポアソン離散型確率変数を生成します。

ポアソン分布を生成するための scipy.stats.poisson() の構文

scipy.stats.poisson(pmf(mu, loc=0))

パラメーター

mu 空間または時間の指定された間隔でのイベントの平均発生
loc デフォルトでは、loc=0 は正規分布を表し、loc パラメーターは分布のシフトを指定します。

scipy.stats.poisson.pmf() メソッドを使用して、ポアソン分布の確率質量関数(PMF)を計算する

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

x = np.arange(0, 20, 0.1)
y = stats.poisson.pmf(x, mu=10)

plt.plot(x, y)
plt.title("Poisson distribution with mu=10 and loc=0")
plt.xlabel("Random variable")
plt.ylabel("Probability")
plt.show()

出力:

scipy.stats.poisson.pmf メソッドを使用したポアソン分布の確率質量関数

ここでは、2つの隣接する値の間に 0.1 の間隔を置いて、0 から 20 までの確率変数の NumPy 配列を取得します。次に、mu=10 のポアソン分布の NumPy 配列の各値の確率質量関数 PMF 値を計算します。

次に、確率変数値に対して PMF 値をプロットします。デフォルトでは、loc の値は 0 に設定されています。これにより、PMF が最も高い確率変数が mu に等しくなるため、グラフは mu でピークになります。

scipy.stats.poisson.pmf() メソッドで loc 値を設定する

デフォルトでは、scipy.stats.poisson.pmf()loc の値は 0 に等しく、正規分布になります。分布をシフトするには、scipy.stats.poisson.pmf() メソッドの loc パラメーターの値を目的の値にシフトします。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

x = np.arange(0, 20, 0.1)
y = stats.poisson.pmf(x, mu=10, loc=5)

plt.plot(x, y)
plt.title("Poisson distribution with mu=10 and loc=5")
plt.xlabel("Random variable")
plt.ylabel("Probability")
plt.show()

出力:

scipy.stats.poisson.pmf メソッドで loc 値を設定してください

0.1 の間隔で 0 から 20 までの確率変数のプロットと、mu=10 および loc=5 のポアソン分布の対応する確率質量関数(PMF)値を生成します。loc5 に設定されているため、プロットのピークは 5 単位だけ右にシフトします。

scipy.stats.poisson.cdf() メソッドを使用して、ポアソン分布の累積分布関数(CDF)を計算する

scipy.stats.poisson.cdf() メソッドは、特定のポアソン分布の確率変数の累積分布関数(CDF)値を計算します。確率変数の CDF は、確率変数以下のすべての値の累積確率を表します。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

x = np.arange(0, 20, 0.1)
y = stats.poisson.cdf(x, mu=10)

plt.plot(x, y)
plt.title("CDF of Poisson distribution with mu=10")
plt.xlabel("Random variable")
plt.ylabel("Cumulative Probability")
plt.show()

出力:

scipy.stats.poisson.cdf メソッドを使用したポアソン分布の CDF

ここでは、2つの隣接する値の間に 0.1 の間隔を置いて、0 から 20 までの確率変数の NumPy 配列を取得します。次に、mu=10 のポアソン分布の NumPy 配列の各値の累積分布関数(CDF)値を計算します。

次に、確率変数値に対して CDF 値をプロットします。

新しい値のために右に移動するにつれて累積確率が増加するにつれて、上の図に示すように、CDF 曲線の性質が増加します。

関連記事 - SciPy Stats