こんにちは!
デジタルマーケター兼データサイエンティストのウマたん(@statistics1012)です!
離散的な分布は数多くありますが、その中でもポアソン分布は非常に重要な分布です!
ポアソン分布は「単位時間当たり平均λ回起こるような事象が単位時間にk回発生する分布」を表しています。より簡単に言うと、「ランダムなイベントがある期間で何回発生するかの確率を示す分布」とも言えるでしょう!
この記事では、そんなポアソン分布の定義を解説をしながらもその性質について解説していきます。またPythonでポアソン分布を確認してみましょう!
・ポアソン分布の定義について解説!
・ポアソン分布の性質について解説!
・Pythonでポアソン分布を見てみよう!
以下のYoutube動画でも詳しく解説しているのであわせてチェックしてみてください!
目次
ベルヌーイ試行と二項分布とは?
ベルヌーイ試行は「コインを投げたときに表か裏しか出ないような、イベントが発生した結果が2通りしかない試行」のことを指します!
\(P(X=1)\) = \(p\)
\(P(X=0)\) = \(1-p\)
そして二項分布は「ベルヌーイ試行をn回繰り返して、成功する回数Xが従う確率分布」を表しています!
\(P(X=k)\) = \({}_n\mathrm{C}_k p^{k} (1-p)^{n-k}\)
二項分布とポアソン分布の関係とは?
先程の飛行機の例を使って二項分布とポアソン分布の関係性を見ていきましょう!
10年間、すなわちn=3650日とし、1日に飛行機が落ちる確率pを0.0001としましょう。
\(P(X=k)\) = \({3650\choose k} (0.0001)^{k} (1-0.0001)^{3650-k}\)
そこで\(np\)=\(\lambda\)としてみましょう!そうすると\(p\)=\(\frac{\lambda}{n}\)となることが分かりますね。
\(P(X=k)\) = \(\frac{n!}{k!(n-k)!}(\frac{\lambda}{n})^{k}(1-\frac{\lambda}{n})^{-k}(1-\frac{\lambda}{n})^{n}\)
=\(\frac{\lambda^{k}}{k!}(1-\frac{\lambda}{n})^{-k}(1-\frac{\lambda}{n})^{n}\frac{n!}{(n-k)!n^{k}}\)
この式をnが非常に大きい、つまりn→∞にしたらどうなるでしょうか…?これは\(np\)=\(\lambda\)として、nを十分大きくしてpを十分小さくした場合の二項分布の式、すなわちポアソン分布に近似することが分かっています!
\(P(X=k)\) = \(e^{-\lambda}\frac{\lambda^{k}}{k!}\)
ポアソン分布の定義と性質とは?
ポアソン分布の式は以下の通りとなります!
\(P(X=k)\) = \(e^{-\lambda}\frac{\lambda^{k}}{k!}\)
お気づきの方も多いかもしれませんが、ポアソン分布を使う場面はたくさんあることが知られています!
これも先程の飛行機の例を使ってみましょう!
まず\(\lambda\)=\(np\)=3650×0.0001 = 0.365となりますので、この値を先程の式に代入してみましょう!
\(P(X=k)\) = \(e^{-0.365}\frac{0.365^{k}}{k!}\)
またポアソン分布の期待値・分散は以下の通りとなります!
\(E(X)\) =\(\sum_{k=1}^{\infty}ke^{-\lambda}\frac{\lambda^{k}}{k!}\)
= \(\sum_{k=0}^{\infty}e^{-\lambda}\frac{\lambda^{k+1}}{k!}\)
= \(\lambda \sum_{k=0}^{\infty}e^{-\lambda}\frac{\lambda^{k}}{k!}\)
= \(\lambda\)
\(E(X^{2})\) = \(\sum_{k=1}^{\infty}k^{2}e^{-\lambda}\frac{\lambda^{k}}{k!}\)
=\(\sum_{k=1}^{\infty}(k(k-1)+k)e^{-\lambda}\frac{\lambda^{k}}{k!}\)
\(\sum_{k=1}^{\infty}(k(k-1)e^{-\lambda}\frac{\lambda^{k}}{k!}\) + \(\sum_{k=1}^{\infty}ke^{-\lambda}\frac{\lambda^{k}}{k!}\)
= \(\lambda^{2}+\lambda\)
\(V(X)\) = \(E(X^{2})\) – \(E(X)^{2}\)から、
\(V(X)\) = \(\lambda^{2}+\lambda\) -\(\lambda^{2}\) = \(\lambda\)
実際にポアソン分布をPythonで見てみよう!
それでは実際にPythonを用いてポアソン分布を見てみましょう!
ポアソン分布はScipy.stasライブラリのpoisson関数から作成することができます!
実際にポアソン分布のパラメータである\(\lambda\)を0.1, 1, 5, 10と変化させた場合の確率密度関数を見てみましょう!
import numpy as np
from scipy.stats import poisson
import matplotlib.pyplot as plt
# 確率変数
x = np.arange(0, 20)
# ポアソン分布
y_1 = poisson.pmf(x,0.1)
y_2 = poisson.pmf(x,1)
y_3 = poisson.pmf(x, 5)
y_4 = poisson.pmf(x,10)
plt.plot(x, y_1,label="lambda:0.1")
plt.plot(x, y_2,label="lambda:1")
plt.plot(x, y_3,label="lambda:5")
plt.plot(x, y_4,label="lambda:10")
plt.legend()
plt.show()
ポアソン分布 まとめ
本記事ではポアソン分布についてまとめました!
確率分布は様々なものがあり、データや目的によって適切に使うことで初めて効果が表れる非常に優れたツールであると考えられます!確率分布だけでなく、統計学の知識やデータサイエンスの知識を得ることで、今までにない知見を身に付けることができます!
そうしたデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。
そして僕の経験を詰め込んだデータサイエンス特化のスクール「スタアカ(スタビジアカデミー)」を運営していますので,興味のある方はぜひチェックしてみてください!
AIデータサイエンス特化スクール「スタアカ」
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組みあわせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「スタアカ」!!
当メディアが運営するスクールです。
24時間以内の質問対応と現役データサイエンティストによる複数回のメンタリングを実施します!
カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください!
他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。
そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコースになっています!
Pythonが初めての人でも学べるようなカリキュラムしておりますので是非チェックしてみてください!
ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったり・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践してもらったりする盛りだくさんの内容になってます!
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
データサイエンスに関する記事はこちら!
データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください!