Három fontos megjegyzés elöljáróban

Ezt a projektet hobbiként, kizárólag nyilvánosan elérhető információforrásokra támaszkodva végzem. Ebből adódóan az eredmények nem tekinthetőek semmilyen szerv hivatalos álláspontjának, valamint – bár természetesen igyekeztem a lehető legjobb tudásom szerint eljárni – a helyességére sincs hivatalos pecsét. Ennek közvetlen folyományaként: minden észrevételt, megjegyzést, dicséretet, kritikát, javaslatot a lehető legnagyobb örömmel veszek! (És, amennyiben lehet, igyekszem felhasználni a továbbfejlesztéshez.) Email-címem: ferenci.tamas@nik.uni-obuda.hu. Ha valaki jártas ebben, akkor bátran nyisson a Github-on issue-t. A felhasznált adatbázist, valamint az elemzést végző szkripteket teljes terjedelmükben nyilvánosságra hoztam (lásd a fejlécben lévő linket). A projekt elsődleges célközönségét a szakmában dolgozók jelentik, de minden tőlem telhetőt megtettem, hogy itt, illetve az egyes pontok Magyarázat nevű füleiben – ha a statisztikai részleteket nem is – de az eredmények jelentését, értelmét, és mindenekelőtt a belőle levonható következtetéseket minden érdeklődő laikus számára érthetően megmagyarázzam. Ettől elválasztva, tömören igyekeztem az adott módszer matematikai hátterét és számítástechnikai megvalósítást is összefoglalni a Magyarázat füleken.

Mi ez az egész projekt?

Az utóbbi évtizedekben egyre többet és többet megértettünk azokból a tényezőkből, melyek a járványok kitörését és lefutását meghatározzák. Kialakult egy új tudományterület, a biostatisztika, az epidemiológia, a biomatematika elemeiből építkezve, mely arra a felismerésre épül, hogy az e tényezők – biológiaitól egészen a szociológiaiakig – összhatásaként kialakuló járványlefutás matematikai eszközökkel leírható. Ennek a pontossága elért arra a szintre, hogy ez az eszköztár többé már nem csak az elméleti alapkutatóknak érdekes, hanem a létező legkonkrétabb gyakorlati kérdések eldöntésében is létfontosságú segítséget tud adni a szakembereknek.

Mekkora egy járvány kitörésnek a veszélye? Ha kitört, milyen lefutásra számíthatunk, tehát hány betegre és milyen időbeli eloszlásban? Az egyes beavatkozások hogyan módosítják ezt? Ennek alapján: mi az optimális eszköz a járvány megfékezésére, vagy legalábbis lelassítására? Ilyen és ehhez hasonló kérdésekben mind segítik a választ a megfelelő módszerek; talán már ennyi is mutatja, hogy miért nagyon is lényeges a gyakorlati alkalmazásuk.

Az immár Magyarországot is elért koronavírus-járvány sajnálatosan jó alkalmat ad ezen módszerek gyakorlatba átültetésére. Itt a feladat egy már kitört járványra történő válaszadás (angol szóval: outbreak response). Ezen a weboldalon ennek az eszközeit igyekszem felhasználni

jól kezelhető formában (weboldal, melyen teljesen testreszabhatóak a számítások, de közben semmilyen programozási ismeret nem igényel),

átfogóan (lehetőleg teljeskörűen megvalósítva az outbreak response-hoz fontos számításokat),

teljesen transzparensen, a 'nyílt tudomány' jegyében.

E módszerek kapcsán egyre fontosabb kérdést jelent a számítási háttér is. Szerencsére a technika fejlődése lehetővé teszi, hogy a szükséges számításokat gyakorlatilag folyamatosan, valós időben futtassuk.

Bár a konkrét cél a koronavírus-járványra adott válasz támogatása, valójában a kifejlesztett kódom bármilyen más járványnál is felhasználható, csak az esetszámokat kell kicserélni. Éppen ezért azt remélem, hogy az itt leírt ismeretek, illetve ez keretrendszer később is fogja tudni támogatni a magyar járványügyiseket.

Cikkeim, interjúim a témában

Adatok forrása

Az adatokat egyelőre kézzel gépelem be az NNK adatközlései alapján, naponta.

(Személyes megjegyzés zárójelben: egy szégyen az országnak, hogy miközben a macedón (macedón!) közegészségügy ilyet működtet (most a sportszerűség kedvéért a nyugati példákat nem is idézem…), addig Magyarországon oda nem sikerült eljutni, így a járvány harmadik hetére, hogy egy életkori, vagy nemi bontás nyilvánosan elérhető legyen. De még a napi esetszámot is kézzel kell kivonni az egyedül közölt kumulált számból, és átpötyögni egy táblázatba. Mindezt 2020-ban. Szerintem ez így szegénységi bizonyítvány az egész magyar népegészségügyre nézve. Mert ez tényleg szándék kérdése, ne mondja nekem senki, hogy akkora erőforrásigénye lenne kirakni egy Excel-táblát napi esetszámmal és életkori/nemi bontással.)

Frissítés (2020. július 29.): Hosszas gondolkodás után végülis átállítottam az oldal adatforrását a Johns Hopkins adatbázisra, így az oldal innentől teljesen automatikusan és naponta frissül. Jobban örültem volna az ECDC vagy WHO használatának (egy fokkal mégis csak “hivatalosabbak”), de mindkettőben vannak hibák - ami amúgy szintén megérne egy misét… - míg a Johns Hopkins hónapokra visszamenően helyes számokat tartalmaz.

Mik a fontos eredmények?

Alapvetően két célunk van outbreak response során. Az egyik, hogy leírjuk a járvány aktuális helyzetét, megfelelően választott mutatószámokkal, mely jelzi a jelenlegi helyzetet. Másrészt, és talán ez a még fontosabb, hogy ez alapján előrejelzéseket tegyünk a jövőre nézve. Ezen előrejelzések egy része empirikus: nincs ismeret mögötte arról, hogy a háttérben lévő folyamatok hogyan működnek, mik az ok-okozati kapcsolatok, egyszerűen csak “meghosszabbítjuk” a múltbeli viselkedést. Az előrejelzések más része mechanisztikus, modell-alapú: feltételez valamit a valóságos jelenség viselkedéséről, esetleg úgy, hogy annak néhány paramétere még ismeretlen, és azokat megpróbálja a múltbeli tényadatokból megbecsülni.

Ez azért borzasztóan fontos, mert ha van egy modellünk, mégpedig egy jól validált modellünk (így szokták hívni, ha a modell tényleg jól működik, olyan értelemben, hogy amit mond arra nézve, hogy mi fog történni, az történik a valóságban is), akkor a számítógép előtt ülve le tudjuk játszatni a jövőbeli történéseket. Meg tudjuk mondani, hogy milyen lesz a járvány lefutása, de ami még sokkal fontosabb: ki tudjuk próbálni (még egyszer: a számítógép előtt ülve, teát szürcsölgetve), hogy mi történik akkor, ha egy bizony beavatkozást érvénybe léptetünk. Hogyan hat a lefutásra, ha bezárjuk az egyetemeket? És ha a közoktatást is? És ha mindkettőt? És ha a mozikat is? És ha 30% távmunkában kezd el dolgozni? És ha 20? És ha 40? Valóságból csak egy van, nem tudjuk mint egy videójátékban elmenteni a helyzetet, és kipróbálni ezeket a lehetőségeket mindig visszatérve a mai mentéshez – de a modellek lehetővé teszik, hogy valamilyen értelemben mégis csak ezt csináljuk! Lehetővé teszik, hogy kockázat nélkül kipróbáljuk a különféle intézkedések hatását, ami, mondani sem kell, azért nagyon fontos, mert lehetővé teszi a járványügyi intézkedések racionális alapon történő megválasztását.

A reprodukciós szám

Térjünk vissza egy pillanatra az aktuális helyzet jellemzéséhez. Itt ugyanis van egy fogalom, amivel mindenképp meg kell ismerkedni: a reprodukciós szám. Ez azt jelenti, hogy egy ember átlagosan hány másiknak adja át a fertőzést. Egy nagyon ragályos betegségnél ez lehet \(R=10\), egy jóval kevésbé ragályosnál lehet \(R=2\). (Ez természetesen egy átlag: lehet, hogy valaki egynek sem adja át, más meg 100-nak.) Egy dolgot kell világosan látni: egy járvány addig terjed önfenntartó módon, amíg \(R>1\). Hiszen 1 beteg 2-t “hoz létre”, a 2 mindegyike 2-2-t, így a következő – ahogy az epidemiológusok mondják – generációban már 4 betegünk lesz, aztán 8, aztán 16, és így tovább. A járvány önfenntartó módon felfut. Ezzel szemben ha \(R=0,\!5\), akkor 16 beteg már csak 8-at fog létrehozni, azután már csak 4 lesz a következő generációban – a járvány kialszik. (Hogy lehet az \(R\) értéke nem egész szám? Minden további nélkül, az \(R=1,\!1\)-et fogjuk fel úgy, hogy 10 beteg 11 másodlagos fertőzést kelt.)

A különböző intézkedések tehát az \(R\) értékét igyekeznek csökkenteni. Hogy honnan indulunk, az alapvetően a kórokozó biológiájától (hogy mennyire ragályos) és a társadalom éppen aktuális szociális viszonyaitól függ (például a lakásviszonyok zsúfoltsága, tehát, hogy milyen gyakran nyílnak fertőzés átadására alkalmas utak). Ezt szokták néha elemi reprodukciós számnak (\(R_0\)) is nevezni, ami a reprodukciós szám akkor, ha a fertőzöttet csupa fogékony veszi körül, és semmilyen korlátozó intézkedést nem hozunk. Ezt csökkentheti a védőoltás, ha elérhető, a már meglevő természetes immunitás a betegség ellen, például kiállt korábbi megbetegedés révén, ha van ilyen, és a különféle egyéb intézkedések, iskolák bezárása, éttermek és szórakozóhelyek bezárása és így tovább. (Néha szokás az így kialakuló értéket megkülönböztetésül effektív reprodukciós számnak nevezni, én most nem bonyolítom a szóhasználatot, hanem egyszerűen reprodukciós számnak hívom. Az outbreak response során ez lesz a fontos.)

Az \(R\) azért ilyen alapvető mutató, mert egyszerre mutatja a jelenlegi helyzetet – amiben persze a múltbeli intézkedések hatása tükröződik – és ad előrejelzést arra nézve, hogy mi várható a jövőben. Hogy a járvány milyen gyorsan fog felfutni (túlterheli-e az egészségügyi rendszert?), hogy hány betegre kell összesen számolnunk (bármikor is betegszenek meg), tehát a lakosság mekkora részét fogja érinteni a járvány végeredményben, és a fentiek fényében azt is, hogy van-e lehetőség a kitörés elfojtására.

A közösségi immunitási küszöb

Egy pillanatra még érdemes visszatérni az \(R_0\) értékére, tehát a reprodukcióra akkor, ha mindenki fogékony és nem hozunk semmilyen intézkedést, ugyanis ez is meghatároz egy nagyon fontos dolgot. Ha semmilyen intézkedés nincs, akkor a járványok terjedése eleinte nagyon gyors, és egyre csak gyorsul: a terjedést egyedül az korlátozza, hogy mennyi fertőző forrás van. Ez eddig nem meglepő, az érdekesebb rész akkor jön, ha egy kicsit továbbmegyünk. Egy ponton túl ugyanis bejön egy korlát: ha már nagyon sok betegségen átesett ember van (tételezzük most fel, hogy ez védettséget ad a betegség ellen), akkor az le fogja lassítani a terjedést, mert a fertőzöttek környékén, akiknek ők átadnák a betegséget, egyre sűrűbben lesznek védettek, akik irányába mégsem történik átvitel, és nem jön létre új megbetegedés. Ez – minden intézkedés nélkül is – csökkenti az \(R\) értékét.

Ezt úgy érdemes felfogni, hogy az \(R_0=4\) azt jelenti, hogy egy beteg átlagosan négy embert “kínál meg” a betegséggel. De ha az emberek fele védett, akkor valójában csak 2 új megbetegedés jön létre, hiszen a “megkínáltak” fele védett volt! Tehát ekkor az \(R\) már csak 2. És valami nagyon fontos dolog történik akkor, ha a védettek aránya eléri a háromnegyedet: ekkor az \(R\) lemegy 1-re, hiába is volt 4 az \(R_0\). Azaz: olyan sűrűn vannak a védettek, hogy már nem tud kialakulni önfenntartó járvány, hiába – és ez nagyon fontos! – nincs semmilyen korlátozó intézkedés. Ezt a helyzetet szokás közösségi immunitásnak (régebbi szóval nyájimmunitásnak) nevezni.

Jól látszik, hogy van egy küszöb, amit ha elér a védettek száma, akkor nem csak lelassítjuk a betegséget, hanem egyáltalán nem tud önfenntartó járvány kialakulni, és az is érzékelhető, hogy ez a küszöb annál magasabban van, minél nagyobb az \(R_0\). (Pici végiggondolással belátható, hogy ennek az értéke \(1-1/R_0\).) A koronavírus esetén jelenlegi tudásunk szerint 2-3 körül van az \(R_0\), az elemi reprodukciós szám, tehát más intézkedés hiányában akkor nem tör ki járvány, ha a lakosság 60-70%-a védett. Amíg nincs védőoltás, és senki nem rendelkezik eleve immunitással, ez magyarul azt jelenti, hogy ennyi embernek kell átesnie a betegségen, hogy külön intézkedés nélkül se törjön ki járvány! (És akkor még feltételeztük, hogy a betegség átvészelése tartós immunitást ad, ami igazából még nyitott kérdés.)

Ez gondolatilag is fontos: ha az \(R\)-et lecsökkentjük (de nem 1 alá), akkor a járvány lelassul ugyan, de amint feloldjuk a csökkentő intézkedéseket, újra el fog indulni, és mindez addig tart, amíg el nem érjük a közösségi immunitási küszöböt. Ezen csak a védőoltás segít, vagy a betegség teljes felszámolása, hiszen ha egyetlen beteg sincs, akkor mindegy mekkora az \(R\), nem fog járvány kitörni. (Persze ez egy borzasztó törékeny állapot, hiszen a mai viszonyok mellett egy pillanat alatt megérkezhet a kórokozó külföldről, mint ahogy a koronavírus is megérkezett mindenhová, teljesen mindegy, hogy ki mit csinált. Ennek kizárására tehát nem lehet reálisan építeni, hogy mást ne mondjunk, még Észak-Koreába is megérkezett a vírus, úgyhogy a dolog csak akkor működik, ha nem egy országban, hanem az egész világon kiirtjuk a kórokozót. Erre eddig egy állatgyógyászati példa volt, a fekete marhavész, és egy humán, a feketehimlő.)

Járványok dinamikája, a serial interval

Fontos látni, hogy az \(R\) viszont semmit nem mond a járvány dinamikájáról, tehát időbeli lefutásáról. A példa kedvéért elképzelhetőek olyan körülmények, melyben az influenzának és a HIV-nek egyaránt 3 a reprodukciós száma. Csak míg az előbbi úgy jön ki, hogy a betegek időegység alatt sok embert tesznek ki a fertőzésnek, ám rövid időn keresztül, addig az utóbbi esetében időegység alatt kevesebbet, ám hosszabb időn keresztül. De ha a reprodukciós számuk ugyanaz, akkor ezen a szemüvegen keresztül ugyanúgy viselkednek, például –- védettség hiányában -– mindkettő önfenntartó járványt fog okozni. Ami igaz is, csak hogy egészen más jellegűt: az influenza nagyon gyorsan fel fog futni (majd le is cseng), addig a HIV-nél sokkal-sokkal elnyújtottabb módon gyűlnek a fertőzöttek.

Az időbeli dinamika egyik fontos mérőszáma a serial interval: az az idő, amennyi egy eset tüneteinek jelentkezése és az általa megbetegített emberek tüneteinek jelentkezése között eltelik. Megint csak: ez sem egy konkrét szám, hanem egy eloszlás, néha kevesebb idő telik el, néha több. Gyakran feltételezzük, hogy az eloszlás alakja adott, csak bizonyos paramétereit – várható értékét, szórását – adjuk meg az adott konkrét betegségre, járványügyi helyzetre.

Halálozási arány és az aluldetektálás

Egy betegség “veszélyességének” legalapvetőbb mérőszáma a halálozási arány. Egy éppen zajló járvány esetében azonban egyáltalán nem nyilvánvaló, hogy ennek mi a megfelelő számítása; a naiv számítás torzított eredményt ad. Éppen ezért fontos végiggondolni ezt a kérdést, és igyekezni kiküszöbölni ezt a torzítást.

Bár elsőre meglepőnek hangozhat, de ez az eredmény aztán arra is felhasználható, hogy igyekezzünk jellemezni az aluldetektálást, tehát azt, hogy a betegek egy részéről nem tudjuk, hogy betegek, azaz nem jelennek meg a jelentett számban. (Vagy azért, mert vannak tüneteik ugyan, de mégsem tesztelték őket, vagy azért, mert tüneteik sincsenek; persze kellően széleskörű teszteléssel az ilyen esetek egy része is felderíthető lenne.)

Mik a projekt egyes komponensei?

A projekt több pontból épül fel, melyek közül a bal oldali menüben lehet választani.