ベイズの定理を r に適用する方法
ベイズの定理は、 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%です。
R でベイズの定理を適用する次の単純な関数を作成できます。
bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) }
次の例は、この関数を実際に使用する方法を示しています。
例: R のベイズの定理
次の確率がわかっているとします。
- P(雨) = 0.20
- P(曇り) = 0.40
- P(曇り | 雨) = 0.85
P(雨 | 曇り) を計算するには、次の構文を使用できます。
#define function for Bayes' Theorem bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) } #define probabilities pRain <- 0.2 pCloudy <- 0.4 pCloudyRain <- .85 #use function to calculate conditional probability bayesTheorem(pRain, pCloudy, pCloudyRain) [1] 0.425
これは、特定の日に外が曇っている場合、その日に雨が降る確率は0.425または42.5%であることを示しています。
これは、以前に手動で計算した値と一致します。
追加リソース
次のチュートリアルでは、R で他の確率を計算する方法を説明します。
R で条件付き確率を計算する方法
R で条件付き平均を計算する方法