Bayes sats
Kunna uppdatera en sannolikhet med ny evidens och tillämpa Bayes på klassificering och diagnostik.
Förkunskaper
- DBetingad sannolikhetkrävs
Intuition
Bayes sats är en regel för att ändra sig när man får veta något nytt.
| Del | Namn | Betyder |
|---|---|---|
| prior | vad jag trodde innan | |
| likelihood | hur väntat är evidensen om A är sant | |
| posterior | vad jag tror efteråt | |
| evidens | hur väntat är evidensen överhuvudtaget |
Den avgörande insikten: och är inte samma sak.
- «Om det regnar är marken våt» — nästan alltid sant.
- «Om marken är våt regnar det» — ofta falskt. Någon har spolat.
Att blanda ihop dem är förmodligen det vanligaste sannolikhetsfelet som finns, och det har ett namn: förväxling av det omvända villkoret.
Formellt
Det klassiska exemplet, i siffror. En sjukdom drabbar 1 av 1 000. Testet hittar 99 % av de sjuka (sensitivitet) och ger falskt positivt i 5 % av fallen bland friska.
Du testar positivt. Hur stor är sannolikheten att du är sjuk?
Tänk i antal personer i stället för sannolikheter — det gör det nästan självklart. Av 100 000 personer:
| Antal | Positiva | |
|---|---|---|
| Sjuka | 100 | 99 |
| Friska | 99 900 | 4 995 |
| Totalt positiva | 5 094 |
De flesta gissar 95–99 %. Det rätta svaret är under 2 %.
Varför? Det finns så oerhört många fler friska att även en liten falsk-positiv-andel ger fler falska larm än äkta. Att ignorera hur ovanlig sjukdomen är kallas basfrekvensfelet, och det är svårt att sluta göra även när man vet om det.
Detta är inte ett kuriosum. Samma matematik gäller varje sällsynt händelse:
| Tillämpning | Den sällsynta klassen |
|---|---|
| Bedrägeridetektion | ~0,1 % av transaktionerna |
| Ansiktsigenkänning i folkmassa | den efterlysta |
| Screening för ovanliga sjukdomar | de sjuka |
| Larm i ett övervakningssystem | verkliga incidenter |
Ett system med 99 % träffsäkerhet på en klass som utgör 0,1 % av fallen producerar överväldigande många falsklarm. Det är därför precision och recall rapporteras separat, och därför «träffsäkerhet» är ett nästan meningslöst mått vid obalanserade klasser.
Bayes i sekventiell form. Posteriorn blir nästa prior:
Det är precis så AI-grafens mastery-modell fungerar: varje besvarad övning uppdaterar tron på att eleven behärskar noden, med föregående skattning som utgångspunkt.
Kod
def bayes(prior, sensitivitet, falskt_positivt):
"""P(sjuk | positivt test)."""
sant_pos = sensitivitet * prior
falsk_pos = falskt_positivt * (1 - prior)
return sant_pos / (sant_pos + falsk_pos)
print(round(bayes(0.001, 0.99, 0.05) * 100, 1), "%") # 1.9 %
# Hur priorn dominerar
for prior in (0.001, 0.01, 0.1, 0.5):
print(f" prior {prior:<6} → efter positivt test: {bayes(prior, 0.99, 0.05):.1%}")
# prior 0.001 → 1.9%
# prior 0.01 → 16.7%
# prior 0.1 → 68.8%
# prior 0.5 → 95.2%
# Två oberoende positiva test: posteriorn blir nästa prior
p = 0.001
for omgang in (1, 2):
p = bayes(p, 0.99, 0.05)
print(f" efter {omgang} positiva test: {p:.1%}")
# efter 1 positiva test: 1.9%
# efter 2 positiva test: 28.2%
# Samma matematik som ett obalanserat klassificeringsproblem
N, andel_bedrageri = 1_000_000, 0.001
sant_pos = int(N * andel_bedrageri * 0.99)
falsk_pos = int(N * (1 - andel_bedrageri) * 0.05)
print(f"larm: {sant_pos + falsk_pos:,} varav {sant_pos:,} äkta "
f"→ precision {sant_pos / (sant_pos + falsk_pos):.1%}")
# larm: 50,940 varav 990 äkta → precision 1.9%
Sista blocket är samma räkning som det medicinska testet, med andra ord: en granskare skulle behöva titta på knappt 51 000 larm för att hitta 990 verkliga fall — 51 larm per äkta träff.
Behärskning innebär
- Använder Bayes sats numeriskt
- Förklarar basfrekvensfelet
- Tillämpar Bayes på ett diagnostiskt test
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- Matteboken (Mattecentrum) — fri läsning, ideell förening
- Khan Academy — matematik — CC BY-NC-SA 3.0
- Wikipedia — Bayes' theorem (CC BY-SA 4.0) — CC BY-SA 4.0