Implementering af Betinget Sandsynlighed og Bayes' Sætning i Python
Betinget sandsynlighed
Betinget sandsynlighed måler sandsynligheden for, at en begivenhed indtræffer, givet at en anden begivenhed allerede er indtruffet.
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
Fortolkning: hvis det regner, er der 50% sandsynlighed for, at du kommer for sent på arbejde.
Bayes' sætning
Bayes' sætning hjælper med at finde $P(A|B)$, når det er vanskeligt at måle direkte, ved at relatere det til $P(B|A)$, som ofte er lettere at estimere.
Formel:
P(A∣B)=P(B)P(B∣A)⋅P(A)Hvor:
- P(A∣B) – sandsynligheden for A givet B (målet);
- P(B∣A) – sandsynligheden for B givet A;
- P(A) – forudgående sandsynlighed for A;
- P(B) – total sandsynlighed for B.
Udvidelse af 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
Fortolkning: Selv hvis testen er positiv, er der kun cirka 16,7% sandsynlighed for faktisk at have sygdommen.
Vigtige pointer
- Betinget sandsynlighed bestemmer sandsynligheden for, at A sker, når vi ved, at B er indtruffet;
- Bayes' sætning vender betingede sandsynligheder for at opdatere antagelser, når direkte måling er vanskelig;
- Begge er essentielle inden for datavidenskab, medicinsk testning og maskinlæring.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain the difference between joint, marginal, and conditional probability?
How does Bayes' theorem help in real-world scenarios like medical testing?
Can you walk me through the calculations in the code examples step by step?
Awesome!
Completion rate improved to 1.96
Implementering af Betinget Sandsynlighed og Bayes' Sætning i Python
Stryg for at vise menuen
Betinget sandsynlighed
Betinget sandsynlighed måler sandsynligheden for, at en begivenhed indtræffer, givet at en anden begivenhed allerede er indtruffet.
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
Fortolkning: hvis det regner, er der 50% sandsynlighed for, at du kommer for sent på arbejde.
Bayes' sætning
Bayes' sætning hjælper med at finde $P(A|B)$, når det er vanskeligt at måle direkte, ved at relatere det til $P(B|A)$, som ofte er lettere at estimere.
Formel:
P(A∣B)=P(B)P(B∣A)⋅P(A)Hvor:
- P(A∣B) – sandsynligheden for A givet B (målet);
- P(B∣A) – sandsynligheden for B givet A;
- P(A) – forudgående sandsynlighed for A;
- P(B) – total sandsynlighed for B.
Udvidelse af 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
Fortolkning: Selv hvis testen er positiv, er der kun cirka 16,7% sandsynlighed for faktisk at have sygdommen.
Vigtige pointer
- Betinget sandsynlighed bestemmer sandsynligheden for, at A sker, når vi ved, at B er indtruffet;
- Bayes' sætning vender betingede sandsynligheder for at opdatere antagelser, når direkte måling er vanskelig;
- Begge er essentielle inden for datavidenskab, medicinsk testning og maskinlæring.
Tak for dine kommentarer!