HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

不偏推定量のバリアンスの下限:クラメル・ラオの不等式

 

 

follow us in feedly

はじめに

今回は下記の不偏推定量というものを理解している前提で話をします。

www.hellocybernetics.tech

不偏推定量の作り方は無数にあると言えます。それは、推定量の期待値がモデルパラメータに一致していれば不偏推定量という名の資格を得るからです。そこで無数の不偏推定量の中でも優劣を付けることを考えます。すると不偏推定量では平均二乗誤差

$$ {\rm MSE}(\theta, \hat \theta) = {\rm Var}(\hat \theta) + \{ {\rm Bias}(\hat \theta) \} ^ 2 $$

の第二項は $0$ となるので、第一項であるバリアンスだけが問題になってきます。不偏推定量での優劣はこのバリアンスの大きさを比較することで決着を付けることができそうです。

クラメル・ラオの不等式

不偏推定量のバリアンスは一定以上に下がらない

まず、個々の不偏推定量を比較しだすとキリがないので、不偏推定量というクラスがバリアンスをどこまで下げられるのかを先に知っておきたいところです。まさかバリアンスが $0$ になるような推定量があるとしたら、$\rm MSE$ は $0$ となり驚くべき精度の推定ができることになります。

無論そんな都合の良い推定量は作ることができません。バイアスを $0$ としている不偏推定量たちには必ずバリアンスが一定以上残ってしまうのです。その答えを先に示すと、$\theta$ をパラメータに持つ確率分布とデータの個数 $N$ に依存する、とある量 $I _ N (\theta)$ があり、

$$ {\rm Var} _ \theta (\hat \theta) \geq \frac{1}{I _ N (\theta)} $$

と下から押さえつけられます。この不等式をクラメル・ラオの不等式と呼び、下から抑えている $1 / I _ N (\theta)$ をクラメル・ラオの下限と言います。

対数尤度関数とその微分

さて、クラメル・ラオの下限は確率モデルはもちろんのことデータの数にも依存にしているようです。今、確率変数列 $\mathbf X= \{ X _ 1, \cdots, X _ N \}$ の各 $X _ i, X _ j \ \ (i \neq j)$ が独立同分布で $f(x \mid \theta)$ によってモデル化されるとします。簡単のため $\theta$ はスカラーとします。このときの尤度関数 $L (\theta \mid X)$ は全データの同時確率として

$$ L (\theta \mid \mathbf X) = f _ N ( \mathbf X \mid \theta) = \prod _ {i=1} ^ N f (X _ i \mid \theta) $$

と表せます。また、これに対して対数を取った対数尤度関数は

$$ \log f _ N (\mathbf X \mid \theta) = \sum _ {i=1} ^ N \log f(X _ i \mid \theta) $$

となります。通常、積 $\prod$ よりも和 $\sum$ の方が取り扱いが楽なため、対数尤度関数が推定時にも用いられることが多いです。一方でその利便性という意味だけでなく、この対数尤度関数を $\theta$ について微分した関数

$$ S _ N (\theta, \mathbf X) = \frac{\rm d}{\mathrm d \theta} \log f _ N (\mathbf X \mid \theta) $$

をスコア関数と呼びます。これは結構馴染みのあるもののはずで、例えば対数尤度関数 $\log f _ N(\mathbf {X} \mid \theta)$ を最大化するような $\theta$ を求めたいとき、割とカジュアルに $(d/d\theta) \log f _ N $ を計算し勾配法を実施していると思われます。負の対数尤度を最小化する勾配法は

$$ \theta \leftarrow \theta - \epsilon S _ N (\theta, \mathbf X) $$

みたいな形式になっているということです。また、対数尤度の勾配ことスコア関数という量は仮に $f(x \mid \theta)$ の積分と微分の順序を入れ替えられるならば期待値について

$$ \mathbb E [S _ N (\theta, \mathbf X)] = 0 $$

となるような関数になっています。

フィッシャー情報量

さて、対数尤度の勾配ことスコア関数の一次モーメントは $0$ でありました。では二次モーメントはどうなのでしょうということが気になってきます。この量をフィッシャー情報量と呼び

$$ I _ N(\theta) = \mathbb E [ \{ S _ N (\theta, \mathbf X)\} ^ 2] = \mathbb E \left [ \left( \frac {\mathrm d} {\mathrm d \theta} \log f _ N (\mathbf X \mid \theta) \right) \right] $$

と書きます。これが冒頭でバリアンスの下限を決めていたクラメル・ラオの不等式の重要なパーツになっています。

$$ {\rm Var} _ \theta (\hat \theta) \geq \frac{1}{I _ N (\theta)} $$

兎にも角にも、不偏推定量のバリアンスの下限はフィッシャー情報量の逆数で抑えられているということになります。もしも、とある不偏推定量のバリアンスがクラメル・ラオの下限にたどり着いていたとしたら、それより良い不偏推定量は $\rm MSE$ の意味ではどうせ作れないことになるので、個々に全ての不偏推定量を比較しなくとも、そのような推定量を見つければ良いということになります。

クラメル・ラオの不等式を導く過程

さて、早足で来ましたが、クラメル・ラオの不等式に辿り着くには何の条件もなしに行けるというわけにはいきません。 まず、クラメル・ラオの不等式の一歩手前の式を見ることにしましょう。

コーシー・シュワルツの不等式での評価

コーシー・シュワルツの不等式として知られる下記の式を利用します。関数 $f = f(x)$ と $g = g(x)$ に関して適当な分布での期待値に関して

$$ (\mathbb E [g h] ) ^ 2 \leq \mathbb E [g ^ 2] \mathbb E [h ^ 2] $$

が成り立っています。$g = \hat \theta(X) - \theta$ 、 $h = S _ N(\theta, \mathbf X)$ とそれぞれ選ぶと

$$ (\mathbb E [(\hat \theta(X) - \theta) S _ N(\theta, \mathbf X)] ) ^ 2 \leq \mathbb E [\{ \hat \theta(X) - \theta \} ^ 2] \mathbb E [\{ S _ N(\theta, \mathbf X)\} ^ 2] $$

という不等式が成り立ちます。ここで $f (x \mid \theta)$ について期待値を取ることにします。右辺の第一因子は ${\rm MSE} (\theta, \hat \theta)$ に相当しますが、不偏推定量 $\hat \theta$ に関してはバイアスが $0$ であるため、

$$ {\rm Var} _\theta (\hat \theta) = \rm MSE(\theta, \hat \theta) $$

となります。また第二因子はフィッシャー情報量 $I _ N (\theta)$です。

この不等式に関して ${\rm Va}r (\hat \theta)$ を左辺として整理すると

$$ {\rm Var} _ \theta (\hat \theta) \geq \frac {(\mathbb E [(\hat \theta(\mathbf X) - \theta) S _ N(\theta, \mathbf X)] ) ^ 2}{ I _ N (\theta)} $$

と表すことができます。クラメル・ラオの不等式と見比べると

$$ {\rm Var} _ \theta (\hat \theta) \geq \frac{1}{I _ N (\theta)} $$

右辺の分子だけが異なっています。意外と近いところまで来られているということです。 ということは

$$ \mathbb E [(\hat \theta(\mathbf X) - \theta) S _ N(\theta, \mathbf X)] = 1 $$

を示せれば良いということになります。 問題の分子に関して期待値の線形性を使うとひとまず、

$$ \mathbb E [(\hat \theta(\mathbf X) - \theta) S _ N(\theta, \mathbf X)] = \mathbb E [\hat \theta(\mathbf X) S _ N(\theta, \mathbf X) ] - \theta \mathbb E [S _ N(\theta, \mathbf X)] $$

というところまで持っていくことができます。

クラメル・ラオまでの大まかな指針 : 第2項は $0$

文中でサラッと述べましたが、スコア関数の期待値は $0$ となるので第二項は消えます。このことをちゃんと見ると、スコア関数に関して $N = 1$ で $X _ i$ を観測するとして

$$ \mathbb E [S _ 1 (\theta, X _ i)] = \int \left[ \frac{\mathrm d }{\mathrm d \theta} \log f(x \mid \theta) \right] f(x \mid \theta) \mathrm d x $$

と書くことができ、

$$ \frac{\mathrm d }{\mathrm d \theta} \log f(x \mid \theta) = \frac{\frac{\mathrm d }{\mathrm d \theta} f(x \mid \theta)}{f(x \mid \theta)} $$

という対数関数の微分の公式を当てはめると、

$$ \begin{align} \mathbb E [S _ 1 (\theta, X _ i)] &= \int \left[ \frac{\frac{\mathrm d }{\mathrm d \theta} f(x \mid \theta)}{f(x \mid \theta)} \right] f(x \mid \theta) \mathrm d x \\ &= \int \frac{\mathrm d }{\mathrm d \theta} f(x \mid \theta) \mathrm d x \\ &= \frac{\mathrm d }{\mathrm d \theta} \int f(x \mid \theta) \mathrm d x \\ &= \frac{\mathrm d }{\mathrm d \theta} 1 = 0 \end{align} $$

と求まります。ここで、$x$ に関する積分と $\theta$ に関する微分の順序が入れ替えられるような $f (x \mid \theta)$ となっていることを仮定していることに注意してください。

また、スコア関数は $S _ N(\theta, \mathbf X) = \sum _ {i=1} ^ N S _ 1 (\theta, X _ i)$ と表せるので上記の $N = 1$ のときに期待値が $0 $ であることを示したことで任意の $N > 1$ で成り立ちます。

クラメル・ラオまでの大まかな指針 : 第1項は $1$

続いて第一項に関して見ていきます。第二項は $0$ として消えたので、第一項が $1$ であることを示すだけです。まず確率変数列 $\bf X$ の実現値として $\mathbf x = (x _ 1, \cdots, x _ N)$ と表記します。

$$ \begin{align} \mathbb E [\hat \theta(\mathbf X) S _ N(\theta, \mathbf X) ] & = \int _ {\bf x} \hat \theta(\mathbf x)\frac{\frac{\mathrm d }{\mathrm d \theta} f _ N(\mathbf x \mid \theta)}{f _ N( \mathbf x \mid \theta)} f _ N (\mathbf x \mid \theta)\mathrm d \mathbf x \\ & = \int _ {\bf x} \hat \theta(\mathbf x) \frac{\mathrm d}{\mathrm d \theta} f _ N(\mathbf x \mid \theta) \mathrm d \mathbf x \end{align} $$

ここで先程同様対数関数の微分に関するテクニックを使いました。こうして比較的シンプルな式に持っていけました。 やはり、微分と積分が交換できることを前提として

$$ \mathbb E [\hat \theta(\mathbf X) S _ N(\theta, \mathbf X) ] = \frac{\mathrm d}{\mathrm d \theta} \int _ {\bf x} \hat \theta(\mathbf x) f _ N(\mathbf x \mid \theta) \mathrm d \mathbf x $$

と持っていけます。さて、この最後の式をよく見ると、

$$ \frac{\mathrm d}{\mathrm d \theta} \mathbb E [\hat \theta (\mathbf X)] $$

という式になっています。今、$\hat \theta$ は不偏推定量であったのでしたから、$\mathbb E [\hat \theta (\mathbf X)] = \theta$ となっています。従って上記の式は

$$ \frac{\mathrm d}{\mathrm d \theta} \theta = 1 $$

となりました。こうして、第1項が $1$ であることが示され、クラメル・ラオの不等式が完成しました。

今回のクラメル・ラオの不等式の前提

まず、今回のクラメル・ラオの不等式を示すために使った前提を洗い出してみます。

着目している推定量 $\hat \theta$ は不偏推定量でした。これに該当しないクラスの推定量に関するバリアンスに関してはこの不等式では議論できません。

また、確率分布 $f(x \mid \theta)$ に関して

$$ \frac{\mathrm d}{\mathrm d \theta} \int f(x \mid \theta) \mathrm d x = \int \frac{\mathrm d}{\mathrm d \theta} f(x \mid \theta) \mathrm d x $$

なる交換をしていたことです。これができない限り、クラメル・ラオの不等式を導出できません。

$\theta$ が多変数の場合

パラメータ $\theta$ が多次元の場合には、スコア関数(対数尤度の勾配)がベクトルとなり、フィッシャー情報量は行列となります。概ねコーシー・シュワルツの不等式で攻める点は同じです。推定量 $\hat \theta$ はベクトルなので、推定量のバラツキは分散共分散行列 ${\rm Cov}( \hat \theta ) $ として与えられ、

$$ {\rm Cov}( \hat \theta ) \geq \{ I _ N (\theta) \} ^ {(-1)} $$

と、フィッシャー情報行列よりも小さくはならないという形で定式化されます。ここでの大小比較は $A - B$ が非負定値行列であれば $A \geq B$ と表記しています。

参考文献

統計検定1級の対策本として有名な下記の書籍が端的に定義・定理・証明という形式で基本を抑えてくれます。 今回の記事は定義・定理・証明という数学本の流れには反し、先に答えとモチベーションを示してから、それが成り立っていると言えることを後付的に示しました。

www.hellocybernetics.tech