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% chans att du kommer för sent till jobbet.
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 (vårt mål);
- 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 % chans att du faktiskt har sjukdomen.
Viktiga slutsatser
- Villkorlig sannolikhet beräknar sannolikheten för att A inträffar när 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 data science, 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
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% chans att du kommer för sent till jobbet.
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 (vårt mål);
- 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 % chans att du faktiskt har sjukdomen.
Viktiga slutsatser
- Villkorlig sannolikhet beräknar sannolikheten för att A inträffar när 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 data science, medicinska tester och maskininlärning.
Tack för dina kommentarer!