ベルヌーイ分布とは
1個のデータが、2つの可能性 (二値; オス/メス、勝/負、前/後、左/右、動く/動かないなど) のうち、どちらになるかという、最も簡単な確率分布です。
 例えば、コインを1回投げて、表が出るか裏が出るかが0.5の確率だとすると、この確率分布は「母比率0.5のベルヌーイ分布」です。このベルヌーイ分布は
f(x) = 0.5       (x=表、裏)
f(x) = 0       (x \( \neq \) 表、裏)
という確率関数で表現できます。
 もしこのコインが「いかさまコイン」で表が出る確率が0.8だったとすると、このコインを1回投げたときの確率分布は「母比率0.8のベルヌーイ分布」です。この分布は、
f(x) = 0.8       (x = 表)
f(x) = 0.2       (x = 裏)
f(x) = 0       (x \( \neq \) 表、裏)
という確率関数で表現できます。

このように、二値をAとBとして、Aが出る確率を母比率pとすると、ベルヌーイ分布は、以下の確率関数で表現される確率分布です。
f(x) = p       (x = A)
f(x) = 1 - p       (x = B)
f(x) = 0       (x \( \neq \) A、B)

ベルヌーイ分布の前提条件
ベルヌーイ分布の前提条件は以下の3条件です。
1.データは二値データ
2.各データは「独立」である
3.母比率は変化しない

「独立」とは
「データが独立である」とは、そのデータが、他のデータの値に影響を与えず、また他のデータから影響を受けないという意味です。
 例えば、コインの裏・表や、サイコロで1が出るか否か、宝くじ の当選と落選、道路を並んで走っている2台の車の色などは、「独立なデータ」といえるでしょう。一方、サッカーチームのリーグ戦における、あるチームの対戦成績や、鴨川のほとりで腰掛けている2人組の性別、あるいは、電車の2人掛け座席に座っている、お互いに知らない人同士の2人の性別や、バスケットボールのフリースローでシュートが入るかどうかなど、お互いに独立とは言えなさそうなデータも数多くあります。
 このような独立ではない母集団からデータを取るときは、ランダムな順番でデータを並べ替えるなどによってデータが独立であるようにしなければ、そのデータに対してベルヌーイ分布を想定することはできません。

ベルヌーイ分布の最尤推定

尤度 (各データが得ら れる確率の総乗) が最大となる確率分布の母数を推定するのが最尤推定です。
 例えば、二値 (コインの表と裏) のデータが3つ得られたとします。それは、表、表、裏というデータだったとします。このデータがベルヌー イ分布にしたがうと想定して、尤度(各データが得ら れる確率の総乗)が最大となるAの母比率 p を推 定しましょう。
 なるべく分かりやすいように、少し回り道をしながら説明します。まず母比率が0.5だと考えてみます。「コインの表が出る確率も裏が出る確率も同じ」という想定です。この想定で、尤度を計算すると、表が出る確率も裏が出る確率も0.5なので、

尤度L = 0.53 = 0.125

となります。でも、この尤度が最大値なのでしょうか。例えば、母比率が0.6だと考えると、

L = 0.6 x 0.6 x 0.4 = 0.144

となります。0.125は尤度の最大値ではないですね。

一般化して考えてみます。

L = p2(1 - p)  
この数式をpで微分すると
dL/dp = 2p - 3p2
このLが極値となるのはdL/dp = 0のときなので
2p -3p2 =0
2 = 3p
p = 2/3 = 0.667

つまり、最尤推定によって、pの推定値は0.667だといえます。

Rを使って、この尤度関数をグラフにしてみましょう。pの代わりに母比率を x とします。
x<-seq(0,1,0.001)
y<-(x^2)*(1-x)          #ここで「^」はべき乗を意味します
plot(x,y,type="l")     #"l"は小文字のエルです。
x[y==max(y)]            #尤度が最大となるxの値が最尤推定値となります。

上の例ほど計算が簡単だとRを使うメリットは感じないかもしれません。そこで、もっと面倒な例も考えてみましょう。

今度は、表が30回、裏が10回というデータがベルヌー イ分布にしたがうと想定して、尤度(各データが得ら れる確率の総乗)が最大となるAの母比率 p を推 定しましょう。
 このときの尤度は以下の式で表すことができます。

L = p30(1 - p)10  
この数式で、Lが最大となるpを求めるのはめんどくさそうです。

そこで、両対数をとってから、logLの最大値を求めることにします。
logL = 30logp + 10log(1-p)
このlogLが極値となるのはdlogL/dp = 0のときなので
30/p - 10/(1-p) = 0
p = 3/4 =0.75

手計算だと、べき乗が大きくなると計算が面倒くさくなりますが、Rのシミュレーションでは、べき乗が大きくても同じ手順でできます。
x<-seq(0,1,0.001)
y<-(x^30)*((1-x)^10)
plot(x,y,type="l")
x[y==max(y)]

最尤推定による母集団推定の結論
さて、これらの例で気がついた人もいるかもしれませんが、じつは母比率pの最尤推定値はいつでも (母比率として想定している事象となったデータ数) / (全てのデータ数) です。つまり、上でおこなったような面倒なことをしなくても、例えば3勝5敗というデータの勝率という母比率の最尤推定値は3/8だと、すぐに述べることができます。ベルヌーイ分布を想定した確率分布の母集団推定(最尤推定)は、このように簡単に行うことができます。

それではなぜ上のように計算してみせたかというと、それは尤度や最尤推定について理解してもらいたかったからです。尤度や最尤推定は、ほかの確率分布を想定した母集団推定のときにも同じ発想で使えるので、ぜひ理解しておいてください。

最後修改: 2021年 05月 7日(週五) 10:27