情報理論関連をぐだぐだと

情報理論関係を勉強中の筆者がそれっぽいことを書くブログ

指数型分布族の例(その2)

今日は予告どおり、有限集合上の分布全体について書きたいと思う。

設定と指数型分布族の復習(昨日と同じもの)

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。 また、モデルとして、M = \{ p(x|\theta) \in \mathcal{P(X)}| \theta \in \Theta \subset \mathbb{R}^k \} を仮定する。 ここで、\thetak次元ベクトルとみなせるので、

\theta = (\theta^1, \theta^2, \cdots, \theta^k)

と書くとする。 ここで、指数型分布族は、モデルの一種で、その要素p(x|\theta)

{ \displaystyle
\log p(x|\theta) = C(x) + \sum_{i = 1}^k \theta^i F_i(x) - \psi(\theta)
}

と書けるものだった。

有限集合上の確率分布

今回はデータ集合を有限集合とする。つまり整数Mを用いて、

{ \displaystyle
\mathcal{X} = \{ 0, 1, \cdots, M\}
}

という、M + 1個の要素をもつ集合を考える。 この集合上の確率分布p

{ \displaystyle
(p(0), p(1), \cdots, p(M))
}

と表せる。ところで、確率は総和が1になるという条件があったので、この中で自由な変数はM個になる。

ここで、クロネッカーのデルタ\delta_{j}(i) = 1 \{ i = j\}を用いて、確率分布pを表してみよう。

すると、

{ \displaystyle
{\rm Pr}\{X = i\} = \sum_{j = 0}^M p(j) \delta_{j}(i)
}

もしくは、 i = 1, \cdots, Mを自由な変数にとって、

{ \displaystyle
{\rm Pr}\{X = i\} = \sum_{j = 1}^M p(j) \delta_{j}(i) + \left(1 - \sum_{j = 1}^M p(j)\right)\left(1 - \sum_{j = 1}^M \delta_{j}(i)\right)
}

とできる。ここでクロネッカーのデルタを考えて確率の対数を考えると、

{ \displaystyle
\log {\rm Pr}\{X = i\} = \sum_{j = 1}^M \delta_{j}(i) \log p(j)  +\left(1 - \sum_{j = 1}^M \delta_{j}(i)\right) \log \left(1 - \sum_{j = 1}^M p(j)\right)
}

となる。ここから、

{ \displaystyle
\log {\rm Pr}\{X = i\} = \sum_{j = 1}^M \delta_{j}(i) \log \frac{p(j)}{1 - \sum_{l = 1}^M p(l)}  + \log \left(1 - \sum_{j = 1}^M p(j)\right)
}

となる。ここで、

{ \displaystyle
\theta^j = \log \frac{p(j)}{1 - \sum_{l = 1}^M p(l)}  = \log \frac{p(j)}{p(0)}
}

{ \displaystyle
F_j(x) =\delta_{j}(x)
}

{ \displaystyle
\psi(\theta)  = - \log p(0) =  \log \left(1 + \sum_{j = 1}^M {\rm exp}(\theta^j) \right)
}

とすれば、

{ \displaystyle
\log {\rm Pr}\{X = x\} = \sum_{j = 1}^M \theta^jF_j(x) - \psi(\theta)
}

となっており、これは指数型分布族だ。

最尤推定の例

さて、ここでもまた最尤推定をしてみよう。

今、データ列x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})が与えられたとして、\etaを計算すると、

{ \displaystyle
\eta_j = \frac{1}{N}\sum_{l = 1}^N \delta_{j}(x^{(l)}) = \frac{{\rm count}(j |x^N ) }{N}
}

となっている。つまり、\etaは経験分布(の点0での値がないもの)となっている。

ここで、 最尤推定\hat{\theta}

{ \displaystyle
\hat{\theta}(\eta) = {\rm argmax}_\theta \left( \sum_{i = 1}^M \theta^i \eta_i - \psi(\theta) \right)
}

だったから、少しの計算で、

{ \displaystyle
\hat{\theta^j}(\eta) =\log \frac{\eta_j}{ 1 -   \sum_{l = 1}^M \eta_l}
}

と求められる。これは、

{ \displaystyle
\theta^j = \log \frac{p(j)}{1 - \sum_{l = 1}^M p(l)}  = \log \frac{p(j)}{p(0)}
}

と比較すれば、経験分布そのものを推定していることがわかる。

このことは経験分布が重要な分布であることの一つの証拠となっている。

指数型分布族の例(その1)

今日も昨日に引き続いてそんなに時間がないので、 指数型分布族の例について書きたいと思う。

設定と指数型分布族の復習

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。 また、モデルとして、M = \{ p(x|\theta) \in \mathcal{P(X)}| \theta \in \Theta \subset \mathbb{R}^k \} を仮定する。 ここで、\thetak次元ベクトルとみなせるので、

\theta = (\theta^1, \theta^2, \cdots, \theta^k)

と書くとする。 ここで、指数型分布族は、モデルの一種で、その要素p(x|\theta)

{ \displaystyle
\log p(x|\theta) = C(x) + \sum_{i = 1}^k \theta^i F_i(x) - \psi(\theta)
}

と書けるものだった。

正規分布は指数型分布族か?

まずは正規分布からなるモデルを考える。正規分布は、

{ \displaystyle
\mathcal{N}(x | \mu, \sigma) = \frac{1}{\sqrt{2 \pi} \sigma} {\rm exp} \left(- \frac{(x - \mu)^2}{2 \sigma^2}\right)
}

だったから、

{ \displaystyle
\log \mathcal{N}(x | \mu, \sigma) = -\log (\sqrt{2 \pi} \sigma) - \frac{(x - \mu)^2}{2 \sigma^2}
}

式変形して、

{ \displaystyle
\log \mathcal{N}(x | \mu, \sigma) = \frac{ \mu x}{ \sigma^2} -  \frac{ x^2}{2  \sigma^2} - \frac{\mu^2}{2 \sigma^2} - \log (\sqrt{2 \pi} \sigma)
}

となる。ここで、 F_1(x) = xF_2(x) = x^2として、

{ \displaystyle
\theta^1 = \frac{ \mu }{ \sigma^2}
}

{ \displaystyle
\theta^2 = -  \frac{ 1 }{2  \sigma^2}
}

とすれば、

{ \displaystyle
\psi(\theta) = - \frac{ (\theta^1)^2}{4 \theta^2} - \frac{1}{2} \log ( - \theta^2 ) + \frac{1}{2} \log (\pi)
}

を用いて、

{ \displaystyle
\log \mathcal{N}(x | \mu, \sigma) = \sum_{i = 1}^2 \theta^i F_i(x) - \psi(\theta)
}

と表せるので、指数型分布族となっている。

最尤推定の例

さて、ここで最尤推定をしてみよう。

今、データ列x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})が与えられたとして、\etaを計算すると、

{ \displaystyle
\eta_1 = \frac{1}{N}\sum_{j = 1}^N x^{(j)}
}

{ \displaystyle
\eta_2 = \frac{1}{N}\sum_{j = 1}^N (x^{(j)})^2
}

となっている。つまり、\eta_1はデータの算術平均、\eta_1はデータの2乗の算術平均となっている。ここで、 最尤推定\hat{\theta}

{ \displaystyle
\hat{\theta}(\eta) = {\rm argmax}_\theta \left( \sum_{i = 1}^2 \theta^i \eta_i - \psi(\theta) \right)
}

だったから、少しの計算で、

{ \displaystyle
\hat{\theta^1}(\eta) = \frac{\eta_1}{\eta_2 - \eta_1^2}
}

{ \displaystyle
\hat{\theta^2}(\eta) = - \frac{ 1 }{2 (\eta_2 - \eta_1^2)}
}

が得られる。これを

{ \displaystyle
\theta^1 = \frac{ \mu }{ \sigma^2}
}

{ \displaystyle
\theta^2 = -  \frac{ 1 }{2  \sigma^2}
}

と見比べれば、納得できるものだろう。

明日は、有限集合上の分布全体について書きたいと思う。

指数型分布族について

推定論について書こうと思っていたけれど、 時間がなくなったので 今日は指数型分布族の導入を

設定

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。 また、モデルとして、M = \{ p(x|\theta) \in \mathcal{P(X)}| \theta \in \Theta \subset \mathbb{R}^k \} を仮定する。 ここで、\thetak次元ベクトルとみなせるので、

\theta = (\theta^1, \theta^2, \cdots, \theta^k)

と書くとする*1

指数型分布族

指数型分布族とは、モデルの一種で、その要素p(x|\theta)が常に下のように書くことができるもの*2

{ \displaystyle
\log p(x|\theta) = C(x) + \sum_{i = 1}^k \theta^i F_i(x) - \psi(\theta)
}

ここで、C(x)\{ F_i(x)\}\mathcal{X}上の(xのみの)実数値関数、\psi(\theta)\thetaのみの実数値関数なのに注意。

また、\psi(\theta)はその定義から、

{ \displaystyle
\psi(\theta) = \log \left( \sum_{x \in \mathcal{X}}{\rm exp}\left(C(x) + \sum_{i = 1}^k \theta^i F_i(x) \right) \right)
}

と書ける。 ちなみに指数型分布族のパラメータ\thetaは、自然パラメータとよばれる。

十分統計量や最尤推定量との関係

今回も、データが出てくる順番に関係なく毎回モデルM上のひとつの分布p(x|\theta)にしたがって出てくるとしよう。 このとき、データ列の具体値x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})が得られる確率は

{ \displaystyle
{\rm Pr} \{X^N = x^N\} = \prod_{j = 1}^N p(x^{(j)}|\theta)
}

となっているから、モデルが指数型分布族だった場合、

{ \displaystyle
\log {\rm Pr} \{X^N = x^N\} = \sum_{j = 1}^N C(x^{(j)}) + \sum_{i = 1}^k \theta^i \sum_{j = 1}^N F_i(x^{(j)}) - N \psi(\theta)
}

となっていて、これ自身なんらかの指数型分布族の元となっている。ここで、

{ \displaystyle
{\rm Pr} \{X^N = x^N\} =  {\rm exp}\left( \sum_{i = 1}^k \theta^i \sum_{j = 1}^N F_i(x^{(j)}) - N \psi(\theta) \right){\rm exp}\left(\sum_{j = 1}^N C(x^{(j)})\right)
}

と書けることに注意すると、分解定理から、k個の実数の組\left\{\sum_{j = 1}^N F_i(x^{(j)})\right\}は十分統計量だと言うことが分かる。また、これをNで割った、

{ \displaystyle
\left\{ \frac{1}{N}\sum_{j = 1}^N F_i(x^{(j)}) \right\}\ \ i= 1,\cdots,k
}

も十分統計量だ。ここで、実際にデータから計算された十分統計量を \eta = (\eta_1, \cdots, \eta_k)として、

{ \displaystyle
\eta_i = \frac{1}{N}\sum_{j = 1}^N F_i(x^{(j)}) \ \ i= 1,\cdots,k
}

とすると、最尤推定\hat{\theta}

{ \displaystyle
\hat{\theta}(\eta) = {\rm argmax}_\theta \left( \sum_{i = 1}^k \theta^i \eta_i - \psi(\theta) \right)
}

ルジャンドル変換の形で書けることが知られている。

指数型分布族になっているモデル例

これまでいろいろ書いてきたが、「こんな人工的に見えるモデル使えるのか?」と言う疑問が当然でてくると思う。

じつは、指数型分布族になっているモデルは手近なところにいろいろある*3。 例えば、正規分布で期待値や標準偏差をパラメータにしたモデルは指数型分布族だし、 有限の離散集合上の分布全体なんてのも指数型分布族になる。

このあたりのことは、日を改めて書きたいと思う。

*1:\theta^j\thetaj乗を表しているわけではなく、j番目のパラメータだと言うことを表す上付きの添字。

*2:指数型分布族の名前のとおり指数関数を使って書き下してもよかったけれど、文字が小さくなるので、こっちの表記にした。

*3:指数型分布族になっていないモデルもたくさんある。たとえば、混合正規分布からなるモデル(EMアルゴリズムでよく使われる)は指数型分布族ではない。

最尤推定について

推定が難しいときにまずやろう

今回は最尤推定について話をする。 この推定は与えられたモデルが複雑だった場合に有効な(というか唯一使える)推定方法。 以下に理論的な話を書いていくけれども、ひょっとしたら、昨日の推定量の話は(最尤推定だけを語る上では)必要なかったのかも。

設定

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。 また、モデルとして、M = \{ p(x|\theta) \in \mathcal{P(X)}| \theta \in \Theta \subset \mathbb{R}^k \} を仮定する。

もっともらしさ

統計理論ではもっともらしさを表す関数があり、それを尤度関数とよぶ。 では、尤度関数を見てもらおう。

{ \displaystyle
p(x|\theta)
}

が尤度関数だ。

「それはパラメータつきの確率分布関数だろう!」というつっこみが聞こえてこなくはないけれど、 別に冗談を言っているわけじゃない。まじめに、 { \displaystyle
p(x|\theta)
} が尤度関数だ。

ここで大事なのは視点だ。

{ \displaystyle
p(x|\theta)
}\thetaが与えられていてxの関数と見るとき、確かにパラメータつきの確率分布関数だ。 しかし、立場が逆転している場合、データxが与えられていて\thetaの関数と見るとき、尤度関数と呼ばれる。 つまり、データxがパラメータ\thetaから出てきたもっともらしさが統計理論における尤度なのだ。

ここで、もうすでにデータxが与えられているので、尤度関数は

{ \displaystyle
L(\theta) = p(x|\theta)
}

と書かれることが多い。また、尤度関数の対数をとった対数尤度関数も理論解析には有用で、

{ \displaystyle
l(\theta) =\log p(x|\theta)
}

と書かれる。

もっとももっともらしい

与えられたデータxに対して最も尤もらしいパラメータを推定量とするのが最尤推定*1。 つまり、データxに対して最も尤度の大きなパラメータを推定量とする推定法だ。

{ \displaystyle
\hat{\theta}(x) = {\rm argmax}_\theta p(x|\theta)= {\rm argmax}_\theta L(\theta)
}

ここでargmaxは最大値をとる引数を返す関数。また、対数は単調増加関数*2だから、

{ \displaystyle
\hat{\theta}(x) =  {\rm argmax}_\theta l(\theta)
}

と見てもかまわない。

なお、データxは、データ列x^Nと見てもらうほうが、

bocchi-talks-information.hatenablog.com

に書いた推定量の定義と一致して分かりやすいかもしれない。

十分統計量との関係は?

ところで昨日、最尤推定を説明する為に統計量が必要だ。なんて書いたと思うが、その理由は、最尤推定量が十分統計量の関数になるからだ。

証明は簡単で、T(x^N)を十分統計量とすると、分解定理から、

{ \displaystyle
p(x^N|\theta) = g(T(x^N)|\theta)h(x^N)
}

が成り立つ。最尤推定\hat{\theta}(x^N)の定義から

{ \displaystyle
\hat{\theta}(x^N) = {\rm argmax}_\theta p(x^N|\theta) = {\rm argmax}_\theta g(T(x^N)|\theta)h(x^N)= {\rm argmax}_\theta g(T(x^N)|\theta)
}

が分かる。(QED)

つまり、実用的な最尤推定は、「十分統計量をデータから計算してその統計量に対する最尤推定を行えばよい」と言うことが分かる。

最尤推定量は良い推定量か

良い推定量と言うのを書いていないのであまり触れたくはないけれど、 最尤推定量はデータ列の量Nが十分に大きいときに良い推定量であると言うことが知られている*3

では、「良い推定量とは何なのか?」ということが、やはり気になると思う。 この話をするために微分とか述語論理とかがどうしても必要になってくるので後回しにしていたけれど、 フィッシャー情報量だとか、クラメル・ラオ不等式だとかの話を次から2,3回ぐらいかけて書こうと思う。

*1:この手法のことを最尤推定とよぶ。

*2:引数が大きくなれば、返す値も大きくなる関数

*3:この十分にデータ列の量が大きいときに良いという性質を漸近有効性と統計理論ではよぶ。

統計量について

本の紹介

現代数理統計学 (創文社現代経済学選書)

現代数理統計学 (創文社現代経済学選書)

の統計量や十分統計量に関するところを荒く紹介*1

最も実用的な推定量を語るには

推定をするのに、おそらく実用上最も使われているだろう推定量は最尤推定と呼ばれる推定量*2。 今回、最尤推定を中心トピックとして書こうとしたら、どうしても統計量の説明が必要になった。 統計量から最尤推定までを一回で書くのは長すぎるので、今回は統計量と十分統計量について書こうと思う。

設定

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。 また、モデルとして、M = \{ p(x|\theta) \in \mathcal{P(X)}| \theta \in \Theta \subset \mathbb{R}^k \} を仮定する。

ここでデータがどのように出てくるかを考えてみる。 今回は、データが出てくる順番に関係なく毎回モデルM上の分布p^*\in Mにしたがって出てくるとしよう。 つまり、データ列が確率変数X^N = (X^{(1)}X^{(2)}\cdots X^{(N)})であり、各jについてX^{(j)}が確率分布p^*(x) \in M \subset \mathcal{P(X)}に従っているとする。 このとき、データ列の具体値x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})が得られる確率は

{ \displaystyle
{\rm Pr} \{X^N = x^N\} = \prod_{j = 1}^N p^*(x^{(j)})
}

となっている。

また、p^*\in Mなのでp^*を表すパラメータ\theta^*があって、p^*(x) = p(x|\theta^*)となっている*3

統計量とは

普通データを用いて推定するとき、データそのものを使うことはそんなに多くないと思う。

例えば、町内の人の年齢みたいな調査を行ったとして、(伊藤 薫さん | 57歳)みたいな表を作っただけで終わることってそんなにないはず。 大抵は平均年齢は47.89歳のようなデータの数値を用いた計算を行うと思う。

この考え方をもう少し抽象的にすると、統計量と呼ばれるものになる。言ってしまえば、一次元統計量Tとは関数

{ \displaystyle
T :  \mathcal{X}^N \to \mathbb{R}
}

のこと*4。 また、l次元統計量Tも定義できて

{ \displaystyle
T :  \mathcal{X}^N \to \mathbb{R}^l
}

となる。

現実世界の問題では、たいていの場合、統計量のみを用いてパラメータ推定を行うことが多い(統計量が得られたらデータは捨ててしまうことが多い)。

十分統計量とは

さて、統計量とはデータ列から実数への関数と言うことが分かったけれども、 どんなに役に立たない関数でも統計量とよべることに注意が必要。 たとえば、どんなデータ列に対しても0を返すような関数も統計量になっている。

また、統計量のみを用いるとデータ列の情報が何らかの形で失われることにも注意が必要。 ここで、本来は推定に必要な情報を捨ててしまわないようにしたい。

この欲求を満たす統計量が十分統計量だ。 言い換えると、推定に必要な情報を全てもっている統計量のことを十分統計量とよぶ*5

もっと正確に定義すると次のようになる。

ある統計量Tがパラメータ\thetaに関する十分統計量であるとは、

Tの具体値を与えたときのデータ列の条件付分布がパラメータ\thetaに依存しないことである。

分解定理

十分統計量は定義するのに条件付確率が必要そうな感じを受けるけれど、実際には、次の分解定理で分かることが、分かっていれば良いことが知られている。

ある統計量Tがパラメータ\thetaに関する十分統計量であることの必要十分条件は、

{ \displaystyle
p(x^N|\theta) = g(T(x^N)|\theta)h(x^N)
}

の形に分解できることである。ここで、hはパラメータ\thetaによらない。
証明

データ集合\mathcal{X}が連続であった場合、測度論が必要で証明が面倒くさいため、データ集合\mathcal{X}を離散的なものに限る。

(必要性)

{ \displaystyle
p(x^N|\theta) = g(T(x^N)|\theta)h(x^N)
} と分解できたとすると、 1\{\ \}を指示関数として次が成り立つ。

{ \displaystyle
\begin{align}
{\rm Pr} \{ T = t\} &= \sum_{x^N \in \mathcal{X}^N} p(x^N|\theta) 1\{T(x^N) = t\}\\
&=\sum_{x^N \in \mathcal{X}^N} g(T(x^N)|\theta)h(x^N) 1\{T(x^N) = t\}\\
&=\sum_{x^N \in \mathcal{X}^N} g(t|\theta)h(x^N) 1\{T(x^N) = t\}\\
&=g(t|\theta)\sum_{x^N \in \mathcal{X}^N} h(x^N) 1\{T(x^N) = t\}
\end{align}
}

また、統計量Tはデータ列から実数への関数だったので、 { \displaystyle
 {\rm Pr} \{T = t | X^N = \xi^N \} = 1\{ T(\xi^N) = t\}
} であることに注意すると、

{ \displaystyle
\begin{align}
{\rm Pr} \{X^N = \xi^N | T = t\} &= \frac{{\rm Pr} \{X^N = \xi^N , T = t\}}{{\rm Pr} \{ T = t\}}\\
&=\frac{{\rm Pr} \{X^N = \xi^N \}{\rm Pr} \{T = t|X^N = \xi^N \}}{{\rm Pr} \{ T = t\}}\\
&=\frac{g(T(\xi^N)|\theta)h(\xi^N)1\{T(\xi^N) = t\}}{g(t|\theta)\sum_{x^N \in \mathcal{X}^N} h(x^N) 1\{T(x^N) = t\}}\\
&=\frac{g(t|\theta)h(\xi^N)1\{T(\xi^N) = t\}}{g(t|\theta)\sum_{x^N \in \mathcal{X}^N} h(x^N) 1\{T(x^N) = t\}}\\
&=\frac{h(\xi^N)1\{T(\xi^N) = t\}}{\sum_{x^N \in \mathcal{X}^N} h(x^N) 1\{T(x^N) = t\}}
\end{align}
}

となり、Tの具体値を与えたときのデータ列の条件付分布がパラメータ\thetaに依存しない。 なので、Tは十分統計量である。

(十分性)

Tを十分統計量とする。必要性の証明を見てみると、

{ \displaystyle
{\rm Pr} \{ T = t\} = g(t|\theta)\sum_{x^N \in \mathcal{X}^N} h(x^N) 1\{T(x^N) = t\}
}

として、{\rm Pr} \{X^N = \xi^N | T = t\}Tの具体値を与えたときのデータ列の条件付分布がパラメータ\thetaに依存しない

{ \displaystyle
{\rm Pr} \{X^N = \xi^N | T = t\} =\frac{h(\xi^N)1\{T(\xi^N) = t\}}{\sum_{x^N \in \mathcal{X}^N} h(x^N) 1\{T(x^N) = t\}}
}

とすると、

{ \displaystyle
\begin{align}
{\rm Pr} \{X^N = \xi^N \} &= \sum_{t \in T(\mathcal{X^N})}{\rm Pr} \{X^N = \xi^N, T = t\}\\
&= \sum_{t \in T(\mathcal{X^N})}{\rm Pr} \{X^N = \xi^N | T = t\}{\rm Pr} \{ T = t\}\\
&= \sum_{t \in T(\mathcal{X^N})}g(t|\theta)h(\xi^N)1\{T(\xi^N) = t\}\\
&=g(T(\xi^N)|\theta)h(\xi^N)
\end{align}
}

となり成り立つ。

次回は

今回は、すこし講座としては難しくなった。 これで最尤推定を説明するための用意が(多分)整ったので、次回はその説明をしようと思う。

*1:だいぶ抜けているところが多いので、本格的にはこの本や前回紹介した本を読んで勉強してください

*2:どうしようもないぐらい複雑なモデルになると、最尤推定以外、とてもじゃないけれど計算量が追いつかなくて、使えなかったりする。

*3:もちろん、現実の世界では具体的なデータ列x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})から\theta^*を求めたいわけであって、データを集めている人は\theta^*を知らないことに注意。統計学情報理論の勉強をするときによく混乱する点ではあるのだけれど、理論を構築するときには背景まで全部分かっている神様視点が必要で、神様視点で得られた結果を使って現実問題に適用する(アルゴリズムを考える)ときにはデータを集めている人である人間視点が必要。この神様視点と人間視点をうまく切り替えていくことが大事。今回は、統計量という理論を語るので神様視点で話を進める。

*4:推定量と同じように、得られた実数のことも統計量とよぶ。

*5:ちなみに、十分統計量はどんなに次元lが大きくてもパラメータが推定できればよい。 そのため、例えば、実数値データ列x^Nがあったときに、それそのものx^Nを返す(恒等)関数も十分統計量とよべる。 それに対して、推定に必要な情報を必要最低限すべて持っている統計量にも名前が付いていて、最小十分統計量とよばれる。

推定問題について(簡単なパラメータ推定の設定)

本の紹介

統計学関連での本は日本語の本よりも英語の本のほうが良いものが多い。 と言うわけで、今回は、次を紹介。

Asymptotic Statistics (Cambridge Series in Statistical and Probabilistic Mathematics)

Asymptotic Statistics (Cambridge Series in Statistical and Probabilistic Mathematics)

今回の内容に相当することも書いてある。

設定

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。

データ列 x^Nとは、\mathcal{X}^Nの元で、

{ \displaystyle
x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})
}

であらわすとする。ここで、x^{(j)}\mathcal{X}の元でj番目のデータをあらわす。

パラメータ推定のパラメータとは?

前回

bocchi-talks-information.hatenablog.com

の最後で、問題の背景として推定する分布の形が指定されている場合、その分布の持つパラメータをデータ列 x^Nから推定する問題となるという話をした。

例えば、問題の背景として(一次元正規分布

{ \displaystyle
\mathcal{N}(x | \mu, \sigma) = \frac{1}{(\sqrt{2 \pi} \sigma)} {\rm exp} \left(- \frac{(x - \mu)^2}{2 \sigma^2}\right)
}

が仮定されている場合、2つの実数、期待値 \mu、分散 \sigmaが対象のパラメータとなる。 ここで、期待値 \muのとり得る値の範囲は実数全体 \mathbb{R}、分散 \sigmaについては非負の実数全体 \mathbb{R}_+となっている。

つまりこの場合のパラメータをデータ列 x^Nから推定する問題は、 データ列 x^Nから期待値 \mu標準偏差 \sigmaを導出する関数

{ \displaystyle
\hat{\mu} : \mathcal{X}^N \to  \mathbb{R}
}

{ \displaystyle
\hat{\sigma} : \mathcal{X}^N \to  \mathbb{R}_+
}

を考察する問題と、読み替えることができる。

もう少し抽象的に書くと

さて、パラメータ推定問題をもう少し抽象的に書いてみる。

まず推定する分布が p(x|\theta) \in \mathcal{P(X)}と表せるとする*1。 ここで、\thetaパラメータとよび、集合\Theta \subset \mathbb{R}^kに含まれるものとして、kをパラメータの自由度とよぶ。

一次元正規分布の場合、\theta = (\mu, \sigma)\Theta = \mathbb{R} \times \mathbb{R}_+k = 2となっている。

また、推定対象の分布全体の集合を

{ \displaystyle
M = \{ p(x|\theta) \in \mathcal{P(X)}| \theta \in \Theta \subset \mathbb{R}^k \} \subset \mathcal{P(X)}
}

と書いて、これをモデルと呼ぶこととする。 さらにデータ列 x^Nからパラメータ \thetaを導出する関数

{ \displaystyle
\hat{\theta} :  \mathcal{X}^N \to \Theta
}

推定量とよばれる*2

やっと出発点

(点)推定の理論体系にとって、この設定が一番のおおもとになっている。 ここから設定にいろいろ手を加えることによって、豊富な世界が広がってゆく。 有名なクラメル・ラオの不等式だとかもここから始まる。

後日、稿を改めて、そのあたりの話について触れていきたいと思う。

*1:もしくは、 p_\theta \in \mathcal{P(X)}と書く。

*2:普通の語感からは推定器のほうが良い感じがするけれど、推定器は具体的な実装を表している(estimating instrument)。また、推定量(estimator)から得られた値のことも同じく推定量(estimate)とよばれる。

推定問題について(問題の背景を何も考えない場合)

本の紹介

今回参考にしているのは、コレ!と言うものはないのだけれど、 たぶん、今回の話を格式高くしたものが

情報幾何学の基礎 (数理情報科学シリーズ)

情報幾何学の基礎 (数理情報科学シリーズ)

に出ているだろうと期待して。

設定

データ集合\mathcal{X}が与えられているとして、\mathcal{P(X)}を集合\mathcal{X}上の確率分布全体のなす集合とする。

bocchi-talks-information.hatenablog.comの最後で書いたとおり、推定問題はデータ列から確率分布(仮説)を推定する問題。

N個の要素を持つデータ列 x^Nとは、\mathcal{X}^Nの元で、

{ \displaystyle
x^N = (x^{(1)}x^{(2)}\cdots x^{(N)})
}

であらわすとする。ここで、x^{(k)}\mathcal{X}の元でk番目のデータをあらわす。

つまり、この推定問題は、

「データ列 x^N \in \mathcal{X}^Nからそのデータが出てきたであろう分布p \in \mathcal{P(X)}を推定する規則や写像を求める」

という問題と読み直せる。

単純な答案

さて、まず個々の問題設定の背景を何も考えないで、単純にデータ列 x^N \in \mathcal{X}^Nから分布p \in \mathcal{P(X)}を推定してみる。

多分、小中学生のときだったと思うのだけれど、何かの授業でヒストグラムと言うものを習わなかっただろうか? なにやらデータの取りうる範囲を区切って、得られたデータをその区切りの中に何個入るか分けて数えて表にするあれ。 その何個入ると言うところをNで割って、合計が1になるように規格化したものは度数分布と呼ばれ、 単純な分布としては、まずまず納得のいくものだと思える。

経験分布

しかし、問題点もすぐに考え付く。それは

「範囲を区切って」というけれど、その範囲(幅や広さ)はどう決めればいいの?

と言うところが、作る人任せになるということだ。そこで、究極の度数分布を考えてみよう。 それは、範囲を極端に小さく、どの範囲にも1つの値しか入らないとしたものだ。 このようにしてできた分布は経験分布と呼ばれ*1、 データ集合\mathcal{X}が離散的である場合は、満足のいくものになる*2

経験分布は次のように書ける。

{ \displaystyle
p_{x^N}(a) = \frac{{\rm count}(a | x^N)}{N},\ \ \  a \in \mathcal{X}
}

ここで、{\rm count}(a | x^N)x^Nの中にaが何個あるかを数え上げる関数。

経験分布や度数分布でよいのか?

さて、これで十分良い分布が得られた。さぁ、実装しよう。とは普通ならない。 なぜなら、推定問題の問題設定として、分布の種類が指定されることがよくあるからだ。

具体的には、

「このデータはガウス分布から出てきているのは分かっているんだよね」

とか、

「このデータは幾何分布から出てきているのは分かっているんだよね」

他にも、

「このデータは、ガウス分布2つの凸結合で表される分布で(以下略」

というものだ。

もちろん、経験分布や度数分布は、ガウス分布や幾何分布、ガウス分布2つの凸結合で表される分布ではない*3。 これらの場合は、ガウス分布や幾何分布、ガウス分布2つの凸結合で表される分布の持つパラメータを推定すると言う問題になる。

このパラメータ推定問題は、問題の背景を考えているので、後日稿を改めて。

*1:度数分布も経験分布と呼ばれることがある。

*2:連続的な場合はほとんどいたるところ確率0の「すかすか」な分布になるので、直感的におかしなことになっているように思える。そこで、各点に小さな球状のふくらみを持たせて作るなんて事がよくやられる。この場合、「ふくらみ」の大きさを調整すると言う問題が出てくるので、なかなかすっきりとはいかない。

*3:Nが十分大きければ、それっぽい形になっているとは思うけれど。