Bayes teoremi r'de nasıl uygulanır?
Bayes teoremi iki A ve B olayı için aşağıdakileri belirtir :
P(A|B) = P(A)*P(B|A) / P(B)
Altın:
- P(A|B): B olayı verildiğinde A olayının meydana gelme olasılığı.
- P(B|A): A olayının meydana geldiği göz önüne alındığında, B olayının meydana gelme olasılığı.
- P(A): A olayının olasılığı.
- P(B): B olayının olasılığı.
Örneğin havanın bulutlu olma olasılığının %40 olduğunu varsayalım. Ayrıca belirli bir günde yağmur yağma olasılığının %20, yağmurlu bir günde bulutlanma olasılığının da %85 olduğunu varsayalım.
Belirli bir günde dışarısı bulutluysa, o gün yağmur yağma ihtimali nedir?
Çözüm :
- P(bulutlu) = 0,40
- P(yağmur) = 0,20
- P(bulutlu | yağmur) = 0,85
Böylece şunları hesaplayabiliriz:
- P(yağmur | bulutlu) = P(yağmur) * P(bulutlu | yağmur) / P(bulutlu)
- P(yağmur | bulutlu) = 0,20 * 0,85 / 0,40
- P(yağmur | bulutlu) = 0,425
Belirli bir günde dışarısı bulutluysa, o gün yağmur yağma ihtimali %42,5’tir .
Bayes teoremini R’de uygulamak için aşağıdaki basit fonksiyonu oluşturabiliriz:
bayesTheorem <- function (pA, pB, pBA) { pAB <- pA * pBA / pB return (pAB) }
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: R’de Bayes teoremi
Aşağıdaki olasılıkları bildiğimizi varsayalım:
- P(yağmur) = 0,20
- P(bulutlu) = 0,40
- P(bulutlu | yağmur) = 0,85
P(yağmur | bulutlu) hesaplamak için aşağıdaki sözdizimini kullanabiliriz:
#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
Bu bize, belirli bir günde dışarısı bulutluysa, o gün yağmur yağma ihtimalinin 0,425 veya %42,5 olduğunu söyler.
Bu, daha önce manuel olarak hesapladığımız değerle eşleşiyor.
Ek kaynaklar
Aşağıdaki eğitimlerde R’deki diğer olasılıkların nasıl hesaplanacağı açıklanmaktadır:
R’de koşullu olasılık nasıl hesaplanır
R’de koşullu ortalama nasıl hesaplanır