この記事では、下図のように を観測してパラメータ を推定しようとしたとき、推定したいパラメータ と推定値 の二乗誤差 の期待値が最小となる推定値(最小平均二乗誤差推定値) は条件付き期待値 で与えられ、この推定値は不偏推定値になることを説明します。
ここでは、, , として、 をユークリッドノルムとします。
推定したいパラメータ と観測値 は確率変数だと考える。そうすると、推定値 も確率変数だと考えるのが自然になる。
この記事の中では、推定したいパラメータ と観測値 は確率変数だと考えます。そのとき、推定値 も確率変数だと考えるのが自然になります。これらの理由を以下で説明します。
推定したいパラメータ は全知全能の神様にとっては確定値かもしれませんが、「 は か?」と思っている人にとっては確定値ではなく、確率的にしか決められないものかもしれません。推定したいパラメータ は確率的に定まるものだと考えることは、数学的には、 は確率変数だと考えることに相当します。確率変数は下の記事で紹介しています。
推定したいパラメータ が確率変数だと考えると、観測値 も確率変数だと考えることが自然なことが多いです。実際に、観測値は というように、確率変数である に確率変数である雑音 が加算されたものかもしれず、もしそうなら観測値 は確率変数となるためです。他にも が の関数として表現される多くの場合に、 は確率変数ということになります。
推定値 は観測値 の関数だと考えて、関数 を用いて という関係があると考えるのが自然です。なぜなら、推定値 は観測値 を参考にして決定するはずだからです。したがって、観測値 が確率変数なら も確率変数だと考えることができます(関数 が可測関数という連続関数を含む応用上とても広いクラスの関数なら、 が確率変数のときに も確率変数となる)。
なぜ を最小化するのか
この記事の冒頭で、二乗誤差 の「期待値」を最小にする は条件付き期待値 だということを紹介すると書きましたが、なぜ二乗誤差 そのものではなく、その「期待値」を最小にする を考えるのでしょうか?その理由は、二乗誤差 は のときに最小値0となりますが、ここでは を確率変数だと考えるため とすることができない上に、 が不明なので、どうやって を小さくできるかも分からないためです。そのため、代わりに二乗誤差の期待値 の最小化を考えるのです。
を最小化するとは、もっと正確にはどういうことなのか
二乗誤差の期待値 は関係式 の関数 が与えられたら、次のように計算できます。
\begin{align*} E(||x-\hat{x}||^2) &= E(||x-f(y)||^2) \\ &= \int_{ {\bf R}^p } \int_{ {\bf R}^n} ||x-f(y)||^2 p(x,y) dx dy \end{align*}
この式を見れば分かるように、二乗誤差の期待値 は同時確率分布 が与えられたら関数 の関数なので、 を
\begin{align*} R(f) := E(||x-\hat{x}||^2) \end{align*}
と書けます。このように、二乗誤差の期待値 を最小化するということは、同時確率分布 が任意に与えられたときに関数 を最小化する関数 を求めることを意味しています。
※関数 は関数 の関数だということから、汎関数(関数の関数)だということになります。
汎関数 を最小にする関数 は条件付き期待値 になる
二乗誤差の期待値 、つまり汎関数 の最小化を考えてみましょう。まず、 は
\begin{align*} R(f) &= \int_{ {\bf R}^p } \int_{ {\bf R}^n} ||x-f(y)||^2 p(x,y) dx dy \\ &=\int_{ {\bf R}^p } R_c(f) p(y) dy \end{align*}
となることに注意します。ここで、
\begin{align*} R_c(f):= \int_{ {\bf R}^n} ||x-f(y)||^2 p(x|y) dx =E(||x-f(y)||^2 | y) \end{align*}
です。
実は、 を最小にする と を最小にする は一致します。したがって、 を最小化する の代わりに、 を最小化する を求めれば良いということになります。
実際に、 を計算してみると以下のようになります。\begin{align*} R_c(f) &= E(||x-f(y)||^2 | y) \\ &= E(|| (x-E(x|y)) + (E(x|y)-f(y))||^2 | y) \\ &= E(||x-E(x|y)||^2 | y) + ||E(x|y)-f(y)||^2 \\ &\geq E(||x-E(x|y)||^2 | y) \end{align*}
最後の不等式で等号が成り立つのは のときなので、 を最小にする関数 は条件付き期待値 だということが分かります。よって、最小平均二乗誤差推定値は となります。
※上の証明の中で突然 が出てきました。これは、最小平均二乗誤差推定値は となることを知っていないと思いつかないかもしれません。このことを知らないとして、関数 を最小にする関数 を求めるためには微分 を満たす を求めれば良さそうです。実際に、このへんの話はカルマンフィルタ関係の本によく載っているのですが、多くの本のなかで微分 を満たす を求めています。が、実はこの微分といっているものは通常の微分だと考えることができません。なぜなら は数値ではなく関数だからです。ということで、微分 を計算するといっても通常の意味の微分は計算できません。では、どうするかというと汎関数 の変分(汎関数微分)を計算し、その変分がゼロになる関数 が答えだということになります。つまり、力学でオイラー・ラグランジュ方程式を導出する際にラグランジアンの作用積分の変分を計算したように、汎関数 の変分を計算すれば良いということになります。では実際に汎関数 の変分を計算してみましょう。汎関数 の点 における 方向への微分は
\begin{align*} \delta R_c(f)[h] := \lim_{\epsilon\rightarrow 0} \frac{R_c (f+\epsilon h) -R_c(f)}{\epsilon} \end{align*} となります(上記の がゼロとなる関数 を見つけることを変分問題 と書く)。 汎関数 の定義から、
\begin{align*} R_c(f+\epsilon h) -R_c(f) = \int_{{\bf R}^n} \left( 2\epsilon (x-f(y))^T h(y) + \epsilon^2 ||h(y)||^2 \right) p(x|y) dx \end{align*}
となります。よって、
\begin{align*} \delta R_c(f)[h] &= 2 \int_{ {\bf R}^n} (x-f(y))^T h(y) p(x|y) dx \\ &= 2(E(x|y)-f(y))^T h(y) \end{align*}
ということになります。したがって、 のとき となることが分かりました。
最小平均二乗誤差推定値 は不偏推定値
一般に、推定したいパラメータ と推定値 の誤差の期待値 がゼロになるとき推定値 は推定したいパラメータ の不偏推定値だと言います。つまり、推定したいパラメータの期待値と推定値の期待値が一致しているときに、その推定値は不偏だと言うのです。
最小平均二乗誤差推定値 は次のように不偏推定値だということが分かります。
\begin{align*} E(\hat{x}) &= E( E(x|y)) \\ &= \int_{{\bf R}^p} \left( \int_{{\bf R}^n} x p(x|y) dx \right) p(y) dy \\ &= \int_{{\bf R}^p} \int_{{\bf R}^n} x p(x,y) dx dy \\ &= \int_{ {\bf R}^n} x \int_{ {\bf R}^p} p(x,y) dy dx\\ &= \int_{{\bf R}^n} x p(x) dx = E(x) \end{align*}
参考文献
記事を書くにあたって参考にした文献です。
(1) 理論的なことがしっかり書いてる。
この記事の中では、二乗誤差 の期待値の最小化を考えましたが、この本の中では、他にも絶対誤差の期待値や一様誤差の期待値の最小化も考えられており、条件付き確率分布 がガウス分布に従うなら、絶対誤差と一様誤差の期待値の最小値を与える関数は二乗誤差の期待値の最小値を与える条件付き期待値 に一致することが説明されています。ということで、条件付き期待値 は他の評価指標を使っても最も良い推定値になることがあるということが分かります。
ガウス分布は、以下の記事で説明したように中心極限定理と密接に関連した確率分布で応用上よくでてきます。
ogyahogya.hatenablog.com(2) 上の参考文献と同じ著者の本。汎関数の変分を計算すべきところを普通の微分のように計算しているのは誤りであることに注意。この本のように英語の本でも普通の微分のように計算しているものが多々あります。。。