Python でベイズの定理を適用する方法


ベイズの定理は、 2 つのイベントABについて次のように述べています

P(A|B) = P(A)*P(B|A) / P(B)

金:

  • P(A|B): イベント B が与えられた場合にイベント A が発生する確率。
  • P(B|A): イベント A が発生した場合に、イベント B が発生する確率。
  • P(A): イベント A の確率。
  • P(B): イベント B の確率。

たとえば、天気が曇りである確率が 40% であるとします。

また、特定の日に降水確率が 20% であると仮定します。

また、雨の日に雲が発生する確率が 85% であると仮定します。

特定の日に外が曇っている場合、その日に雨が降る確率はどれくらいですか?

解決策:

  • P(曇り) = 0.40
  • P(雨) = 0.20
  • P(曇り | 雨) = 0.85

したがって、次のように計算できます。

  • P(雨 | 曇り) = P(雨) * P(曇り | 雨) / P(曇り)
  • P(雨 | 曇り) = 0.20 * 0.85 / 0.40
  • P(雨 | 曇り) = 0.425

特定の日に外が曇りの場合、その日に雨が降る確率は42.5%です。

Python でベイズの定理を適用する次の簡単な関数を作成できます。

 def bayesTheorem (pA, pB, pBA):
    return pA * pBA / pB

次の例は、この関数を実際に使用する方法を示しています。

例: Python のベイズの定理

次の確率がわかっているとします。

  • P(雨) = 0.20
  • P(曇り) = 0.40
  • P(曇り | 雨) = 0.85

P(雨 | 曇り) を計算するには、次の構文を使用できます。

 #define function for Bayes' theorem
def bayesTheorem (pA, pB, pBA):
    return pA * pBA / pB

#define probabilities
pRain = 0.2
pCloudy = 0.4
pCloudyRain = 0.85

#use function to calculate conditional probability
bayesTheorem(pRain, pCloudy, pCloudyRain)

0.425

これは、特定の日に外が曇っている場合、その日に雨が降る確率は0.425または42.5%であることを示しています。

これは、以前に手動で計算した値と一致します。

追加リソース

次のチュートリアルでは、Python で他の一般的なタスクを実行する方法について説明します。

Python で条件付き確率を計算する方法
Pythonで期待値を計算する方法
Python でトリミング平均を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です