「ベイズの定理」と「ベイズ統計学のさわり」が簡単な確率計算で理解できる本

科学・テクノロジー

ベイズ統計学を理解していますか?

「意思決定の理論」や「ゲーム理論」、「人工知能の応用」「マーケティング理論」など、様々な分野で使われているベイズ統計学ですが、はじめて勉強すると挫折するポイントが多々あります。

そこで今回は、『図解・ベイズ統計「超」入門』を参考に、「ベイズの定理」と「ベイズ統計学のさわり」について簡単に説明していきます。

スポンサーリンク

『図解・ベイズ統計「超」入門』の情報

タイトル 図解・ベイズ統計「超」入門 
著者 涌井貞美
おすすめ度 4.5
ジャンル 統計学
出版 SBクリエイティブ (2013/12/17)
ページ数 208ページ (新書)

おすすめ度の理由

  • 小学生の算数が理解できればベイズの定理が理解できる
  • 絵や図が大量に用いられているので理解しやすい
  • 難しい説明がないので気楽に読める
  • ベイズ統計学を理解するには別の専門書を読む必要がある

「ベイズの定理」と「ベイズ統計学のさわり」

ベイズ統計学は、従来の統計学とは異なり、確率を直接扱います。

そのため、従来の統計学では、パターンにはまった品質管理などを主に扱っていましたが、ベイズ統計学は従来の「統計学の範囲にあらず」とされてきた分野にも応用が利きます。

だからこそ、人工知能など多くの分野で使われているんですよね。

ベイズの定理を理解するための4つの基本

ベイズの定理を理解するために覚えておきたい確率の基本は、次の4つです。

  1. 同時確率
    \(A\)と\(B\)が同時に起こる確率
  2. 条件付き確率
    \(A\)が起こったときに\(B\)が起こる確率
  3. 乗法定理
    \(A\)と\(B\)が同時に起こる確率\(\,=\,A\)が起こる確率\(\,\times\,A\)が起こったときに\(B\)が起こる確率(条件付き確率)
  4. 加法定理
    \(A\)または\(B\)が起こる確率\(\,=\,A\)が起こる確率\(\,+\,B\)が起こる確率\(\,-\,A\)と\(B\)が同時に起こる確率(同時確率。ベイズの理論では\(0\)になるように扱う)

簡単な例題で考えてみます。

ジョーカーを除いた1組のトランプからカードを無作為に1枚引いたとき、引いたカードがハートでかつ絵札である確率を求めよ。

この問題は、「ハートかつ絵札を引く」という同時確率を求める問題です。

乗法定理を使って、「ハートかつ絵札を引く確率\(\,=\,\)ハートを引く確率\(\,\times\,\)ハートを引いたときに絵札を引く確率(条件付き確率)」として計算します。

具体的には、

$$\frac{1}{4}\times\frac{3}{13}=\frac{3}{52}$$

と求まります。

ベイズの定理

先ほどの乗法定理(同時確率を求めた式)を使って、ベイズの定理を求めます。

再掲:\(A\)と\(B\)が同時に起こる確率\(\,=\,A\)が起こったときに\(B\)が起こる確率\(\,\times\,A\)が起こる確率

上記の\(A\)と\(B\)を、\(D\)(データ)と\(H\)(仮説)に置き換え、「\(D\)と\(H\)の同時確率」と「\(H\)と\(D\)の同時確率」を求める式をイコールで結びます。(順番を入れ替えただけなので同じ値になる)

\(D\)が得られたときに\(H\)が成立している確率\(\,\times\,D\)が得られる確率\(\,=\,H\)のもとで\(D\)が生じる確率\(\,\times\,H\)が成立する確率

この両辺を「\(D\)が得られる確率」で割ると、ベイズの定理の完成です。

■ベイズの定理
\(D\)が得られたときに\(H\)が成立している確率 = (\(H\)のもとで\(D\)が生じる確率\(\,\times\,H\)が成立する確率)\(\,\div\,D\)が得られる確率

\(H\)のもとで\(D\)が生じる確率:尤度ゆうど(仮定が成立するときにデータが得られる確率)
\(H\)が成立する確率:事前確率(データが得られる前の仮説が成立する確率)
\(D\)が得られたときに\(H\)が成立している確率:事後確率(データが得られた後の仮説が成立する確率)

簡単な例題で考えてみます。

ABC検査法では、難病Zにかかっている人の98%が陽性反応を示します。難病Zにかかっていない人の1%も陽性反応を示します。難病Zにかかっている人は1万人に1人の割合だとすると、陽性反応の人が難病Zにかかっている確率はいくらでしょうか?

まず、\(D\)を「陽性反応を示す」、\(H\)を「難病Zにかかっている」と置くと、ベイズの定理より、

陽性の人が難病Zにかかっている確率 = (難病Zの人が陽性である確率\(\,\times\,\)難病Zにかかっている確率)\(\,\div\,\)陽性である確率

となります。ここで、分母の「陽性である確率」は、

陽性である確率\(\,=\,\)難病Zの人が陽性である確率\(\,\times\,\)難病Zにかかっている確率\(\,+\,\)難病Zでない人が陽性である確率\(\,\times\,\)難病Zにかかっていない確率

で求められるため、具体的な数値を入れて計算すると、

陽性である確率\(\,=\,0.98\,\times\,0.0001\,+\,0.01\,\times\,0.9999\,=\,0.010097\)

となります。これをベイズの定理に代入すると、

陽性の人が難病Zにかかっている確率\(\,=\,0.98\,\times\,0.0001\,\div\,0.010097\,=\,0.0097\)

となり、0.97%と求めることができました。

スポンサーリンク

「理由不十分の原則」と「ベイズ更新」

■理由不十分の原則
ベイズの定理の事前確率に確かな情報がない場合、とりあえず適当な値をセットできるというもの。

■ベイズ更新
新旧のデータがあるとき、旧データから得られた事後確率を新データの事前確率として利用できるというもの。

言葉の説明だけでは意味がわかりにくいと思うので、簡単な例題で考えてみます。

迷惑メールか通常メールかを調べるために、3つの単語「アイドル」「無料」「科学」に着目することにする。これらの単語は、次の確率で迷惑メールと通常メールに含まれることが調べられている。

検出語迷惑メール通常メール
アイドル0.750.125
無料0.70.2
科学0.20.5

あるメールを調べたら、「アイドル」「無料」「科学」の順で単語が検索された。このメールは迷惑メール、通常メールのどちらに分類した方がいいか調べよ。ネットワーク全体での迷惑メールと通常メールの比率は6:4とする。

では早速、ベイズの定理を使って求めていきます。具体的には、メール中の言葉の相関は無視する「ナイーブベイズフィルター」と呼ばれる方法を使います。

まず、1個目のデータについて、\(D\)を「アイドルが含まれる」、\(H\)を「迷惑メールである」「通常メールである」と置くと、ベイズの定理より、

「アイドル」が検出されたとき迷惑メールである確率\(\,=\,\)(迷惑メールに「アイドル」が含まれる確率\(\,\times\,\)迷惑メールである確率)\(\,\div\,\)「アイドル」が検出された確率

「アイドル」が検出されたとき通常メールである確率\(\,=\,\)(通常メールに「アイドル」が含まれる確率\(\,\times\,\)通常メールである確率)\(\,\div\,\)「アイドル」が検出された確率

となります。この例題は、届いたメールが「迷惑メール」か「通常メール」かを判定する問題なので、確率の大小比較ができればOKです。そのため、共通の分母である「アイドルが検出された確率」は以降の計算には使いません。

また、届いたメールが「迷惑メール」か「通常メール」かの確率(事前確率)が与えられていないため、適当な値としてネットワーク全体での迷惑メールと通常メールの比率6:4を使います。(理由不十分の原則)

すると、

「アイドル」が検出されたとき迷惑メールである確率\(\,\propto\,\)迷惑メールに「アイドル」が含まれる確率\(\,\times\,\)0.6

「アイドル」が検出されたとき通常メールである確率\(\,\propto\,\)通常メールに「アイドル」が含まれる確率\(\,\times\,\)0.4

となります。次に、2個目のデータについて、\(D\)を「無料が含まれる」、\(H\)を「迷惑メールである」「通常メールである」と置くと、先ほどと同様の考え方で、

「無料」が検出されたとき迷惑メールである確率\(\,\propto\,\)迷惑メールに「無料」が含まれる確率\(\,\times\,\)迷惑メールである確率

「無料」が検出されたとき通常メールである確率\(\,\propto\,\)通常メールに「無料」が含まれる確率\(\,\times\,\)通常メールである確率

となります。ここで「迷惑メールである確率」「通常メールである確率」は、1個目のデータ「アイドル」から得られた事後確率を代入します。(ベイズ更新)

「無料」が検出されたとき迷惑メールである確率\(\,\propto\,\)迷惑メールに「無料」が含まれる確率\(\,\times\,\)迷惑メールに「アイドル」が含まれる確率\(\,\times\,\)0.6

「無料」が検出されたとき通常メールである確率\(\,\propto\,\)通常メールに「無料」が含まれる確率\(\,\times\,\)通常メールに「アイドル」が含まれる確率\(\,\times\,\)0.4

3個目のデータ「科学」についても同様に考えると、

「科学」が検出されたとき迷惑メールである確率\(\,\propto\,\)迷惑メールに「科学」が含まれる確率\(\,\times\,\)迷惑メールに「無料」が含まれる確率\(\,\times\,\)迷惑メールに「アイドル」が含まれる確率\(\,\times\,\)0.6

「科学」が検出されたとき通常メールである確率\(\,\propto\,\)通常メールに「科学」が含まれる確率\(\,\times\,\)通常メールに「無料」が含まれる確率\(\,\times\,\)通常メールに「アイドル」が含まれる確率\(\,\times\,\)0.4

となり、単語が現れるたびに、言葉の出現確率(尤度)を掛け合わせていくことで、受信メールが迷惑メールか通常メールか判定できることがわかります。

最後に具体的な値を代入すると、

「アイドル」「無料」「科学」が検出されたとき迷惑メールである確率\(\,\propto\,0.2\,\times\,0.7\,\times\,0.75\,\times0.6\,=\,0.063\)

「アイドル」「無料」「科学」が検出されたとき通常メールである確率\(\,\propto\,0.5\,\times\,0.2\,\times\,0.125\,\times0.4\,=\,0.005\)

となり、迷惑メールに分類できることがわかりました。

スポンサーリンク

「ベイズ統計学」のさわり

ベイズ統計学では、従来の統計学とは異なり、母数を確率変数で表します。

たとえば、従来の統計学では、コインの表裏が出る確率をそれぞれ\(\frac{1}{2}\)に固定して扱っていましたが、ベイズ統計学ではばらつきがあるものとして扱います。

そのため、求める確率もばらつきます。(下図のような確率密度関数を使って求めます)

上図の\(f(x)\)を工場で生産されるチョコレートの重さを示す確率密度関数としましょう。

現実問題として、\(100g\)ぴったりのチョコレートを作りたいと思っても、誤差が出るため作れません。そのため、\(100g(=a)\)から\(101g(=b)\)に入る確率を求めることにします。

このとき、\(a\)から\(b\)で区切られた確率密度関数の面積\(S(x)\)が、作られたチョコレートが\(100g(=a)\)から\(101g(=b)\)に入る確率になります。

具体的に計算すると、

面積\(S(x)=\int^b_a f(x)dx=\left[F(x)\right]^b_a=F(b)-F(a)\)

として確率が求まります。

この説明だけでは、わかりにくいと思うので、簡単な例題で考えてみます。

表の出る確率が\(\theta\)である1枚のコインがある。このコインを3回投げたとき、1回目は表、2回目も表、3回目は裏が出たとする。このとき、「表の出る確率\(\theta\)」の確率分布を調べよ。

まず、1回目について、\(D\)を「表が出る」、\(H\)を「表の出る確率が\(\theta\)」と置くと、ベイズの定理より、

データ「表」が「\(\theta\)のコイン」から得られた確率\(\,=\,\)(「\(\theta\)のコイン」で「表」が出る確率\(\,\times\,\)「\(\theta\)のコイン」の存在確率)\(\,\div\,\)データ「表」が出る確率

※「表の出る確率\(\theta\)のコイン」を「\(\theta\)のコイン」と省略して記載しています。

となります。ここで、「\(\theta\)のコイン」の存在確率は、事前データ(事前分布)が与えられていないため、わかりません。そこで、「理由不十分の法則」を使って、確率は一様であると仮定します。(表の出る確率が\(0.1\)のコインも、表の出る確率が\(0.9\)のコインも存在確率は同じと考えます)

この確率密度関数をグラフ化したものが下図です。

注意点としては、確率(コインの存在確率)の総和は\(1\)になるため、確率を表す面積の総和も\(1\)にする必要があります。また、縦軸は確率ではなく、あくまでも確率密度なので、1を超えることがあります。

さて、この前提を踏まえて、もう一度ベイズの定理を見てみると、

データ「表」が「\(\theta\)のコイン」から得られた確率\(\,=\,\)(「\(\theta\)のコイン」で「表」が出る確率\(\,\times\,\)「\(\theta\)のコイン」の存在確率)\(\,\div\,\)データ「表」が出る確率\(\,=\,\theta\,\times\,1\,\div\,\)ある決まった値\(\,\propto\,k\theta\)

「\(\theta\)のコイン」で「表」が出る確率:\(\theta\)
「\(\theta\)のコイン」の存在確率:1(一様分布)
データ「表」が出る確率:ある決まった値
\(k\):比例定数

と、\(k\theta\)に比例することがわかります。ここで、\(\theta\)はコインの表が出る確率なので、取りうる範囲は\(0\)から\(1\)となり、この範囲で積分すると、

$$\int_0^1 k\theta d\theta = k\left[\frac{1}{2}\theta^2\right]^1_0=\frac{1}{2}k$$

となります。この積分結果は、確率の総和(\(=1\))なので、\(k=2\)と求めることができました。つまり、事後分布は\(2\theta\)となり、下図のように更新されます。

では、次に2回目について考えます。1回目と同様に「表」が出たので、ベイズの定理を使って考えると、

データ「表」が「\(\theta\)のコイン」から得られた確率\(\,=\,\)(「\(\theta\)のコイン」で「表」が出る確率\(\,\times\,\)「\(\theta\)のコイン」の存在確率)\(\,\div\,\)データ「表」が出る確率\(\,=\,\theta\,\times\,2\theta\,\div\,\)ある決まった値\(\,\propto\,k\theta^2\)

となります。先ほどと同様に\(0\)から\(1\)の範囲で積分すると、

$$\int_0^1 k\theta^2 d\theta = k\left[\frac{1}{3}\theta^3\right]^1_0=\frac{1}{3}k$$

となり、\(k=3\)と求めることができました。つまり、事後分布は\(3\theta^2\)となり、下図のように更新されます。

では、次に3回目について考えます。3回目は「裏」が出たので、「\(\theta\)のコイン」で「裏」が出る確率を\(1-\theta\)として、ベイズの定理を使って考えると、

データ「裏」が「\(\theta\)のコイン」から得られた確率\(\,=\,\)(「\(\theta\)のコイン」で「裏」が出る確率\(\,\times\,\)「\(\theta\)のコイン」の存在確率)\(\,\div\,\)データ「裏」が出る確率\(\,=\,(1\,-\,\theta)\,\times\,3\theta^2\,\div\,\)ある決まった値\(\,\propto\,k(1-\theta)\theta^2\)

となります。先ほどと同様に\(0\)から\(1\)の範囲で積分すると、

$$\int_0^1 k(1-\theta)\theta^2 d\theta = \int_0^1 k(\theta^2-\theta^3) d\theta = k\left[\frac{1}{3}\theta^3-\frac{1}{4}\theta^4\right]^1_0\\
 =k\left(\frac{1}{3}-\frac{1}{4}\right)=\frac{1}{12}k$$

となり、\(k=12\)と求めることができました。つまり、事後分布は\(12(1-\theta)\theta^2\)となり、下図のように更新されます。

ちなみに、上図が\(\theta=\frac{2}{3}\)でピークになっているのは、3回中2回「表」が出たからです。

まとめ

今回は、『図解・ベイズ統計「超」入門』を参考に、「ベイズの定理」と「ベイズ統計学のさわり」について簡単に説明してきました。

ベイズ統計学を勉強しようと専門書を開いたけれど、よくわからずに挫折した…という経験のある方は、基礎の基礎から教えてくれる本書を読んでみてはどうでしょうか?

私も引き続き、ベイズ統計学について理解を進めていきたいと思います。

コメント

タイトルとURLをコピーしました