
尤度関数を利用して、ポアソン分布のパラメータを具体的に求めてみます。
これまでの記事の内容は以下の通り。
- 母集団の確率密度関数を知りたい(そもそもの始まり):第1回
- 確率密度関数なる概念は「概形」と「パラメータ」という要素で構成されてるよね:第1回
- 手元のデータを生成する確率が最大となるパラメータを求めればよさげ:第2回
- 具体的なデータを分析するうえでの注意点:第3回
- 最尤法のアイデアを、具体的な数式に落とし込んでいこう:第4回
- 今まで「手元のデータを生成する確率」という考え方でやってきてたけど、実はそれは、数学的には「確率」とは呼べない代物なんだよ:第5回
こういう風に俯瞰してみると、もっと分かりやすい構成があっただろうにという感じがしますね。特に、第3回記事なんかはなるべく早くの段階で具体例を出した方が分かりやすいだろうと思ってたんですが、もっと後ろの方でも良かったですね。いやぁ~、恥ずかしい。
一応、前回の復習というかまとめみたいなものを確認しておいた上で、今回の内容に入っていきます。
最尤法は、最終的に「尤(もっと)もらしい確率密度関数のパラメータ」を求めるための方法になります。そのとき、基準として「今手元にあるデータセットを得られる確率」がどうなるかをパラメータの正しさの判定基準としましょうということにしたのでした。
ですが、「今手元にあるデータセットを得られる確率」なるものは、本当に「確率」と呼びうるのかが問題になりました。というのも、数学的な「確率」の定義からはみ出した概念には、「確率」に対する数学的知見を適用できないからです。
そこで概念構造を調べたところ、どうやら「確率」に似て非なるものだということが分かったのでした。どれだけ似ていたとしても異なるものである以上、それを同じ「確率」という単語で言い表すのは不適切です。
そこで、新しく「尤度」なる言葉を当てはめて、確率とは違う新しい概念としたのでした。
このようにして、僕らの世界に「尤度」なる概念を追加することが出来たので、今回の記事では具体的に尤度を使って最尤法をやってみます。
※このシリーズでは毎回注意していますが、本来なら「確率質量関数」と表記すべきところを「確率密度関数」と表記しています。それは、最尤法が確率密度関数に対しても確率質量関数に対しても同様に適用できるからです。言葉遣いに違和感を感じられる部分もあるでしょうが、ご了承ください。
微分すればいい
では、尤度関数を最大化するようなパラメータをどうやって求めればいいかを考えてみます。
ですが、勘の良い人やすでに勉強したことがある人なら分かる通り、普通に微分すれば求められます。ただし、注意点がありまして、微分といっても偏微分をしなければいけません。なぜなら、尤度関数はデータセットとパラメータに依存する関数だからです。
そのため、ここでの微分はパラメータ\( \theta \)に関する偏微分になります。
第3回記事で、「データセットを得られる確率」として説明していたときに、具体的に計算しましたが、その計算結果をまとめてみます。ただし、以前の記事では「データセットを得られる確率\( p( X, \lambda ) \)」としていたところを「尤度関数\( L( X ; \lambda ) \)」に置き換えて表記しています。
- \( \lambda = 0.1 \)のとき\( L( X ; \lambda) = 9.48 \times 10^{-142} \)
- \( \lambda = 0.5 \)のとき\( L( X ; \lambda) = 3.22 \times 10^{-90} \)
- \( \lambda = 1.0 \)のとき\( L( X ; \lambda) = 6.36 \times 10^{-98} \)
指数部分を見ていただければ分かる通り、\( \lambda \)を大きくしていくと、途中まで尤度関数\( L( X ; \lambda ) \)の計算結果は大きくなって、途中から小さくなっています(指数に注目していただければわかると思います)。
当然ながら、連続的に数値が変わっていくので、上のようにパラメータを変化させていくとどこかで最大値を取っているはずで、その最大値での微分値(つまり、グラフ上での傾き)は0となっているはずです。
そこで、次のような微分を計算をして、それが0となるような\( \lambda \)を求めれば、それが求めたいパラメータだということになります。
$$ \frac{ \partial L( X ; \lambda ) }{ \partial{ \lambda } } ・・・(1) $$
尤度関数\( L \)を変数\( \lambda \)で偏微分するということを数式的に表しただけです。偏微分すべき尤度関数は以下の通りでした。
$$
\begin{equation}
\begin{split}
L( X ; \lambda ) &= \prod_{ i = 1 }^{ N } p( x_i, \theta ) \\
&= \prod_{ i = 1 } ^ { N } \frac{ \lambda ^ x exp ( – \lambda ) } { x! } ・・・(2)
\end{split}
\end{equation}
$$
これを偏微分していきましょうと言って微分計算を進めていきたいところですが、そのためには籍の微分を計算する必要があります。積に対する微分は可能ではありますが、すごく大変です。なので、できることなら、これをもっと簡単な計算に置き換えたいところです。
対数尤度関数
前節で説明したような計算の簡単化のための方法には、大きく2つの方法が思いつくかと思います。それは、「関数の形式をよく調べて等式変形により関数自体をもっと簡単化していく方法」と「問題そのものを、より簡単なものに読み替える方法」という2つの方法です。
しかし、(2)式はすでに高校でも習うような簡単な関数だけで表されていて、等式変形ではこれ以上簡単な形式に置き換えていくことは難しそうです。そこで、ここでは第2の方法「問題を読み替える」で簡単化していきます。
しかし、問題の読み替えは本質的な部分が変わらないように行わなければなりません。そこで、この問題の本質、つまりは、尤度関数の微分を考えることによって何を達成したいのか(もっと言えば、何を達成したくて尤度関数を導入したのか)を考えていきます。
まずは「尤度関数の本質とは何か」を考えてみます。さらに言えば、「何を考えたくて、”尤度関数”なる概念を話題に上げたのか」を考えていきます。
ここで、前回記事での尤度関数に関する説明で使った図をもう一度確認します。

「手元にあるデータセットを得られる確率」が一番大きくなっているような確率密度関数を選ぶにはどうすればいいかを説明する中で、この図をデータ側から見たときの説明として、次のような説明をしました(より詳しくは前回記事へ)。
様々なパラメータに対する確率密度関数が描かれた紙が何層も何層も重ねられていて、その紙を手前側から順に一枚一枚紙芝居のようにめくっていくとする。すると、横軸にデータ、縦軸に確率が取られた2次元の確率密度関数のグラフが見えるはず。
そのとき、あるデータのときの確率だけに注目しよう(例えば、図1で言うところの、データが1のときの確率など)。そして、その確率だけに注目したまま、確率密度関数が描かれた紙を紙芝居のように順番にめくっていく。そのとき、確率が最大となっているときのパラメータこそが求めたいパラメータだ。そして、そのパラメータを持った確率密度関数こそが、求めたい確率密度関数だ。
この説明は、図1をデータ側から見ていたときの説明でした。ですが、今僕たちの世界には「尤度」という概念が追加されているので、尤度という概念を使って上の説明を書き直してみます。
すると、「尤度関数が最大となるようなパラメータを求めて、そのパラメータを持った確率密度関数を選べば、その確率密度関数が求めたい確率密度関数となっている」というように書き換えることができます。とても短く、そして何をしているのかがより分かりやすくなりましたね。今まで持っていなかった概念を世界に追加できてこその簡潔化と明確化です(今回のP.S.に関連してる部分)。
つまり、この話から次のようなことが分かります。「あるパラメータを代入したときの大小関係さえ分かれば、具体的な数値は必要ない」ということです。「いやいや、大きい小さいという関係を知るためには、具体的に数値が分かっている必要があるだろう」と思われる方もいらっしゃるかもしれません。
そのような考えは確かに正しいです。しかし、それはあくまでも「数値の大小を比較できるために必要」というだけです。尤度関数そのものの数値は必要ありません。これだけでは舌足らずもいい所なので、もう少し説明します。
例えば、尤度関数の値をすべて2倍したとします。尤度関数に2をかけて\( 2L( X ; \lambda ) \)としたと考えていただいても構いません。そして、その\( 2L( X ; \lambda ) \)では、元々の\( L( X ; \lambda ) \)のときの大小関係は保存されています。しかし、当然ながら元の数値を2倍しているので、数値自体は保存されているわけではありません。
つまり、”大小関係だけについて言えば”\( 2L( X ; \lambda ) \)を評価しても\( L( X ; \lambda ) \)を評価しても結果は変わらないということになります。
結果が変わらないのであれば、2倍した関数でも、元々の関数でも、どちらでも計算しやすい方を使えばいいということになります。これが、「大小関係さえ分かれば、具体的な数値は必要ない」と言っている意味になります。
ここでの例のように、大小関係を変えないような関数を考えてみます。そのような関数として、単調増加な関数が挙げられます。上記のような尤度関数の偏微分をより簡単に計算できるようになる単調増加な関数はあるでしょうか?
偏微分の難しさは、積の計算にありました。そこで、積を和に変換することが出来る対数関数\( log \)が、元の関数の大小関係を変えないような関数として挙げられます。そこで、尤度関数を直接偏微分する代わりに、次のように対数を取った尤度関数の偏微分を考えます。
$$
\begin{equation}
\begin{split}
log L( X ; \lambda ) &= log \prod_{ i = 1 }^{ N } p( x_i, \theta ) \\
&= \sum_{ i = 1 } ^ { N } log p( x_i, \theta ) \\
&= \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^ x exp ( – \lambda ) } { x! } ・・・(3)
\end{split}
\end{equation}
$$
対数を取っていますから、当然ながら(1)式の計算結果と(2)しきの計算結果はほとんどの場合は一致しません。しかし、その大小関係は変わっていません。そのため、どこからどこまでが右肩上がりで、どこで最大値を取って、どこから右肩下がりになるというような大小関係も変わりません。
大小関係が変わらないので、尤度関数の偏微分値(グラフ上での傾き)が0にないるときのパラメータと、対数を取った後の尤度関数の偏微分値が0になるときのパラメータも変わりません。要するに、対数を取らずにパラメータを求めても、対数を取ってパラメータを求めても、結果は変わらんよということですな。
だから、より微分を計算しやすい対数を取った方の尤度関数で偏微分を計算して、パラメータを求めても構わないということになります。この「尤度関数に対数を取る」という操作は統計学ではよく行われる操作なので、対数を取った尤度関数には「対数尤度関数」という名前が付けられています。
こうして、本来解くべき問題「”尤度関数”のパラメータに関する偏微分を求める」を、「”対数尤度関数”のパラメータに関する偏微分を求める」という問題に読み替えたわけです。
ポアソン分布のパラメータを最尤法で求めてみる
対数尤度関数について理解していただけたところで、実際に偏微分を計算していきましょう。まず、対数尤度関数の偏微分を数式で書き表すと次のようになります。
$$
\begin{equation}
\begin{split}
\frac{ \partial log L( X ; \lambda ) }{ \partial \lambda } &= \frac{ \partial }{ \partial \lambda } \{ \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^{x_i} exp ( – \lambda ) } { x_i! } \} ・・・(4)
\end{split}
\end{equation}
$$
そして、和の計算と微分の計算は順序を入れ替えられるので、次のようになります。
$$
\begin{equation}
\begin{split}
\frac{ \partial log L( X ; \lambda ) }{ \partial \lambda } &= \frac{ \partial }{ \partial \lambda } \{ \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^{x_i} exp ( – \lambda ) } { x_i! } \} ・・・(4) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log \frac{ \lambda ^ {x_i} exp ( -\lambda ) }{ x_i! } \} ・・・(5)
\end{split}
\end{equation}
$$
そして、対数関数の性質から、logの中身の積や商を、和や差に変換することが出来ることに注意すれば、次のように変形できます。
$$
\begin{equation}
\begin{split}
\frac{ \partial log L( X ; \lambda ) }{ \partial \lambda } &= \frac{ \partial }{ \partial \lambda } \{ \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^{x_i} exp ( – \lambda ) } { x_i! } \} ・・・(4) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log \frac{ \lambda ^ {x_i} exp ( -\lambda ) }{ x_i! } \} ・・・(5) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log( \lambda )^{x_i} + log( exp ( – \lambda ) ) – log( x_i! ) \} \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ x_i log( \lambda ) – \lambda – log( x_i! ) \} ・・・(6)
\end{split}
\end{equation}
$$
ここまで変形しておいてから、偏微分を計算します。何度も繰り返す通り、\( \lambda \)での偏微分であることに注意してください。つまり、\( x \)は定数として考えることに注意してください。
$$
\begin{equation}
\begin{split}
\frac{ \partial log L( X ; \lambda ) }{ \partial \lambda } &= \frac{ \partial }{ \partial \lambda } \{ \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^{x_i} exp ( – \lambda ) } { x_i! } \} ・・・(4) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log \frac{ \lambda ^ {x_i} exp ( -\lambda ) }{ x_i! } \} ・・・(5) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log( \lambda )^{x_i} + log( exp ( – \lambda ) ) – log( x_i! ) \} \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ x_i log( \lambda ) – \lambda – log( x_i! ) \} ・・・(6) \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } – 1 – 0 \} \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } – 1 \} ・・・(7)
\end{split}
\end{equation}
$$
次は総和記号の計算ですが、総和記号は\( i = 1 \)から\( i = N \)までの総和であることに注意してください。つまり、\( ( \frac{ x_0 }{ \lambda } – 1 ) + ( \frac{ x_1 }{ \lambda } – 1 ) + \cdots + ( \frac{ x_N }{ \lambda } – 1 ) \)となることに注意してください。定数はN倍されるということですな。そのことに注意していただければ次のようになります。
$$
\begin{equation}
\begin{split}
\frac{ \partial log L( X ; \lambda ) }{ \partial \lambda } &= \frac{ \partial }{ \partial \lambda } \{ \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^{x_i} exp ( – \lambda ) } { x_i! } \} ・・・(4) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log \frac{ \lambda ^ {x_i} exp ( -\lambda ) }{ x_i! } \} ・・・(5) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log( \lambda )^{x_i} + log( exp ( – \lambda ) ) – log( x_i! ) \} \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ x_i log( \lambda ) – \lambda – log( x_i! ) \} ・・・(6) \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } – 1 – 0 \} \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } – 1 \} ・・・(7) \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } \} – \sum_{i = 1}^{ N } \{ 1 \} \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } \} – N ・・・(8)
\end{split}
\end{equation}
$$
そしてさらに総和記号についての注意点です。それは、定数倍は総和計算と順序を入れ替えられるということです。つまり、次のようになります。
$$
\begin{equation}
\begin{split}
\frac{ \partial log L( X ; \lambda ) }{ \partial \lambda } &= \frac{ \partial }{ \partial \lambda } \{ \sum_{ i = 1 } ^ { N } log \frac{ \lambda ^{x_i} exp ( – \lambda ) } { x_i! } \} ・・・(4) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log \frac{ \lambda ^ {x_i} exp ( -\lambda ) }{ x_i! } \} ・・・(5) \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ log( \lambda )^{x_i} + log( exp ( – \lambda ) ) – log( x_i! ) \} \\
&= \sum_{ i = 1 }^{ N } \frac{ \partial }{ \partial \lambda } \{ x_i log( \lambda ) – \lambda – log( x_i! ) \} ・・・(6) \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } – 1 – 0 \} \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } – 1 \} ・・・(7) \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } \} – \sum_{i = 1}^{ N } \{ 1 \} \\
&= \sum_{ i = 1 }^{ N } \{ \frac{ x_i }{ \lambda } \} – N ・・・(8) \\
&= \frac { \sum_{ i = 1 }^{ N } \{ x_i \} }{ \lambda } – N ・・・(9)
\end{split}
\end{equation}
$$
では、対数尤度関数を変形できるところまで変形しましたので、次はこれが0となるときの\( \lambda \)を求めます。つまり、次のような方程式を立てて\( \lambda \)について解くということですな。
$$
\begin{equation}
\begin{split}
\frac { \sum_{ i = 1 }^{ N } \{ x_i \} }{ \lambda } – N &= 0 ・・・(11)
\end{split}
\end{equation}
$$
次のように方程式を解いていきます。ただし、求めたい数値は\( \lambda \)であることに注意してください(\( \lambda = ○○ \)という形式になるまで式変形を続けていきます)。
$$
\begin{equation}
\begin{split}
\frac { \sum_{ i = 1 }^{ N } \{ x_i \} }{ \lambda } – N &= 0 \\
\frac { \sum_{ i = 1 }^{ N } \{ x_i \} }{ \lambda } &= N \\
\sum_{ i = 1 }^{ N } \{ x_i \} &= N \lambda \\
\lambda &= \frac { \sum_{ i = 1 }^{ N } \{ x_i \} }{ N } ・・・(10)
\end{split}
\end{equation}
$$
さて、これで左辺には\( \lambda \)が来ました。そして、右辺には既知の数値しか使われていません。というわけで、パラメータ\( \lambda \)の求め方を求めることが出来ました。
もう少しこの結果を解釈してみましょう。
(11)式の右辺を見てもらえれば、データの数値\( x_i \)をデータ数\( N \)で割っているということが分かります。このような数値を皆さんはご存じのはずです。これはつまり平均値ですね。つまりポアソン分布に限って言えば、データの平均値を求めれば、それが母集団が持つ確率密度関数のパラメータとして、最も尤もらしい数値になっているというように解釈できます。
ですが、これだけではまだよく分からないかもしれないので、いままで何度か取り上げてきた「馬に蹴られて死んだ兵士の数」にこの数式を適用してみます。
最尤法でデータを解析する
ボルトキーヴィチは、各軍団内で馬に蹴られて死んだ兵士の数を調査しました。そのデータを引用すると、次のようになっています。
0人:109件
1人:65件
2人:22件
3人:3件
4人:1件
5人以上:0件
1年間で馬に蹴られて死ぬという事象の発生数が、どのような確率密度関数に従うかを知りたいというのがここでの問題になります。早速最尤法で求めようという話になりそうですが、注意点があります。
\( x_1 = 109 \)などとしてはいけません。これはあくまでもデータの集計結果で合って、データそのものではないからです。
(11)式をよく見てください。(11)式での\( x_i \)はあくまでもデータそのものであって、集計結果ではありません。なので、この集計結果からデータそのものを復元する必要があります。
実際にデータを復元してみます。0人が109件あるのですから、データセットとしては(便宜的に)1番から109番までは\( x_i = 0 \)となります。同様に110番から174番、175番から196番、197番から199番、200番の\( x_i \)はそれぞれ、1、2、3、4となります(多少、注意点については省きましたが、気になる方は第4回記事をご参照くださいませ~)。
集計結果をそのまま使ってしまうと、間違った結論を導いてしまいかねないので、ご注意ください。
(11)式は元々の定義から考えて、この復元後のデータに適用する必要があります。では、具体的に計算してみます。データ(集計結果ではなく)の平均値を計算すれがよいのでした。そして、個々でのデータ数は\( N = 200 \)です。つまり、次のような計算をすればいいということになります。
いきなり長ったらしい数式が出てくるので面食らうかもしれませんが、よく見ていただければ、総和記号を分割しているだけだと理解していただけると思います。
$$
\begin{equation}
\begin{split}
\lambda &= \frac { \sum_{ i = 1 }^{ 200 } \{ x_i \} }{ 200 } \\
&= \frac { \sum_{ i = 1 }^{ 109 } \{ 0 \} + \sum_{ i = 110 }^{ 174 } \{ 1 \} + \sum_{ i = 175 }^{ 196 } \{ 2 \} + \sum_{ i = 197 }^{ 199 } \{ 3 \} + \sum_{ i = 200 }^{ 200 } \{ 4 \} }{ 200 }
\end{split}
\end{equation}
$$
先ほどの\( \lambda \)を導出したときと同じように、定数に対して総和を取るとN倍されることに注意すれば、次のように変形して、パラメータ\( \lambda \)を求めることが出来ます。
$$
\begin{equation}
\begin{split}
\lambda &= \frac { \sum_{ i = 1 }^{ 200 } \{ x_i \} }{ 200 } \\
&= \frac { \sum_{ i = 1 }^{ 109 } \{ 0 \} + \sum_{ i = 110 }^{ 174 } \{ 1 \} + \sum_{ i = 175 }^{ 196 } \{ 2 \} + \sum_{ i = 197 }^{ 199 } \{ 3 \} + \sum_{ i = 200 }^{ 200 } \{ 4 \} }{ 200 } \\
&= \frac { 109 \times 0 + 65 \times 1 + 22 \times 2 + 3 \times 3 + 1 \times 4 }{ 200 } \\
&= \frac { 65 + 44 + 9 + 4 }{ 200 } \\
&= \frac { 122 }{ 200 } \\
&= 0.61
\end{split}
\end{equation}
$$
このようにして、「馬に蹴られて死んだ兵士の数」が\( \lambda = 0.61 \)のポアソン分布に従うことが分かりました。実際に集計結果と合わせて図にしてみた結果が次の図2です(元のExcelファイルはこちら)。

たしかに、よく合っていますね。
軽く考察を加えてみた(ただの蛇足なので、読まなくても何ら問題はありません)
馬に蹴られて死んだ兵士の数は、1年当たり0.61人くらいだということでいいのだと思います。
「いいのだと思う」というように煮え切らない態度になっているのは、データがどういう性質のものかよく分からないからです。ネット上の情報には曖昧さが残っていて、僕もドイツ語を読めないから、このデータ自体についても、最尤法で求めた0.61という数値についても、どう解釈したらいいかは正直よく分かりません。
僕はこのデータがどういう風に取られて、どういう処理をしたら上記のような集計結果になったのかを知らないのに、この結果からどんなことが言えそうかを少し考えてみたいと思ってしまいました。なので、話半分で読んでください(だから補足的な扱いにしました)。
上のデータが仮に1年間ごとのデータを集計した結果だというのであれば、馬に蹴られて死んだ兵士の数は1年あたり0.61人だということになりそうです。1人でも死者が出ると損害が発生したということになりますから、損害の出る確率を求めてみます。
ポアソン分布によれば、1年で馬に蹴られて死ぬ人がいない確率は、大体0.543(=54.3%)となります。1年間で少なくとも誰も馬に蹴られて死んだ人が少なくとも1人はいる確率は、(先ほどの補集合であることに注意すれば、)0.457(=1-0.543)です。
次に、2年間で少なくとも馬に蹴られて死んだ兵士の数が少なくとも1人はいる確率を考えてみます。2年間あるので、死者の有無の組合わせは次の4パターンが考えられます。組み合わせを(1年間の死者、2年間の死者)というように表しています。
- (なし、なし)
- (なし、あり)
- (あり、なし)
- (あり、あり)
という4つのパターンです。今求めたいのは、この中の(なし、なし)以外の3つの確率です。先ほどと同様に、(なし、なし)の補集合の確率を求めればよさそうです。ということで、計算結果は0.705(=1-0.543^2)ということになります。少なくとも1人は馬蹴りの犠牲者になってしまう確率は、1年間ではコイントスの表が出る確率よりも小さかったのに、2年間になるとサイコロで4以下が出る確率よりも大きくなってしまいました(ちなみに、3年間では84%なので、大体サイコロで5以下が出る確率と同じくらいになります)。
このことから、馬に蹴られて死んだ兵士の数が0人である(つまり、誰も馬蹴りの犠牲者にならない)年が2年や3年と連続するのは、かなり珍しい事なのだろうと思います。
しかし、長い期間にわたって、毎年必ず1人以上は馬に蹴られて死んでいる確率もそう大きくはありません。具体的には、例えば2年間(つまり、上記の(あり、あり)が発生する確率)では、約0.209(=(1-0.543)^2)です。期間を3年間に増やすと、0.095(=(1-0.543)^3)と、かなり小さくなっています。
なので、連続した期間を大体3年や4年と取ってみれば、大体は1年くらいは、馬に蹴られて死んだ人はいないという年がありそうです。
ということから考えれば、大体3から5年くらいの期間で賠償金(?)を用意しておけば、1年くらいはまったく払わない年が出てくるということになりそうです。そう考えていけば、事前に損害を含めた予算の計画などができるということになりそうです。
ただ、このデータは20年にわたって収集されていたデータを集計したらしいです。それだけの期間があれば軍団の編成が何度か変わっていてもおかしくないような気もしますから、必ずしもそうとは言えない気はします。軍団ごとのばらつき(例えば、かなりハードな訓練をしている軍団を増やせば、それだけミスが増えて馬に蹴られて死ぬ兵士の数も多くなりそうです)を考慮すればまた違った結論になりそうです。
さらに言えば、具体的に何人が死んだときの損害がどれくらいということを一切考えていないという点も、この論理のいい加減なところです。
それになにより、データの素性がよく分かっていない(これがほんっとに気持ち悪い)ので、そもそも見当違いなことを言っている可能性も十二分にあります。
ここまで議論の馬鹿さ加減(探せば他にももっとあると思います)を白日の下にさらしてみましたが、皆さんも気が向いたら適当に考察してみちゃいかがでしょうか。ここに書いたような考察以外にも、半年ですでに馬蹴りの犠牲者が出ているときに、その年で他にも犠牲者が出る確率なんかを求めてみても面白いかと。
まとめ
以上が最尤法になります。
今回は途中の微分の簡単さのために、ポアソン分布を選びましたが、他の確率密度関数でも同じように、対数尤度関数を微分してから0とおいてパラメータを求めるという流れは変わりません。
結局のところ、最尤法は「対数尤度関数を微分して0とおこう」の一言に尽きます。そして、実際にやってることとしても、ただ普通に微分計算をしてから、一次方程式を解くという計算をしているだけです(微分に慣れ親しんでいないと少し難しいと感じるかもしれませんが)。
ですが、対数尤度関数や、尤度関数、そもそも何をしているのかといったことを説明し始めると、こんなに長くなってしまいました(シリーズ内の記事数がサイコロの目の数で済んでよかったです)。
これで、最尤法について雰囲気だけでも理解していただけたのではないかと思います。ここまで長らくお付き合いくださった方はありがとうございます。
そうでない方も、この記事を読んで頂いてありがとうございます。個人的には、尤度関数と確率密度関数の違いを、概念構造から解説した記事が過去の記事の中で一番面白い記事と自負しているので、もし興味がありましたらそちらもご覧いただけると幸いです。
P.S. 新しい概念を学ぶと、自分が今何をしているのか、自分がやっていることの本質は何なのかを捉えやすくなります。様々な視点を持てるとでも言いましょうか。僕は本を読んだり勉強したりするのが好きなんですが、その理由の一つは、新しい視点を与えてくれるところにあります。この記事を読んで頂くことで、皆さんにも新しい概念を学ぶことの楽しさを味わっていただけたなら幸いです。