目次
Math
Analysis
Experiment
Simulations

ベイズ統計学

▶︎
all
running...

頻度主義とベイズ主義

これに触れるのは気が引けるというか,ややこしいのですがどの統計本もこの話題から触っているので一応.確率を考える方法には,どうやら "主義" があるようです.確率や統計はその性質上,絶対的な正解というものは存在しません.

「こんな傾向があるよね」なんて議論を数学的にやろうという話なので,絶対はないからです.それ故,考え方の基礎というか根っこの部分で置く仮定のようなもので派閥が別れるのかななんて思っています.

とかく,確率には頻度主義と呼ばれる派閥とベイズ主義と呼ばれる派閥があります.この派閥という表現だと対立しているようにも思えますし,実際対立している面倒な人達もいるようですが実際の現場ではどちらも便利なところがあるし,要は使い分けだと思います.よってどちらが優れているとか,どちらが正解とかいう議論は無意味だし,答えもないと思います.注意してください.

ということで,筆者はこうした宗教戦争には興味がないのと下手に触れると炎上しそうなので紹介だけです.興味があるようなら自分で勉強してみてください.正直自分はよく分かってないです.

加法定理と乗法定理

ベイズ統計に入る前に,確率に関する基本的な法則を二つ導入しておきます.加法定理と乗法定理です.三角関数とかでおなじみのあれです.確率の加法と乗法について考えてみましょう.

まずは加法定理から.確率変数 X,YX,Y を導入します.それぞれ X=xi,Y=yjX=x_i, Y=y_j を取る確率を p(X=xi,Y=yj)p(X=x_i, Y=y_j) と書き,これを X=xi,Y=yjX=x_i, Y=y_j の同時確率と言います.

ここまでは良いですよね.xiyjx_iとy_j が同時に観測される確率だから同時確率です.

さて,この X,YX, Y の両方についてそれぞれサンプルを取る作業を N 回行う事にします.この時,X=xi,Y=yjX=x_i, Y=y_j となる試行の回数を nijn_{ij} と表します.こうすると,以下の式が成り立ちますね.

p(X=xi,Y=yj)=nijN\begin{align} p(X=x_i, Y=y_j) = \frac{n_{ij}}{N} \end{align}

これは普通に,「大小のさいころ 2 つを振って大 3,小 6 を引く確率(同時確率)を求めよ」とかと同じです.全試行分の当該試行ですね.

では次に,X=xiX=x_i となる確率を考えます.Y が取る値と関係なく,X=xiX=x_i となる試行数を cic_i としておきましょう.そうすると,p(X=xi)p(X=x_i)

p(X=xi)=ciN\begin{align} p(X=x_i) = \frac{c_i}{N} \end{align}

になります.「大小2つのさいころを振って,大きい方が 6 になる確率は?」です.うーん?この例あまり良くないですね.どちらにせよ試行数 1 なので...まあいいや.

この式 (2) ですが,式(1) を使ってあえて複雑に書けばこうなります.

p(X=xi)=j=1p(X=xi,Y=yj)=j=1nijN\begin{align} p(X=x_i) = \sum_{j=1} p(X=x_i, Y=y_j) = \sum_{j=1} \frac{n_{ij}}{N} \end{align}

Y の値はなんでも良いから,X が xix_i になる確率を出したのが式(2)なので,これは全ての Y=yjY=y_j について式 (1) を足し合わせたものと同じだよねという式になります.

これが確率の加法定理です.また,捉え方を変えるとこの処理は xx 以外の変数 (ここでは yy)についての周辺化をするとも言い,式(3) を xx の周辺確率とも言います.

次に,X=xiX=x_i が既に観測されている状況に限って,その中で Y=yjY=y_j が観測される可能性を考えます.これを条件付き確率と言い,今の例だと以下のようになります.

p(Y=yjX=xi)=nijci\begin{align} p(Y=y_j | X=x_i) = \frac{n_{ij}}{c_i} \end{align}

左辺の記法,最初は慣れないかもしれませんが慣れましょう.縦線は条件付きである事を表し,「右側の条件の元の左についての~~」を意味します.逆にならないように注意.筆者は最初よく逆に捉えていてわけわからんになっていましたが,これ以降頻繁に出てくる表現です.ここでは,上で述べたように X=xiX=x_i の時の Y=YiY=Y_i の確率 (p)(p) という意味です.

式に戻りますが,右辺は分母にX=xiX=x_iになる試行数であるcic_iが来ていて,分子はXとYがxi,yjx_i, y_jになる試行数であるnijn_{ij}ですね.言葉の通り,X=xiX=x_iが確定した状況でのY=yjY=y_jが成り立つ可能性になっている事が分かるかと思います.

以上の事から確認されるように,加法定理同様,式(1,2)を考慮すると

p(X=xi,Y=yj)=p(Y=yjX=xi)p(X=xi)\begin{align} p(X=x_i , Y=y_j) = p(Y=y_j | X=x_i)p(X=x_i) \end{align}

が言えます.つまり,X=xi,Y=yjX=x_i , Y=y_j の同時確率は X=xiX=x_i が観測された上での Y=yjY=y_j の確率であり,これらの乗算によって求められるという事です.一応計算しても,

p(Y=yjX=xi)p(X=xi)=nijciciN=nijN\begin{align} p(Y=y_j | X=x_i)p(X=x_i) = \frac{n_{ij}}{c_i}\frac{c_i}{N} = \frac{n_{ij}}{N} \end{align}

で式 (1) が確かに求められていますね.これが確率の乗法定理です.意味するところは,X=xi,Y=yjX=x_i, Y=y_j の同時確率は X=xiX=x_i の確率と,X=xiX=x_i の元での Y=yjY=y_j の条件付確率との積である,ということになります.

まとめると,確率論の基本法則2つは以下になります.

確率の基本法則

p(X)=Yp(X,Y)加法定理p(X,Y)=p(YX)p(X)乗法定理\begin{align} p(X) = \sum_Y p(X,Y) \qquad \text{加法定理} \nonumber \\ p(X,Y) = p(Y|X)p(X) \qquad \text{乗法定理} \nonumber \end{align}

ここで p(X)p(X) は確率変数 XX の確率分布を指します.なので先程までの記法に従うと p(X=x1,x2,x3,...,)p(X=x_1, x_2, x_3, ..., ) となります.面倒なので以降はこうやって省略します.

ベイズの定理

いよいよベイズに行きます.ここではベイズ統計の歴史だとか主義がどうとかは一切触れないので,ぬるっと導入していきます.筆者がベイズいまいち分からん気がする理由は,ここでぬるっと導入できちゃうところにあったりもします.つまり主義がだの仮定がだの言っている割に,いわゆる頻度統計 (?) で使ってる普通の式の変形でだせちゃうんですよね.いきます.

まず,同時確率は対称です.つまり p(X,Y)=p(Y,X)p(X,Y) = p(Y,X) です.式 (1) より自明ですね.この性質を使って遊んでいるとベイズの定理が出てきちゃいます.

p(X,Y)=p(YX)p(X) p(YX)=p(X,Y)p(X)p(YX)=p(XY)p(Y)p(X)p(X,Y)=p(Y,X)\begin{align} p(X, Y) &= p(Y|X)p(X) \nonumber\\ \therefore p(Y|X) &= \frac{p(X,Y)}{p(X)} \nonumber\\ \therefore p(Y|X) &= \frac{p(X|Y)p(Y)}{p(X)} \qquad \because p(X,Y) = p(Y, X) \end{align}

できちゃいました.

さて,あっさりとベイズの定理が出せちゃったわけですが,その意味を解釈する前にもう一つ導きたい式があります.分母にいるp(X)p(X)に関して,加法定理と同時確率の対称性を使って

p(X)=Yp(X,Y)=Yp(Y,X)=Yp(XY)p(Y)\begin{align} p(X) = \sum_Y p(X,Y) = \sum_Y p(Y,X) = \sum_Y p(X|Y)p(Y) \end{align}

が言えますね.これを使って書き直した特殊な表現と原型を以下にまとめます.

ベイズの定理

p(YX)=p(XY)p(Y)p(X)p(YX)=p(XY)p(Y)Yp(XY)p(Y)\begin{align} p(Y|X) &= \frac{p(X|Y)p(Y)}{p(X)}\\ p(Y|X) &= \frac{p(X|Y)p(Y)}{\sum_Y p(X|Y)p(Y)} \end{align}

上の式がよく見るベイズの形.下は式 (8) を使って定義しなおした式です.下を使って,ベイズの定理の意味するところを見ていきましょう.右辺の分母は,分子の計算を全ての YY について足し合わせたものになっています.つまりこれは,左辺の条件付確率を全ての YY について足し合わせると 1 になるように正規化しているのだという事がわかります.確率だもんね,A である確率は 60%,Bである確率が 90%,あわせて 150% です!なんてあほな話は困ります.

大小2つのさいころの例で考えるなら,こんな感じ

p(=1=3)=p(=3=1)p(=1)p(大=3=1)p(=1)+...+p(大=3=6)p(=6))=16×16136+136+136+136+136+136=16\begin{align} p(小=1|大=3) &= \frac{p(大=3|小=1)p(小=1)}{p(大=3|小=1)p(小=1) + ... + p(大=3|小=6)p(小=6))}\\ &= \frac{\frac{1}{6} \times \frac{1}{6}}{\frac{1}{36} + \frac{1}{36} + \frac{1}{36} + \frac{1}{36} + \frac{1}{36}+ \frac{1}{36}}\\ &= \frac{1}{6} \end{align}

このことから,ベイズの定理の大事な部分は分母以外の p(YX),p(XY)p(Y)p(Y|X), p(X|Y),p(Y) になります.こいつらについてそれぞれ何を意味しているのか考えていきましょう.

まず p(Y)p(Y)p(YX)p(Y|X) です.p(Y)p(Y) は単純ですね,確率変数 Y の分布です.これは,計算を行う前から我々が「知っている」分布なので,Yの事前分布といいます.

知っているとは何かというのがベイズ確率の面白い?批判されている?ところで,ここで置く分布はなんでもいいです.「さいころなんだから全部 1/6 の一様分布でしょ」としてもいいし,「さっきから 3 ばかり出てるから 3 が 60% くらいな気がする」でも,「3 が全然出てこないからそろそろ出てきそう」でもいいし,とにかく,Xを観測する前に想定されているYの確率です.

一方,p(YX)p(Y|X) は何かというと,X を観測した元での,という条件付確率分布なので事後分布と呼びます.ベイズで求めるのは事後分布ですね.事前分布 p(Y)p(Y) に何か (p(XY),p(X)p(X|Y), p(X)) をかけたり割ったりして,条件付確率 p(YX)p(Y|X) にしているので,事前分布を得られた X で条件づけた何らかの処理によって修正する過程とも捉えられることが分かります.

残りは p(XY)p(X|Y) ですね.こいつが多分一番納得しにくいのかなと思います.対称性使ってひょっこり持ってきた項だしね.これは X の Y の元での条件付確率です.先程確認したように,ベイズの定理は事前確率 p(Y)p(Y) を,X を観測した上での p(YX)p(Y|X) に修正する過程でした.

ここでYの元での X,というのが何を指すかですが,事前確率 Y の元でデータXが観測される可能性,ですね?

なので,事前確率のもとで観測 X が起こりやすいほど大きな値になり,逆にありえないほど小さい値になります.事前分布が,得られたXに対してどれだけもっともらしいのかを表すので尤度と呼ばれる量です.

以上を踏まえて,改めてベイズの定理を眺めると,正規化項を無視すれば

事後分布尤度×事前分布\begin{align} 事後分布 \propto 尤度 \times 事前分布 \end{align}

という式であると解釈する事ができます.
 事前分布で持ってきていた "予想" の元で得られたデータがどれだけありえるかで予想を修正していくわけですね.あ,\propto は比例を意味する記号です.

理解を深めてもらうため,一つちゃんとベイズっぽい例題を考えてみます.

研究室 A と研究室 B があります.研究室 A は男 4 人,女 6 人,研究室 B は男 8 人女 2 人だとします.多分
 研究室 A は心理系でしょうか,空気が良さそうで,研究室 B はくさいオタクが多そうですね.女性 2 人の心労はすごそうです.

それはさておき,今ここからどちらかの研究室を選択し,無作為に3回授業の手伝いのために雑用を選んで来たら,男男女だったとします.さて,最初に選んだ研究室はどちらでしょう?という問題を考え,ベイズ的に解いてみましょう.

研究室が A,B である事象をそれぞれ L=La,LbL=L_a, L_b とし,選んだのが男女である事象を S=Sm,SfS=S_m, S_f
とします.

今,1 回目に男性が選択された時の研究室 A,B それぞれの事後確率を計算してみましょう.ベイズの定理を使って表してみます.

p(LaSm)=p(SmLa)p(La)Lp(SL)p(L)p(LbSm)=p(SmLb)p(Lb)Lp(SL)p(L)\begin{align} p(L_a | S_m) = \frac{p(S_m|L_a)p(L_a)}{\sum_L p(S|L)p(L)}\\ p(L_b | S_m) = \frac{p(S_m | L_b)p(L_b)}{\sum_L p(S|L)p(L)} \end{align}

こうなりますね.次に各変数に実際の値を代入していきます.まず研究室の選択方法は無作為であったと仮定し,事前分布は一様,つまり p(La)=p(Lb)=12p(L_a)=p(L_b)=\frac{1}{2} とします.p(SmLa),p(SmLb),p(Sm)p(S_m|L_a), p(S_m|L_b), p(S_m) は上記の設定より普通に計算できるので,1回目の試行での事後確率は以下のようになります.

p(LaSm)=410×12410×12+810×12=13p(LbSm)=810×12410×12+810×12=23\begin{align} p(L_a | S_m) = \frac{\frac{4}{10} \times \frac{1}{2}}{ \frac{4}{10}\times \frac{1}{2} + \frac{8}{10}\times \frac{1}{2}} = \frac{1}{3}\\ p(L_b | S_m) = \frac{\frac{8}{10} \times \frac{1}{2}}{ \frac{4}{10}\times \frac{1}{2} + \frac{8}{10}\times \frac{1}{2}} = \frac{2}{3} \end{align}

これはまあ普通ですよね.単純に全体のうち男性の比率が研究室 A と B で 1:2 になっているのを反映しています.では次に 2 回目の試行について考慮します.1 回目に男性が出たという事から,研究室 AorB という事前分布が更新されます.

先程は一様にどちらも 50% という仮定でしたが,今回は研究室 B である確率が高いと考えて事前分布を設定します.注意が必要なのは,分子の事前分布のみでなく分母に含まれている p(Y)p(Y) の値もそれぞれ更新されている事です.この点,あえて p(Sm)p(S_m) と書かない今回の記法の方が理解しやすいと思います.

p(LaSm)=410×13410×13+810×23=15p(LbSm)=810×23410×13+810×23=45\begin{align} p(L_a | S_m) = \frac{\frac{4}{10} \times \frac{1}{3}}{\frac{4}{10} \times \frac{1}{3} + \frac{8}{10} \times \frac{2}{3}} = \frac{1}{5}\\ p(L_b | S_m) = \frac{\frac{8}{10}\times \frac{2}{3}}{\frac{4}{10} \times \frac{1}{3} + \frac{8}{10} \times \frac{2}{3}} = \frac{4}{5} \end{align}

確率が更新されました.これがベイズの「母数自体がパラメータ」という考え方を反映していて,唯一無二の確率を出すというよりも「今まで得られているデータからはこんな事が言えそう」という主張です.よってデータを得るたびに逐次的に更新する事が出来ます.

これを使ったのが,後で触れる逐次学習だったりになりますがそれはとりあえず置いておきます.
 さて,最後.今まで男男と連続で引いたので,やはり男性率の圧倒的に高い研究室 B である確率が高いという事になっています.しかし最後は女性を引きます.どうなるでしょう?

p(LaSf)=610×15610×15+210×45=614p(LbSf)=210×45610×15+210×45=814\begin{align} p(L_a | S_f) = \frac{\frac{6}{10} \times \frac{1}{5}}{\frac{6}{10} \times \frac{1}{5} + \frac{2}{10} \times \frac{4}{5}} = \frac{6}{14}\\ p(L_b | S_f) = \frac{\frac{2}{10}\times \frac{4}{5}}{\frac{6}{10} \times \frac{1}{5} + \frac{2}{10} \times \frac{4}{5}} = \frac{8}{14} \end{align}

ありゃ,意外とがっつり削られたな.こんなもんなのか.3 回目に女性を引いたことによって,今まで高まっていた研究室 B である確率ががくりと落ち,逆にAである確率が上がりましたね.とはいえまだ B が優勢...という状況です.

例のごとく事前分布 p(Y)p(Y) は更新されているので注意.ベイズ統計はこのようにして予想を適宜修正していくような使い方が出来るわけですね.この,少しずつ分布を更新していく過程をベイズ更新とも言います.これゆえ機械学習だとか脳のモデルと相性が良いわけです.つまり,得られたデータを毎瞬反映させて少しずつ内部モデルを更新していけるわけです.つよい.

面倒なので計算はしませんが,一つ皆さんも気になるだろう話題について問題提起だけしておきます.今回の問題では研究室 A か B のどちらが選ばれたのか最初に一様分布を仮定しましたが,そうじゃない場合はどうなるでしょう?

雑用を選ぶ問題だったので,なんとなく先生の力が弱い方の研究室が押し付けられそうですよね.研究室Aは新任の特任准教授,研究室Bは学部長の主催するラボだったとしましょう.そうするとなんとなく,押し付けらそうなので事前分布に研究室 A75%, B が 25% とかって仮定をおいてみたくなります.

アカデミア,政治色強いですよね.研究は大した事なくても政治だけでのしあがっていく先生も多いし,闇を感じるところは多々あります.コネって大事ですよね.

閑話休題.

さて,暇な人はこのように事前分布を変えて計算してみてください.当然結果は変わります.そしてこの点がまさに,ベイズに批判的な人達の武器で,事前分布に何を用いるかが結局強く影響しちゃうんですよね.なのでベイズを用いる際は,事前分布の妥当性はちゃんと検証しなければならないです.

無情報事前分布

わすれてた

共役事前分布

ごめんなさい!!!!!!!!!!!

ベイズの応用

応用,というか実際にベイズを何にどうやって使っていくのかという話です.まず,ここまでベイズは離散で考えてきましたが当然連続確率分布でも計算できます.むしろそっちの利用の方が多いでしょう.まぁ例のごとく基本は \sum\int に変えるだけです.

これを使ってどんなアプリケーションが使えるのかというと,先程の逐次学習がまずあります.次々観測されるデータを元に,内部モデルを更新していく過程ですね.パターン認識,機械学習,それから脳のモデルなんかに頻繁に適用されて議論されます.

自分の専門でもあるから少し述べるなら,脳は常に環境に適用するため,次に何が起きるのかや,得られた刺激がどういったものなのかを推定していく必要があります.

同時に,もしその推定が間違っているなら修正していく必要があるし,うまくいったなら強化していくと嬉しい事がありそうです.まさにこの過程がベイズ使った更新なんじゃない?みたいな話になっていくわけですね.

まぁ実際はそんな単純じゃないし,上に書いたような内容は古いというか単純な話です.もう少し複雑だったり,厳密にはちょっと違ったりしてきます.がこれ以降は万人に共通して必要な知識というほどでもないと思うので他のページ (ベイズ予測など) に引き渡します.興味ある人は読んでみてください.