Skip to content

Instantly share code, notes, and snippets.

@euske
Last active June 19, 2020 23:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save euske/f3e7ca0b3db15b16ae838a17f4a281b3 to your computer and use it in GitHub Desktop.
Save euske/f3e7ca0b3db15b16ae838a17f4a281b3 to your computer and use it in GitHub Desktop.

ベイズ確率に関する覚え書き

「ベイズ確率」「事前確率」「事後確率」という用語がなんとなくピンとこない人に

まず、確率の主観性について

すべての確率モデルは主観的なものであり、 したがって確率も主観的な数値である。

たとえば、コインを投げて表が出る確率を考えてみよう。 そもそもコイントスに「表」「裏」の2種類の可能性しかないという 考え方が主観的なものだ。実際には、コインを投げたら真ん中で立ってしまう かもしれないし、コインが爆発して消えてしまうかもしれない。 だが通常はそうした可能性を無視して、人間にとって都合のよい世界を 勝手に構築している。

ベイズ確率とは何か?

以下の言明を考える:

「(一度も試合をしたことがない) チーム A と B が、明日サッカーの試合をする。 Aの勝つ確率は、おそらく XX% ぐらいであろう」

「西暦2100年に世界の人口が 100億人を超えている確率は XX% である」

「X さんは Y さんを好きな可能性はおそらく XX% ぐらい」

このような言明はごく普通に耳にする。 しかし従来の (ベイズ確率でない) 頻度主義の確率では、このような言明は許されない。 なぜなら、どの事象も観測できないからである。 チームAとBはそれまで一度も試合をしたことがないし、XさんもYさんも世界に1人しかいない (XさんとYさんが世界に100人ぐらいいるのであれば頻度主義でも確率は出せるが...)。 頻度主義においては、確率は母集団の中から観察された事象の頻度であるから、 一度も観測されたことがない事象に対してはそもそも確率というものを定義できないのだ。

いっぽうで、ベイズ確率の考えでは、確率とは観測された事象の割合を 表すものではなく「言明の確からしさ」を表すものなので、 上のような言明も可能になる。

(実は、上の例でも、XさんとYさん個人ではなく、「XとYに似た人間」を対象にすれば、 頻度主義でも確率を議論することが可能である。だがその場合は「似た人間とは何か」を定義しなければならず、 当然ながらこの定義は人間の主観によるものである。繰り返すが、確率モデルはつねに主観的なのだ。)

事前確率 (prior probability)

事前確率とは、おおざっぱにいえば「何ごとかを知る前の確率」である。 たとえば、以下の質問を考える。

「チームA と B がサッカーの試合をしたとする。さて、Aの勝つ確率は何%でしょう」

チーム A と B について何の情報も与えられていないとすると、 ふつうの人の反応は「そんなのわかるわけねえだろ」である。 しかし、とにかく何らかの答えを出さなければいけないとすると、 たいていの人は「まあ、50%かな」と答えるであろう。 この確率が uninformative prior (あるいは diffuse prior) である。 つまり何も情報がないので、すべての結果が等しい確率で 起こりうると仮定するわけだ。

もしここで「いや、A が 90% で勝つ」とか言いだした人がいると、 お前は何か知ってるな、ということになる。 このように「すでに何か知っている人」による事前確率を informative prior という。

事後確率 (posterior probability)

さて、上の例で、チーム A がじつは日本で、チーム B がじつはスペインだった、 という事実が判明したとする。これを「事実1」しよう。 すると、確率はもはや適当に「50%」と決定できるものではない。 おそらくいろいろな分析によって、日本の勝つ確率が推定できるのであろう。 この過程が「推論」と呼ばれるプロセスである。

さて、推論の結果「チームA (日本) の勝つ確率は 48%」ということになるかもしれない。 この確率が「何ごとかを知った後の確率」、つまり事後確率ということになる。 事前・事後の「事」とは、事実の「事」だと思えばよい。

(実際には「事象」なのだが、この用語は混乱を招く。 たとえばこの例で「事象」というと「サッカーの試合そのものの結果」のように 思えてしまうためである。実際の「事象」「観測」というのは、 もっと小さなものでもよい)

さらにこの後、この試合はチーム A がホームで、チーム B が アウェイだという事実を「観測した」とする。これを「事実2」とする。 これをふまえてまた確率が修正され、「チーム A の勝つ確率は 51%」 ということになるかもしれない。 このとき、事実1の事後確率 (posterior) が事実2の事前確率 (prior) となっていることに注意。 つまり

  • 事実1の事前確率 (uninformed prior): 50%
  • 事実1の事後確率: 48%
  • 事実2の事前確率 (informed prior): 48% ... 事実1の事後確率と同じ
  • 事実2の事後確率: 51%

ちなみに、事実2の prior はすでに「チームAが日本」という事実を知った後なので、 uninformative prior ではない。

このように事実を追加することで推論を繰り返していき、 最終的により精密な確率を得るのが「ベイズ推定」である。

おわりに

ところで、日本語で「事前確率」「事後確率」って書くとどっちも似たような文字で読みにくいのでイヤである。 英語でpriorとposteriorと書いたほうが読みやすい。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment