ベイズの定理について図解を用いてわかりやすく解説【E資格対策】

E資格の対策をしていると初心者が躓きやすいポイントといえばベイズの定理かと思います。

そこで、今回はベイズの定理について初心者の方にもなるべくわかりやすいように図解を用いて説明いたしますので
ベイズの定理に苦戦している人の参考になればと思います。

なおベイズの定理には条件付き確率の理解が必要なので、条件付き確率についてよく理解できていない人は
まずは以下の記事をご覧になってください。

スポンサーリンク
目次

ベイズの定理とは

それでは、ベイズの定理とはまず何をしたいお人なの?というところからイメージをつけていきたいと思います。

まずは一瞬だけ条件付き確率のお話に戻りたいのですが、条件付き確率は
「Aという事象のもと」「Bという事象が発生する確率」でした。
原因結果という単語を使うと、原因が前提としてそれから得られる結果を求めたいということです。

ベイズの定理は結果から見たときに、原因の確率を求めるための定理です。

つまり条件付き確率から逆の発想で確率を求めたいわけですね。
そのため、「逆確率の法則」ともいわれるそうです。

ベイズの定理の計算式

最初に、ベイズの定理で算出するにあたって使用する計算式を導きます。

まず条件付き確率についてを用いて考えます。
復習ですが、条件付き確率は以下のような内容でした。

これってP(A)を右辺に持ってきて以下のように書き直すことができますよね?

さらにここでのAやBは単なる変数にすぎないので以下のように組み替えても同じことを言っております。
この場合、原因はBとして結果はAと置いているってことですね。

上記2つの式は左辺がP(A∩B)ですのでイコールで結ぶことができます。
これらは「乗法定理」と呼ばれます。
もとめたいのは結果から原因がわかるP(A|B)なので、これを用いてP(A|B)だけが残るようにさらに式変形します。

これがベイズの定理の式です。

ベイズの定理を使って実際に求めてみる

それでは早速ベイズの定理を利用して例題を解いてみましょう。

プログラムA、プログラムB、プログラムCの3つのプログラムから構成されるシステムがありました。
それぞれのエラー発生率はプログラムA10%、プログラムB7%、プログラムC5%であったとします。
また、それぞれのプログラムのシステムの構成割合がプログラムA40%、プログラムB35% 、
プログラムCが25%でエラー発生率はこの構成割合によって依存します。
エラーが発生した場合、その原因がプログラムAである確率を知りたいです。

上記の問題ですが、
エラーが発生したという結果から、プログラムAが原因である確率を知りたい
といっているので、原因から結果を推察する条件付き確率だけでは求められなさそうです。

そのため、結果から原因を推察できるベイズの定理を使うというわけですね。

最初に登場人物を整理します。

プログラムAについて考えたときですが、以下の通りになります

原因となる事象Aは「プログラムAである」

結果となる事象Bは「エラーが発生する」

P(A)「そのプログラムである場合」について言っているので構成割合がそのまま当てはめれそうです。

 P(A) = 40%

条件付き確率P(A|B)「プログラムAであったとき、エラーの発生確率」です。

これはすでに問題文で読み取ることができますが、プログラムAであるときのエラーの発生確率は10%です。

 P(A|B) = 10% 

これでP(B)が代入できればすべての値が求まります。

P(B)は「エラーの発生確率」なので、それぞれのプログラムにおいて構成割合×エラーの発生確率を算出し、
それすべてを足し合わせれば求まりそうですね。

条件付確率の時はプログラムAの時のエラーの発生確率を見ればよかったので、
P(B)はプログラムAのエラー発生確率について求めればいいんじゃないの!?って思いがちです。
ですが、プログラムAについて考えるものの、前提とする条件は今回はないので、
エラーの発生確率は全体について考える必要があるのです。

さて計算式ですが、エラーの発生確率はそれぞれのプログラムの「構成割合 × エラーの発生確率」を
すべて足し合わせたものになるわけですが、この
「構成割合 × エラーの発生確率」って求めたい原因の分子の計算式”P(A)P(A|B)”と同じになる
というのはわかるでしょうか。

つまり分母に使った値を求めたい原因の値だけ分子に持ってくればよいということですね。

プログラムA : P(A)P(A|B) = 0.1 × 0.4 = 0.04

プログラムB : P(A)P(A|B) = 0.07 × 0.35 = 0.0245

プログラムC : P(A)P(A|B) = 0.05 × 0.25 = 0.0125

よってP(B)は以下の通りになります。

P(B) = 0.04 + 0.0245 + 0.0125 = 0.077

これで役者がそろったのでベイズの定理に当てはめます。

ここからP(A)P(B|A) = 0.04 、 P(B) = 0.77 を当てはめて

約52%の確率でプログラムAが原因であることがわかります。

このシステムで2件エラーに関する問い合わせが来たら1件はプログラムAに関してのエラーってことですね。
エラーの発生頻度にもよりますが、プログラムAは早急に改善する必要がありそうです。

ベイズの定理の計算問題はE資格ではほとんどないように思えます。
ベイズの定理を使う場面は式の組み換えとかで知識として必要な場面が多い印象です。

なので、対策としては何が原因で何が結果となって式で表現するとどうなるのかというのを
混乱しないように整理する練習をするとよいかなと思います。
ベイズの定理の式と式を構成するそれぞれの変数の意味はしっかりと覚えておきましょう。

わかりにくい、ここ違うのでは?といった内容がございましたらコメントでご指摘いただけますと幸いです。

以上でベイズの定理は終了です。
お疲れ様でした。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる