前回までの記事で、平均対数尤度を最大にすることが、統計モデルを最良に導くカギであることを書きました。ここからはこの平均対数尤度をいかに良く推定していくかを説明します。
前回までの記事はこちら
カルバック-ライブラー情報量〜赤池情報量規準(AIC)までの概略②【統計検定1級対策】 – 脳内ライブラリアン
カルバックライブラー情報量〜赤池情報量規準(AIC)までの概略①【統計検定1級対策】 – 脳内ライブラリアン
目次:
平均対数尤度をいかに推定するか
前回の最後にK-L情報量の第二項を最大とすることで、二つの分布は最も近くなることを説明しました。
K-L(q(x);p(x)) = E\left[ \log \frac{q(x)}{p(x)} \right] = E[\log(q(x))] – E[\log(p(x))]
最後の式の第二項ですが、積分の形に直すとこうなります。
E[\log(p(x))] = \int q(x) \log(p(x))dx
ここで難問なのは、真の確率分布であるq(x)は直接求めようがない分布であることです。
そこで、経験分布関数を用いてq(x)を推測します。
経験分布関数とは
そもそもこれを知らなかったので、初回本を読んだときはつまづきました。
経験分布関数とは得られたデータからもとの確率分布を推測する方法です。
例えば、先ほどまでの設定を引きついで、真の確率分布関数q(x)を元に x_1, x_2, x_3, …, x_n というn個のデータが得られたと考えてみましょう。すると真の確率分布による密度関数q(x)は経験分布関数(離散型)の考え方を用いて以下のように推測することができます。
\hat{q}(x) = \frac{1}{n}, \quad x = x_1, x_2, x_3, …, x_n
分布関数Q(x)はこうなります。
\hat{Q}(x) = \frac{1}{n} \sum 1_{(x_i \leq x)}
え、全部起こる確率1/nとかこんなのアリ?と最初は思ったのですが、よく考えてみると、これは理にかなってます。
具体例で考えると意味が分かりやすいので、全然別の例として、標準正規分布N(0,1)からデータをいくつか取り出した場合を考えてみます。
-4.8, -2.4, -0.3, -0.18, 0.1, 0.19, 1.7の7つのデータが取れたとしてみます。標準正規分布なので平均の0に近いほうが集まる確率は高いですから、0周辺のほうが多く出てきます。
このデータから、さっきの式をもとに経験分布関数を描いてみるとこうなります。
手作業で描いたので歪んでてすみません(笑)
平均である0周辺に位置するデータが確率的に多いため、0辺りから急峻な伸びを見せていることが分かります。
ちなみに推測している標準正規分布の分布関数(いつもよく見ている密度関数ではなくて)はこんな感じです。
(Rにて作成)
なんとなく似ているのが分かりますでしょうか。データ数を増やしていけばさらに傾向は似てくるため、無限まで増やしたときに両者は一致します。
つまり、
\hat{F}(x) \to F(x) \quad (n \to \infty のとき)
というわけです。
分布関数が一致すればおのずと密度関数も一致することになります。
経験分布関数を入れて、平均対数尤度を推定する
というわけで最初に戻りますが、得られたデータから求めた経験分布関数 \hat{q}(x) を用いて、平均対数尤度の推定を行います。
ここで統計モデル \log(p(x)) は得られたデータ x_1, x_2, …, x_n から構成されており、最尤推定されたパラメータを前提にしているため、パラメータを \theta として \log p(x_i | \hat{\theta}) と表すようにします。
すると
E_{\hat{Q}}[\log(p(x))] = \sum_{i=1}^{n} q(x) \log(p(x)) \\ = \sum_{i=1}^{n} \frac{1}{n} \log p(x_i | \hat{\theta}) \\ = \frac{1}{n} \sum_{i=1}^{n} \log p(x_i | \hat{\theta})
となります。
これは最尤推定したパラメータを入れた対数尤度を 1/n したもの、となります。この式が求めたい平均対数尤度の推定量なのですが、果たして平均対数尤度との差はどれぐらいあるのか。そこを軸にしてさらに平均対数尤度に迫っていきます。
参考文献:
多変量解析入門――線形から非線形へ(小西 貞則)
統計思考の世界 ~曼荼羅で読み解くデータ解析の基礎(三中 信宏)
コメントを残す