Como aplicar o teorema de bayes em r
O teorema de Bayes afirma o seguinte para dois eventos A e B :
P(A|B) = P(A)*P(B|A) / P(B)
Ouro:
- P(A|B): A probabilidade de que o evento A, dado o evento B, tenha ocorrido.
- P(B|A): A probabilidade de que o evento B, dado que o evento A ocorreu, tenha ocorrido.
- P(A): A probabilidade do evento A.
- P(B): A probabilidade do evento B.
Por exemplo, suponha que a probabilidade de o tempo estar nublado seja de 40%. Suponhamos também que a probabilidade de chuva em um determinado dia seja de 20% e a probabilidade de nuvens em um dia chuvoso seja de 85%.
Se estiver nublado lá fora em um determinado dia, qual é a chance de chover naquele dia?
Solução :
- P(nublado) = 0,40
- P(chuva) = 0,20
- P(nublado | chuva) = 0,85
Assim, podemos calcular:
- P(chuva | nublado) = P(chuva) * P(nublado | chuva) / P(nublado)
- P(chuva | nublado) = 0,20 * 0,85 / 0,40
- P(chuva | nublado) = 0,425
Se estiver nublado lá fora em um determinado dia, a chance de chover naquele dia é de 42,5% .
Podemos criar a seguinte função simples para aplicar o teorema de Bayes em R:
bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) }
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: teorema de Bayes em R
Suponha que conhecemos as seguintes probabilidades:
- P(chuva) = 0,20
- P(nublado) = 0,40
- P(nublado | chuva) = 0,85
Para calcular P(chuva | nublado), podemos usar a seguinte sintaxe:
#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
Isso nos diz que se estiver nublado lá fora em um determinado dia, a chance de chover naquele dia é de 0,425 ou 42,5% .
Isso corresponde ao valor que calculamos manualmente anteriormente.
Recursos adicionais
Os tutoriais a seguir explicam como calcular outras probabilidades em R:
Como calcular a probabilidade condicional em R
Como calcular a média condicional em R