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é.

IBM SPSS Modeler - 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ých a dataminingový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.

Ing. Libor Šlik
vedoucí analytického oddělení ACREA, lektor, analytik a odborný konzultant. Ve společnosti ACREA CR jsem začínal jako konzultant, správce serverových řešení a manažer technické podpory. V současnosti zastávám pozici vedoucího analytického oddělení a specializuji se na řešení rozsáhlých statistických a dataminingových projektů pro velké společnosti a na úlohy sběru dat a automatizaci analytického procesu.
Konzultace ACREA zdarma
Komentáře

Přidat komentář

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