Python でベイズの定理を適用する方法
ベイズの定理は、 2 つのイベントAとBについて次のように述べています。
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 でトリミング平均を計算する方法