\usepackageamsmath\usepackageamsfonts\usepackageamssymb\usepackagefancybox\usepackagegraphics\usepackagemathrsfs\usepackage[all]xy\usepackagepgfplots\pgfplotssetcompat=newest\usetikzlibraryintersections,calc,arrows.meta

最尤推定法・尤度関数の直感的な考え方|データから分布を推定

統計学
統計学

何らかの全国規模の調査を行いたいとき,対象者全員に調査することができれば最もよいですが,それは時間やコストなどの面から現実的ではありません.

そのため,実際には対象者の一部に調査を行い,そこで得られたデータから対象者全員の分布を推測することになります.

その推測の方法は色々ありますが,ひとつに最尤(さいゆう)推定法というものがあり,名前の通り「最もそれっぽい((もっと)もらしい)分布を推定する方法」です.

「最尤推定法」という名前を聞くといかめしい印象を受けるかもしれませんが,考え方自体はシンプルでそれほど難しいものではありません.

この記事では

  • 最尤推定法の考え方
  • 正規分布の最尤推定法

を順に解説します.

最尤推定法の考え方

最尤推定法を使う際には,最初に

  1. どのような分布に従うのか
  2. 実際に得られたデータ

の2つを用意します.例えば,「全国の成人男性の身長」を最尤推定法で考える際には

  1. 全国の成人男性の身長は「正規分布」に従う
  2. 1000人の成人男性の身長のデータ

などが既に分かっているものとします.この2つから「全国の成人男性の身長」がどのように分布しているかを推定するわけですね.

ここからしばらく次の問題を考えましょう.

ある正規分布から6個のデータ4.4, 5.3, 5.2, 5.7, 4.7, 4.1が得られた.このときの正規分布を最尤推定法により推定せよ.

最尤推定法で考える分布は一般には正規分布とは限りませんが,正規分布でなくても考え方は同じなので,この記事では正規分布で考えます.

分布を推定するとは?

「正規分布を推定する」とはどういうことでしょうか?

正規分布は(確率密度関数が)下図のような山のような形をしたグラフで表される分布でした.

平均0の正規分布の確率密度関数のグラフ
正規分布の確率密度関数のグラフの形はいわゆる釣鐘型

ただし,「正規分布」と一言で言っても,グラフの

  • 裾の広がり方(分散)
  • 真ん中の位置(平均)

に特徴が表れます.例えば,なだらかな(分散が大きい)正規分布のグラフ

平均0で分散が少し大きい正規分布の確率密度関数のグラフ
分散が大きいと平均から遠い値も出やすくなる

になることもありますし,山の頂上のx0でない(平均が0でない)正規分布のグラフ

平均正の正規分布の確率密度関数のグラフ
0付近が最も出やすいとは限らない

になることもあります.

よって,分布を推定するとは「このような色々な分布の中で,どれが最もそれっぽい正規分布なのかを推定しよう」ということなわけです.

正規分布の平均と分散のように,分布の特徴を示すものをパラメーターと言うことも多いですね.

最尤推定法の考え方

ここで,問題の6個のデータ4.4, 5.3, 5.2, 5.7, 4.7, 4.1を数直線上に図示すると下図のようになります.

与えられた6データ4.4, 5.3, 5.2, 5.7, 4.7, 4.1をとった数直線上
数直線上に与えられたデータの点をとる

さらに,このデータが正規分布に従うことが分かっているとします.

このとき,「どんな正規分布だと思いますか?」と聞くと,多くの人は以下のようなグラフを描くのではないでしょうか?

データが多いところの値が大きい正規分布の確率密度関数のグラフ
データが集まっているところの値が大きい正規分布の確率密度関数

一方,多くのデータが集まっているところからずれたグラフ

データが多いところの値が大きくない正規分布の確率密度関数のグラフ
データが集まっているところからズレているとおかしい

はなさそうですし,あまりに集中しすぎたグラフ

尖った正規分布の確率密度関数のグラフ
分散が小さいともっと集まったデータが取れていないとおかしい

もなさそうです.つまり,「データがあるところの値が出来るだけ大きくなるような分布がそれっぽい」ということになります.

したがって,正規分布の確率密度関数をfとし,6個のデータ4.4, 5.3, 5.2, 5.7, 4.7, 4.1をfに代入して掛け合わせた

L=f(4.4)f(5.3)f(5.2)f(5.7)f(4.7)f(4.1)

が最大になるような確率密度関数fをもつ分布が,最もそれっぽい正規分布と考えることにしましょう.

いまは暗にデータが独立に正規分布に従うことを仮定しているので積になっていますが,独立とは限らない場合は同時確率密度関数となります.

要するに「下図の青線の長さの積が最大になるf(x)が最もそれっぽいf(x)である」という考え方ですね.

各データでの確率密度関数の値がそれなりに大きい正規分布の確率密度関数
各データでの確率密度関数の値が満遍なく大きい確率密度関数が良い推定になってそう

このような考え方に基づく分布の推定方法を最尤推定法といいます.





正規分布の最尤推定法

以上が最尤推定法の考え方で,次はいま考えたことを一般化することを考えましょう.

最尤推定法のキモは尤度関数L

ある分布に独立に従うn個のデータx1,x2,,xnに対して,この分布の確率密度関数をfとするとき,

L=k=1nf(xk)

尤度(ゆうど)関数(likelihood function)といい,尤度関数が最大となるfを求めることにより分布を推定する方法を最尤推定法(method of maximum likelihood estimation)という.

上の尤度関数Lの定義におけるk=1nk=1nの掛け算バージョンです.つまり,

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

です.なお,Πはギリシャ文字πの大文字で「パイ」と読みます.

先ほども書きましたが,最尤推定法を考えるときには,もともと

  • データx1,x2,,xn
  • 分布の確率密度関数f

が用意されていることが大切です.

具体的に正規分布で考えましょう.平均μ,分散σの正規分布の確率密度関数fμ,σ

fμ,σ(x)=12πσ2e(xμ)22σ2

と表されるのでしたから,この関数fμ,σn個のデータx1,x2,,xnを代入して掛け合わせた

L(μ,σ)=12πσ2e(x1μ)22σ2××12πσ2e(xnμ)22σ2=(12πσ2)ne(x1μ)22σ2e(x2μ)22σ2e(xnμ)22σ2=(2πσ2)n2e12σ2{(x1μ)2++(xnμ)2}

尤度関数と言うわけですね.

先ほど説明したように正規分布の「位置」と「形」はそれぞれ平均μと分散σによって決まります.

よって,正規分布の最尤推定法では尤度関数L(μ,σ)を最大にするμσを求めることにより,最も尤もらしい正規分布を推定するということになります.

微分しやすい対数尤度関数logL

さて,それでは実際にどうすれば尤度関数L(μ,σ)が最大となるようなμσを求めることができるのでしょうか?

関数の最大,最小を求める問題では微分を用いるのがよくある方法ですが,尤度関数L(μ,σ)は積の形で表されているので微分すると式がやや煩雑になります.

そこで,尤度関数Lに自然対数をとった対数尤度関数を用いるとスッキリすることがよくあります.

尤度関数Lに自然対数をとってできた関数

logL=k=1nlogf(xk)

対数尤度関数 (log-likelihood function)という.

積にlogをとると和に変わるのでした(logab=loga+logb)から,尤度関数

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

の両辺で自然対数logをとれば

logL=logf(x1)+logf(x2)++logf(xn)

となるわけですね.これをを用いて表したものが上の定義式ですね.

logは単調増加関数なので,尤度関数Lが最大になるとき対数尤度関数logLも最大になります.

よって,平均μ,分散σの正規分布の尤度関数L(μ,σ)を最大にするようなμσを求めたければ,対数尤度関数logL(μ,σ)を最大にするようなμσを求めればよいことになります.

積のまま微分すると式は煩雑になりますが,和の微分は各項で微分ができるので式はそれほど煩雑になりません.対数をとって和の形にしたのはこの理由からです.

平均μ,分散σの正規分布の対数尤度関数

M(μ,σ)=logL(μ,σ)=log[(2πσ2)n2e12σ2{(x1μ)2++(xnμ)2}]=n2log2πnlogσ(x1μ)2++(xnμ)22σ2

となりますね.

対数尤度関数logLを微分して極値を求める

上述したように,微分を用いることで対数尤度関数をM(μ,σ):=logL(μ,σ)とおき,Mの最大値を求めましょう.

一般に微分可能な2変数関数fに対して,fx(a,b)=fy(a,b)=0を満たす(a,b)f(x,y)を最大(最小)にする(x,y)の候補です.

実際,正規分布の対数尤度関数の場合には

Mμ(μ,σ)=Mσ(μ,σ)=0

を満たすような(μ,σ)M(μ,σ)は最大となります.

Mμ(μ,σ)=02(μx1)++2(μxn)2σ2=0(μx1)++(μxn)=0μ=x1++xnn,Mσ(μ,σ)=0nσ+(x1μ)2++(xnμ)2σ3=0(x1μ)2++(xnμ)2=nσ2σ2=(x1μ)2++(xnμ)2n

となるので,

  • μ=x1++xnn
  • σ2=(x1μ)2++(xnμ)2n

のときM(μ,σ)が最大,すなわち,L(μ,σ)が最大となります.

対数尤度関数を用いなくても,頑張って尤度関数を微分しても全く同じ結論が得られます.

求まった母平均μと母分散σ2の最尤推定量の解釈

さて,ただ「正規分布に従うn個のデータを用意し,その尤度関数が最大になるような組(μ,σ)を求めよう」と求めたわけですが,今求まったμσ2に見覚えはありませんか?

  • μ=x1++xnnはデータx1,,xn平均
  • σ2=(x1μ)2++(xnμ)2nはデータx1,,xn分散

になっていますね!

確かに最尤推定法からそれっぽい結果が導かれました!

この記事では正規分布の最尤推定法を考えましたが,正規分布でない場合にも「分布の関数にデータの値を代入してそれらの積が最大になる分布が,最もそれっぽい分布だ」という最尤推定法のイメージがあれば,同じ考え方で最尤推定法を使うことができます.

管理人

プロフィール

山本やまもと 拓人たくと

元予備校講師.講師として駆け出しの頃から予備校の生徒アンケートで抜群の成績を残し,通常の8倍の報酬アップを提示されるなど頭角を表す.

飛び級・首席合格で大学院に入学しそのまま首席修了するなど数学の深い知識をもち,本質をふまえた分かりやすい授業に定評がある.

現在はオンライン家庭教師,社会人向け数学教室での講師としての教育活動とともに,京都大学で数学の研究も行っている.専門は非線形偏微分方程式論.大学数学系YouTuberとしても活動中.

趣味は数学,ピアノ,甘いもの食べ歩き.公式LINEを友達登録で【限定プレゼント】配布中.

Twitter・大学数学YouTube・公式LINEを見てみる

コメント