3. Domácí úkol: Covid-19
Úvod
Nevěřím žádné statistice, kterou jsem sám nezfalšoval.
Pravděpodobně jste zaznamenali, že poslední dobou se svět potýká s pandemií Covid-19. Ve veřejném prostoru se lze setkat s obrovským množstvím statistik a analýz různých důvěryhodností a úrovní.
V tomto úkolu se podíváme na tři aspekty epidemie:
- zpoždění ve vlnách v testování, hospitalizacích a úmrtích,
- vývoj poměru očkovaných a neočkovaných hospitalizovaných pacientů,
- nadúmrtí.
Cílem úkolu je procvičit si práci zejména s DataFrames.jl
, snažte se je proto využít co nejvíce.
V adresáři data
jsou připraveny soubory s daty.
V informačních systémech ministerstev a úřadů nemusí být zcela jednoduché je najít.
Používáme čtyři soubory od MZČR:
testy-pcr-antigenni.csv
: COVID-19: Přehled provedených testů podle typu a indikace,hospitalizace.csv
: COVID-19: Přehled hospitalizací.ockovani-hospitalizace.csv
: COVID-19: Přehled hospitalizací s ohledem na vykázaná očkování,zakladni-prehled.csv
: COVID-19: Základní přehled.ockovani.csv
: COVID-19: Přehled vykázaných očkování podle krajů ČR
Případně si můžete stáhnout čerstvé verze. Zde v repozitáři budou pár dní až týdnů staré.
Dále používáme data o úmrtí z ČSÚ (soubor umrti_cr.csv
).
Zadání
Zpoždění vln (první tři vlny 2020/2021)
V souboru data/testy-pcr-antigenni.csv
jsou ve sloupcích PCR_pozit_sympt
a PCR_pozit_asymp
počty PCR pozitivních testů v dané dny.
- Vytvořte graf ukazující vývoj celkového počtu pozitivních PCR testů v čase (na horizontální ose budou uvedena data dnů). Za poslední přibližně rok uvidíte tři hlavní vlny. Dále uvidíte značný vliv týdenní periody (o víkendech se méně testuje).
- Počty PCR testů vyhlaďte jednoduchým průměrováním. K tomu dokončete implementaci metody
average
v souboruhelpers.jl
(viz popis tamtéž). Zkonstruujte stejný graf jako v předchozím bodě jen s těmito zprůměrovanými daty. Tři vlny by nyní měly být velmi patrné. Pro vyhlazení použijte hodnotuoffset
rovnou3
(tj. prakticky počítá se průměr ze sedmi dní, týdnu). - Dokončete implementaci metody
find_peaks
v souboruhelpers.jl
, která v datech nalezne zásadnější lokální maxima (viz popis tamtéž). Pomocí této metody určete data odpovídající maximům počtu provedených PCR testů (ve vyhlazených datech). Stačí nalézt kandidáty a ty zajímavé případně ručně extrahovat.
Zopakujte body 1. až 3. na datech s počtem hospitalizovaných pacientů a počtem úmrtí (soubor data/hospitalizace.csv
a sloupce pocet_hosp
a umrti
).
Vypočtěte zpoždění (ve dnech) mezi peaky v počtu PCR testů a peaky v počtu hospitalizací/úmrtí. Jaký z těchto údajů učiníte závěr?
Hospitalizace očkovaných a neočkovaných pacientů
Vytvořte DataFrame
se sloupci:
datum
: den, začněte od 1. července,proc_ockovani
: procentuální vyjádření počtu očkovaných hospitalizovaných pacientů z celkového počtu očkovaných obyvatel ČR (v daný den),proc_neockovani
: procentuální vyjádření počtu neočkovaných hospitalizovaných pacientů z celkového počtu neočkovaných obyvatel ČR (v daný den).
Použijte data ze souborů ockovani-hospitalizace.csv
a zakladni-prehled.csv
(pokud chcete dopočítat i přesný vývoj počtu očkovaných, můžete k tomu použít soubor ockovani.csv
, vyžaduje to ovšem netriviální přepočet).
Celkový počet obyvatel ČR berte roven 10701777.
Vytvořte graf vizualizující časový vývoj těchto ukazatelů.
Nadúmrtí
V poslední části úkolu se zaměříme na jednoduchý výpočet nadúmrtí.
K tomu použijeme data ze souboru umrti_cr.csv
, kde jsou uvedeny počty úmrtí v ČR podle jednotlivých týdnů v roce od roku 2011.
- Vypočtěte průměr a rozptyl počtu úmrtí v jednotlivých týdnech od roku 2015 do roku 2019 (oboje včetně; pro výpočet uvedených ukazatelů tedy vždy budete mít pět hodnot). Ideálně si vytvořte například nový
DataFrame
. - Určete 95% interval spolehlivosti (konfidenční interval) průměrného počtu úmrtí v daném týdnu podle vzorce . Zde je kritická hodnota Studentova -rozdělení s stupni volnosti.
- Graficky znázorněte počty úmrtí v jednotlivých týdnech roku v letech 2015 až 2021 (dokud jsou data) a znázorněte i dolní a horní hranice výše spočtených intervalů spolehlivosti. Na horizontální ose tedy budete mít týdny v roce.
- Určete počet nadúmrtí z důvodů epidemie (ať už přímých nebo nepřímých)) jakožto sumu rozdílů počtu úmrtí v daný týden od horní hranice intervalu spolehlivosti pro tento týden od začátku epidemie (samozřejmě jen pokud je tento rozdíl kladný!).
Poznámky
Svou implementaci vložte do připravených souborů helpers.jl
a 03-covid.ipynb
.
Úkol je opět doplněn jednoduchými testy metod find_peaks
a average
, které opět spustíte příkazem $ julia test/runtests.jl
.