Jak zastosować twierdzenie bayesa w pythonie


Twierdzenie Bayesa stwierdza, co następuje dla dwóch zdarzeń A i B :

P(A|B) = P(A)*P(B|A) / P(B)

Złoto:

  • P(A|B): Prawdopodobieństwo, że zdarzenie A przy danym zdarzeniu B miało miejsce.
  • P(B|A): Prawdopodobieństwo, że zdarzenie B miało miejsce, przy założeniu, że wystąpiło zdarzenie A.
  • P(A): Prawdopodobieństwo zdarzenia A.
  • P(B): Prawdopodobieństwo zdarzenia B.

Załóżmy na przykład, że prawdopodobieństwo, że pogoda będzie pochmurna, wynosi 40%.

Załóżmy też, że prawdopodobieństwo wystąpienia deszczu w danym dniu wynosi 20%.

Załóżmy też, że prawdopodobieństwo wystąpienia chmur w deszczowy dzień wynosi 85%.

Jeśli danego dnia na zewnątrz jest pochmurno, jakie jest prawdopodobieństwo, że tego dnia będzie padać deszcz?

Rozwiązanie :

  • P(pochmurno) = 0,40
  • P(deszcz) = 0,20
  • P(pochmurno | deszcz) = 0,85

W ten sposób możemy obliczyć:

  • P(deszcz | pochmurno) = P(deszcz) * P(pochmurno | deszcz) / P(pochmurno)
  • P(deszcz | pochmurno) = 0,20 * 0,85 / 0,40
  • P(deszcz | pochmurno) = 0,425

Jeśli w danym dniu na zewnątrz jest pochmurno, szansa na deszcz tego dnia wynosi 42,5% .

Możemy utworzyć następującą prostą funkcję, aby zastosować twierdzenie Bayesa w Pythonie:

 def bayesTheorem (pA, pB, pBA):
    return pA * pBA / pB

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: Twierdzenie Bayesa w Pythonie

Załóżmy, że znamy następujące prawdopodobieństwa:

  • P(deszcz) = 0,20
  • P(pochmurno) = 0,40
  • P(pochmurno | deszcz) = 0,85

Aby obliczyć P(deszcz | pochmurno), możemy zastosować następującą składnię:

 #define function for Bayes' theorem
def bayesTheorem (pA, pB, pBA):
    return pA * pBA / pB

#define probabilities
pRain = 0.2
pCloudy = 0.4
pCloudyRain = 0.85

#use function to calculate conditional probability
bayesTheorem(pRain, pCloudy, pCloudyRain)

0.425

Oznacza to, że jeśli danego dnia na zewnątrz jest pochmurno, prawdopodobieństwo, że tego dnia spadnie deszcz, wynosi 0,425 lub 42,5% .

Odpowiada to wartości, którą obliczyliśmy wcześniej ręcznie.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w Pythonie:

Jak obliczyć prawdopodobieństwo warunkowe w Pythonie
Jak obliczyć wartość oczekiwaną w Pythonie
Jak obliczyć średnią obciętą w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *