Probabilitas dan Teorema Bayes

Analisis Data Bayesian dengan Python

Michal Oleszak

Machine Learning Engineer

Teori probabilitas

  • Pernyataan ketidakpastian.
  • Angka antara 0 dan 1.
    • P = 0   →   mustahil
    • P = 1   →   pasti
    • P = 0.5   →   peluang 50/50

 

  • P(hujan besok) = 0.75   →   peluang hujan 75% besok
Analisis Data Bayesian dengan Python

Aturan probabilitas

Aturan penjumlahan

  • Probabilitas A atau B (kejadian independen)
  • ATAU = penjumlahan
  • Probabilitas melempar 2 atau 4 dengan dadu

P(2 atau 4) = 1/6 + 1/6 = 0.33333... = 33,3%

Aturan perkalian

  • Probabilitas A dan B (kejadian independen)
  • DAN = perkalian
  • Probabilitas melempar 2 lalu 4 dengan dadu

P(2 dan 4) = 1/6 * 1/6 = 0.02777... = 2,8%

Analisis Data Bayesian dengan Python

Probabilitas bersyarat

  • Probabilitas suatu kejadian terjadi, dengan syarat kejadian lain telah terjadi.
  • P(A | B)

 

  • P(oranye) = 2/3   →   tanpa syarat
  • P(biru) = 1/3   →   tanpa syarat

 

  • P(biru | oranye) = 1/2   →   bersyarat
  • P(oranye | biru) = 1   →   bersyarat

Gambar skematik tiga bola dalam kotak. Dua oranye, satu biru.

Analisis Data Bayesian dengan Python

Teorema Bayes

  • Cara menghitung probabilitas bersyarat saat kita tahu probabilitas lain.

 

$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$

Analisis Data Bayesian dengan Python

Teorema Bayes

  • Cara menghitung probabilitas bersyarat saat kita tahu probabilitas lain.

 

$$P(\text{accident}|\text{slippery}) = \frac{P(\text{slippery}|\text{accident}) * P(\text{accident})}{P(\text{slippery})}$$

road_conditions.head()
     accident   slippery
0       False       True
1        True       True
2       False      False
3       False      False
4       False      False
Analisis Data Bayesian dengan Python

Teorema Bayes dalam praktik

 

$$P(\text{accident}|\text{slippery}) = \frac{P(\text{slippery}|\text{accident}) * P(\text{accident})}{P(\text{slippery})}$$

# Probabilitas tanpa syarat terjadinya kecelakaan
p_accident = road_conditions["accident"].mean()  # 0.0625


# Probabilitas tanpa syarat jalan licin p_slippery = road_conditions["slippery"].mean() # 0.0892
# Probabilitas jalan licin jika terjadi kecelakaan p_slippery_given_accident = road_conditions.loc[road_conditions["accident"]]["slippery"].mean() # 0.7142
# Probabilitas kecelakaan jika jalan licin p_accident_given_slippery = p_slippery_given_accident * p_accident / p_slippery # 0.5
Analisis Data Bayesian dengan Python

Ayo berlatih!

Analisis Data Bayesian dengan Python

Preparing Video For Download...