
前回記事は、最尤法の基本的なアイデアを解説しました。ここが分からないと、最尤法を勉強しても、雲をつかむような話にしか思えないかもしれませんので、この最尤法シリーズで一番重要なのは前回記事だったかもしれません。
最尤法の基本的な考え方を確認しておきます。
そもそも求めたいものは、データを抽出した母集団の確率密度関数です。母集団の確率密度関数は不明であるとも言えます。そして、確率密度関数を求めたとき、その確率密度関数が母集団のものと一致していれば理想的なのですが、現実問題として、そのような確率密度関数を求めることはできません。
何かしらの確率密度関数を求めたとしましょう。その確率密度関数を正しい確率密度関数だと言えるためには正しさを評価するための基準が必要です。母集団の確率密度関数が不明である以上、単純に求めた確率密度関数と母集団のそれとを並べて比較するという方法が不可能なことは理解していただけるかと思います。
そこで最尤法では、今手元に存在しているデータが、そのデータが生成されるような確率を最大とするような確率密度関数から生成されたものだと考えます。つまり、母集団の確率密度関数を調べたとき(実際には、母集団の確率密度関数は分からないので調べることはできませんが、仮に調べられたとした場合)、今手元に存在しているデータを生成する確率が最大となっているような確率密度関数となっているだろうと考えます。
データが何かしらの確率密度関数に従う以上、手元にあるデータも何かしらの確率密度関数に従っているはずです。そして、手元にあるデータは、現実に発生しているデータである以上、つまりは、他のデータが発生しなかった以上、求めるべき確率密度関数は、手元にあるデータを生成する確率が最大であるような確率密度関数であると考えるのが妥当でしょう。
そこで、その考え方に則って考えを進めていけば、当初の目標であった「抽出したデータの母集団の確率分布が知りたい」を達成できそうです。
で、今回は具体的な最尤法の方法論を解説するつもりだったんですが、よくよく考えてみると、その前にポアソン分布について解説しといた方がいいよなと思いまして、それは次回に回して、今回はポアソン分布について解説します。
そのため、結構基本的な話ばかりになるので、少し長いですが、難しい話はありません。難易度で言えば、前回記事の方がよっぽど高かったと思います。具体的な計算とかも出てくるので、前回みたいな抽象的な話が苦手で分かりづらかったという人でも、今回の記事なら理解できるという人が大半なのではないでしょうか。
なので、あまり気負わずに読んでいただければと思います。
※この最尤法解説のシリーズを通しての約束事ですが、本来なら「確率質量関数」と書くべきところも「確率密度関数」と書くべきところも、特に断らない限り「確率密度関数」という表記で統一させていただいています。最尤法は、連続的な確率変数に定義された密度関数に対しても、離散的な確率変数に定義された質量関数に対しても、同様に適用できるため、このように表記しています。分かりにくいかもしれませんが、ご了承のほどよろしくお願いします。
ポアソン分布とはどのようなものか
今まで、確率密度関数を調べるとか、手元にあるデータを生成する確率が最大となるような確率密度関数とか言ってきましたが、よく分からんなぁという感じだったかもしれません。ですが、そのモヤモヤをこの記事で解消したいと思います。
今までの話から、「手元にあるデータを生成する確率が最大となるような」を数式的に表現できれば、後はその数式を解けば確率密度関数のパラメータを求められそうだと予想できます(まだこの時点では、確実にそうなるとは分かっていません。あくまでも、合理的な数式を立てることができれば、それを解いて目標の数値を得られるだろうと予想しているだけです。まぁ、解説をしている以上、結局は、それは可能だという話になるのですが)。
そのため、当面の目標は「手元にあるデータを生成する確率が最大となるような」を数式的に表現することとなります。もっと言えば、それを数式的に表現する手段を理解することとなるでしょうか。
今この記事(というか、前回記事から)では、手元にあるデータはポアソン分布に従うとしています。なので調べる確率密度関数はこの場合、ポアソン分布と言うことになります。
以降では主にポアソン分布について議論を進めていくため、ポアソン分布が分からないと、これから先はわけが分からなくなってしまう可能性があります。なので、まずポアソン分布とはどのような分布か、データがポアソン分布に従うとはどういうことかを解説します。
これがないと始まりませんので、ポアソン分布の定義を確認します。ポアソン分布は次のような数式で表されます。
$$ f(x) = \frac{ \lambda ^ x exp ( – \lambda ) } { x! } $$
この数式の\( \lambda \)は平均値で、\( x \)が事象の発生回数になります。
※一応注意しておきますが、ここでいう「\( \lambda \)は平均値」の”平均値”はあくまでもポアソン分布のパラメータとしての”平均値”という意味で、手元にあるデータの”平均値”を指しているわけではありません。事象の発生回数も同様です。これ以降は文脈から簡単に判断できそうな場合は特に注意しませんが、”平均値”や”分散”等、確率密度関数に対してもデータに対しても使われる単語については、「確率密度関数のパラメータとしての”平均値”」なのか「得られたデータの特徴としての”平均値”」なのかというように、区別をしながら読んでください。
そして、一般に確率密度関数の平均値と分散は違っています(例えば正規分布とか二項分布とか)が、ポアソン分布は平均値と分散が等しいという性質を持っています。その意味では、他の確率密度関数に比べて特殊と言えるでしょう。
ここで、例を通してポアソン分布を確認してみます。
パラメータを固定したときの計算方法
例えば、パラメータ\( \lambda \)が5だった場合を考えてみます。つまり、今までの最尤法解説の文脈とは違って、すでにパラメータが分かっているという状況を考えるわけですな。
パラメータが確定しているので、興味のある対象がどの程度の確率で起こるものなのかを計算することができます。仮に、ある興味のある事象(例えば自動車事故が起こる)の観測回数が3回だったとします。その”3回”というデータが一体どれくらいの確率で発生するのかを次のように求めることができます。観測回数が3回であるというデータは、どの程度レアなのかというように、データのレアさを計算していると考えると分かりやすいかもしれませんね。
$$
\begin{equation}
\begin{split}
f( x ) &= \frac{ \lambda ^ x exp ( – \lambda ) } { x! } \\
&= \frac{ 5 ^ 3 \times exp ( – 5 ) } { 5! } \\
&= 8.42 \times 10 ^ {-4}
&= 0.842 \%
\end{split}
\end{equation}
$$
次に、興味のある事象の観測回数が8回(つまり、この場合の手元にあるデータは8)だったとき、その”8回”はどの程度の確率で発生するものなのかを計算してみます。先ほどと同様に、\( \lambda = 5 \)、\( x = 8 \)として計算してみます。
$$
\begin{equation}
\begin{split}
f( x ) &= \frac{ \lambda ^ x exp ( – \lambda ) } { x! } \\
&= \frac{ 5 ^ 8 \times exp ( – 5 ) } { 8! } \\
&= 6.53 \times 10 ^ {-2}
&= 6.53 \%
\end{split}
\end{equation}
$$
となります。せっかくなので、観測回数が平均値ピッタリ(つまり、データは\( x = 5 \))だった場合も求めてみますと、同様に計算して\( f(5) = 17.5\% \)と求められます。
これでひとまず、ポアソン分布に従うデータ(事象の観測回数)とその確率計算の関係は理解していただけたかと思います。
このように、パラメータが分かれば、そのパラメータを持つポアソン分布に対して、あるデータ(興味がある事象の観測回数)の得られる確率を計算によって求めることができます。
同様に、パラメータを固定した状態で(上の例の場合なら\( \lambda = 5 \)に固定した状態で)、データ(事象の観測回数x)を0から順に1ずつ大きくしていったら、観測回数が1回であるような確率は○○%、観測回数が2回であるような確率は○○%、・・・というように、データに対する確率を求めることができます。
そのようにして求めたデータと確率の関係をグラフ上にプロットすれば、「ポアソン分布」と検索したらよく出てくるあのグラフになります(どんなのかは、ご自身で検索してください)。
データを固定した場合
次に、同じ観測回数であっても、ポアソン分布のパラメータが違っていた場合はどうなるかを見てみます。つまり、先ほどはパラメータが固定された状態でデータが変化したらどのように計算できるかを確認しましたが、次はデータ(パラメータではなく)が固定された状態でパラメータの方が変化するとどう計算できるかを確認するということですな。
仮に、データ(興味がある事象の観測回数)として”8回”が得られていたとします。その条件下で、パラメータが5であると仮定した場合の確率を計算してみます。先ほどと同じように、ポアソン分布の定義式に、\( \lambda = 5 \)、\( x = 8 \)を代入して、次のように計算できます。
$$
\begin{equation}
\begin{split}
f( x ) &= \frac{ \lambda ^ x exp ( – \lambda ) } { x! } \\
&= \frac{ 8 ^ 5 \times exp ( – 8 ) } { 5! } \\
&= 9.16 \times 10 ^ {-2}
&= 9.16 \%
\end{split}
\end{equation}
$$
計算自体はほとんど変わりませんね。一応、もう一つ例を。次はパラメータが\( \lambda = 13 \)であると仮定したときの確率を計算してみます。その計算は次のようになります。
$$
\begin{equation}
\begin{split}
f( x ) &= \frac{ \lambda ^ x exp ( – \lambda ) } { x! } \\
&= \frac{ 13 ^ 5 \times exp ( – 13 ) } { 5! } \\
&= 6.99 \times 10 ^ {-3}
&= 0.699 \%
\end{split}
\end{equation}
$$
\( x \)の部分が固定されていて、\( \lambda \)の方が変わっていることが分かると思います。
データがポアソン分布に従うとはどういうことか?
ここまでの話でポアソン分布については理解できたかと思います。では、次に「データがポアソン分布に従う」ということの意味を確認してみます。
とはいえ、これに関しては簡単で、興味のある事象の観測回数をヒストグラムに直したとき、そのヒストグラムがポアソン分布の定義式から計算できるグラフにそっくりであるということです。
データを少ししか取らなかった場合はその限りではありませんが、データを十分多く取れば、何かしらのパラメータを持ったポアソン分布によく似たヒストグラムになるということを意味しています。
ただそれだけのことです。ただそれだけのことではあるのですが、少し注意もあります。それを次の例で説明します。
例えば、ある一週間で自動車事故の回数を数えたとします。すると、例えば次のようなデータが観測できるはずです。
- 観測日 : 観測データ
- 1日目 : 4回
- 2日目 : 2回
- 3日目 : 4回
- 4日目 : 3回
- 5日目 : 6回
- 6日目 : 2回
- 7日目 : 2回
これは、1日目に観測された自動車事故は4回、2日目は2回、・・・、7日目は2回という結果が得られたことを表しています。この数値一つ一つがポアソン分布に従っているのですが、注意点は、このデータからグラフを描くときにあります。
このデータをそのままプロットすれば、1日目には4回、2日目には2回、・・・7日目には2回というように、横軸が観測日で縦軸に回数というようなグラフが出来上がってしまいます。ですが、それはポアソン分布のような形にはなりません。
あくまでもポアソン分布のヒストグラムを書くには、「その事象の観測回数」を横軸に取らなければなりません。なので、この例の場合であれば、次のような度数分布表をグラフ化する(ヒストグラムに直す)必要があります。
- 観測データ : 観測回数
- 0回 : 0回
- 1回 : 0回
- 2回 : 3回
- 3回 : 1回
- 4回 : 2回
- 5回 : 0回
- 6回 : 1回
- 7回以降 : すべて0回
というようになります。そして、これがポアソン分布に従うというのが、あるデータがポアソン分布に従うということの意味になりますので、ご注意ください。
まとめ
今回は、ポアソン分布について理解できていなければ、この先を読んでも意味が分からないと思うので、ポアソン分布について、結構詳しく解説しました。この記事の内容であれば、すでに理解されている人が大勢な気もしますが。
今回の記事内容としてはこんな感じ。
- ポアソン分布は\( f( x ) = \frac{ \lambda ^ x exp ( – \lambda ) } { x! } \)という数式で表される
- パラメータとポアソン分布に従うデータから、具体的な確率を計算するときの計算方法
- データがポアソン分布に従うとは、あくまでも「数値の観測回数」に対して、ポアソン分布的なヒストグラムとなるということを意味している
具体的な例を使った説明が多かったので、結構な分量でしたが、この記事で伝えたいことはこの3つだけです。
次回こそは、最尤法の方法論に入ります。
P.S. 例示すれば分かりやすくなるけど、記事が長くなっちゃうので、読者の皆さんが疲れてこないか心配。う~ん、バランスが難しい。