想像してみてください、あなたの手元に特別なコインがあります。このコイン、表と裏が出る確率がちょうど半分ずつではないかもしれません。表が出る確率が何パーセントなのか、調べたいと思います。
そこで、このコインを何回か投げてみることにしました。例えば、10回投げて、表が7回、裏が3回出ました。
最尤推定とは、この結果から「表が出る確率」が何パーセントなのかを推測する方法です。具体的には、表が7回、裏が3回出るような確率が最も高くなるような「表が出る確率」を探します。
この場合、表が出る確率を70%(7割)、裏が出る確率を30%(3割)と推測すると、観測した結果(表7回、裏3回)が最も起こりやすい結果となります。
つまり、最尤推定は「どの確率が一番ありそうか?」を考える方法と言えます。この方法を使えば、不明な確率や他の未知の数値を、観測したデータから推測することができます。
もう少し詳しく
最尤推定は、ある現象の背後にある「ルール」を見つける方法です。具体的な例を使って説明します。
例: コイン投げ
想像してみてください、あなたの手元に特殊なコインがあります。このコイン、表が出る確率がちょっと変かもしれません。でも、その確率が何%なのかはわかりません。
そこで、このコインを何回か投げて、表が何回出るかを数えます。この結果から、コインの「表が出る確率」を推測しようというのが最尤推定の考え方です。
手順
コインを投げる:
例えば、コインを100回投げて、表が60回出たとします。
確率モデルを作る:
コイン投げの結果を数学的に表現するために、確率モデルを作ります。このモデルは「表が出る確率がp」というルールを表します。
最もありそうなpを見つける:
100回中60回表が出たので、最もありそうな「表が出る確率」pは60%(p=0.6)だと推測します。
さらに詳しく
確率モデルの設定:
まず、データがどのように生成されるかのモデルを設定します。例えば、コイン投げの場合、表が出る確率をpとしたベルヌーイ分布を考えることができます。
尤度関数の定義: 尤度関数は、観測データが得られる確率を表します。コイン投げで表が出る回数をx、投げる回数をnとすると、尤度関数は以下のように表されます。
尤度関数の最大化: 上記の尤度関数を最大にするpを見つけることが目標です。このために、尤度関数の対数を取り、それを最大化することが一般的です。
ーーーーーーーーーー尤度関数の対数を取る理由ーーーーーーーーーー
-
計算の簡単さ
尤度関数は、観測データの確率を掛け合わせたもので、この掛け算がたくさんあると計算が複雑になります。しかし、対数を取ると掛け算が足し算に変わります。足し算は掛け算よりも計算が簡単なので、対数を取ると計算が楽になります。 -
数値の安定性
掛け算をたくさんすると、数値が非常に小さくなることがあります。コンピュータで非常に小さい数値を扱うと、誤差が大きくなることがあるため、数値の安定性が損なわれることがあります。対数を取ると、この問題を回避できます。 -
最大値の一致
対数関数は単調増加関数なので、対数を取る前の関数が最大値を取る点と、対数を取った後の関数が最大値を取る点は同じです。つまり、対数を取っても最大化したい対象が変わらないので、問題の本質は変わりません。
対数を取ることで、計算が簡単になり、数値の安定性が向上し、最大化の問題の本質が変わらないため、尤度関数の対数を取って最大化することが一般的です。この手法は、機械学習や統計学など、多岐にわたる分野で利用されています。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
最適なパラメータの求解: 上記の対数尤度関数をpに関して微分し、0となるpを求めます。この例では、
を解くと、
が得られます。この値が最尤推定による推定値です。
このように、最尤推定は観測データから確率モデルのパラメータを推定する強力な手法です。コイン投げの例では、表が出る確率を推定しましたが、他の多くの統計的な問題にも適用することができます。
補足説明
最適なパラメータを求めるために対数尤度関数を微分し、0となる点を探すプロセスをわかりやすく説明します。
対数尤度関数の定義: まず、データに対してある確率モデルを仮定し、そのモデルのパラメータ(例えばp)に対する対数尤度関数を定義します。この関数は、観測データがどれだけそのモデルに当てはまるかを数値で表します。
微分の計算: 次に、この対数尤度関数をpに関して微分します。微分することで、関数の傾きを求めることができます。傾きが0になる点が、関数が最大値を取る点である可能性があるため、この微分を0と置いて解きます。
方程式の解: 微分した結果得られる方程式を解くことで、最適なパラメータpを求めます。この方程式は、具体的なモデルやデータによって異なる形を取るため、解の求め方も異なります。方程式を解くためには、代数的な解法や数値的な解法などが用いられることがあります。
解の確認: 得られた解が本当に最大値を与えるものであるかを確認するために、必要に応じて2階微分を計算して凸性を確認するなどの追加の検証が行われることがあります。
例: ベルヌーイ分布
例として、ベルヌーイ分布のパラメータ推定を考えます。観測データがn回の試行でk回の成功だった場合、成功確率pの対数尤度関数は
となります。この関数をpに関して微分し、0と置くと
という方程式が得られます。この方程式を解くと、最尤推定値
が得られます。
このように、対数尤度関数を微分して0と置くことで、最適なパラメータを求めることができます。
対数尤度関数の微分の計算を詳しく説明
最尤推定では、尤度関数を最大化するパラメータを求めます。この例では、尤度関数が
となっています。この尤度関数を最大化するために、pに関して微分し、0と置く必要があります。
各項の微分
尤度関数の微分を計算するために、各項を個別に微分します。
方程式の設定
これらの微分を合計し、0と置くと、以下の方程式が得られます。
方程式の解
この方程式を整理すると、pについて解くことができます。具体的には、両辺にp(1−p)を掛けて整理すると、
これをさらに整理すると、
となります。この値が、最尤推定によるpの推定値です。
この計算過程では、微分、方程式の整理、解の求解など、基本的な数学の技術が組み合わさっています。最尤推定は、このようにしてデータから確率モデルのパラメータを推定する強力な手法です。