こんにちは、BBです。
数ある数学の分野の中でも確率は特に苦手、正直なにやらされてるのか理解できないなど無下に扱われることの多い分野ではないでしょうか。かく言う僕もこのあたりの範囲が出てくるあたりから頻繁に授業で意識を落とすようになっていきました。意識が飛んでしまう頻度は大体、1回の授業に2回ほど。意識が飛んでしまうタイミングに法則性はなくランダムに発生します。1回の授業で6回意識が遠のくこともまれにありましたが、そんなことになってしまう確率は以下の式で表されます。
(1)
計算してみると答えは大体1.2%、結構奇跡的な出来事だったことがわかります。で、ここで使った式が今回紹介する確率分布のポアソン分布だったのです。(流れるような導入!!)今回はポアソン分布の概要を説明した後、Pythonで図やらグラフを表示してみたいと思います。
ちなみにポワソン分布ではなく、ポアソン分布と表記するのが一般的なようです。※この文はタイポによる検索の流入を狙ったキーワードぶっこみでは決してありません。ありえないことですが、もしこの後にポワソン分布が出てきてもそれは僕のタイポです。
ポワソン分布ってなんだ
ごまかしのような導入でごまかし切れていないポアソン分布とは何なのかを説明していきましょう。ポアソン分布とは離散確率分布の一つであり、非負の整数を生成するための確率分布となります。教科書的な説明が来ると即座に昏倒してしまうのは人の性であるとおもいますのでもう少しかみ砕いた説明を加えていきましょう。
ポアソン分布と離散確率分布
ポアソン分布を大枠で言えば離散確率分布の一つということになります。離散確率分布とはぶつ切りになった値、離散値に対する確率のことを指します。離散値とは例えば、サイコロの目やボーリングの倒したピンの数など小数点をとらない数のことを指します。身長や体重など小数点がくっつくような数値を連続値といいます。また、確率分布とはその名の通り確率の分布のことです。確率ですので、合計が100%となること、マイナスの値をとらないなどの制限があります。分布ですので、このような制限を持った数値である確率がどのように配分されているかを表しています。まとめると離散確率分布とはぶつ切りの数値をもつ現象の全パターンの確率ということになります。出る目の確率が全部同じになるように作られたサイコロを例にすると、ある目の出る確率は、確率分布はとなるわけです。
ポアソン分布と非負の整数を生成するための確率分布
非負の整数を生成するための確率分布。確率分布ではこんな説明をされることがありますが、正直僕くらいになるとこの程度では全く理解ができません。つまりなんなのか。まず、非負の整数とはどういうものかを考えていきます。整数とは-2, -1, 0, 1, 2…のように小数点のつかない数値になります。つまり先ほど出てきた離散値ですね。かつ非負といっているので0以上だけだよという意味になります。このような整数を生成する確率分布とのことですので、日本語訳すると、ある値が0とか1とか100978とか0以上の整数のどれか1つをとる確率を全部整数分並べたやつ、という表現で大きく外れてないないはずです。
ポアソン分布の仲間にベルヌーイ分布やカテゴリ分布があってややこしいですが、これらはここでいう生成する数値の違いを意識すると理解しやすいです。簡単にまとめると以下のようになります。
分布名称 | 生成する数値 |
---|---|
ベルヌーイ分布 | 0か1の整数。コインの表と裏を0,1で表現した例が多い。 |
カテゴリ分布 | 数えることのできる特定の範囲の整数。1~6のサイコロの目を用いた例が多い。 |
ポアソン分布 | 0以上の整数。一年間に馬にけられる兵士の数を用いた問題が発祥とか。 |
ポアソン分布になるにつれ一般化されていることがわかりますね。
ポアソン分布の式を眺めてみる
ポアソン分布が何なのかある程度イメージがついたところでもう一度、式(1)を眺めてみましょう。式中のは確率を求めたい数値となります。はパラメータです。ネタバレしてしまうとパラメータは現象の平均回数となります。冒頭に示した例の通りだと1度の授業で6回気絶するときの確率を求めたい場合はとなります。は現象の平均値ですので、1回の授業あたり平均2回気絶する場合はです。は自然対数の底でありネイピア数とも呼ばれますが大体2.7くらいの数値という認識で問題ありません。はを固定したときのを引数にした時の確率という意味です。ポワソン分布は変数とパラメータによって決まることになります。また、はゼロ以上の実数であるためポアソン分布はどんなに大きなをとってもゼロ以上になることがわかります。
ポアソン分布の期待値
こういった確率分布を扱う際のお約束なので期待値を求めていきたいと思います。期待値はある数値とその確率を掛けた値の合計ですので以下のように書けます。
(2)
期待値は式中でのように書きます。ご存知はを1からに変化させて全部足すという意味です。つまり式の1行目はとその時の確率を掛け合わせた値をを1からまで足したものということができます。はゼロも取れますが、その時は確率がいくつであれ掛け算はゼロになりますので省略してします。式を変形していった4行目のはマクローリン展開を利用して以下のように変形します。
(3)
変形した結果式(2)の5行目のようになり、とが打ち消しあって1になりますので答えはになります。先の説明の中でパラメータに現象の平均回数を入れていましたがこれで証明できたことになります。ちなみに式(2)の4行目、シグマの中身はポワソン分布そのものであり、全部足し合わせると1になるという確率分布の制約の証明にもなっていますね。
ポアソン分布をグラフに起こそう
冒頭の例をPythonを用いて気絶する回数とその確率分布をグラフにしてみたいと思います。パラメータはだけなので設定は非常に簡単です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
from scipy.stats import poisson import numpy as np import matplotlib.pyplot as plt # 期待値 l = 2 # xの範囲(実際はいくらでも大きな値をとれる) x = np.arange(0, 13) # 作図 fig, ax = plt.subplots(1, 1) ax.plot(x, poisson.pmf(x, l), 'bo', ms=8) ax.vlines(x, 0, poisson.pmf(x, l), colors='b', lw=5, alpha=0.5) |
上記ソースを実行した結果は以下の通りとなります。
確率のピークは1回と2回にありそこから値が低下していく様子がわかります。図は0回から12回の範囲で描画していますが、実際はもっと大きな回数でもゼロにならず値を持っていることがわかります。
まとめ
今回はポアソン分布についてあっさりですが解説してみました。ポワソン分布で表現できる現象は出現回数がランダムの離散値である必要がありますが、パラメータも少なく手軽に使用できる分、汎用性が高そうです。今回はこんなところでまとめとしたいと思います!