未分類

最尤推定法の手順は?計算方法と求め方も!(アルゴリズム・微分・対数尤度・正規分布・ポアソン分布など)

当サイトでは記事内に広告を含みます

データ分析や統計モデリングを学んでいると、必ずと言っていいほど出会うのが最尤推定法です。

名前は聞いたことがあっても、実際にどんな手順で計算するのか、微分や対数尤度がどう関わってくるのか、よくわからないという方も多いのではないでしょうか。

実は最尤推定法は、手順さえ押さえてしまえば誰でも扱える考え方です。

この記事では最尤推定法の基本的な考え方から、具体的な計算手順、正規分布やポアソン分布への応用まで、順を追って解説していきます。

アルゴリズムの流れや微分計算のコツも合わせて紹介しますので、統計学やデータサイエンスの学習に役立てていただければと思います。

それでは早速、最尤推定法の全体像から見ていきましょう。

最尤推定法とは何か?結論から解説

それではまず最尤推定法とは何かについて解説していきます。

結論から言うと、最尤推定法とは観測されたデータが得られる確率を最大にするようなパラメータを探し出す手法です。

統計モデルには平均や分散といった未知のパラメータが含まれていることが多く、これらの値をどう決めるかが問題になります。

最尤推定法は、手元にあるデータから最も自然なパラメータを逆算する方法だと考えるとイメージしやすいでしょう。

最尤推定法の核心は尤度関数を最大化することにあります。

尤度関数とは、あるパラメータのもとで観測データが得られる確率を表す関数です。

この尤度関数を最大にするパラメータこそが、最も尤もらしい推定値ということになります。

最尤推定法が使われる理由

なぜ多くの統計手法の中で最尤推定法が広く使われているのでしょうか。

理由の一つは、一貫性や漸近有効性といった望ましい統計的性質を持つ点にあります。

サンプルサイズが大きくなるほど真のパラメータに近づいていく性質があり、信頼性が高い推定方法として評価されています。

また回帰分析やロジスティック回帰、機械学習のモデル訓練など、幅広い分野で応用されているのも大きな理由です。

尤度と確率の違い

尤度と確率はよく混同されがちですが、実は視点が異なる概念です。

確率はパラメータを固定してデータの出方を考えるのに対し、尤度はデータを固定してパラメータの妥当性を考えます。

同じ式を使っていても、何を変数として見るかで意味が変わるという点は非常に重要なポイントです。

この違いを理解しておくと、後述する対数尤度の計算もスムーズに理解できるでしょう。

最尤推定法と最小二乗法の関係

最尤推定法とよく比較される手法に最小二乗法があります。

実は誤差が正規分布に従うという仮定のもとでは、最尤推定法と最小二乗法は同じ結果を導きます。

ただし最尤推定法は正規分布以外の分布にも対応できるため、より汎用性の高い枠組みと言えるでしょう。

ポアソン分布や二項分布など、様々な確率分布に適用できる柔軟性こそが最尤推定法の強みです。

最尤推定法の手順をステップごとに確認

続いては最尤推定法の具体的な手順を確認していきます。

最尤推定法の計算は、大きく分けて四つのステップで進めていきます。

ステップ 内容
ステップ1 確率分布のモデルを設定する
ステップ2 尤度関数を作成する
ステップ3 対数尤度関数に変換する
ステップ4 微分してパラメータを求める

この流れさえ覚えておけば、どんな分布に対しても応用が利くようになります。

ステップ1 確率分布モデルの設定

まず最初に行うのは、データがどのような確率分布に従うかを仮定することです。

コインの表裏のような二値データならベルヌイ分布、事故件数のようなカウントデータならポアソン分布、身長や体重のような連続データなら正規分布を選ぶことが一般的でしょう。

この段階でモデル選択を誤ると、以降の計算がすべて意味をなさなくなってしまいます。

データの性質をよく観察してから分布を選ぶことが大切です。

ステップ2 尤度関数の作成

分布が決まったら、次は尤度関数を組み立てます。

観測データが独立に得られたと仮定する場合、尤度関数は各データ点の確率密度関数(または確率質量関数)の積として表されます。

尤度関数の一般形は次のようになります。

L(θ) = f(x1 θ) × f(x2 θ) × … × f(xn θ)

ここでθが求めたい未知のパラメータです。

積の形になっているため、このままでは計算が非常に複雑になりがちです。

ステップ3 対数尤度への変換

そこで登場するのが対数尤度という考え方です。

対数を取ることで積が和に変換され、計算が格段に簡単になります。

対数関数は単調増加関数なので、対数尤度を最大化することと元の尤度関数を最大化することは同じ意味を持ちます。

この性質があるからこそ、実務では対数尤度が標準的に使われているのです。

対数尤度の計算方法と微分による求め方

続いては対数尤度の計算方法と、微分を使ったパラメータの求め方を確認していきます。

対数尤度関数は log L(θ) と表記され、先ほどの積の形を和の形に書き換えたものになります。

log L(θ) = log f(x1 θ) + log f(x2 θ) + … + log f(xn θ)

この対数尤度関数をθで微分し、その結果を0と置くことで最大値を与えるθを求めます。

これは高校数学で学ぶ極値問題と同じ考え方であり、微分係数が0になる点で関数が最大または最小になるという性質を利用しています。

尤度方程式とは何か

対数尤度をパラメータで微分し0と置いた式のことを、尤度方程式と呼びます。

この方程式を解くことで、最尤推定量と呼ばれる値が得られます。

多くの教科書ではこの尤度方程式をスコア関数とも呼び、統計学における重要な概念の一つとして扱われています。

二階微分による最大値の確認

一階微分が0になる点は、必ずしも最大値であるとは限りません。

極小値である可能性もあるため、二階微分を計算して符号が負であることを確認する必要があります。

二階微分が負であれば、その点は確かに尤度を最大にする点だと言えるでしょう。

この確認作業を怠ると、誤った推定値を採用してしまうリスクがあります。

数値計算が必要になるケース

すべての分布で尤度方程式が解析的に解けるわけではありません。

複雑なモデルになると、方程式が閉じた形で解けず、ニュートン法や最急降下法といった数値的な最適化アルゴリズムを使う場合もあります。

機械学習の分野でよく使われる勾配降下法も、実は最尤推定の枠組みの延長線上にある手法です。

解析的に解けるかどうかは、あらかじめ分布の形を確認しておくとよいでしょう。

正規分布における最尤推定法の計算例

続いては正規分布を例にした最尤推定法の具体的な計算例を確認していきます。

正規分布は平均μと分散σの二つのパラメータを持つ、最もよく使われる確率分布の一つです。

正規分布の確率密度関数は次の式で表されます。

f(x) = 1 ÷ 根号(2πσ) × exp(-(x-μ)の2乗 ÷ 2σ)

この式をもとに尤度関数を作り、対数を取って微分するという先ほどの手順を進めていきます。

平均μの最尤推定量を求める

対数尤度をμで偏微分し0と置くと、興味深いことに標本平均そのものが最尤推定量として導かれます。

つまり普段何気なく使っている平均値には、実は最尤推定法という理論的な裏付けがある

この結果は直感とも一致しており、最尤推定法の妥当性を実感できる例だと言えるでしょう。

分散σの最尤推定量を求める

同様に対数尤度をσで偏微分すると、標本分散に近い値が最尤推定量として得られます。

ただしこの推定量は不偏分散とは分母がわずかに異なり、サンプルサイズで割る形になる点に注意が必要です。

この差異は最尤推定量が必ずしも不偏性を持つとは限らないことを示す代表的な例でしょう。

正規分布の推定結果まとめ

パラメータ 最尤推定量
平均μ 標本平均
分散σ 標本の偏差平方和をnで割ったもの

実際のデータ分析ソフトでは、この計算が自動的に行われていることがほとんどです。

ただし裏側の仕組みを理解しておくと、結果の解釈に深みが出るのではないでしょうか。

ポアソン分布における最尤推定法の求め方

続いてはポアソン分布を例にした最尤推定法の求め方を確認していきます。

ポアソン分布は、一定時間内に起こる事象の回数をモデル化する際によく用いられる離散分布です。

交通事故の発生件数やコールセンターへの着信数など、カウントデータの分析に頻繁に登場します。

ポアソン分布の確率質量関数は次の式で表されます。

P(X=k) = λのk乗 × exp(-λ) ÷ k!

ここでλが平均発生回数を表すパラメータです。

ポアソン分布の尤度関数を組み立てる

n個の観測値x1からxnが独立に得られたと仮定すると、尤度関数はそれぞれの確率質量関数の積になります。

階乗の部分はパラメータλに依存しないため、微分の際には定数として扱うことができます。

この点を押さえておくと、計算の見通しが良くなるでしょう。

対数尤度をλで微分する

対数尤度関数をλで微分し0と置くと、方程式を解くことでλの最尤推定量が得られます。

興味深いことに、この推定値は観測データの標本平均と一致します。

ポアソン分布においても、平均という直感的な統計量が最尤推定量として自然に導かれるのです。

実務での活用イメージ

ポアソン分布の最尤推定は、保険業界や品質管理の現場などで広く使われています。

例えば一日あたりの問い合わせ件数の平均を推定する際、単純な平均計算がそのまま最尤推定量になっているという点は覚えておくと便利でしょう。

複雑に見える理論も、最終的にはシンプルな計算に帰着することが多いのが最尤推定法の面白いところです。

最尤推定法のアルゴリズムと実装時の注意点

続いては最尤推定法をアルゴリズムとして実装する際の流れと注意点を確認していきます。

解析的に解が求まらない複雑なモデルでは、計算機を使った反復計算アルゴリズムが必要になります。

アルゴリズム 特徴
ニュートン法 収束が速いが二階微分の計算が必要
最急降下法 実装が簡単だが収束が遅い場合がある
EMアルゴリズム 欠測データや潜在変数を含むモデルに強い

初期値の選び方に注意

数値的なアルゴリズムでは、初期値の選び方が結果に大きく影響します。

尤度関数が複数の極大値を持つ場合、初期値によっては局所最適解に収束してしまう可能性があるでしょう。

複数の初期値から計算を始め、最も尤度が高い結果を採用するという工夫が実務ではよく行われています。

局所最適解と大域最適解の違い

アルゴリズムが収束したからといって、それが本当に最良の解とは限りません。

局所最適解と大域最適解の違いを理解しておくことは、正確な推定を行う上で欠かせない視点です。

複雑なモデルほどこの問題が起こりやすいため、結果を鵜呑みにせず検証する姿勢が大切でしょう。

ソフトウェアでの実装例

実際の分析現場では、統計ソフトやプログラミング言語のライブラリを使って最尤推定を行うことがほとんどです。

PythonのscipyやRのoptim関数など、汎用的な最適化関数が数多く提供されています。

理論を理解した上でこうしたツールを使うことで、計算ミスを防ぎながら効率的に分析を進められるでしょう。

まとめ

ここまで最尤推定法の手順や計算方法、正規分布やポアソン分布への応用について解説してきました。

最尤推定法は、確率分布のモデル設定から尤度関数の作成、対数尤度への変換、そして微分によるパラメータの算出という一連の流れで成り立っています。

正規分布では標本平均や標本分散が、ポアソン分布では標本平均が最尤推定量として導かれることを確認しました。

複雑なモデルでは数値計算アルゴリズムが必要になる場面もありますが、基本となる考え方はどの分布でも共通しています。

手順を一つずつ丁寧に押さえることで、最尤推定法は決して難しいものではなく、むしろ統計学の理解を深める強力な武器になるはずです。

ぜひ今回の内容を参考に、実際のデータで最尤推定法を試してみてはいかがでしょうか。