Implementering av Villkorlig Sannolikhet och Bayes Sats i Python
Villkorlig sannolikhet
Villkorlig sannolikhet mäter sannolikheten för att en händelse inträffar givet att en annan händelse redan har inträffat.
Formel:
P(A∣B)=P(B)P(A∩B)12345P_A_and_B = 0.1 # Probability late AND raining P_B = 0.2 # Probability raining P_A_given_B = P_A_and_B / P_B print(f"P(A|B) = {P_A_given_B:.2f}") # Output: 0.5
Tolkning: om det regnar är det 50% sannolikhet att du kommer att komma för sent till arbetet.
Bayes sats
Bayes sats hjälper oss att hitta $P(A|B)$ när det är svårt att mäta direkt, genom att relatera det till $P(B|A)$ som ofta är lättare att uppskatta.
Formel:
P(A∣B)=P(B)P(B∣A)⋅P(A)Där:
- P(A∣B) – sannolikheten för A givet B (målet);
- P(B∣A) – sannolikheten för B givet A;
- P(A) – prior sannolikhet för A;
- P(B) – total sannolikhet för B.
Utveckling av P(B)
P(B)=P(B∣A)P(A)+P(B∣¬A)P(¬A)123456789101112P_A = 0.01 # Disease prevalence P_not_A = 1 - P_A P_B_given_A = 0.99 # Sensitivity P_B_given_not_A = 0.05 # False positive rate # Total probability of testing positive P_B = (P_B_given_A * P_A) + (P_B_given_not_A * P_not_A) print(f"P(B) = {P_B:.4f}") # Output: 0.0594 # Apply Bayes’ Theorem P_A_given_B = (P_B_given_A * P_A) / P_B print(f"P(A|B) = {P_A_given_B:.4f}") # Output: 0.1672
Tolkning: Även om du testar positivt är det bara cirka 16,7% sannolikhet att du faktiskt har sjukdomen.
Viktiga insikter
- Villkorlig sannolikhet beräknar sannolikheten för att A inträffar givet att vi vet att B har inträffat;
- Bayes sats vänder på villkorliga sannolikheter för att uppdatera antaganden när direkt mätning är svår;
- Båda är avgörande inom datavetenskap, medicinska tester och maskininlärning.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 1.96
Implementering av Villkorlig Sannolikhet och Bayes Sats i Python
Svep för att visa menyn
Villkorlig sannolikhet
Villkorlig sannolikhet mäter sannolikheten för att en händelse inträffar givet att en annan händelse redan har inträffat.
Formel:
P(A∣B)=P(B)P(A∩B)12345P_A_and_B = 0.1 # Probability late AND raining P_B = 0.2 # Probability raining P_A_given_B = P_A_and_B / P_B print(f"P(A|B) = {P_A_given_B:.2f}") # Output: 0.5
Tolkning: om det regnar är det 50% sannolikhet att du kommer att komma för sent till arbetet.
Bayes sats
Bayes sats hjälper oss att hitta $P(A|B)$ när det är svårt att mäta direkt, genom att relatera det till $P(B|A)$ som ofta är lättare att uppskatta.
Formel:
P(A∣B)=P(B)P(B∣A)⋅P(A)Där:
- P(A∣B) – sannolikheten för A givet B (målet);
- P(B∣A) – sannolikheten för B givet A;
- P(A) – prior sannolikhet för A;
- P(B) – total sannolikhet för B.
Utveckling av P(B)
P(B)=P(B∣A)P(A)+P(B∣¬A)P(¬A)123456789101112P_A = 0.01 # Disease prevalence P_not_A = 1 - P_A P_B_given_A = 0.99 # Sensitivity P_B_given_not_A = 0.05 # False positive rate # Total probability of testing positive P_B = (P_B_given_A * P_A) + (P_B_given_not_A * P_not_A) print(f"P(B) = {P_B:.4f}") # Output: 0.0594 # Apply Bayes’ Theorem P_A_given_B = (P_B_given_A * P_A) / P_B print(f"P(A|B) = {P_A_given_B:.4f}") # Output: 0.1672
Tolkning: Även om du testar positivt är det bara cirka 16,7% sannolikhet att du faktiskt har sjukdomen.
Viktiga insikter
- Villkorlig sannolikhet beräknar sannolikheten för att A inträffar givet att vi vet att B har inträffat;
- Bayes sats vänder på villkorliga sannolikheter för att uppdatera antaganden när direkt mätning är svår;
- Båda är avgörande inom datavetenskap, medicinska tester och maskininlärning.
Tack för dina kommentarer!