医療職からデータサイエンティストへ

統計学、機械学習に関する記事をまとめています。

脱統計初学者!確率分布まとめ~ベルヌーイ分布・二項分布・ポワソン分布・指数分布~

確率分布は統計学を学び始めると必ず出てくるワードなんですが、初めて聞いたときは、なんじゃそりゃ〜〜って感じで全然理解できませんでした。

正直SPSSやSASS、EZRなどの統計ソフトは値を入れれば、それっぽい結果が返ってくるので、学ぶ必要性を感じない人も多いかもしれません....(私もその一人でした)

しかし!確率分布を知らないと誤った統計解析をしてしまったり、結果の解釈が分からなかったり大変なことになる場合があります。

今回はそんな確率分布達をできるだけわかりやすくまとめていきます!

途中、期待値や分散を式で書いたり、Rを使ってシミュレーションしたりしますが、ざっくりと理解したい方は読み飛ばしてくださいね。

そもそも確率分布ってなんぞ

統計学を学んでいると正規分布やらt分布やらf分布やら、それはそれはたくさんの 分布が登場します。

そもそも確率分布とは、簡単に言ってしまうと物事の起こりやすさを表したものになります。

もう一度重要なので確率分布とは物事の起こりやすさを表したものになります!

例えば、日本人身長の起こりやすさをグラフにしてみます。

f:id:h-wadsworth02:20190105120609p:plain

これの意味するところは身長160cmの起こりやすさは0.02、130cmの起こりさすさは0.006なので、160cmは130cmに比べて約3倍起こりやすいとなります。

ここで注意するのは、この正規分布は起こりやすさを表しているのであって、確率を表している訳ではないということです。

単位は何なんだと思うかもしれませんが、起こりやすさを相対的に表すただの数値であることに注意してください。

ここを確率と理解していると今後どんどんはまってゆきます、、、、ちなみに私ははまりました。

このグラフの身長のことを確率変数、この起こりやすさの分布のことを確率分布と呼びます。

確率変数が分かりにくければ、起こりやすさを知りたい変数ぐらいの理解でも大丈夫です。

早速色々な分布を確認していきましょう!

ベルヌーイ分布(Bernoulli distribution)

まず、確率変数が二値の場合によく使われるのがベルヌーイ分布です。今回は箱の中から二種類の玉を選ぶ問題で例えてみます。

今箱の中に青玉が70個、赤玉が30個あるとします。この箱から玉を取り出した時の確率分布はどうなるでしょうか?

この時青玉を引く確率は70%、赤玉を引く確率は30%ですね。つまり、確率分布を表すと

f:id:h-wadsworth02:20190105125439p:plain

こんな感じです。

正規分布と大きく違うのは、縦軸が確率を表していることです。確率も起こりやすさを表す数値の一種と考えれば当然ですね。

ちなみに、縦軸の起こりやすさが確率で表現できる分布を離散型確率分布、確率で表現できない正規分布のような分布(ぴったり160cmになる確率は0%です)を連続型確率分布と呼びます。

このベルヌーイ分布の確率分布を式で書くと、\muを青を引く確率、青や赤は式に入れることができないのでxを青だったら1、赤だったら0として、

 Bern(x\,|\,\mu=0.7) = \mu^{x}(1-\mu)^{1-x}\\
 =0.7^{x}0.3^{1-x}

となります。実際に値を入れみると青(x = 1)で0.7、赤(x=0)で0.3となります。

また、この時の期待値E(x)と分散  var(x)

E(x) = 1\times\mu + 0\times(1-\mu )= {\bf\mu} \\
= 1\times{0.7} + 0\times{0.3} =0.7

 var(x) = (\mu - 1)\mu + (\mu-0)(1-\mu) = {\bf\mu(1-\mu)}\\
= (0.7-1)\times{0.7} + (0.7-0)\times{0.3} = 0.21

Rでも実行してみます。

>#ベルヌーイ分布
>#関数はないのでsampleで代用
>#サンプリング数1000個
> berntest <- sample(c(1,0),1000,replace = T,prob = c(0.7,0.3))
> mean(berntest)#平均
[1] 0.706
> var(berntest)#分散
[1] 0.2077718

理論上の値とほとんど同じになっていますね!

二項分布(Binominal distribution)

ベルヌーイ分布は、箱から一個の玉を取り出した時、青玉がどれぐらい出やすいかを表した分布でした。

先ほどの箱から玉を10個取り出した時に、青玉は何個あるかという個数が従う分布が二項分布になります。

確率分布をグラフ化すると

f:id:h-wadsworth02:20190105125734p:plain

10個中7個青玉がある確率(m=7)が一番高くて27%、10個とも青玉である確率(m=10)は3%、一個も青玉が入っていない確率(m=0)はさらに小さいことが分かります。この分布が二項分布になります!

ベルヌーイ分布は、分布を決めるパラメーターの数が確率を表す\muのみであったのに対して、二項分布式は\muに加えて、試行回数(今回の場合は一度に引く玉の数)Nの二つによって、分布の形が変わります。

式で表すと、

 Bin(m|N=10,\mu=0.7)= {}_N C _m \mu^{m}(1-\mu)^{N-m}\\
= \dfrac{10!}{m!(10-m)!}0.7^{m}0.3^{10-m}

となります。実際にmに7を入れると0.27となります!

また、期待値と分散は、

 E(m) = N\mu\\
=10\times0.7 = 7

 var(m) = N\mu(1-\mu)\\
= 10\times0.7\times0.3=2.1

です。 Rでシミュレーションしてみると

> #試行回数10回で青玉の数を数える
> #それを1000回繰り返す
> binsample <- replicate(1000,
+           sum(sample(c(1,0),10,replace = T,prob = c(0.7,0.3))))
> mean(binsample)
[1] 6.94
> var(binsample)
[1] 2.290691

計算した値とほとんど同じですね!Rの関数を使って

> binsample <- rbinom(1000,10,0.7) 
> mean(binsample)
[1] 7.0135
> var(binsample)
[1] 2.141932

と書くこともできます。

ポアソン分布(Poisson distribution)

先ほどの玉の入った箱に、今度は1万個の玉を入れて、青玉は変わらず70個、残りは赤玉にします。ここから、1000個の玉を取り出した時に、青玉の数が従う二項分布を考えてみましょう。

グラフにするとこんな感じです。

f:id:h-wadsworth02:20190105123613p:plain

先ほどの同じように一番確率が高いのは7個の時ですが分布の裾が大きくなっています。この時の分散と平均を計算してみると

E(m) = N\mu = 1000\times0.007 = 7

var(m) = N\mu(1-\mu) = 7\times(1-0.007) = 6.9

となって、平均と分散がほとんど同じ値になります。

このように、試行回数Nがとても大きい、もしくは、起こる確率\muがとても小さい、もしくはその両方の場合に、平均値≒分散となる分布をポワソン分布と呼びます。

ポワソン分布の形を決めるパラメーターの数は、試行回数中に起こる回数の平均値を一定と考えて N\mu = \lambdaの一つのみになります。式で表すと

 Pois(m | \lambda) = \dfrac{\lambda^{m}e^{-\lambda}}{m!}

となります。

\lambdaを変化させて、グラフ化してみるとこんな感じになります。

f:id:h-wadsworth02:20190105123822p:plain

また、青玉が出る確率0.7%の箱から1000個取り出した時に、青玉の個数が7個になる確率を二項分布で求めると

 Bin(m=7|N=1000,\mu = 0.007)\\
 = {}_{1000} C _{7}0.007^{7}(1-0.007)^{1000-7} \fallingdotseq 0.15

ポアソン分布で求めると

 Pois(m=7| \lambda = 1000\times0.007) \\
= \dfrac{7^{7}\times e^{-7}}{7!} \fallingdotseq 0.15

とほとんど同じ値になることが分かります!

Rでの実行方法はこちらです

> choose(1000,7)*0.007^7*(1-0.007)^(1000-7)#二項分布
[1] 0.149527
> (7^7*exp(-7))/factorial(7)#ポワソン分布
[1] 0.1490028

このポアソン分布のすごいところは、パラメーター\lambda、つまり、一単位あたりに平均的に何回イベントが起こるか分かっていれば、確率分布を求めることができるところにあります。

例えば、平均的に5年間で3回地震が発生する地域で、次の5年間で1回も地震が発生しない確率を求めてみましょう。

この時 \lambda =3として、計算してみると

 Pois(m=0| \lambda = 3) \\
= \dfrac{3^{0}e^{-3}}{0!} \fallingdotseq 0.05

となって発生回数が0回になる確率は約5%となります!

横軸を地震発生回数、縦軸を確率としてグラフにしてみるとこんな感じになります。

f:id:h-wadsworth02:20190105124601p:plain

先ほどの \lambda=3のグラフと同じになりますね。

ポワソン分布は、他にも以下のように様々な確率分布を求めることができます!

  • 1時間に特定の交差点を通過する車両の台数。

  • 1ミリリットルの希釈された水試料中に含まれる特定の細菌の数(細菌数検査における最確法)。

  • 単位面積あたりの雨粒の数。

  • 1ページの文章を入力するとき、綴りを間違える回数。

  • 1日に受け取る電子メールの件数。

  • 1時間あたりの電話がかかってくる件数。

  • ある一定の時間内の店への来客数。

  • 1分間のWebサーバへのアクセス数。

  • 例えば、1時間あたりのウィキペディアの最近更新したページの編集数もおおよそポアソン分布。

  • 1キロメートルあたりのある通り沿いのレストランの軒数。

  • 1ヘクタールあたりのエゾマツの本数。

  • 1立方光年あたりの恒星の数。

  • 単位時間あたりの放射線の計数値であるカウント毎分やカウント毎秒(半減期による減衰や外部からの放射能などによる変動がないと仮定して)。

出典元: ポアソン分布 - Wikipedia

指数分布(Exponential distribution)

先ほどのポアソン分布は、単位時間あたりに発生するイベントの回数が従う分布でした。

それでは、5年間で3回地震が発生する地域で、地震が一回起きた後、次の地震が起こるまでの期間はどれぐらいでしょうか?

この発生期間が従う分布が指数分布です。

指数分布を式で表すと、

 Exp(t | \lambda) = \lambda e^{-\lambda t}

と表されます。

\lambdaを変化させた指数分布はこんなグラフになります。

f:id:h-wadsworth02:20190105130549p:plain

ベルヌーイ分布、二項分布、ポアソン分布は離散型の確率分布でしたが、この指数分布は、連続型の確率分布となるので、積分することで確率を求めることができます。

地震が一回起きてから次の地震が5年以内に次の地震が起きる確率は、上記の\lambda =3の指数分布の0~1の面積になる(5年で3回起こる地震なので、5年が一単位)ので、グラフに表すと以下のようになります。

f:id:h-wadsworth02:20190105125031p:plain

また、この指数分布の平均と分散は以下のように表すことができます。

 E(t) = \dfrac{1}{\lambda}

var(t) = \dfrac{1}{\lambda^{2}}

一単位期間で平均\lambda起こるイベントなので、平均が上記のようになることは納得できますね!

5年に3回起こる地震であれば、平均で

\dfrac{1}{3}\times5年 = 1.7年

に一回は起こるということです。

Rで実行してみるとこんな感じになります。

> exptest <- rexp(10000,3)
> mean(exptest)*5
[1] 1.661969
> var(exptest)*5
[1] 0.5643593

まとめ

今回学んだ4つの分布をまとめておきます!

ベルヌーイ分布

表か裏など二値の結果を0と1とした場合に、その結果xが従う離散確率分布。

分布の形を決めるパラメーターは成功確率を表す\muのみ。

 Bern(x|\,\mu) = mu^{x}(1-\mu)^{1-x}

平均 E(x) = \mu

 分散 var(x) = \mu(1-\mu)

f:id:h-wadsworth02:20190105125439p:plain

二項分布

ベルヌーイ分布に従う試行を複数回行った場合にどちらかを成功とし、その成功数mが従う離散確率分布。

分布の形を決めるパラメーターは確率を表す\muと試行回数Nの2つ。

 Bin(m|\,N,\mu) = {}_N C _m mu^{m}(1-\mu)^{N-m}

平均 E(m) = N\mu

 分散 var(m) = N\mu(1-\mu)

f:id:h-wadsworth02:20190105125734p:plain

ポワソン分布

一単位あたりに平均\lambda起こるイベントで、一単位あたりのイベント数mが従う離散型確率分布

分布の形を決めるパラメーターは一単位あたりの平均イベント数\lambdaのみ。

 Pois(m | \lambda) = \dfrac{\lambda^{m}e^{-\lambda}}{m!}

平均 E(m) = \lambda

 分散 var(m) = \lambda

f:id:h-wadsworth02:20190105123822p:plain

指数分布

一単位あたりに平均\lambda起こるイベントで、発生間隔tが従う連続型確率分布

分布の形を決めるパラメーターは一単位あたりの平均イベント数\lambdaのみ。

 Exp(t | \lambda) = \lambda e^{-\lambda t}

 E(t) = \dfrac{1}{\lambda}

var(t) = \dfrac{1}{\lambda^{2}}

f:id:h-wadsworth02:20190105130549p:plain

次回は正規分布、t分布、f分布など連続型確率分布を中心にまとめていきます!