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