Na Internetu se v souvislosti s koronavirem vynořilo mimo jiné i mnoho webových stránek, které se snaží zpracovávat data do různých statistických výstupů. Jen v českém registru se jich objevilo hned několik. Jestliže patříte mezi ty, kteří rádi sledují aktuální „koronavirová“ čísla nebo z nich čerpáte informace při své práci, můžete narazit na několik překážek. Některé statistiky totiž sice přináší údaje, které zrovna potřebujete, ale jsou staré a pravidelně se neobnovují. V případě dynamických vizualizací jste zase při práci svázáni pevně danými mantinely. Pokud vám to nevyhovuje, můžete vyzkoušet nově vytvořený nástroj na generování dynamických vizualizací z dílny sdružení CZ.NIC, který má široké možnosti a lze jej různě nastavovat. Můžete si tak navolit například libovolné světové území, vzorec pro danou křivku, můžete kopírovat URL a samozřejmě pro update stačí zmáčknout F5. Vše důležité najdete na https://covid-19.nic.cz/.
Jak to funguje?
Prioritou pro nás bylo umožnit zobrazit všechna dostupná území. Chtěli jsme tak dosáhnout toho, aby si ladné křivky mohly zobrazit všechny země, které mají statistiky veřejně dostupné, ale nejsou třeba dostatečně atraktivní pro běžně prezentované vizualizace na Internetu.
A teď už k funkcionalitě. Z důvodu velké složitosti je většina ovládacích prvků zpočátku skryta. Vpravo naleznete menu, kde lze zapnout jednotlivé panely.
1. Axes
V panelu Axes si vyberete varianty použitých os. Osa Y je buď lineární, logaritmická nebo procentuální. Logaritmickou použijete, když chcete srovnat malé a velké území – například Českou republiku s Evropou. Takže i přesto, že je naše země mnohem menší, tvar obou křivek je patrný.
Procentuální zobrazení doporučujeme v případě, že chcete zobrazit informace, které porovnávají více faktorů najednou. Například kontinenty utvoří sloupce, rozdělené podle počtu potvrzených a skončených případů. Nebo naopak (počty potvrzených a skončeným utvoří skloupce, rozdělené podle kontinentů).
Na ose X lze pak volit buď čas, nebo počet potvrzených případů. Můžete si zobrazit křivku nově potvrzených případů vůči jejich celkovému množství. Přehledně tak můžete vizualizovat, zda se země veze na vlně exponenciálního růstu (což z časové osy není vizuálně snadné odvodit), či zda se jí daří změnit průběh epidemie.
Přepínačem si můžete navolit, zda monitorujete vývoj trendu pro rozsah dní, či zda zobrazíte situaci v jeden konkrétní den. Posuvník pak graf překreslí pro daný časový rozsah.
2. Computation
Záložka Computation umožňuje ovlivnit výpočet dvěma způsoby. Přepínač „Average“ zapne průměrování dat za poslední týden, přesněji je použitý klouzavý průměr sedm dní zpětně. I v zemích, které reportují poctivě, se vyskytnou výpadky a chyby. Kupříkladu Itálie nahlásila 11. března přírůstek 3 000 potvrzených případů, o dva dny později 6 000, ale 12. března není ve statistikách uvedeno nic.
Druhý přepínač „Outbreak“, česky bychom řekli prudké šíření, posune všechny datasety tak, že začínají v den, kdy v daném teritoriu bylo hlášeno jisté množství případů. Jaké? To si určíte buď konstantou absolutní, nebo vztaženou k populaci. Například lze ukázat vývoj v evropských státech v momentě, kdy dosáhly sta nakažených nebo kdy na jejich území byl hlášen počet případů odpovídající promile populace, což bylo v případě Itálie 8. března. V březnu to ale z evropských států stihlo, jak je vidět z grafu, ještě dalších deset od Islandu po Monako.
3. Equation
Neméně zajímavé menu je Equation, jež umožňuje nastavit elegantní rovnici, kterou graf konkrétně vykreslí. Do rovnice zadáte libovolné aritmetické parametry a některé ze 17 připravených proměnných.
Základní rovnice zní prostě: C (confirmed cases) neboli počet potvrzených případů. Analogicky k ní je R a D, to jest případy, které skončily uzdravením či smrtí. Z nich předpona N (new) udělá rovnice v daný den nově se vyskytující případy a předpona dN jejich derivaci.
Tedy kupříkladu pokud se včera nově uzdravilo pět lidí a dnes sedm, nabude proměnná dNR hodnoty +2, neboť počet nově uzdravených se o dva zvýšil. Proměnná P obsahuje populaci (pokud ji pro dané území máme) a T počet testovaných (dostupné jen pro ČR).
Nyní si uveďme několik příkladů s vysvětlením, abychom věděli, co jsme si vlastně zobrazili.
Rovnici je možno agregovat, to jest sečíst data ze všech použitých území do jediné datové sady. Lze tak snadno porovnávat severní a jižní Evropu nebo jak si vede ČR oproti jejím sousedům a vykreslit přitom jen dvě čáry. Případně sloupce, které je možné skládat na sebe, ať už podle rovnice (potvrzené případy na potvrzené) nebo podle území (Evropa na Evropu).
Můžeme se pustit do vytváření vícera rovnic naráz. Užitečným příkladem je porovnání tří různých kontinentů podle počtu případů daného typu. Každá rovnice pak může být na vlastním grafu. Místo, aby se tísnilo devět čar na jednom grafu, můžeme mít tři grafy o třech čarách. Nebo mohou být jednotlivá data na nezávislé ose Y, jak je možné vidět na grafu vývoje ČR a Evropy. Všimněte si, že každá spojnice má vlastní osu Y, takže můžeme vidět přehledně data z ČR i z Evropy, přestože zobrazení není lineární.
4. Display menu
Menu Display přináší další užitečné volby. Můžete popsat křivky hodnotami či názvy jejich rovnic. Změnit, pokud nejste spokojeni s implicitním nastavením, při kterém jsou v grafech bez spojnicových grafů popsány názvy sloupců. Dále si můžete určit barevná schémata a barvit křivky podle rovnice či podle teritoria. Nebo si můžete určit, jak mají být seřazeny položky, zobrazené při najetí myši. Vyberte si.
Jak zobrazím data pro jinou zemi?
To byla v návrhu aplikace poměrně složitá věc. Nakonec jsou území členěna do tří celků – kontinenty, země a státy nebo řekněme provincie. Každou rovnici lze spojit s množinou území nebo jejich agregací. Pokud má území závislá teritoria, najdeme vedle něj ikonku oka a fajfky. Oko zobrazí a skryje všechna závislá území, která nejsou spojena s aktivně editovanou rovnicí. Fajfka pak asociuje k rovnici všechna závislá území. Implicitně jsou zobrazeny kontinenty a všechna území spojená s aktivní rovnicí.
Tento mechanismus napomáhá orientaci ve stovkách možností, zvlášť, když dochází k následujícím případům:
- Čínská lidová republika – skládá se z jednotlivých závislých území jako je například Chu-pej. Můžeme si zobrazit tedy celé území Čínské lidové republiky nebo jen Chu-pej.
- Francouzská republika – je také složena z několika území. Lze tedy zobrazit Francii jako zemi a jako region (kam je zahrnuta země i její provincie) nebo třeba Reunion jako provincii, případně jednotlivé provincie.
- Teritorium patří pod více nadřazených území.
A co možnosti sdílení?
Aplikace je navržena tak, aby se veškerá vaše činnost okamžitě promítla do URL. Jakmile jste spokojeni, stačí si nastavit záložku nebo zkopírovat URL a až přijdete příště, najdete editor, jak jste jej opustili. Pokud chcete s daty dále pracovat po svém, v každém okamžiku je lze vykopírovat z dynamické tabulky. Nebo stáhnout jako CSV, JSON či obrázek.
Teď už nezbývá než si novinku vyzkoušet a dostat se tak k datům, na která už netrpělivě čekáte. Stále však platí, že až budete mít na světě svoji vysněnou vizualizaci, to, co popisuje, není skutečný svět, ale jenom jeho digitální odraz. Jsou to data získaná z dostupných zdrojů. Mohou tak být zpožděná, neúplná a v některých případech i manipulovaná. Je důležité si uvědomit jednotlivé souvislosti. Například, jestliže je dnes nově uvedeno 1 000 otestovaných jedinců a 500 potvrzených, neznamená to, že se dnes nakazilo 500 lidí. Protože testy byly prováděny před několika dny a testovaní se nakazili ještě dříve. Naopak těm, co se nakazí dnes, se příznaky projeví až za pět dní, budou testováni za týden a v kolonce otestovaní se tak objeví v lepším případě za deset dní. V tom horším i za dvacet, nebo také nikdy. Také se může stát, že budou ve statistikách dvakrát, pokud se testuje dvakrát stejný pacient. Je nutné si uvědomit i fakt, že se metodika měření v různých zemích liší. Tudíž například někde nemusí být mezi nakažené započítaní ti jedinci, kteří jsou sice pozitivně testovaní, ale zrovna nevykazují příznaky. Takže buďte obezřetní a mějte na paměti, že to jsou jen data.
Ještě by bylo zajímavé přidat
– počet úmrtí (je jedno z jaké příčiny), aby byl vidět poměr „přirozené“ a COVID-19 úmrtnosti (s COVID-19 je problém, že se někdy/někde píše jako příčina smrti a nědy/někde ne, stejný problém jako s HIV)
– počet úmrtí (je jedno z jaké příčiny) ve stejný měsíc(nebo i den) v roce 2019, 2018, 2017, 2016 a třeba 10 let průměr, tak aby bylo vidět zda COVID-19 má či nemá vliv na zvýšení počtu úmrtí
BTW … dobrá práce. Díky
Jak se přidá Polsko v Editoru ? Je tam jen CZ a ITA
Dobrý den, děkuji!
> úmrnost
To je rozhodně zajímavý podnět a rád bych ho viděl implementován. Zůstávají tři
1) kde vzít hodnověrná data pro celý svět, nebo alespoň evropské státy
2) jak to včlenit do již tak složitého UI, abych nezmátl uživatele k nepříčetnosti
3) jak udělat výpočet – mapovat datum 2020 na datum 2018 (a nechat díru 29.2.), nebo třeba mapovat na sebe dny v týdnu první sobota v dubnu 2018 vs 2020?
Pokud máte na nějaký podbod nápad, budu rád za zprávu.
> Polsko
Vpravo dole máte sloupec Continents. U Evropy zašrtněte ikonu oka, objeví se všechny evropské země. Teritorií je několik set, nemohli jsme je nechat zobrazit všechna naráz. :)
Děkuji. Jsem jelito. Já tu Evropu zaškrtával a neklikal na očičko.
Skvělá práce !
Děkujeme velmi!
Dobrý den, grafy vypadají vizuálně moc pěkně, dokonce mají logaritmické měřítko. Nepodařilose mi ale najít jednu zásadní věc – počty na ose Y přepočítané na 100 tisíc obyvatel. Dá se to někde nastavit? Děkuju.
Dobrý den, byl byste tak laskav a poslal URL vašeho grafu?
Zde je graf, který ukazuje počet potvrzených případů, kteří se po přepočtu vyskytují mezi každými 100 tisíci obyvateli ČR. (K dnešnímu dni 60 případů na 100 000 obyvatel.) Udělal jsem to tak, že jsem nastavil rovnici na C*100*k/P .
https://covid-19.nic.cz/cs/editor/?chart=5a9415c0#%22axes-options-switch%22:1,%22outbreak-switch%22:1,%22equation-options-switch%22:1,%22equation-multiple-switch%22:1,%22equation-figure-switch%22:0,%22y-axis-independency-switch%22:0,%22export-switch%22:0,%22export-data-switch%22:0,%22territory-options-switch%22:1,%22credits-switch%22:1,%22chart-size%22:72,%22outbreak-on%22:0,%22outbreak-mode%22:0,%22outbreak-value%22:%22100%22,%22outbreak-threshold%22:0,%22equation%22:1,%22undefined%22:%221%22,%22equations%22:%5B%5B%22C*100*k/P%22,true,1,1,%5B%22Czechia%22%5D,%5B%5D,0,0%5D%5D,%22figures%22:%5B%5B1,0,0,0,0%5D,%5B1,0,0,0,0%5D%5D,%22display-menu-switch%22:0,%22single-day%22:0,%22average%22:0,%22equation-expression%22:%22C*100*k/P%22,%22iframe-width%22:%22600%22,%22iframe-day-range%22:0,%22iframe-outbreak%22:0,%22iframe-buttons%22:0,%22day-range%22:%5B0,83,83%5D
Dobrý den, už jsem na to taky přišel – čísla per capita nejsou k disposici jako parametr, ale dostanu se na ně přes výpočet.
Mimochodem – velmi chválím možnost zobrazení časové osy nejen od outbreak dle počtu případů, ale také od počtu případů na 100 tisíc obyvatel!
Neplánujete přidat i počet hospitalizovaných a počet pacientů v intensivní péči (https://onemocneni-aktualne.mzcr.cz/covid-19 konkrétně sekce 4)?
Díky, KS
Dobrý den,
V současnosti čeká na nasazení historická úmrtnost v jednotlivých teritoriích a potom máme v plánu rozšířit datasety otestovaných kromě stávající ČR o 70 dalších zemí.
Počet hospitalizovaných jsou zajímavá data, je ovšem škoda, že jenom pro ČR a že to web nenabízí jako otevřenou datovou sadu ke stáhnutí, je to pouze HTML tabulka. Nicméně to zvážíme.
Pěkný den, mám dobrou zprávu; dnes ráno mi napsali z uzis.cz, že plánují přidat sloupec nově hospitalizovaných, díky tomu půjde dopočítat počet kumulativně hospitalizovaných a zavést veličiny do aplikace, alespoň tedy pro ČR.
Dobrý den.
Je to velmi dobře udělané.
Ale nevím, jestli správně chápu „Nově potvrzené“ jako denní nárůst.
Pokud ano, tak ta čísla jsou asi nějak chybně např. ČR.
21.4. – 423. Dle jiných zdrojů to je cca 150. Podobně pro ostatní země.
Děkuji za vysvětlení.
Zdravim, take si myslim, ze NC jsou nejak podivne pocitany. Celkove C je v souhladu s JH gitem.
Dobrý den,
velmi bych ocenil zdroj, který ukazuje těch 150, abych se na tu nesrovnalost mohl podívat.
NC = C – včerejší C + NR + ND, tj rozdíl dnešního a včerejší kumulativního počtu plus nově uzavřené případy.
Jenom tip: Možná dochází ke zmatení mezi NC a dC; NC je počet nově registrovaných případů, takže se číslo nesnižuje o nově vyléčené. Pro 21.4. nyní vizualizace pro ČR ukazuje NC = 334 a dC = 133. Číslo 423 žel nikde nevidím: https://bit.ly/2KpGOJG
Zdravim,
definice D a ND je podle vyse uvedenoho textu: „Základní rovnice zní prostě: C (confirmed cases) neboli počet potvrzených případů. Analogicky k ní je R a D, to jest případy, které skončily uzdravením či smrtí. Z nich předpona N (new) udělá rovnice v daný den nově se vyskytující případy a předpona dN jejich derivaci.“
Tedy C chapu snad dobre – pocet vsech registrovanych pozitivnich pripadu – ke dnesnimu dni 7132 kusu. Pak by mi vice davalo smysl, ze N(ewly)ConfirmedC(ases) bude jednoduse mezidenni zmena. tedy 7132 – 7033 (vcera potvrzenych kousku) = 99. Analogicky NR, ND. Proc do Newly Conrfirmed cases davat mrtve a vylecene. Premyslim premyslim..
Pritom NR a ND je jednoduchy mezidenni rozdil. Pak clovek ocekava (myslim, ze nejsem sam), ze NC bude to same. (zejmena kdyz se podivame na vysvetlujici text uvedeny u grafu: „NC/NR/ND/NT (newly confirmed/recovered/death/tested cases)“
Děkuji za odpověď.
Ihned po zadání dotazu jsem si hned uvědomil, že jsem se spletl v datu, ale nechal jsem to tak. Místo 20.4. jsem napsal 21.4.
Zdroj dat se 150 zde:
https://onemocneni-aktualne.mzcr.cz/covid-19
20.4. – 154.
Číslo 423 je u data 20.4.
Tak je to tak, jak jsem myslel, když se podíváte na můj graf, co jsem předtím posílal https://bit.ly/2KpGOJG a nastavíte viditelné dny na 20.4., uvidíte, že rovnice NC ukazuje 423 (nový počet případů) a rovnice dC ukazuje 154 – rozdíl mezi dnešním a včerejším kumulativním počtem, oproti NC snížen o případy, které se uzdravily a zemřely. Ještě lépe je to vidět zde https://bit.ly/2zsDR91 , kde jsou přehledně vedle sebe všechny rovnice dC, NC, NR a ND.
(A na otázku Toma jsem omylem reagoval níže v hlavním vláknu místo zde v podvláknu.)
Díky za komentář!
> Tedy C chapu snad dobre – pocet vsech registrovanych pozitivnich pripadu – ke dnesnimu dni 7132 kusu.
Ano, přesně tak. Ale kumulativní počet, tj., zahrnující v sobě i případy, které jsou již uzavřené.
> N(ewly)ConfirmedC(ases) bude jednoduse mezidenni zmena. tedy 7132 – 7033 (vcera potvrzenych kousku) = 99.
Nikoli, 99 je změna mezi kumulativními počty, tj. derivace `C`, tj. `dC`.
Pokud bych nastavil `NC` = 99, pak by nebyla `NC` analogická k `NR` a `ND`.
> Analogicky NR, ND. Proc do Newly Conrfirmed cases davat mrtve a vylecene. Premyslim premyslim..
NC je prostě jen absolutní přírůstek nemocných. Možná bude snažší tu rovnici přepsat tak, aby tam byl u včerejšího C mínus, tj. `NC = C – (včerejší C – NR – ND)`.
(Stejně jako počet současných případů zjistíme jako kumulativní počet bez uzavřených = C – R – D.)
Trochu neintuitivní je, že NR = dR a ND = dD, ovšem NC ≠ dC, protože NC právě nesmí mít v sobě započteno NR a ND, ovšem přišlo mi zbytečné do dokumentace zavádět dvě další zbytečné proměnné.
> zejmena kdyz se podivame na vysvetlujici text uvedeny u grafu: „NC/NR/ND/NT (newly confirmed/recovered/death/tested cases)“
Mně by naopak přišlo matoucí, kdybych v `newly confirmed` našel započítány NR a ND. Kdyby včera bylo 100 potvrzených lidí a k dnešku se jich 20 uzdravilo a 20 dalších bylo potvrzeno, očekávám, že v NC uvidím 20 nově potvrzených případů a v dC nulovou změnu kumulativního počtu, protože C zůstalo 100.
V další verzi, kterou se chystáme vydat, bude dokumentace drobně poupravena.
Zdravim Vas,
bohuzel jsem stale zmaten, Kdyz vemu „NC = absolutni prirustek nemocnych“ a mam tato data (23. a 22.4.):
C_1 = 7132, D_1 = 208, R_1=1989
C_2 = 7187, D_2 = 210, R_2= 2152
Pak pocet soucasnych nemocnych (23.4.)) je C_2 – D_2 – R_2 =4825, a 22.4 bylo nemocnych C_1 – D_1 – R_1 = 4935
Pak prirustek (pokles) nemocnych je ke dni 23.4.: 4825 – 4935 = -110
A denni prirustek dC je C_2 – C_1 = 55 (nove registrovanych pripadu).
Souhlasite?
Ano, přesně tak!
(C_2 – D_2 – R_2) – (C_1 – D_1 – R_1) = dC-ND-NR = -110
dC = 55
Jestli je ta úvaha v pořádku, pak ale není v souladu s vaši definici: “NC = C – včerejší C + NR + ND” máme tam nějak jinak znaménka.
Pánové, máte naprostou pravdu. Číslo NC je naprostý artefakt.
* `C – D – R` je počet aktuálně nemocných
* `dC` je změna kumulativního počtu nemocných a tedy současně i počet nově nemocných
* `dC-ND-NR` je změna počtu aktuálně nemocných
* `NC` není nic.
Jsem velmi vděčný, že jste poukázali na chybu. V novém release NC/NR/ND zmizí z dokumentace a budou interně přepsány na dC/dR/dD, abychom zachovali zpětnou kompatibilitu. Souhlasíte?
To vypadá dobře. Osobně bych tu denni změnu počtu nemocných pod nějakou proměnou nechal.
Drobnost – český popisek nastavení osy Y v grafu „záznam/čas“. V tomto případě „log“ asi nebude „záznam“ ani „kláda“. Nechal bych „log/čas“. K.S.
Když už jsme u drobnosti, pak u examples: „Ex: R/(C+R+D): Total recovered ratio“ to asi taky není zcela OK jestli se nepletu.
Za překlad „záznam / čas“ se stydím, prve jsem ho přehlédl a opravil až těsně po vydání verze. Další verze by měla vyjít každým dnem a tam už bude čeština v lepším stavu. :)
Po celou dobu tento přehled sleduji a děkuji za něj. Bohužel mne mrzí chyby v datech, které pak vše zkreslují. Vím tedy jen o českých chybách, které v minulosti vznikly. Přestože byly nahlášeny opravy, v těchto tabulkách nárůsty byly přičteny k následujícímu dni. Žádná katastrofa, ale zamrzí to.
Ovšem nyní, když česká data se vyhlašují až k 8 hodině ranní je to celé jaksi k ničemu. Bylo by možné se tedy přizpůsobit a vydávat tyto přehledy až po oznámení českých dat?
Dobrý den,
jsem vděčný za Váš komentář. Ohledně Vašeho návrhu však nemám dobré zprávy. Kdykoli se prohlížečem připojíte k portálu, stáhnou se Vám aktuální data z Johns Hopkins CSSE (například počty potvrzených zde: https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv ) , CZ.NIC nijak nezasahuje a necachuje, tím však není z naší strany možnost tento proces jednoduše urychlit. Pouze kdybychom pro ČR začali odebírat data přímo z českých zdrojů, obávám se však, že v prosinci už nebudeme mít na rozvoj aplikace kapacitu.
Dobrý den,
diky moc za prima nástroj jen to vypadá že zmizela z DB data o populaci (P) jakýkoliv vzorec s populací díky tomu padá :-(
Dobrý den, děkujeme za využívání. Zjistili jsme minulý týden, brzy se chystáme vydat opravu. Omlouvám se za prodlení.
Dobrý den,
vidím, že chyba s populací (P) je již nahlášena. Tak se těším na opravu. Děkuji.
Opraveno! :)