ゆくゆくは有へと

おかゆ/彼ノ∅有生 の雑記

ベイズの公式の「事後確率」について

はじめに

最近、ベイズ的なアレを色々調べているのだけど、結構面白い。

ただ、少し気になることがあり、かつ、それがあまりウェブに記載がなかったので、メモがてら書いておくことにした。

統計モデリングと「ベイズの公式」

フラットな立場でいえば「統計モデリング」や「確率モデリング」、少し匂いをつけると「ベイズモデリング」は、データ解析者がなんかしらのパラメータを内部にもつ確率モデルを設定し、そのパラメータを観測されたデータに基づいて適宜更新していく一連のプロセスによって成り立つ。

それで、どのようにして確率モデルを更新していくか?というと、「ベイズモデリング」の名の通り、かの有名な「ベイズの公式」を用いる。よく言われるのは「原因」と「結果」の関係だが、もう少しフラットに説明する。

ある対象がどんな状態なのかを、その対象が呈する表現から推測する。対象への理解として、一般的な知識や経験に基づいて、どれくらいの確率で各状態になるのかが分かっている($P(State)$が既知)。さらに、その対象が或る状態だったときに、注目している表現を呈する確率も知っている($P(Expression | State)$が既知)。このとき、ある表現が観測されたときの、各状態でありうる確率を求める。

今回の文脈では、対象とは解析者が措定した確率モデルのことにほかならず、「状態」として、確率モデルのパラメータを $\theta$, 「表現」として、観測されうるデータを $Data$ とすれば:

$$ P(\theta | Data) = \frac{P(Data | \theta)P(\theta)}{P(Data)} = \frac{P(Data | \theta)P(\theta)}{\sum_{i} P(Data|\theta_i)P(\theta_i)} $$

ベイズの公式となる。この式は、繰り返しになるが、「今の確率モデル($\theta$をパラメータとするモデル)のもとで、仮に $Data$ が観測されたときに、確率モデルのパラメータ として $\theta$ が、より正確である(現実に即している)確率」を表している。

この時点では、$Data$ はまだ「実際に観測されたデータ」ではなく「観測されうるデータ」として、つまり、「もしも話」だということに留意しておく。

世の中的には広く、これの左辺($P(\theta | Data)$)を事後分布と呼び、一方で右辺の $P(\theta)$ のことを事前分布と読んでいる。

おかゆは、この状態で「事後確率」と呼ぼうとするのはちょっと早漏なんちゃうかな?と思っている、というのがこの記事のメイン。

「モデルの更新」をきちんと書く

「事前確率 → 事後確率」という「更新」のプロセスが、ベイズの公式に含まれているかと言われると甚だ怪しい。上述したように、ベイズの公式が述べるのは「もしも話」であって、「実際に云々のデータが観測され、更新した後の $\theta$ の確率」それ自体を語っているわけではない。非常に雑にいうと、モデルをどう更新するのかは完全に人為的な営みであり、ベイズの公式が提示してくる $P(\theta | Data)$ は更新方針のいち材料でしかない。……という立場を取ると、$P(\theta | Data)$ のことを「事後確率」と呼ぶのは、ベイズの公式の時点では早計だというように思うわけです。

モデルの更新は、ベイズの公式ではなく、人の手によって行われるというのが、まず1つ目のメモです。

つまるところ、$P^{\rm{new}}(\theta)$ をどうやって決定しようかという話です。これはある種、アルゴリズム的な話でもありますが、確率論的な裏付けがほしいです。というわけで:

$$ P^{\rm{new}}(\theta) = \sum_{i} P(\theta | data_i) P(data_i) $$

によって更新することにします。「云々のデータがこれくらいの確率で出る」という情報と、ちょうど先ほどベイズの公式で求めた「云々のデータが出たときの、パラメータ $\theta$ の当たり具合」という情報を用いれば、なるほど、モデルは更新できそうです。

さて、データの観測を一発勝負にします。一度だけ観測し、あるデータ $data_k$ が得られた場合、その確率分布は:

$$ P(Data = data_i) = \Delta_{i, k} $$

とできるはずです。ここで、今は簡単のために離散分布を考えているので、$\Delta_{i, k}$はクロネッカーのデルタです。連続分布を考えるなら、ディラックのデルタにしてください。

今まさにそのサンプリングによって得られるデータの確率は、実際の観測によって収束した、という風に考えたわけです。

得られるデータの確率分布(というか、$data_k$ が得られたという事実)、および、ベイズの公式の左辺項を用いて、結果的に更新後の確率モデルパラメータの分布は:

$$
P^{\rm{new}}(\theta) = \sum{i} P(\theta | data_i)P(data_i) = \sum{i} P(\theta | data_i) \Delta_{i, k} = P(\theta | data_k)
$$

となり、結果的に、$P(\theta | data_k)$ が確かに「事後確率」として採用できることが示せました。

まとめ

モデルの更新は、ベイズの公式ではなく、人の手によって行われるものであるはずです。そこで、いわゆる「ベイズ更新」を用いる際のその手の動かし方をきちんと書くことで、確かにふつう「事後確率」と呼ばれるものが、更新後の分布として採用されることを示しました。

このプロセスを経ると、確かにベイズの公式の左辺項は「事後確率」と呼んでいいですが、ベイズの公式を「事後確率を算出するための式」として権威づけるのは、ちょっとやりすぎな感じはしますよね。

おまけ