数学

ベイズ統計学入門①〜確率とは〜

ベイズ統計学について、確率や平均値・分散などの統計学の基礎も踏まえて順番に解説していきます。
確率・平均値・分散を説明し終えたら、ベイズ統計の流れからベイズ更新まで説明し、pythonで実装まで行っていきます。

確率とは?

確率とは事象の不確かさを表すための数学的な道具です。
良くある例としては、コインの表が出る確率・熱が37.5°C以上あった時のコロナの確率などがあります。
もし、熱が37.5°Cあってもコロナでない場合もあります。このように事象が決まっていない不確かなものを表すために確率という手法を使います。

では、どうやって確率(不確かさ)を表していくのでしょうか?

コインの表が出る確率を例に考えていきましょう

一つ目の考え方

考え方の一つとして、コインが取りうる状態に着目してみます。
コインは前提として、表と裏の2つの値のみとるとします。
側面で立つ可能性もありますが、今回は考慮しないこととします。

そして、表と裏のどちらかが出やすいということもないです。細工してあれば別ですが、これも考慮せずに進めます。

では、これらの条件からどのように確率を計算するのかというと、このようになります。

コインの表が出る確率 = {表} / ({表}+{裏}) = 0.5

この式は、分母が全ての事象を表していて、分子が表の出る事象として計算ができます。

これを一般化すると、ラプラスの定義というものにたどり着きます。
簡単に言ってしまうと下記の式です。これは直感的ですね。

着目事象の確率 = 着目事象の数 / 全事象の数

この式で重要なのは、非着目事象の確率も求められる点です。
式で表すとこのようになります。

非着目事象の確率 = 非着目事象の数 / 全事象の数

この2つの式から分かるもう一つのことは、
着目事象の確率 + 非着目事象の確率 = 1.0
=> 確率を全て足し合わせると1.0になります。
これは良く使う知識なので覚えておいてください。

2つ目の考え方

コイン投げ(試行)を何度も繰り返して、その結果から確率を定義します。

例えば、10回繰り返した時に表が出た場合を○、裏が出た場合をXとします。

○XX○X○X○○○

結果が↑のように表が6回、裏が4回になったと仮定します。

表が出る確率 = 6 / 10 = 0.6

表が出る確率はこのように定義でき、計算すると0.6と求まります。

今回は10回しか試行しませんでしたが、試行回数をあげることでここで求めた確率が真の値に近づきます。

これを同じように一般化したものが、頻度論と呼ばれるもので、
定義はこのようになります。

補足

n:試行回数
y:ある事象が起こった回数

「ある事象が起こった回数 / 試行回数」という比だけでは、試行回数に依存してしまうので、試行回数を無限にすることである事象の確率を定義します。

ラプラスの定義と頻度論を紹介してきましたが、いずれの考え方でも確率というものを定義した時に、満たしておくべき性質が3つあります。

確率の基礎

確率では、色々と用語が出てくるのでここで整理しておきます。
まず、サイコロで2が出る確率を式で表すとこのようになります。

p(X = 2) = 1 / 6

この時に、Xを確率変数、2を事象、1/6を確率と呼びます。
確率変数はある試行をした時に取りうる値のことです。事象は試行の結果です。
確率は先程紹介した通りです。

確率分布

確率分布とは、確率変数の確率の分布というそのままの意味です。
サイコロの例だと、1~6の値を一様にとるのでこのようになります。

確率質量関数

確率分布の便利な点は、Xがとの値を取りやすいのかを視覚的に理解できることです。

少し注意が必要なのが、確率変数が離散的か連続的かで名前が変わっていきます。
サイコロの例は、離散的なものになります。1.1や1.5などの連続的な値が取れないためです。
連続的なものは、体重や身長と言ったものがあります。
そして、離散的な方は確率質量関数(PMF:Probability Mass Function)という名前が使われ、連続的な方は確率密度関数(PDF:Probablity Densty Function)が使われます。

確率密度関数

積事象

サイコロの例で説明すると、1回目に2が出て、2回目に奇数が出る確率などを積事象と言います。式で説明するとこんな感じです。

p(X1 = 2)p(X2 = 奇数) = 1/6 * 1/2 = 1/12

サイコロの振り方は1回毎に独立なので、掛け算になります。

和事象

ここでもサイコロを使います。1もしくは2が出ると言った複数の事象をとるものを和事象と言います。

p(X=1 ∪ 2) = p(X=1) + p(X=2)

∪はorを意味します。そして、後ろの式はそれぞれの事象は排反なので和をとります。

余事象

今まではある事象に着目してきましたが、余事象では特定の事象以外が出る場合を想定します。
例えば、5以外の目が出ると仮定した時に、1,2,3,4,6の目が出る和事象を取ってもいいですが、もう少し簡単に求める方法があります。

p(X=1,2,3,4,6) = 1.0 – p(5)

確率には満たしておくべき3つの性質があると説明しました。
そこで、「②全事象の確率を足し合わせると1」を利用して、全体から5が出る確率を引いても求めることができます。

同時確率・条件確率

ここではサイコロから離れて、下記のような2つの袋があり、それぞれ袋には2種類の玉があるとします。

そして、袋aとbのどちらかを1/2の確率で選択し、玉を一つ袋から取ります。
この時、袋aが選ばれ、赤色の玉を一つ袋から取り出す確率を求めてみます。
袋aから赤色の玉を取り出す確率は、もう求められますね。4/10もしくは2/5になります。
今回はそこに袋aを選ばれた上でという条件が付与されます。
それを式で表してしてみます。

p(X=a, Y=red) = p(Y=r|X=a)p(X=a)

p(X=a, Y=red)は袋aを選択し、赤色の玉を引く、
p(Y=r|X=a)p(X=a)は袋aが選ばれた上で、赤色の玉を引くという意味になります

これを見ると、左の式が右の式に分解できることが分かると思います。

p(X=a, Y=red)のように二つに事象が同時に起きる確率を同時確率と言い、
p(Y=r|X=a)p(X=a)は袋aが選択されたという前提の上で、その状態で袋から赤色の玉を取り出すという既に条件を分かっている状態のものを条件確率と言います。

図の状態のもので実際に計算すると、
条件確率:p(Y=r|X=a) = 0.4
同時確率:p(X=a) = 0.5
p(Y=r|X=a)p(X=a) = 0.2と求めることができます。

周辺化

これも先程の袋を例に説明します。
周辺化とは、袋aと袋b関係なく赤色の玉を引ける確率のことを言います。条件つき確率では、どちらの袋であるかにも着目しましたが、今回は着目せず赤色の玉が引けることのみに着目します。ただし、袋が1/2で選択されるという仮定はいきています。
なので、2つのパターンの和をとることで確率を求めることができます。

p(Y=red) = ∑i p(Xi, Y=r) = p(X=a, Y=red) + p(X=b, Y=red) = 0.5 * 0.4 + 0.5 * 0.4 = 0.4

Xについて和を取ってしまうことを周辺化ということを覚えておいてください。

平均値・分散とは

平均値や分散がなぜあるのかというと、確率分布を特徴づけるパラメーターとして、存在しています。

サイコロを例に説明すると、平均値は確率分布の重心のことなので、3.5となります。
そして、分散はばらつきの尺度のことで、試行回数が少ない場合には、出る目の値に差が生まれます。その差がどの程度あるのかというのを分散を使うことで調べることができます。
平均値を定義すると下記のようになります。

※連続変数の場合はインテグラルを使う

また、分散は平均値との差と確率を使います。定義するとこのようになります。

※連続変数の場合はインテグラルを使う

ここまで確率と平均と分散について説明してきました。
より詳しく知りたい方は、書籍などを参考にしてください。

入門用ベイズ本