Difference between revisions of "Simulace šíření spalniček (Vensim)"
(→Definice problému) |
(→Ovlivňující faktory) |
||
(19 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Zadání == | == Zadání == | ||
− | '''Název simulace:''' Simulace šíření | + | '''Název simulace:''' Simulace šíření spalniček |
'''Předmět:''' 4IT495 Simulace systémů | '''Předmět:''' 4IT495 Simulace systémů | ||
Line 14: | Line 14: | ||
== Definice problému == | == Definice problému == | ||
− | + | Propukla epidemie spalniček. Tato nemoc se k nám dostal od cestovatele z Indie. Celkově bylo nakaženo 50 lidí a další lidé rychle přibývají. Onemocnění se projevuje horečkou, rýmou, kašlem, slzícíma očima a na bukální sliznici jsou bělavé tečky se zarudlým okolím. Virus spalniček se přenáší kapénkovou infekcí. Inkubační doba spalniček je 6–19 dní, průměrně 13 dní. Infikovaní lidé jsou nakažliví ještě 4 až 5 dní před propuknutím této nemoci. Úmrtnost je velmi malá, 1 smrt z 1 000 případů. Cílem tohoto modelu je určit a sledovat průběh této epidemie. Zároveň pomocí tohoto modelu lze určit důležitost karantény a počet vakcín obdržených před vypuknutím epidemie. Údaje získané z této simulace by měly přesvědčit rodiče k očkování svých děti ihned jak to bude možné. Simulace se dá přizpůsobit konkrétní situaci v realitě. Nashromážděná data využitá v tomto modelu byla částečně získaná z různorodých výzkumů a statistických dat. <ref name="pinkbook">WALLACE, Gregory. LEROY, Zaney. (2018) Measles [online]. [cit. 2019-09-06] Dostupné z: https://www.cdc.gov/vaccines/pubs/pinkbook/meas.html</ref> | |
+ | |||
+ | Cílem simulace je nalézt entity a jejich vztahy, které ovlivňují počty nakažených lidí, což může následně pomoci redukovat tato čísla. Výsledkem je srovnání 3 možných situací a následně vybrání nejlepšího řešení, které omezí počet infikovaných lidí a zároveň zmenší úmrtnost. První situací je situace, ve které není nic regulováno a tato možnost může nastát i v reálném světě. Bylo to nastaveno zcela náhodně a podle autorová uvážení. Druhou možností, jenž ovlivňuje tento model, je zvýšení důrazu na karanténu lidí. Může to být zapřičiněno nejen vyhláškou, ale samotnými preferencemi konkrétních jedinců. Poslední porovnávanou situací je zvýšení počtu očkovaných subjektů a to především oznámením médií o větším nebezpečí výskytu nemoci v dané oblasti. | ||
== Metoda == | == Metoda == | ||
− | Pro zpracování této simulace byl vybrán nástroj [https://vensim.com/ Vensim] | + | Pro zpracování této simulace byl vybrán nástroj [https://vensim.com/ Vensim] k simulaci systémové dynamiky. Zadáním specifických hodnot proměnných lze nalézt hraniční hodnoty, optimální hodnoty a sledovat chování modelu šíření spalniček. U ostatních softwarových nástrojů by došlo k zanedbání prostorového aspektu vnějšího prostředí. Zároveň na takto malé ploše by došlo k zkreslení výsledků zanesením pouze omezeného počtu agentů. Nás především zajímají výsledné faktické hodnoty, které jsou v tomto nástroji daleko více zřejmé a prezentovatelné. Model sleduje vývoj šíření epidemie v horizontu několika měsíců. |
== Model == | == Model == | ||
Line 41: | Line 43: | ||
Vzorec: <span style="font-family:Courier;">susceptible + infected + recovered + quarantined</span> | Vzorec: <span style="font-family:Courier;">susceptible + infected + recovered + quarantined</span> | ||
---- | ---- | ||
− | '''Susceptible (náchylný jedinci k onemocnění)''' - Vyobrazuje počet jedinců, | + | '''Susceptible (náchylný jedinci k onemocnění)''' - Vyobrazuje počet jedinců, kteří se můžou nakazit virem spalniček. Tyto údaje jsou v jednotkách - individual, což znázorňuje počet lidí. |
Vzorec: <span style="font-family:Courier;">INTEG (narození - očkovaný - onemocněl)</span><br> | Vzorec: <span style="font-family:Courier;">INTEG (narození - očkovaný - onemocněl)</span><br> | ||
Počáteční hodnota: <span style="font-family:Courier;">počáteční počet zdravých</span> | Počáteční hodnota: <span style="font-family:Courier;">počáteční počet zdravých</span> | ||
---- | ---- | ||
− | '''Počáteční počet zdravých''' - Tato konstanta inicializuje do | + | '''Počáteční počet zdravých''' - Tato konstanta inicializuje do simulace počet jedinců, kteří jsou zdravý a můžou se nakazit tímto virem. Pomocí posuvníku se hodnota může zvýšit či snížit. Slouží pro nastavení simulace na konkrétní situaci v realitě. |
Hodnota: <span style="font-family:Courier;">počáteční počet zdravých [2000]</span> | Hodnota: <span style="font-family:Courier;">počáteční počet zdravých [2000]</span> | ||
Line 66: | Line 68: | ||
Vzorec: <span style="font-family:Courier;">(míra nakažlivosti * počet setkání) + (Infected - Quarantined)</span> | Vzorec: <span style="font-family:Courier;">(míra nakažlivosti * počet setkání) + (Infected - Quarantined)</span> | ||
---- | ---- | ||
− | '''Infected (infikovaný jedinci)''' - Vyobrazuje počet jedinců, | + | '''Infected (infikovaný jedinci)''' - Vyobrazuje počet jedinců, jenž jsou nakažení virem spalniček. Zde je počáteční hodnota počet nakažených subjektů, kteří nejsou v karanténě a neví, že mají tento virus v těle. |
Vzorec: <span style="font-family:Courier;">INTEG (onemocněl - karanténa - mrtvý - vyléčen)</span><br> | Vzorec: <span style="font-family:Courier;">INTEG (onemocněl - karanténa - mrtvý - vyléčen)</span><br> | ||
Line 116: | Line 118: | ||
Počáteční hodnota: <span style="font-family:Courier;">počet vyléčených [0]</span> | Počáteční hodnota: <span style="font-family:Courier;">počet vyléčených [0]</span> | ||
---- | ---- | ||
− | '''Míra karantény''' - Procentuální počet infikovaných lidí | + | '''Míra karantény''' - Procentuální počet infikovaných lidí, kteří jdou do karantény. Číslo zobrazující povinnost karantény, ať už kvůli vyhlášce nebo individuální preferencí. Toto číslo jde regulovat posuvníkem umístěným nad modelem. |
Hodnota: <span style="font-family:Courier;">míra karantény [0.6]</span> | Hodnota: <span style="font-family:Courier;">míra karantény [0.6]</span> | ||
Line 135: | Line 137: | ||
=== Posuvníky určené k regulaci konstant === | === Posuvníky určené k regulaci konstant === | ||
− | Posuvníky níže slouží pro úpravu primárních konstant, které jsou důležité pro získání výsledných dat z této simulace. Primárně jde o míru karantény a nebezpečí výskytu, jenž mění preferenci lidí, zda se jít | + | Posuvníky níže slouží pro úpravu primárních konstant, které jsou důležité pro získání výsledných dat z této simulace. Primárně jde o míru karantény a nebezpečí výskytu, jenž mění preferenci lidí, zda se jít očkovat proti spalničkám či nikoliv. Boxy usnadňují regulaci a umožňují měnit hodnoty, které vstupují do jednotlivých vzorců.<br><br> |
[[File:Posuvniky spalnicky.PNG]] | [[File:Posuvniky spalnicky.PNG]] | ||
=== Ovlivňující faktory === | === Ovlivňující faktory === | ||
− | Z následujících dvou obrázku je viditelné, | + | Z následujících dvou obrázku je viditelné, které faktory ovlivňují celkový počet infikovaných a vyléčených (imunních) jedinců.<br><br> |
[[File:Ovlivnujici faktory recovered.PNG]] | [[File:Ovlivnujici faktory recovered.PNG]] | ||
[[File:Ovlivnujici faktory infected.PNG]] | [[File:Ovlivnujici faktory infected.PNG]] | ||
Line 146: | Line 148: | ||
Výsledek simulace bude porovnán mezi třemi různými situacemi. Níže jsou vyobrazeny hodnoty operativních proměnných, který se mění podle zkoumaných situací, které jsou popsány v zadání. | Výsledek simulace bude porovnán mezi třemi různými situacemi. Níže jsou vyobrazeny hodnoty operativních proměnných, který se mění podle zkoumaných situací, které jsou popsány v zadání. | ||
− | ''' | + | '''Neovlivněná situace''' |
* Počáteční počet zdravých - 2 000 | * Počáteční počet zdravých - 2 000 | ||
* Počáteční počet nakažených - 50 | * Počáteční počet nakažených - 50 | ||
Line 174: | Line 176: | ||
== Závěr == | == Závěr == | ||
+ | V modelu bohužel došlo k částečnému odklonu od zadání. Pokud by se do této simulace měly implementovat věkové kategorie a jejich pravděpodobnost nákazy tímto virem, došlo by k výrazně náročnějšímu řešení. Cíl tohoto modelu byl úspěšně naplněn a výsledky je možné jednoduše porovnat v předchozí kapitole. Výsledná čísla nemusí zcela odpovídat reálné situaci. Na šíření epidemie v reálném světě působí daleko více proměnných. Model by šlo rozšířit o další faktory působící na dostupnost vakcín, věkové kategorie jedinců, více propracovat léčbu, trvalé následky, počty setkání apod. Zároveň nebyla nalezená veškerá reálná čísla využívaná v tomto modelu. Ovšem pro hrubý odhad a přehled fungování šíření epidemie v reálném světě je tato simulace naprosto dostačující. Zároveň je vhodná jako základ pro výše zmíněná rozšíření a vylepšení. | ||
== Kód == | == Kód == |
Latest revision as of 21:20, 10 June 2019
Contents
Zadání
Název simulace: Simulace šíření spalniček
Předmět: 4IT495 Simulace systémů
Semestr: LS 2018/2019
Autor: Bc. Jurij Povoroznyk
Typ modelu: Systémová dynamika
Modelovací nástroj: Vensim
Definice problému
Propukla epidemie spalniček. Tato nemoc se k nám dostal od cestovatele z Indie. Celkově bylo nakaženo 50 lidí a další lidé rychle přibývají. Onemocnění se projevuje horečkou, rýmou, kašlem, slzícíma očima a na bukální sliznici jsou bělavé tečky se zarudlým okolím. Virus spalniček se přenáší kapénkovou infekcí. Inkubační doba spalniček je 6–19 dní, průměrně 13 dní. Infikovaní lidé jsou nakažliví ještě 4 až 5 dní před propuknutím této nemoci. Úmrtnost je velmi malá, 1 smrt z 1 000 případů. Cílem tohoto modelu je určit a sledovat průběh této epidemie. Zároveň pomocí tohoto modelu lze určit důležitost karantény a počet vakcín obdržených před vypuknutím epidemie. Údaje získané z této simulace by měly přesvědčit rodiče k očkování svých děti ihned jak to bude možné. Simulace se dá přizpůsobit konkrétní situaci v realitě. Nashromážděná data využitá v tomto modelu byla částečně získaná z různorodých výzkumů a statistických dat. [1]
Cílem simulace je nalézt entity a jejich vztahy, které ovlivňují počty nakažených lidí, což může následně pomoci redukovat tato čísla. Výsledkem je srovnání 3 možných situací a následně vybrání nejlepšího řešení, které omezí počet infikovaných lidí a zároveň zmenší úmrtnost. První situací je situace, ve které není nic regulováno a tato možnost může nastát i v reálném světě. Bylo to nastaveno zcela náhodně a podle autorová uvážení. Druhou možností, jenž ovlivňuje tento model, je zvýšení důrazu na karanténu lidí. Může to být zapřičiněno nejen vyhláškou, ale samotnými preferencemi konkrétních jedinců. Poslední porovnávanou situací je zvýšení počtu očkovaných subjektů a to především oznámením médií o větším nebezpečí výskytu nemoci v dané oblasti.
Metoda
Pro zpracování této simulace byl vybrán nástroj Vensim k simulaci systémové dynamiky. Zadáním specifických hodnot proměnných lze nalézt hraniční hodnoty, optimální hodnoty a sledovat chování modelu šíření spalniček. U ostatních softwarových nástrojů by došlo k zanedbání prostorového aspektu vnějšího prostředí. Zároveň na takto malé ploše by došlo k zkreslení výsledků zanesením pouze omezeného počtu agentů. Nás především zajímají výsledné faktické hodnoty, které jsou v tomto nástroji daleko více zřejmé a prezentovatelné. Model sleduje vývoj šíření epidemie v horizontu několika měsíců.
Model
Diagram stavů a toků
Diagram kauzálních smyček
Entity modelu
Míra porodnosti - Pro účel této simulace byla přidaná míra porodnosti, která vyobrazuje celkovou míru porodnosti na jednu osobu. Počáteční hodnota byla nastavena tak, aby byly získány relevantní data. Tento údaj se může změnit pomocí boxu umístěných nad modelem. Minimální hodnota této konstanty je 0, tudíž nedochází k žádnému početí během jednoho měsíce. Maximální možnou hodnotou může být 1, kdy na jednu osobu připadá jedno nově narozené dítě.
Hodnota: míra porodnosti na jednu osobu [0.35]
Narození - Vyjadřuje počet narozených dětí z celkové populace.
Vzorec: celková populace * míra porodnosti
Celková populace - Součet všech lidí vyskytujících se v této konkrétní simulaci. Počet je redukován o mrtvé jedince, kterých je ovšem minimum, jelikož spalničky mají takřka nulovou úmrtnost.
Vzorec: susceptible + infected + recovered + quarantined
Susceptible (náchylný jedinci k onemocnění) - Vyobrazuje počet jedinců, kteří se můžou nakazit virem spalniček. Tyto údaje jsou v jednotkách - individual, což znázorňuje počet lidí.
Vzorec: INTEG (narození - očkovaný - onemocněl)
Počáteční hodnota: počáteční počet zdravých
Počáteční počet zdravých - Tato konstanta inicializuje do simulace počet jedinců, kteří jsou zdravý a můžou se nakazit tímto virem. Pomocí posuvníku se hodnota může zvýšit či snížit. Slouží pro nastavení simulace na konkrétní situaci v realitě.
Hodnota: počáteční počet zdravých [2000]
Denní počet - Nastavuje denní počet setkání jedinců s nakaženými lidmi.
Hodnota: denní počet [4]
Počet setkání - Tento výpočet určí možnost setkání zdravých jedinců s nakaženými. Výpočet byl omezen pouze na lidi, kteří nejsou v karanténě. Vyléčený lidí nemůžou být nakažení, ovšem můžou sloužit jako přenášeči, proto jsou v tomto vzorci využiti.
Hodnota: (denní počet * Susceptible) * (Infected / (celková populace - Quarantined))
Míra nakažlivosti - Procenta znázorňují možnost nákazy touto nemocí. Hodnota je nastavená především tak, že někteří lidí mají silnější imunitu, proto šance na nakažení není 100%, ale pouze 60%.
Hodnota: míra nakažlivosti [0.6]
Onemocněl - Znázorňuje počet lidí za jeden měsíc, kteří onemocněli. Výpočet je omezen pouze na infikovaný subjekty. Jedinci nacházející se v karanténě nemůžou nakazit zdravé lidi.
Vzorec: (míra nakažlivosti * počet setkání) + (Infected - Quarantined)
Infected (infikovaný jedinci) - Vyobrazuje počet jedinců, jenž jsou nakažení virem spalniček. Zde je počáteční hodnota počet nakažených subjektů, kteří nejsou v karanténě a neví, že mají tento virus v těle.
Vzorec: INTEG (onemocněl - karanténa - mrtvý - vyléčen)
Počáteční hodnota: počáteční počet nakažených
Počáteční počet nakažených - Počet nakažených jedinců virem spalniček při spuštění simulace.
Počáteční hodnota: počáteční počet nakažených [50]
Přístupnost vakcíny - Udává procentuální dostupnost vakcíny proti spalničkám. Ne všichni mají možnost tuto vakcínu získat. Ať už kvůli sociální situaci nebo v dané oblasti není dostatečný počet vakcín.
Počáteční hodnota: přístupnost vakcíny [0.5]
Množství vakcíny - Výpočet sloužící pro určení indexu lidí z celkového počtu zdravých subjektů, kteří mají zájem o očkování proti spalničkám.
Vzorec: (onemocněl / Susceptible) * přístupnost vakcíny
Nebezpečí výskytu - Konstanta udává nebezpečí výskytu spalniček v dané simulaci. Minimální hodnota je 0, kde nebezpečí je nulové. Maximální je 1, což označuje 100% možnost výskytu spalniček. Tato hodnota slouží primárně jako motivace lidí nechat se očkovat proti tomuto viru.
Vzorec: (onemocněl / Susceptible) * přístupnost vakcíny
Síla očkovaných 1, 2 nebo žádnou vakcínou - Tyto konstanty slouží pro udání síly vakcíny, která se aplikuje na subjekt. Síla vakcíny se liší podle počtu aplikovaných dávek a efektivnosti daného vzorku. Údaje byly získány ze statistického úřadu. [2] Pokud subjekt nemá žádnou vakcínu, je šance na onemocnění 90 %. Proto byla nastavená hodnota 0.1. [3]
Hodnoty: 1 vakcína [0.87], 2 vakcíny [0.95], žádná vakcína [0.1]
Účinnost - Zde se propočítá, jaká je síla vakcíny a kterou možnost si lidé nejčastěji volí. Konkrétní možnost si zvolí na základě strachu z výskytu této nemoci v jejich oblasti.
Vzorec: IF THEN ELSE(nebezpečí výskytu > 0.6, síla očkovaných 1 vakcínou , 0) + IF THEN ELSE(nebezpečí výskytu > 0.8, síla očkovaných 2 vakcínama, 0 ) + IF THEN ELSE(nebezpečí výskytu <= 0.6, síla neočkováno, 0)
Míra úmrnosti - Údává procentuální možnost úmrtí na tuto nemoc. Úmrtnost u tohoto konkrétního viru je velmi nízká, proto byla nastavená odpovídající hodnota. [4]
Hodnota: míra úmrtnosti [0.001]
Mrtvý - Počet mrtvých osob z infikovaných jedinců.
Vzorec: Infected * míra úmrtnosti
Míra zotavení - Udává jaká je šance na zotavení. Spalničky nejsou příliš smrtelné, tzn. že všichni co projdou 13 denní nemocí, tak se uzdraví. V této simulace byly vyloučený zdravotní potíže, které můžou být i po absolvování tohoto viru.
Hodnota: míra zotavení [1]
Vyléčen - Výpočet vyléčených osob.
Vzorec: míra zotavování * Infected
Recovered (vyléčení a imunní jedinci) - Počet subjektů, kteří jsou vyléčení ze spalniček, nebo jsou imunní kvůli absolvování nebo vakcíně.
Vzorec: INTEG (očkovaný + vyléčen + zotavování v karanténě)
Počáteční hodnota: počet vyléčených [0]
Míra karantény - Procentuální počet infikovaných lidí, kteří jdou do karantény. Číslo zobrazující povinnost karantény, ať už kvůli vyhlášce nebo individuální preferencí. Toto číslo jde regulovat posuvníkem umístěným nad modelem.
Hodnota: míra karantény [0.6]
Karanténa - Výpočet infikovaných lidí, kteří jdou do karantény.
Vzorec: míra karantény * Infected
Quarantined (jedinci nacházející se v karanténě) - Počet subjektů, kteří se nachází v karanténě. Tito jedinci nemůžou nakazit zdravý jedince.
Vzorec: INTEG (Quarantined + karanténa - zotavování v karanténě)
Počáteční hodnota: počet jedinců v karanténě [0]
Zotavování v karanténě - Průběh léčby je identický jako u lidí, kteří nejsou v karanténě.
Vzorec: Quarantined * míra zotavování
Posuvníky určené k regulaci konstant
Posuvníky níže slouží pro úpravu primárních konstant, které jsou důležité pro získání výsledných dat z této simulace. Primárně jde o míru karantény a nebezpečí výskytu, jenž mění preferenci lidí, zda se jít očkovat proti spalničkám či nikoliv. Boxy usnadňují regulaci a umožňují měnit hodnoty, které vstupují do jednotlivých vzorců.
Ovlivňující faktory
Z následujících dvou obrázku je viditelné, které faktory ovlivňují celkový počet infikovaných a vyléčených (imunních) jedinců.
Výsledek
Výsledek simulace bude porovnán mezi třemi různými situacemi. Níže jsou vyobrazeny hodnoty operativních proměnných, který se mění podle zkoumaných situací, které jsou popsány v zadání.
Neovlivněná situace
- Počáteční počet zdravých - 2 000
- Počáteční počet nakažených - 50
- Míra karantény - 0.6
- Nebezpečí výskytu - 0.2
- Míra porodnosti - 0.35
Větší nebezpečí výskytu spalniček
- Počáteční počet zdravých - 2 000
- Počáteční počet nakažených - 50
- Míra karantény - 0.6
- Nebezpečí výskytu - 0.9
- Míra porodnosti - 0.35
Větší důraz na karanténu nemocných lidí
- Počáteční počet zdravých - 2 000
- Počáteční počet nakažených - 50
- Míra karantény - 0.9
- Nebezpečí výskytu - 0.2
- Míra porodnosti - 0.35
Závěr
V modelu bohužel došlo k částečnému odklonu od zadání. Pokud by se do této simulace měly implementovat věkové kategorie a jejich pravděpodobnost nákazy tímto virem, došlo by k výrazně náročnějšímu řešení. Cíl tohoto modelu byl úspěšně naplněn a výsledky je možné jednoduše porovnat v předchozí kapitole. Výsledná čísla nemusí zcela odpovídat reálné situaci. Na šíření epidemie v reálném světě působí daleko více proměnných. Model by šlo rozšířit o další faktory působící na dostupnost vakcín, věkové kategorie jedinců, více propracovat léčbu, trvalé následky, počty setkání apod. Zároveň nebyla nalezená veškerá reálná čísla využívaná v tomto modelu. Ovšem pro hrubý odhad a přehled fungování šíření epidemie v reálném světě je tato simulace naprosto dostačující. Zároveň je vhodná jako základ pro výše zmíněná rozšíření a vylepšení.
Kód
Diagram stavů a toků
Diagram kauzálních smyček
Zdroje
- ↑ WALLACE, Gregory. LEROY, Zaney. (2018) Measles [online]. [cit. 2019-09-06] Dostupné z: https://www.cdc.gov/vaccines/pubs/pinkbook/meas.html
- ↑ LIMBERKOVÁ, Radomíra. (2019) Kdy jste imunní vůči onemocnění spalničkami? Nerozumíte laboratornímu nálezu? [online]. [cit. 2019-09-06] Dostupné z: http://www.szu.cz/tema/prevence/kdy-jste-imunni-vuci-onemocneni-spalnickami-nerozumite
- ↑ SHERMAN, Alter. (2015) 90 percent chance of getting measles, if you are exposed and unvaccinated [online]. [cit. 2019-09-06] Dostupné z: https://www.childrensdayton.org/the-hub/90-percent-chance-getting-measles-if-you-are-exposed-and-unvaccinated
- ↑ ROZALIO, s. (2018) Spalničky [online]. [cit. 2019-09-06] Dostupné z: http://www.rozalio.cz/o-nemocech/spalnicky