Příprava dat – alfa a omega každé analýzy

Kurzy ACREA

O přípravě dat se říká, že je důležitá. Takové tvrzení je však nedostatečné. Příprava dat je totiž naprosto klíčová. Je zásadním, kritickým faktorem, který často rozhoduje o úspěchu či neúspěchu celého projektu. Velice často zabere až 80% časového rozpočtu projektu. Níže uvádíme několik problémů a způsobů jejich řešení, se kterými jsme se setkali na našich statistických a dataminingových projektech.

Problém první, spojování dat

Máme data z různých zdrojů, často i v různých datových formátech a potřebujeme je spojit. Typicky se ke spojení používá nějaká společná proměnná nebo proměnné. Často se stává, že formát této proměnné je různý. Jde-li pouze o formát uložení – číslo či text, spraví to jednoduchá konverze jedné z proměnných. Jde-li však o to, že proměnná obsahuje úplně jiné hodnoty, je náprava složitější. Často se stane, že jedna z proměnných obsahuje znaky navíc – nuly, mezery, podtržítka. Poté musíme použít textové funkce a znaky nahradit či odstranit. Jindy potřebujeme složit klíč z více proměnných, k čemuž používáme matematické či textové funkce v závislosti na povaze požadované proměnné.

Příprava dat

Problém druhý, data mají různou granularitu

Jedná se o případ, kdy máme datovou množinu o zákaznících, pacientech, žádostech, výrobních zařízeních, kde každý řádek reprezentuje jednu entitu. Pak však existuje ještě další datová množina, kde jsou data uložena v transakčním formátu, typicky pohyby na účtech, seznam provedené zdravotnické péče, informace z různých čidel (tlak, teplota). V tomto případě většinou neřešíme první problém, protože identifikátory a společné klíčové proměnné určené ke spojení jsou většinou v pořádku. Ale abychom mohli transakční data připojit k datům o sledované entitě, musíme je transformovat a agregovat. Standardně se data agregují na definovanou úroveň podle identifikátoru entity a případně další štěpících proměnných – například podle geografického umístění či za určité časové období – rok, měsíc, týden.

Často se používají různé sumarizační funkce jako suma, minimum, maximum, průměr, někdy stačí prostá četnost. Před samotnou agregací je někdy nutné data transformovat, například hodnoty ze sloupců do řádků. Někdy připojujeme hodnoty z datových množin jedna ku jedné, jindy připojujeme jednu hodnotu skupině případů, například průměrnou hodnotu vkladů v rámci jednoho segmentu zákazníků.

IBM SPSS Modeler - restrukturalizace dat

Problém třetí, kvalita dat a chybějící data

Než můžeme přistoupit k odvozování proměnných, měli bychom si být jisti tím, že máme data kvalitní a vhodná pro danou úlohu. Kvalitou dat se nemyslí pouze jejich úplnost, ale i očekávaná rozložení, průměry, četnosti v určitých kategoriích, relevance hodnot atd. Musíme zkontrolovat, že se v datech nevyskytují odlehlé, extrémní nebo úplně špatné hodnoty. Například proměnná obsahuje hodnoty v řádu jednotek a jedno procento případů jsou špatně naimportované hodnoty v řádech tisíců. To může výrazně snížit kvalitu budoucího modelu. Takovou skutečnost můžeme jednoduše odhalit prostou popisnou statistikou či různým grafickým vyjádřením, například box-plotem.

IBM SPSS Statistics - box plot

Obsahuje-li proměnná hodnoty, které do ní evidentně nepatří, čísla v textových kategoriích, nuly v proměnných, ve kterých nuly být nemohou apod., je nutné takové hodnoty odstranit. K jejich odhalení nám poslouží frekvenční analýza. Pro odstranění nestandardních či přímo nesprávných hodnot bychom měli použít různé matematické či textové funkce. V případě nahrazení chybějících hodnot můžeme někdy nahradit nulou, někdy průměrem pro dané období, nebo průměrem pro danou kategorii či segment zákazníků. Nahrazení chybějících hodnot je však vždy velice ošidné a měli bychom ho používat co nejméně a s velkou rozvahou.

Příprava dat

Problém čtvrtý, odvození nových proměnných

Prakticky vždy je před modelováním nutno si odvodit celou sadu nových proměnných. Velice často si dopočítáváme novou proměnnou na základě nějakého matematického vzorce. Například součet agregovaných vkladů pojištěnce a státního příspěvku, nebo podíl příjmů domácnosti a počtu členů. Velice často je třeba spojité, numerické proměnné, transformovat. Tak třeba hodnoty výdajů různých výrobních zařízení se mohou výrazně lišit. U jednoho se výdaje pohybují v desítkách korun, u druhého ve statisících. Hodnoty jsou objektivně správně, vycházejí z účetních systémů. Není možno některé označit jako extrémní a vyloučit je ze zpracování. V takovém případě se data kategorizují nebo se jejich škála sjednocuje využitím logaritmu. Způsobů kategorizace je celá řada. Buď chceme vytvořit stejné dlouhé intervaly, nebo stejně četné zastoupení v kategoriích nebo ke konstrukci využijeme průměru a směrodatných odchylek. V některých statistickýchdataminingových nástrojích existuje možnost optimální kategorizace, kdy je spojitá proměnná rozštěpena s ohledem na hodnoty nějaké cílové proměnné.

IBM SPSS Modeler - kategorizace dat

Jinou ukázkou odvození nových proměnných jsou tzv. příznakové proměnné. Jedná se o dichotomické proměnné, typicky s hodnotami 0/1 nebo ano/ne. Tyto proměnné často mohou vznikat jako výsledek agregace transakčních dat. Příkladem budiž seznam zapůjčených knih jednoho čtenáře. Každá kniha se dá charakterizovat svým žánrem – próza, beletrie, krimi, romantika. Těchto potenciálních kategorií může být n. Každý čtenář má v databázi tolik záznamů, kolik si půjčil knih. Vytvořením příznakových proměnných pak vznikne pro každého čtenáře pouze jeden záznam s n nula-jednotkovými proměnnými, kde hodnota jedna bude v případě, že si půjčil alespoň jednu knihu daného žánru. Tato datová strukturu je nutná pro celou řadu algoritmů, které budou predikovat nějakou cílovou proměnnou nebo vytvářet čtenářské (zákaznické) segmenty.

Problém pátý, ale určitě ne poslední

Posledním problémem je skutečnost, že si při přípravě dat můžeme být jisti tím, že se setkáme s desítkami jiných problémů, které často ani předem nemůžeme předvídat. Výše uvedeným problémům budeme čelit prakticky vždy a je dobré na ně být připraven a mít rámcovou představu, jak je řešit. V každém projektu tyto problémy mohou mít odlišnou závažnost a rozsah. V praxi se nám často stane, že i když jsme podle našeho svědomí a vědomí udělali všechno z hlediska přípravy dat správně, odvozené modely nám vůbec nevycházejí. To může být způsobeno tím, že vstupní data bohužel neobsahují potřebné informace, nebo také tím, že jsme celou úlohu špatně pochopili a celou dobu řešili něco úplně jiného. V takovém případě je třeba se vrátit na začátek a pokusit se pochopit či definovat úlohu znovu a lépe.

Rádi byste se o statistice a analýze dat dozvěděli více? Chcete se stát mistrem ve svém oboru nebo si jen potřebujete doplnit znalosti? V ACREA nabízíme širokou nabídku kurzů pro váš profesní růst. Máte-li jiný dotaz. Nebojte se využít naši nezávaznou konzultaci, při které vám rádi zodpovíme všechny vaše dotazy a najdeme vhodné řešení.

Ing. Libor Šlik
Hlavní náplní jeho práce je správa a implementace velkých softwarových řešení založených na produktech IBM SPSS. V ACREA CR působí jako IT ředitel. Zaměřuje se na řešení projektů z oblasti data miningu, sběru dat a automatizace datových procesů. V roce 2002 vystudoval Provozně ekonomickou fakultu České zemědělské univerzity v Praze, obor Informatika se zaměřením na statistiku a informační systémy.
Komentáře

Přidat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Vaše osobní údaje budou použity pouze pro účely zpracování tohoto komentáře. Zásady zpracování osobních údajů