Materiál k cvičení INS týden #2, sezona 2023/2024
Množství dat vs možnosti jejich zpracování. Historicky data stále rostou, ale zpracování zaostává.
Jak z těchto dat získat smysluplné informace a vzorce chování? Jakými nástroji a technikami je možné data analyzovat a extrahovat z nich relevantní poznatky? Jak zajistit, aby tyto informace byly spolehlivé a relevantní pro daný účel? Datová analytika se těmito otázky zabývá a snaží se efektivně využít přehršle dostupných dat a vytvořit na základě nich výstupy, které pomohou v rozhodovacím procesu.
Průběh analytického procesu s tučně vyznačenými částmi, týkající se cyklu cvičení:
Microsoft Power BI je sada služeb a aplikací, která umožňuje relativně pohodlně provádět většinu činností týkající se datové analytiky. Pro načítání dat existuje řada konektorů na různé zdroje a formáty souborů. V aplikaci lze řešit transformace a čištění dat. Pro tvorbu reportů nabízí standardní paletu grafů a možnost tzv. cross-filterů, které se aplikují na datové sady ve všech grafech současně.
Součástí Power BI je desktopová aplikace Power BI Desktop, kterou budeme během cvičení používat. Dále existuje Power BI service (SaaS), která slouží jako cloudová nadstavba pro kolaboraci, publikování reportů a získání extra pluginů. Pro používání této služby je potřeba účet s aktivním předplatným. Jako poslední část je úváděna mobilní aplikace, které slouží spíše pro čtení reportů uložených na cloudové službě.
Power BI Desktop (400 MB) lze stáhnout z příslušné stránky Microsoftu. Podporovaný je pouze operační systém Microsoft Windows. Případně lze nainstalovat Power BI Desktop z Microsoft Store.
Instalace je přímočará. Po spuštění vyskočí na popředí okno, které vás vyzývá k vyzkoušení trial verze Power BI Pro, resp. k přihlášení se pomocí účtu s předplatným této služby. Okno lze nicméně směle vykřížkovat a používat free variantu, tj. bez cloudové nadstavby a některými dalšími pro nás irelevantními limitacemi. Základní rozložení ovládacích prvků v Power BI Desktop je zobrazeno na obrázku 1.

Úkol: vytvořit podporu pro vizuální prozkoumání dat o počtu osob s prokázanou nákazou Covid-19 v ČR.
Dataset: COVID-19: Přehled osob s prokázanou nákazou dle hlášení krajských hygienických stanic (v2) z otevřených datových sad Ministerstva zdravotnictví ČR.
K vyzkoušení základní práce s Power BI zkusíme načíst jednoduchý dataset (ve smyslu nekomplexní, s málo atributy) a vytvořit několik provázaných vizualizací. Při následné filtraci je možné, že narazíme na zajímavé chování, které bude možné později detailněji prozkoumat.
Nultým krokem je samotné stažení odkazovaného datasetu (tlačítko csv) a případně příslušných metadat (tlačítko csv schema, ve skutečnosti se stáhne json soubor), která vysvětlují význam atributů v datech.
Q1: Kolik záznamů je v datasetu?
Načtení dat do PowerBI provedeme příkazem (1) Home → Get data → Text/CSV a výběrem příslušného souboru. Po potvrzení dojde k automatické detekci struktury vstupního souboru a aplikace nabídne výpis exportovaných názvů atributů a prvních 100 zpracovaných řádek. Pokud nedošlo ke správnému parsování souboru, je možné změnit přes možnosti v horní části použitou znakovou sadu, použitý oddělovací symbol a způsob detekce datových typů.
Pokud je výsledek automatického zpracování vyhovující, tlačítkem Load se provede načtení dat do aplikace. Pokud je potřeba manuálně zasáhnout a transformovat data před načtením, kliknutím na Transform Data se zobrazí příslušné dialogové okno. Nám zatím zpracování takto vyhovuje a dáváme Load.
Kliknutím na (6) datový model se zobrazí obsah načteného datasetu. V zápatí GUI je vidět informace o počtu řádků a tedy i odpověď na Q1.
Q2: Jaký má význam jedna řádka v datasetu? Jaký význam nesou atributy? Odpovídá realita popisu ve schematu?
Ve sloupci (5) Fields se po načtení zobrazí název zpracovaného csv souboru a hierarchicky pod ním devět atributů. Všimněte si, že u položky datum je ikona kalendáře signalizující, že se jedná o speciální datový typ datum. U třech atributů je symbol Σ, který značí, že pro číselné atributy je nastavena nějaká forma agregace. Náhledem do metadat k datasetu můžeme zjistit sémantiku jednotlivých atributů. Zároveň se lze dočíst, že jeden záznam odpovídá jednomu člověku, který byl v příslušný den hlášen jako nakažený.
Jako první vizualizaci použijme sloupcový graf (stacked), na kterém vykreslíme počet případů v jednotlivých měsících (obrázek 3). Kliknutím na ikonu se vytvoří prázdná schránka na ploše reportu. Pro její naplnění je potřeba přetáhnout vhodné atributy do položek ve sloupci Visualization → Build visual. V našem případě na pozici X-axis přetáhneme datum, protože chceme členit sloupce po měsících. Všimněte si, že se automaticky vygenerovalo několik hierarchických úrovní datumu (rok, kvartál, měsíc, den). V našem případě dává smysl uvažovat pouze měsíce a tak ostatní křížkem odstraníme. Do pole Y-axis se typicky umisťuje atribut s charakteristikou primárního klíče, pokud chceme vykreslit počet záznamů.

Pozor na interpretaci tohoto grafu. Jelikož jsou data sesbírána za několik let, do sloupců se skládají všechny ledny, únory atd. Nejedná se tedy o pohled na konkrétní rok. Pokud chceme zobrazit počet případů v jednotlivých měsících pro konkrétní rok, je možné změnit položku v X-axis, aby obsahovala hierarchii datum: Year, Month.

Nyní nás může zajímat, jaký je poměr mužů a žen mezi nakaženými. Pro vizualizaci lze zvolit výsečový graf, do kterého přetáhneme atribut pohlaví do políčka Legend a do políčka Values opět použijeme počet id. Všimněte si, že atribut nakaza_v_zahranici nabývá pouze hodnoty 1 (význam ano) a null (význam ne). Zkusme tento atribut přesunout do políčka Tooltips výsečového grafu. V tompto případě nehraje roli, jestli je použita agregace Sum nebo Count. Po najetí kurzorem na některou z výsečí v grafu, se zobrazí bublina s hodnotou počtu případů a zároveň i s hodnotou počtu případů importovaných ze zahraničí. (obr. 4)

Dále si vyzkoušejte, že vizualizace jsou provázané technikou cross-filter. Pokud ve sloupcovém grafu vyberu pouze jeden měsíc, tento filtr se aplikuje i na výsečový graf a získám tak vizualizaci poměru mužů a žen pro konkrétní měsíc. Vhledem k exponenciálnímu růstu v září 2020 je problém opticky rozlišit velikost výsečí při filtrování dle měsíce s nízkým počtem případů. Je možné změnit vizulizaci na zobrazení podílu vůči celku místo absolutní hodnoty. Tato možnost je v roletovém menu Visualization → Values → Vek → Show value as → Percent of grand total. Nyní je ve vizualizaci vidět jasně poměr pro zvolený měsíc, ale chybí informace o absolutním čísle.
Q3: Jaký byl poměr M/Ž u nových případů v červnu 2020? Došlo k nějaké výchylce v počtu případů v nějakém kraji? Zdůvodněte.