Come applicare il teorema di bayes in r
Il teorema di Bayes afferma quanto segue per due eventi A e B :
P(A|B) = P(A)*P(B|A) / P(B)
Oro:
- P(A|B): la probabilità che si sia verificato l’evento A, dato l’evento B.
- P(B|A): La probabilità che si sia verificato l’evento B, dato che si è verificato l’evento A.
- P(A): la probabilità dell’evento A.
- P(B): la probabilità dell’evento B.
Ad esempio, supponiamo che la probabilità che il tempo sia nuvoloso sia del 40%. Supponiamo inoltre che la probabilità di pioggia in un dato giorno sia del 20% e che la probabilità di nuvole in un giorno piovoso sia dell’85%.
Se fuori è nuvoloso in un dato giorno, quali sono le probabilità che piova quel giorno?
Soluzione :
- P(nuvoloso) = 0,40
- P(pioggia) = 0,20
- P(nuvoloso | pioggia) = 0,85
Possiamo quindi calcolare:
- P(pioggia | nuvoloso) = P(pioggia) * P(nuvoloso | pioggia) / P(nuvoloso)
- P(pioggia | nuvoloso) = 0,20 * 0,85 / 0,40
- P(pioggia | nuvoloso) = 0,425
Se fuori è nuvoloso in un dato giorno, la probabilità che piova quel giorno è del 42,5% .
Possiamo creare la seguente semplice funzione per applicare il teorema di Bayes in R:
bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) }
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: teorema di Bayes in R
Supponiamo di conoscere le seguenti probabilità:
- P(pioggia) = 0,20
- P(nuvoloso) = 0,40
- P(nuvoloso | pioggia) = 0,85
Per calcolare P(pioggia | nuvoloso), possiamo usare la seguente sintassi:
#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
Questo ci dice che se fuori è nuvoloso in un dato giorno, la probabilità che piova quel giorno è 0,425 o 42,5% .
Questo corrisponde al valore che abbiamo calcolato manualmente in precedenza.
Risorse addizionali
I seguenti tutorial spiegano come calcolare altre probabilità in R:
Come calcolare la probabilità condizionata in R
Come calcolare la media condizionale in R