今回は幾何分布についての紹介です。余談ですが、この前電車で会社に出社しようとしたらいつの間にか会社とは別方向に向かっており、あやうく遅刻しそうになりました。
このように、気づいたら目的地と別方向に向かっていたということが、1年の間にどれくらい起こるのかを調べたりしたら面白そうですね。この前紹介したポアソン分布が使えそうです。
ちなみにポアソン分布の記事では、いきなり超越数の一つであるが導出もなしに出てきました。現在は導出も追記しています。急に出てきたに戸惑った方もいらっしゃったかと思います。申し訳ありません。
幾何分布とは
独立なベルヌーイ試行を繰り返すとき、はじめて成功するまでの試行回数が従う確率分布のこと。
例えば、成功確率がにおいて、回目で初めて成功する確率について考えてみます。
条件から、失敗する確率はです。さらに、1から回目までずっと失敗し、回目でようやく成功します。
これを式で表すと、
となります。割と単純ですね。
このように成功する回数が従う幾何分布を
と書きます(ちょっと自信がありません。もしかしたら違う表記で書かれているかもしれませんので、詳しい方がいらっしゃったらお知らせください)。
は幾何分布のから来ています。
幾何分布の期待値と分散
期待値
分散
幾何分布のグラフ
せっかくなので、幾何分布のグラフを作成してみましょう。統計Webに、サイコロを投げて1が初めて出るまでの試行回数を1~10まで順に増やしたグラフがあるので、それを目指します。
いつもPythonだと面白くないので、今回はRを使ってグラフを書いてみました。このRのコードをもとにPythonで書き起こすのもいい訓練になるのではないでしょうか。
# 幾何分布の作成 Geometric <- function(p, k){ P = (1-p)^(k-1) * p return(P) } #試行回数を1~10まで X <- 1:10 #それぞれの試行回数の計算結果を格納 Y <- c() for(i in 1:10){ Y[i] <- Geometric(1/6, i) } # type = "o"で点付きの線を引く # lwdで線の太さを指定 # tck = 1で1の幅でgridを引く # colはcolorのこと png("plot1.png") # 描画デバイスを開く plot(X, Y, type = "o", lwd = 3, tck = 1, col = "blue") dev.off()
Rの#
はコメントアウトを、<-
は代入を意味します。
最初の
Geometric <- function(p, k){ P = (1-p)^(k-1) * p return(P) }
で関数を定義します。Pythonでいうdef
と同じ意味です。引数として受け取るp
は1の目がでる確率、n
は試行回数です。(1-p)^(k-1)
でを計算し、最後にを掛け、計算結果をreturn()
で返しています。ちなみに、Rだとreturn
文に()
が必須です。
X <- 1:10
で試行回数を代入しています。イメージとしては配列に近いです。
Y <- c() for(i in 1:10){ Y[i] <- Geometric(1/6, i) }
ここでは最初に、それぞれの試行回数の計算結果を代入するベクトルY
を作成しています。ベクトルと言っても、配列に近いイメージです。そして、for
文で先ほど作った関数を呼び出しながら計算結果を格納しています。
最後にplot
でグラフを出力します。plot
の前後にあるものは画像として保存するためのものです。
作成したグラフはこちら↓
統計Webに載っているグラフとおおよそ一緒になりましたね。
コラム:幾何分布の無記憶性
ある事象が発生する確率は、その事象が発生する前の情報の影響を受けない。
どういうことかというと、例えば、回目でコインの表が出る確率は過去の影響を受けずに独立した結果となるということです。
さらに分かりやすくえば、コインを投げたときに、「さっきは表が出たから、それが影響して次は裏になる確率が高くなる」なんてことはないという意味です。
まとめ
今回は幾何分布でした。以下はまとめです。
用語 | 意味 |
---|---|
幾何分布 | はじめて成功するまでの試行回数が従う確率分布のこと |
幾何分布の表し方 | |
幾何分布の確率 | |
幾何分布の期待値 | |
幾何分布の分散 | |
幾何分布の無記憶性 | ある事象が発生する確率は、その事象が発生する前の情報の影響を受けない |