推測統計●●●●○

最尤推定

Maximum Likelihood Estimation ・ さいゆうすいてい

観測データが最も起こりやすくなるパラメータを選ぶ、推定の標準手法

✦ 30秒で試す — 航海この山が「いちばんありそう」な答えになるデータを作れるか選ばれる山は、中心6.5・幅1の山と比べて?予想してみる

概要

最尤推定(さいゆうすいてい、Maximum Likelihood Estimation, MLE)は、「手元の観測データが最も起こりやすくなるようなパラメータの値を答えとする」推定法です。確率分布のモデル(正規分布、二項分布など)を仮定したうえで、そのパラメータ(平均 μ や成功確率 p など)を標本から決めたいとき、統計学が用意している最も標準的な手続きです。

発想を日常語にすると「一番もっともらしい説明を選ぶ」ということです。コインを10回投げて7回表が出たとき、表の確率が 0.1 のコインでこの結果が出るのはまず考えられませんが、0.7 のコインなら自然です。ならば 0.7 を答えにしよう——この「観測結果への説明としてのもっともらしさ」を尤度(ゆうど、likelihood)と呼び、それを最大にするパラメータを選ぶのが最尤推定です。

最尤推定の強みは、分布のモデルさえ書ければどんな問題にも同じ手順で適用できる汎用性です。誤差が正規分布に従うと仮定した回帰分析では最小二乗法の答えと一致し、ロジスティック回帰の係数も、機械学習で交差エントロピー損失を最小化する学習も、裏側は最尤推定として統一的に理解できます。

なぜ生まれたか

最尤推定以前の推定は、問題ごとに場当たり的でした。平均なら標本平均、確率なら割合と、直感的に決めることはできても、「複雑なモデルのパラメータをどう推定するか」に答える一般的な方法論がなかったのです。19世紀末にカール・ピアソンが広めたモーメント法(標本の平均や分散をモデルの理論値と一致させる方法)は手軽な半面、どのモーメントを合わせるかで答えが変わったり、データの情報を使い切れずに推定の揺れが大きくなったりする弱点がありました。

「もっともらしい値を選ぶ」という発想自体は、ベルヌーイやガウスにも断片的に見られます。これを一般的な原理として打ち立てたのがR.A.フィッシャーで、学生時代の1912年の論文に始まり、1922年の「理論統計学の数学的基礎について」で尤度(likelihood)という言葉とともに体系化しました。発想の転換は「確率の式を逆向きに読む」ことです。確率分布の式は本来「パラメータを固定したとき、このデータが出る確率」を与えますが、データが観測済みのいま、未知なのはパラメータのほうです。そこで同じ式を「データを固定した、パラメータの関数」と読み替えたものが尤度関数で、これを最大化すれば、どんなモデルでも機械的にパラメータが求まります。さらにフィッシャーは、この方法で得た推定量が一致性を持ち、大標本では揺れが理論上の下限に達する(漸近有効性)ことを示し、最尤推定を「原則としてこれを使えばよい」標準手法の地位に押し上げました。

詳細

尤度関数 — 確率の式を逆向きに読む

コイン投げの例を続けます。表の確率 p のコインを10回投げて表7回・裏3回になる確率は、二項分布の式で「p の7乗 ×(1−p)の3乗 × 組み合わせの数(120)」と書けます。この式を、観測結果(表7回)を固定して p の関数として眺めたものが尤度関数 L(p) です。p を 0 から 1 まで動かすと、L(p) は p = 0.7 で最大になります。これが最尤推定値です。

尤度 L(p)00.51.0パラメータ p(表の確率)最尤推定値 p = 0.70.7p = 0.5 でも頂点の約44%p = 0.1 では「10回中7回表」はほぼ起こらない(尤度 ≈ 0)
尤度関数 — 10回中7回表が出たとき、p ごとの「もっともらしさ」を描くと p = 0.7 で最大になる(縦軸は最大を1とした相対値)

注意したいのは、尤度は「p がその値である確率」ではないことです。尤度関数を p について積分しても1にはならず、比べられるのは同じデータのもとでの p どうしの相対的な高さだけです(図の縦軸を最大値1の相対値にしてあるのもそのためです)。パラメータは未知の定数であって確率変数ではない、というのが最尤推定の立場です。パラメータ自体に確率分布を考えて条件付き確率の枠組みで更新していくのはベイズの定理にもとづくベイズ推定です。両者の関係を正確に言うと、事前分布を平ら(一様)にしたベイズ推定の事後分布は尤度関数と同じ形になり、その山の頂点(MAP推定値)が最尤推定値と一致します。ただしベイズ推定の答えは頂点という1点ではなく分布そのものなので、「最尤推定=平坦な事前分布のベイズ推定」と言い切るのは不正確です。

実際の手順 — 対数尤度と最大化

実際の計算では、尤度そのものではなく対数を取った対数尤度を最大化します。独立な観測の尤度は各データの確率(連続なら密度)の掛け算になるため、データが増えると値が極端に小さくなり数値的に扱いにくいのですが、対数を取れば掛け算が足し算に変わり、微分もしやすくなります。対数は単調増加なので、最大になる場所は変わりません。手順は次のとおりです。

はい

いいえ

確率分布のモデルを仮定する

観測データを固定し尤度関数を作る

対数を取って対数尤度にする

パラメータで微分してゼロと置く

解析的に解ける?

閉じた式で推定値が得られる

数値最適化で山の頂点を探す

簡単なモデルでは微分がそのまま解けて、直感どおりの答えが出ます。正規分布の平均 μ の最尤推定は標本平均、コインの p は観測された割合、ポアソン分布の平均も標本平均です。下の部品で、正規分布の山の頂上と肩をつかんで動かしてみてください。各データ点から曲線までの縦棒が、その点の尤度(密度の高さ)です。山を細くしすぎると、裾に取り残された点の縦棒がほぼ0になり、掛け算の尤度全体が一気にしぼみます。頂上にたどり着くと、そこはちょうど標本平均の真上です。

⚡ 体験: データが最も起こりやすい山を探す
仮定した分布 N(μ, σ²) とデータσ対数尤度 = 各点の log(縦棒の長さ)の合計到達できる最大μ(上の図と同じ目盛り)▼ ずっと下
μ2.60σ0.90対数尤度-52.11最大との差37.83標本平均5.28

金色の山は「データはこの分布から出てきた」という仮説です。頂上の丸で位置 μ、肩の丸で幅 σ を動かしてください。縦棒(各点の尤度)が全体として長くなるほど、下の対数尤度が上がります。

上: 仮定した正規分布と、各データ点での密度(縦棒 = その点の尤度)。下: σ をいまの値に固定して μ を動かしたときの対数尤度

部品で頂上に着いたときの σ は、偏差の2乗和を n で割った標準偏差でした。不偏分散の n−1 ではなく n で割るのが最尤推定の答えで、小標本ではやや小さめに出ます。一方、ロジスティック回帰や混合分布のような複雑なモデルでは解析的に解けないため、ニュートン法や勾配法などの数値最適化で山を登ります。ディープラーニングの学習で「交差エントロピー損失を最小化する」のは、数学的には対数尤度の最大化と同じことです。

最小二乗法との関係もここで整理しておきます。誤差が平均0・分散一定の正規分布に従うと仮定すると、対数尤度は「−(残差の2乗和)÷ 定数 + 定数」の形になり、尤度の最大化は残差平方和の最小化とまったく同じ問題になります。つまり最小二乗法が最尤推定と一致するのは誤差が正規分布のときに限った話で、誤差の分布が裾の重いラプラス分布なら最尤推定は「残差の絶対値の和の最小化」になる、というように、仮定する分布が損失関数の形を決めます。

良い性質と、その条件

最尤推定が標準手法とされる根拠は、大標本での性質にあります。標本サイズが大きくなると、最尤推定量は真の値に収束し(一致性)、その揺れは理論上の下限(クラメール・ラオの下限)に達します。つまり漸近的に最も有効な推定量です。さらに推定量の分布は正規分布に近づき、その幅は対数尤度の山の「とがり具合」(フィッシャー情報量)で決まります。部品の下段の曲線が鋭くとがっているほど、推定値の標準誤差は小さいということです。ここから信頼区間の計算、尤度比検定による仮説検定まで、一貫した推論の道具立てが手に入ります。また、パラメータを変換しても答えが整合する(σ の最尤推定値の2乗は σ² の最尤推定値になる)という不変性も、実務で便利な性質です。

ただし、これらの保証には条件があります。第一に「仮定した分布モデルが正しい」こと。モデルが現実とずれていれば、最尤推定は「間違ったモデルの中で最もデータに近いもの」を返すだけで、標準誤差も楽観的になりがちです。モデルの誤りに頑健な標準誤差(サンドイッチ推定量)を使うのはこのためです。第二に「標本が十分大きい」こと。小標本では偏りが無視できず、上で見た分散の n 割りは不偏推定量の n−1 割りより小さめに出ます。第三に、尤度の山が1つとは限らないこと。混合分布では局所的な峰に捕まる恐れがあり、初期値を変えて最適化をやり直すといった工夫が必要です。混合分布では、ある成分の山が1点に張りついて幅が0に縮むと尤度が無限大に発散する、という病的な解さえあります。

実務でつまずきやすい点

もう1つの落とし穴は、尤度は「パラメータを増やすほど必ず上がる」ことです。複雑なモデルほどデータにぴったり合わせられるので、最大対数尤度の大きさだけでモデルを選ぶと過学習します。モデル比較で使う AIC(赤池情報量規準)は、最大対数尤度からパラメータ数に応じた罰則を引いた指標で、この問題への答えです。また、ロジスティック回帰で説明変数が結果を完全に分けてしまう(完全分離)と、尤度は係数を無限に大きくするほど上がり続け、最尤推定値が存在しなくなります。ソフトが異様に大きな係数と標準誤差を返したら、この状況を疑います。こうした場面では、係数の大きさに罰則をかける正則化(ベイズ的には事前分布を入れること)が実用的な解決策になります。強力な手法であるほど、前提の点検を省かないことが大切です。

試問

数直線上に8個のデータ点と、正規分布の山(位置 μ・幅 σ)が1つあります。最尤推定は、手元のデータが「最も起こりやすくなる」山を選ぶ方法で、各点の真上の山の高さ(尤度)の対数を足した「対数尤度」が最大になる μ と σ が答えです。ここでは山のほうが μ = 6.5・σ = 1.0 に固定で、動かせるのはデータの点だけです。

✦ 命題挑戦中

山(μ = 6.5、σ = 1.0)は動かせない。データの点のほうを動かして、この山を最尤推定の答えにせよ

  • μ の向きで最尤: 山を左右にずらしても対数尤度が上がらない(いま最尤の μ は 5.28)
  • σ の向きで最尤: 山の幅を変えても対数尤度が上がらない(いま最尤の σ は 1.89)
⚡ 体験: データの点を動かして、固定された山に合わせる
仮定した分布 N(μ, σ²) とデータσ対数尤度 = 各点の log(縦棒の長さ)の合計到達できる最大μ(上の図と同じ目盛り)
μ6.50σ1.00対数尤度-21.67最大との差7.39標本平均5.28

金色の山は μ = 6.5・σ = 1.0 に固定されています。動かせるのは下の8個のデータ点だけです。点を左右にドラッグして、この山が「データを最もよく説明する山」になるようにしてください。

上: 仮定した正規分布と、各データ点での密度(縦棒 = その点の尤度)。下: σ をいまの値に固定して μ を動かしたときの対数尤度