Statisztika egyszerűen

Mágikus jelek nélkül...

Ha a teszt pozitív, akkor beteg vagyok?

2020. október 09. 08:00 - glantos70

Valószínűségszámítás

Folytatva az elmúlt hetekben megkezdett sorozatot, végre szeretnék rákanyarodni a lényegre; mármint, hogy miről is szól Bayes tétele. Az előző két bejegyzésben (Folt a zsákját – Thomas Bayes kísérlete és Üstökös Franciaország egén) nagyjából összefoglaltam a tétel születésének történetét, akkor most térjünk rá arra, hogy mire jó és hogyan alkalmazható a gyakorlatban.

Bayes tételének mai formáját 1810 és 1814 között dolgozta ki:

Jó, de mit jelent megint ez a bonyolult képlet a valóságban? A képletben szereplő E jelenti az eseményt (angolul event), a C pedig az okot (angolul cause). Más forrásokban az okot (cause) feltevésként (hypothesis), az eseményt (event) pedig bizonyítékként (evidence) is szokták említeni. Bizonyos esetekben ez az alternatív elnevezés használthatóbb, mint az első, de ezt majd később látni fogjuk.

Néhány példa eseményre (bizonyíték) vagy okra (feltételezés):

  • Esemény lehet például, hogy valaki tüdőrákot kap, ennek oka pedig lehet az, ha az illető dohányzik
  • Esemény lehet, hogy egy hölgy terhességi tesztje pozitív, ennek oka pedig az, hogy a hölgy valóban áldott állapotban van
  • Esemény lehet egy szó vagy szókapcsolat megjelenése egy e-mailben, ennek oka pedig az, hogy az üzenet spam.

Másképpen fogalmazva

  • A feltevés az, hogy az illető dohányzik, ennek bizonyítéka pedig az, hogy az illető tüdőrákos lett
  • A feltevés az, hogy egy hölgy áldott állapotban van, ennek bizonyítéka pedig az, hogy a terhességi tesztje pozitív
  • A feltevés az, hogy az üzenet spam, ennek bizonyítéka pedig az, hogy bizonyos szavak vagy szókapcsolatok szerepelnek az üzenet szövegében.

A tört nevezőjében szereplő C' viszont az okra vonatkozó teljes valószínűséget jelenti, vagyis, annak a valószínűségét, ha

  • az esemény az, ha valaki tüdőrákot kap, de azt is figyelembe véve, ha dohányzik és azt is, ha nem
  • Az esemény lehet az, hogy a terhességi teszt pozitív, de akkor is, ha a hölgy valóban terhes és akkor is, ha nem
  • Az esemény az, hogy a szövegben előfordulnak bizonyos szavak vagy szókapcsolatok, de beleértve azt is, hogy az üzenet spam és azt is, ha nem.

A képlet alkalmazásának nehézségét nyilvánvalóan nem a kalkuláció bonyolultsága adja, inkább a képletben szereplő egyes valószínűségek azonosítása jelenti.

Egy korábbi bejegyzésben (Ez bizony függőség! – Még egy kicsit a feltételes valószínűségekről) már tisztáztuk, hogy mit is jelent a két betű közötti függőleges vonal (Ez persze megint felér egy egyiptomi hieroglifával, de egy bizonyos szint felett ezt sajnos nem tudom elkerülni).

A kifejezések magyarázatát kezdjük az egyenlőségjel bal oldalával:

P(C|E) jelenti azt a valószínűséget, hogy az ok fennáll, ha az esemény megtörténik. A fenti példáknál maradva ez például lehet a valószínűsége annak, hogy egy üzenet spam, ha szerepel benne egy adott szó vagy kifejezés. Legtöbbször ezt nehéz megmondani, mert mondjuk a spam üzenetek esetében nehéz megállapítani, hogy attól spam-e egy üzenet, mert egy adott szó vagy kifejezés szerepel benne.

P(E|C) annak a valószínűségét jelzi, hogy ez esemény megtörténik, ha az ok fennáll. Ez pedig annak a valószínűsége, hogy ha egy üzenet spam, akkor egy adott szó vagy kifejezés szerepelni fog benne. Ezt a legtöbb esetben könnyű mérni, mert egy üzenetet elolvasva el tudjuk róla dönteni, hogy az spam-e vagy sem, utána pedig meg lehet számolni, hogy ezek hány százalékában van benne az adott kifejezés.

A Pprior(C) az ok valószínűségének előzetes becslése, vagyis az, hogy a beérkező üzenetek hány százaléka spam. Ez az, ami a legtöbb vitát gerjeszti a tudósok között, mert amikor legelőször vizsgáljuk az adott eseményt és okot, akkor sok esetben nincs tényeken alapuló számszerű valószínűség, amelyet figyelembe vehetnénk (lásd Bayes kísérletét a golyókkal az asztalon). A második ismétlésnél már nincs gond, mert akkor már az első kör eredményét fogjuk ide behelyettesíteni.

Számomra a legkevésbé érthető a nevezőben lévő képlet. Ez az összes lehetséges hipotézis valószínűségeinek az összessége, vagyis

Huhh! Ez most megint mit is jelent? A szumma jel ugye összegzést jelent. De mit is adunk össze ez esetben? A fenti képletben az első rész ugye megegyezik a számlálóban lévő szorzattal, vagyis az előző példánál maradva P(E|C) annak valószínűsége, hogy ha egy üzenet spam, akkor az adott kifejezés mekkora valószínűséggel van benne, Pprior(C) pedig annak a valószínűsége, hogy az üzenetek hány százaléka spam.

A kifejezés második részében viszont a C-k előtt van egy-egy ~ jel. Ez a jel azt jelenti, hogy vesszük C ellentettjét. Ha C azt jelenti, hogy az üzenet spam, akkor ~C azt jelenti, hogy az üzenet NEM spam. Ebben az esetben tehát a P(E|~C) annak a valószínűsége, hogy az üzenet tartalmazza a keresett szót, de az üzenet NEM spam! Pprior(~C) pedig annak a valószínűsége, hogy az üzenet NEM spam!

Kedves olvasó! Ha esetleg most ledobtad volna a láncot vagy elérkeztél tűrőképességed határáig, akkor kérlek, pihenj egyet, végezz el néhány ellazító jóga gyakorlatot és próbáld meg kibírni a végéig. A sztori bonyolultnak tűnik, de valójában nem annyira vészes, csak rá kell hangolódni!

Szóval, ha újra elérted az átszellemültségnek azt az optimális szintjét, hogy be tudd fogadni a továbbiakat, akkor folytassuk! Nézzük meg mindezt egy számszerű példán keresztül:

A történet arról szól, hogy az orvosnál egy rutin teszt elvégzésekor kiderül, hogy elkaptál egy ritka, de súlyos betegséget. Ez a betegség olyan ritka, hogy az emberiségnek csak 0,1%-a kapja el azt, vagyis minden 1000 emberből 1. A betegséget kimutató teszt eredményessége 99%, azaz minden 100 tesztből 99 esetben helyes eredményt ad, egyetlen esetben ad fals pozitív eredményt, azaz mutatja egy egészséges emberről azt, hogy beteg.

„Doktor úr! Akkor most meg fogok halni?”

Egy ilyen esetben a legtöbben így reagálnánk. De mégis? Mekkora a valószínűsége annak, hogy tényleg megkaptam ezt a ritka, de végzetes betegséget? Elsőre rávágnánk, hogy persze, 99%.

De vizsgáljuk ezt meg a Bayes-tétel szemszögéből!

Amit keresünk, az a P(C|E) vagyis annak a valószínűsége, hogy ha a teszt eredménye pozitív (E), akkor valóban beteg vagy (C).

P(E|C) annak a valószínűsége, hogy ha valóban beteg vagy, akkor a teszt eredménye pozítív. Ez 99%, vagyis 0,99.

Pprior(C) annak a valószínűsége, hogy valóban elkaptad a betegséget. Mivel 1000 emberből átlagosan 1 kapja el ezt a kórt, a valószínűség 0,1% vagy 0,001. Ez esetben szerencsések vagyunk, mert olyan adat, amelyből ki tudunk indulni, nem kell a hasunkra ütve kitalálni a legelső értéket.

Nézzük a nevezőt:

A P(E|C)*Pprior(C) ugyanaz, mint a számlálóban. P(E|~C)-ről azt mondtuk, hogy annak a valószínűsége, hogy a teszt pozitív lesz annak ellenére, hogy nem vagy beteg. Ennek a valószínűsége 1%, azaz 0,01 hiszen a teszt 100 esetből 1 alkalommal fog fals pozitív eredményt mutatni. Pprior(~C) pedig ugye annak az esélye, hogy nem vagy beteg, ez 99,9% vagy 0,999, hiszen 1000 emberből 999 nem kapja el ezt a betegséget.

Végig vettük az összetevőket, akkor most süssük meg a sütit!

Az eredmény elsőre több, mint meglepő, de talán mégsem. Józan paraszti ésszel végiggondolva ha minden 100 emberből 1-nek a tesztje hibás, akkor mind az ezer embert letesztelve 10 ember tesztje lesz hibás, és abból te csak egy vagy, vagyis hiába nagyon jó a teszt megbízhatósága, mivel a betegség igen ritka, ezért elég kicsi a valószínűsége annak, hogy tényleg beteg vagy, inkább az a valószínű, hogy te vagy a 100 emberből az az 1, akinek fals pozitív lett a tesztje.

A történteket ily módon végig gondolva adja magát a következtetés, hogy kérsz még egy tesztet. Elmégy egy másik klinikára és kéred, hogy végezzék el ők is a tesztet (hogy a két teszt eredménye független legyen egymástól). Ha a második teszt eredménye is pozitív lenne, akkor mekkora lenne a valószínűsége annak, hogy elkaptad a kórt? Nos, ehhez vesszük ugyanazt a képletet, de a Pprior(C) = 0,001 helyére behelyettesítjük az előző teszt által adott valószínűséget, a 9%-ot, azaz 0,09-et, hiszen az előző teszt alapján megtanultuk, hogy 9% az esélye, hogy beteg vagy. Persze ez megváltoztat még két másik értéket is a nevezőben, erre figyelni kell!

Vagyis, ha azokat, akiknek pozitív lett a tesztje, újra letesztelnénk, akkor a teszt magas megbízhatósága miatt a két teszt eredménye már nagy valószínűséggel megmutatja a valóságot.

Arra azért ügyeljünk, hogy az eredmény és a második kör szükségessége a betegség előfordulási valószínűsége és a teszt megbízhatóságának függvényében változhat.

Ez a példa nemcsak azért szimpatikus, mert elég gyakorlatias ahhoz, hogy könnyen el lehessen képzelni, hanem amiatt is, mert bemutatja Bayes tételének iteratív jellegét. Azt, hogy hogyan működik az ciklus, ahogyan az ismétlések során minden egyes újabb információval egyre közelebb jutunk a valós valószínűségekhez. Bár volt egy hosszú időszak, amely során a módszer alkalmazása erősen háttérbe szorult, a 20 század története során igen sok jelentős felfedezés vagy eredmény kötődik a módszer alkalmazásához, amelyből néhányat talán majd én is bemutatok a későbbiekben.

 

25 komment

A bejegyzés trackback címe:

https://statisztikaegyszeruen.blog.hu/api/trackback/id/tr9716219382

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

2020.10.10. 10:49:20

Ha egyébként a hibás teszt esélye nagyobb lenne, mint a betegség esélye, akkor valóban, Bayes tétel nélkül, intuitíven is érthető lenne, hogy nem is olyan biztos, hogy beteg vagy, mert esélyesebb, hogy a teszt volt hibás. De nagyon nem ez a helyzet.

alöksz róz 2020.10.10. 12:06:37

@Hunyadi János3: nem is értetted, miről olvasol :D
brendel mátyás tudós kutató informatikus mérnök phd lmbt stb, amint bohócot csinál magából, ez gyönyörű

nincs1agy 2020.10.10. 12:32:27

@alöksz róz: És még pinát sem látott közelről..:)))

2020.10.10. 12:37:47

@alöksz róz: nem is értetted, miről olvasol

2020.10.10. 12:38:41

@nincs1agy: Nem tudom, mi a relevanciája, de te nem láttál még pinát közelről. Az is mutatja, hogy hülye vagy, hogy azt hiszed, hogy az érv, hogy az asztal közepére szarsz.

alöksz róz 2020.10.10. 12:39:11

ezért biztos h ki fognak tiltani :-)

de ettől függetlenül érdekes kis blog ez, kár h eddig nem találkoztam vele

alöksz róz 2020.10.10. 13:52:47

@Hunyadi János3: nem értetted, miről szól a poszt, mert nem tudsz szöveget értelmezni. és még pinát se láttál közelről.
ezért bohócot csináltál magadból.

"A történet arról szól, hogy az orvosnál egy rutin teszt elvégzésekor kiderül, hogy elkaptál egy ritka, de súlyos betegséget. Ez a betegség olyan ritka, hogy az emberiségnek csak 0,1%-a kapja el azt, vagyis minden 1000 emberből 1. A betegséget kimutató teszt eredményessége 99%, azaz minden 100 tesztből 99 esetben helyes eredményt ad, egyetlen esetben ad fals pozitív eredményt, azaz mutatja egy egészséges emberről azt, hogy beteg."

és erre ezeket bírtad reagálni, zsenikém:

"Valójában a tesztek false pozitív aránya sokkal kisebb. Itt egy adat 0,01%-ról, azaz 2 nagyságrenddel kisebb.
És valójában a betegség elterjedése a magyar társadalomban ma már akár sok százalék is lehet."
"Ha egyébként a hibás teszt esélye nagyobb lenne, mint a betegség esélye, akkor valóban, Bayes tétel nélkül, intuitíven is érthető lenne, hogy nem is olyan biztos, hogy beteg vagy, mert esélyesebb, hogy a teszt volt hibás. De nagyon nem ez a helyzet."

gyalogkakukk79 2020.10.10. 17:26:15

Hu baszd meg. Inkabb elmegyek egy kuplerajba.

glantos70 2020.10.11. 06:57:04

@Hunyadi János1: A cikkben nem egy bizonyos tesztről volt szó, hanem egy teljesen elméleti példáról. A cél a Bayes-tétel egy alkalmazásának bemutatása volt. Ennél sokkal részletesebben is el lehetne mélyedni a tesztelés megbízhatóságának témakörében, de ez ebben az esetben nem volt cél.

glantos70 2020.10.11. 07:09:16

@alöksz róz: Köszönöm az elismerő szavakat a bloggal kapcsolatban. Azt viszont valóban nagyra értékelném, ha az érzelmek helyett az észérvek és a tények uralnák a vitát. Tartalomhoz a forma...

glantos70 2020.10.11. 07:12:55

@gyalogkakukk79: Igazad van, tegyük plasztikusabbá a példát: a kupi után elmégy, és csináltatsz egy szifilisz-tesztet. A teszt eredménye pozitív lesz...

alöksz róz 2020.10.11. 14:37:49

@glantos70: oké. inkább majd csak olvasom :-)

fordulo_bogyo 2020.10.12. 05:48:09

Nagyon jo, koszonom, segitett jobban megerteni, kulonsen az elozmenyekkel egyutt.

glantos70 2020.10.12. 09:17:11

@alöksz róz: Ne érts félre, nagyon örülnék neki, ha kommentelnéd a bejegyzéseimet, csak tartsuk egymást tiszteletben. Már többször előfordult például, hogy kommentelők hívták fel a figyelmemet arra, hogy valamit elhibáztam egy cikkben. Ilyenkor mindig megköszönöm a helyesbítést és javítom a hibát. A korrekt, érvekkel alátámasztott kultúrált vita nagyon is welcome! :-)

glantos70 2020.10.12. 09:19:55

@fordulo_bogyo: Nagyon örülök, hogy segíthettem! :-) A Bayes-tétel olyan egyszerűnek tűnik ,de számomra mégis komoly kihívást jelent az alkalmazása. Kacifántos a gondolatmenete és nehéz eldönteni, hogy hovamit kell behelyettesíteni. Viszont tényleg segít olyan dolgokat kiszámolni, amelyekkel nem biztos, hogy a klasszikus eszközökkel boldogulnánk...

fordulo_bogyo 2020.10.12. 16:46:56

Nemreg tanultam egyetemi genetika kurzuson (angolul, az USA-ban), akkor is nagyon tetszett, amit a te cikkedbol ertettem csak meg, az az elozetes valoszinuseg jelentese, es annak valtozasa.
Intuitivan a valtozasat mar sejtettem, megerositettel benne, azt, hogy honnan indulunk, ha nincs semmi adat (az asztalos pelda) nekem uj volt, es nagyon jo!

fordulo_bogyo 2020.10.15. 00:49:15

@glantos70: Lenne egy kerdesem, ha megengeded, es orulnek, ha lenne idod egy rovid valaszra.
A temacal foglalkozo harom poszt alapjan kerdezem: hogyan induljunk el, ha meg nincs elozetes informacionk (a mostani peldaban: nem ismerjuk hogy 1000 emberbol hany valoban pozitiv?
Ha tudjuk 1000-bol 1 a valodi pozitiv, akkor erten... de kezdetben ezt nem tudjuk.
Vagy az eloso posztban, az aszatlon a golyo helyerol eloszor semmi informacionk nincsen? Akkor is alkalmazhato ez a logika? Ha igen hogyan?
Eloe is koszi, ha idid szansz a valaszra.

glantos70 2020.10.15. 14:11:26

@fordulo_bogyo: Nagyon jó a kérdésed, ez az a pont, amelyet a legtöbben kritizáltak a Bayes-tétellel kapcsolatban és ezért is nem terjedt el nagyon sokáig. A tudósok jelentős része nem tudta elfogadni, hogy légbőlkapott számokból indul ki a Bayes-ciklus. Ugyanis, ha nincs semmilyen előzetes adatod, akkor általában feltételezzük, hogy az egyes lehetséges kimenetek egyenlő valószínűséggel következhetnek be. A múltkor találtam egy jó könyvet egyszerű példákkal, abban volt egy kockadobásos példa, amelyből ez jól megérthető:

pzs.dstu.dp.ua/DataMining/bayes/bibl/bayes_theorem_examples.pdf

glantos70 2020.10.15. 14:16:42

@fordulo_bogyo: Az, hogy a prior valószínűségek kiindulhatnak már ismert valószínűségekből is, csak valamikor a II. Világháború után terjedt el, ezt a megközelítést ha jól emlékszem, ezt empírikus bayes-nek (empirical bayes) nevezik...

en.wikipedia.org/wiki/Empirical_Bayes_method

fordulo_bogyo 2020.10.18. 03:10:11

@glantos70: Koszonom, a kezdeti valoszinuseg kerdese ezzel vilagossa valt.

glantos70 2020.10.18. 10:39:33

@fordulo_bogyo: Örülök, hogy segíthettem! :-)
süti beállítások módosítása