【統計良問】一様分布の最尤推定

統計良問シリーズでは、今後統計検定1級レベルの良問を厳選して紹介していこうと思っています。

自分はここ約1年独学で統計学を学んでいますが、どうしても数学的な土台が足りない状態では統計的な考え方の理解の前に時間がかかってしまいます。

特に数理統計学は、機械学習の理論を学ぶ上での土台として活きる部分も多く、データサイエンティストや機械学習エンジニアとしてのキャリアを歩む上での重要なスキルです。

基礎力を付けるための一番の近道は、実際に良い問題を解いてそのエッセンスを吸収することだと思いますので、是非スキルアップのために活用してみてください。

密度の濃い問題をチョイスする予定なので、1記事1問スタイルで定期的に投稿します。将来的にはカテゴリ毎の良問をまとめて、統計検定やスキル確認に役立てるようにしたいと考えています。

一様分布の最尤推定量

一様分布の最尤推定
区間\([0, \theta]\)の一様分布からの観測値 \(x_1, …, x_n\) による\(\theta\)の最尤推定量を求めよ

解説は以下のアコーディオンボックスをクリックすると表示されます。

この問題は青本(自然科学の統計学)の4.5や、2017年統計検定1級数理の問2 [1]などで出題されています。

重要な点は複数ありますが、まずは最尤法による確率分布のパラメータの推定をおさえておく必要があります。

https://datascientist-toolbox.com/wp-content/uploads/2019/09/man.png
りーぐる

答案は一番下に記載しているので、個々の解説が不要な方は一番下までスクロールしてください!

最尤法

最尤法とは、特定の確率分布を仮定して、観測された値 \(x_1, …, x_n\)から、最も尤もらしい(最尤)パラメータを導く方法です。今回は、一様分布の最大値\(\theta\)が推定対象になりますが、様々な確率分布のパラメータは、最尤推定法により推定することができます。

確率(密度)関数 \(f(x_i|\theta)\) は、「確率分布のパラメータが\(\theta\)である」という条件下で、\(x_i\)が観測される確率です。

これを全ての \(x_1, …, x_n\) について掛け合わせた \(\displaystyle \prod_{ i = 1 }^n f(x_i|\theta)\) を最大にする\(\theta\)を求めるのが最尤推定法によるパラメータの推定です。

この時推定された\(\theta\)を\(\hat{\theta}\)と表し、最尤推定量と呼びます。最尤推定量の導出に使用した\(L(\theta|\boldsymbol{ X }) = \displaystyle \prod_{ i = 1 }^n f(x_i|\theta)\)を尤度関数といい、尤度関数の対数をとった\(\log {L(\theta|\boldsymbol{ X })} = \sum_{ i = 1 }^{ n } f(x_i|\theta)\)を対数尤度関数といいます。

logは単調増加関数なので、尤度関数を最大にする\(\theta\)と対数尤度関数を最大にする\(\theta\)を求めることは同義です。

一般に各\(f(x_i|\theta)\)は小さくなるので、その積はサンプルを増やせば増やすほど際限なく小さくなります。小さくなりすぎると数値演算ができないことや、logをとると積を和に分解できて計算が簡単になることが多いことから、最尤推定量\(\hat {\theta}\)の導出にはしばしば対数尤度関数が使われます。

本問では区間\([0, \theta]\)の一様分布を考えているので、\(x_1, …, x_n\)の確率密度関数はそれぞれ\(f(x_i|\theta) = \displaystyle \frac{ 1 }{ \theta }\)です。
よって尤度関数は、$$L(\theta|\boldsymbol{ X }) = \displaystyle \prod_{ i = 1 }^n f(x_i|\theta) = \displaystyle \frac{ 1 }{ \theta^n }$$
となります。今回は対数をとらずに尤度関数のまま計算した方が単純なので、このまま計算を行うことにします。尤度関数の最大値を求めるには、パラメータ\(\theta\)による偏微分を考えればよいので、$$\frac{ \partial }{ \partial \theta } L(\theta|\boldsymbol{ X }) = \frac{ \partial }{ \partial \theta } (\displaystyle \frac{ 1 }{ \theta^n }) = \displaystyle \frac{ -n }{ \theta^{n + 1} } = 0 \tag{1}$$これが第一の条件となります。(この方程式を尤度方程式と呼びます)

ラグランジュの未定乗数法

続いて一様分布のパラメータ\(\theta\)について、制約条件は無いかを考えましょう。

今回、区間\([0, \theta]\)の一様分布から得られた観測値\(x_1, …, x_n\)を基に\(\theta\)を推定しようとしています。ここでそれぞれの観測値\(x_1, … x_n\)は\(\theta\)を超えることはありません。この明らかな条件が、制約条件となります。$$\max (x_1, …, x_n) \leq \theta \tag{2} $$

制約条件付きの最適化問題では、ラグランジュの未定乗数法がしばしば便利であるので、ラグランジュの未定乗数法についても、理解しておきましょう。

ラグランジュの未定乗数法
制約条件\(g(x_1, …, x_n) = 0\) のもとで関数\(f(x_1, …, x_n)\) が極値を持つ場合、極値をとる点は$$F(x_1, …, x_n, \lambda) = f(x_1, …, x_n) – \lambda g(x_1, …, x_n)$$と置くと、次の式を満たす。$$\frac{ \partial F}{ \partial x_i } = 0 \qquad i=1,…,n, \qquad \frac{ \partial F}{ \partial \lambda } = 0$$このとき\(\lambda\)をラグランジュ乗数と呼ぶ。

はじめて見る場合はやや難解ですが、まずは意味を理解するところからはじめましょう。簡単な例が良いので、ここでは「これなら分かる最適化数学」のP.65の例を引用させていただきます。

最適化したい関数を\(f(x, y) = 2x^2 + 3y^2\)の楕円形、制約条件を\(x + y = 1\)の直線としましょう。楕円の等高線を以下のように表します。

制約条件がない場合、\((x, y) = (0, 0)\) のとき\( f = 0 \)が関数\(f(x, y)\)の極値となります。

上図に制約条件を表す\(x + y = 1\)の直線を書き加えます。

等高線と制約条件となる直線が交わる場合を図に表しています。このとき、等高線と直線の交点が解となりますが、2つの交点の間により極値に近い点が存在することがわかります。

このことから「等高線と直線が交わる場合、2つの交点の間により極値に近い(制約条件を満たす)点が存在する」ことが直感的に解ると思います。

よって、下図のように等高線と直線が接している場合に極値をとります。

このことは接点において、\(f(x, y)\)と\(x + y = 1\)の法線ベクトルが平行であると言い換えることができます。

法線ベクトルの導出方法の証明はここでは省略しますが、\(f(x, y)\)の法線ベクトルは\(\nabla f = \left(\begin{array}{c}\displaystyle \frac{ \partial f}{ \partial x }\\\displaystyle \frac{ \partial f}{ \partial y }\\ \end{array}\right)\)で計算できます。

よって、上記の例では楕円\(f(x, y)\)の法線ベクトルは\(\displaystyle \frac{ \partial f}{ \partial x } = 4x,\quad \displaystyle \frac{ \partial f}{ \partial y } = 6y\)から、$$\nabla f = \left(\begin{array}{c} 4x \\ 6y \end{array}\right)$$

同様に制約条件を\(g(x, y) = x+y-1 = 0\)として、法線ベクトル$$\nabla g = \left(\begin{array}{c} 1 \\ 1 \end{array}\right)$$が求まります。

極値は2つの法線ベクトルが平行という条件から、\(\left(\begin{array}{c} 4x \\ 6y \end{array}\right) = \lambda \left(\begin{array}{c} 1 \\ 1 \end{array}\right)\)であり、$$x = \displaystyle \frac{\lambda}{4}, \quad y = \displaystyle \frac{\lambda}{6}$$が得られます。

これを制約条件\(g(x, y) = x+y-1 =0\)に代入することで、$$\lambda = \displaystyle \frac{12}{5}, \quad x = \displaystyle \frac{3}{5}, \quad y = \displaystyle \frac{2}{5}, \quad 極値f(x, y) = \displaystyle \frac{6}{5}$$が得られます。

最後にラグランジュの未定乗数法と、上記の計算との対応を確認しましょう。ラグランジュの未定乗数法の定理を2変数の場合に限定して、再掲します。

ラグランジュの未定乗数法(2変数)
制約条件\(g(x, y) = 0\) のもとで関数\(f(x, y)\) が極値を持つ場合、極値をとる点は$$F(x, y, \lambda) = f(x, y) – \lambda g(x, y) $$と置くと、次の式を満たす。$$\frac{ \partial F}{ \partial x } = 0 \qquad \frac{ \partial F}{ \partial y } = 0 \qquad \frac{ \partial F}{ \partial \lambda } = 0$$このとき\(\lambda\)をラグランジュ乗数と呼ぶ。

\(\displaystyle \frac{ \partial F}{ \partial x } = 0\)および\(\displaystyle \frac{ \partial F}{ \partial y } = 0\)はそれぞれ$$\frac{ \partial F}{ \partial x } = \frac{ \partial f}{ \partial x } – \lambda \frac{ \partial g}{ \partial x } = 0$$$$\frac{ \partial F}{ \partial y } = \frac{ \partial f}{ \partial y } – \lambda \frac{ \partial g}{ \partial y } = 0$$より、$$\nabla f = \lambda \nabla g$$つまり、等高線と直線の「法線ベクトルが平行である」という条件にあたります。

また\(\displaystyle \frac{ \partial F}{ \partial \lambda } = 0\)については、$$\frac{ \partial F}{ \partial \lambda } = – g(x, y) = 0$$より、制約条件にあたります。

https://datascientist-toolbox.com/wp-content/uploads/2019/09/man.png
りーぐる

難しいと感じたら難しいまま暗記しようとするよりは、まずは単純なケースで数式の「意味」を理解するところからはじめよう!

問題の制約条件は、式(2)で挙げた\(\max (x_1, …, x_n) \leq \theta\)です。これをラグランジュの未定乗数法の制約条件の形で表すと、$$g(x_1, …, x_n) = \max (x_1, …, x_n)-\theta \leq 0\tag{3}$$です。また、最大化するのは尤度関数$$L(\theta|\boldsymbol{ X }) = f(x_1, …, x_n) = \displaystyle \frac{ 1 }{ \theta^n }$$
です。これでラグランジュの未定乗数法が適用できそうですが、制約条件が不等式になっていることに注意が必要です。

KKT(カルーシュキューンタッカー)条件

上で説明したラグランジュの未定乗数法では、等式を制約条件としています。(3)式のような不等式を制約条件として適用するには、あと一歩拡張が必要です。このときに登場するのがKKT条件です。

ラグランジュの未定乗数法(KKT条件)
制約条件\(g(x_1, …, x_n) \leq 0\) のもとで関数\(f(x_1, …, x_n)\) が極値を持つ場合、極値をとる点は$$F(x_1, …, x_n, \lambda) = f(x_1, …, x_n) – \lambda g(x_1, …, x_n)$$と置くと、次の式を満たす。$$\frac{ \partial F}{ \partial x_i } = 0 \qquad i=1,…,n, \qquad \frac{ \partial F}{ \partial \lambda } \geq 0 \qquad \lambda g(x_1, …, x_n) = 0$$このとき\(\lambda\)をラグランジュ乗数と呼ぶ。但し、\(f(x_1, …, x_n)およびg(x_1, …, x_n)\)は凸関数である。

等式を制約条件としたラグランジュの未定乗数法と異なるのは、主に\(\lambda g(x_1, …, x_n) = 0\)の条件です。最後にこの条件がどのように導かれているか、簡単に触れておきたいと思います。

まず制約条件\(g(x_1, …, x_n) \leq 0\)について、\(g(x_1, …, x_n) = 0\)と\(g(x_1, …, x_n) \lt 0\)に分けることができます。 それぞれの場合について考えてみましょう。

\(g(x_1, …, x_n) = 0\)に解が存在する場合

\(g(x_1, …, x_n) = 0\)の場合、通常のラグランジュの未定乗数法を適用することができます。したがって条件としては、$$\frac{ \partial F}{ \partial x_i } = 0 \qquad i=1,…,n, \qquad \frac{ \partial F}{ \partial \lambda } = 0$$を考えればよく、KKT条件で追加された\(\lambda g(x_1, …, x_n) = 0\)は常に満たされます。

\(g(x_1, …, x_n) \lt 0\)に解が存在する場合

\(g(x_1, …, x_n) \lt 0\)に解が存在する場合、結論から言うと制約条件は解に影響を及ぼしません

やや高度であるため、詳細な説明は省略しますが上記は\(f(x_1, …, x_n)およびg(x_1, …, x_n)\)が凸関数である場合にのみ言えることに注意が必要です。

この「制約条件が解に影響しない」という条件は\(\lambda=0\)で表すことができます。つまりこの場合は、単に制約条件の存在しない\(f(x_1, …, x_n)\)の最大化(最小化)問題となり、$$\frac{ \partial F}{ \partial x_i } = 0 \qquad i=1,…,n$$のみを考えればよいことになります。

また\(\lambda=0\)より、\(\displaystyle \frac{ \partial F}{ \partial \lambda } = 0\)および\(\lambda g(x_1, …, x_n) = 0\)は常に満たされます。

つまりKKT条件で追加された\(\lambda g(x_1, …, x_n) = 0\)という条件は、\(g(x_1, …, x_n)=0\)であれば、等式制約のラグランジュの未定乗数法を適用し、\(g(x_1, …, x_n)\lt0\)であれば、\(\lambda=0\)を必要とする(制約条件は解に影響を及ぼさない)という2つの条件を表していると考えることができます。(厳密さを欠いた説明ですが、お許しください)

ラグランジュの未定乗数法を不等式制約の場合に拡張できたので、ようやく適用することができます。$$F(x_1, …, x_n, \lambda)=f(x_1, …, x_n)-\lambda g(x_1, …, x_n)$$について、\(f(x_1, …, x_n)=\displaystyle \frac{ 1 }{ \theta^n },\quad g(x_1, …, x_n)=\max (x_1, …, x_n)-\theta \leq 0\)より、$$F(x_1, …, x_n, \lambda)=\displaystyle \frac{ 1 }{ \theta^n } – \lambda(\max (x_1, …, x_n)-\theta)$$$$\frac{ \partial F}{ \partial \theta }=0 \qquad \frac{ \partial F}{ \partial \lambda } \geq 0 \qquad \lambda g(x_1, …, x_n) = 0$$から、最尤推定量\(\hat {\theta}\)を求めることができます。

解答

区間\([0, \theta]\)の一様分布について、尤度関数は$$L(\theta|\boldsymbol{ X }) = \displaystyle \prod_{ i = 1 }^n f(x_i|\theta) = \displaystyle \frac{ 1 }{ \theta^n }$$となる。この尤度関数を最大化する\(\hat {\theta}\)を求める。区間\([0, \theta]\)の一様分布から得られた観測値\(x_1, …, x_n\)は常に\(\theta\)を超えないので、制約条件として$$g(x_1, …, x_n) = \max (x_1, …, x_n)-\theta \leq 0$$が成り立つ。ここで、ラグランジュ乗数\(\lambda\)を導入し、$$F(x_1, …, x_n, \lambda)=L(\theta|\boldsymbol{ X })-\lambda g(x_1, …, x_n)$$とおく。このとき、ラグランジュ関数はKKT条件により次の制約を満たす。$$\frac{ \partial F}{ \partial \theta }=0\tag{1}$$$$\frac{ \partial F}{ \partial \lambda } \geq 0\tag{2}$$$$\lambda g(x_1, …, x_n) = 0\tag{3}$$(1)より、$$\displaystyle \frac{ -n }{ \theta^{n + 1} }+\lambda=0$$(2)より、$$\max (x_1, …, x_n) \leq \theta$$(3)より、$$\lambda (\max (x_1, …, x_n)-\theta)=0$$(3)の解は\(\lambda=0\)または\(\theta=\max (x_1, …, x_n)\)であるが、(1)の条件から、\(\lambda=\displaystyle \frac{ n }{ \theta^{n + 1} }\neq 0\)となることがわかる。
以上より、最尤推定量は\(\hat {\theta}=\max (x_1, …, x_n)\)である。

この1問で最尤法・ラグランジュの未定乗数法・KKT条件が登場しました。特に最尤法とラグランジュの未定乗数法は、数理統計学・最適化数学の分野で、頻出します。是非マスターしましょう!