28.01.2018. januára XNUMX | Piotr Krzeszewski – dátový vedec
Význam kvality dát vo svete strojového učenia
Strojové učenie nie je možné bez údajov, ktoré obsahujú informácie, ktoré potrebujeme, umožňujú nám klásť otázky a umožňujú nám nájsť hodnotné odpovede, ktoré sa premenia na poznatky s vysokou obchodnou hodnotou. Aké vlastnosti by mali mať dáta, aby sme ich vedeli efektívne využiť v procese strojového učenia? Nižšie rozoberiem niektoré charakteristiky, ktoré charakterizujú dobré údaje. V každom prípade sa pokúsim zdôvodniť a ilustrovať dôležitosť tejto funkcie na príkladoch. Ako sa ukazuje, aj zdanlivo nepodstatné prehliadky môžu mať výrazný vplyv na výsledok celého projektu. Problémy s dátami majú obzvlášť veľký vplyv na prácu tímu Data Science. Na záver predstavím metódy, ktoré vám umožnia automatizovať manipuláciu s dátami a minimalizovať náklady vyplývajúce zo zlých dát.
Charakteristika dobrých údajov
Úplnosť
Údaje, ktoré používame, by mali byť úplné aspoň na troch hlavných úrovniach:
- Variabilné
Sú všetky premenné, ktoré môžu ovplyvniť našu otázku, zahrnuté v tréningovom súbore? Predstavme si situáciu, že by veľká banka chcela nájsť zákazníkov pripravených zobrať si úver. Takýto výskum sa dá využiť v marketingu. Žiaľ, niekto sa rozhodol, že na dátume nezáleží a dôležitý je čas, ktorý uplynul od poslednej pôžičky. V tejto situácii by mal Data Scientist ťažkú úlohu, pretože by bolo ťažké pozorovať napr. skupina zákazníkov, ktorí si požičiavajú na dovolenku. Použitie kompletného súboru údajov by umožnilo speňaženie ďalších cenných informácií.
- Rozsah
Pokrýva náš súbor údajov všetky rozsahy konkrétnych premenných? Predpokladajme, že by sme chceli pripraviť model predpovedajúci úroveň vyťaženia antény pre operátora mobilnej siete. Ak by sme mali dáta len z jesene a zimy, ťažko budeme správne určiť predpovede staníc, ktoré sa nachádzajú v prímorských mestečkách a miestach, kde sa konajú známe letné festivaly.
- Rekord
Obsahuje každý prípad všetky dostupné údaje? Nech je naším cieľom teraz personalizovať marketingovú kampaň pre zákazníkov veľkej siete obchodov s oblečením. Ak by v pripravenom súbore chýbali informácie o pohlaví u veľkej časti klientov, očakávame, že pripravený model by bol výrazne horší ako model pripravený na kompletnom súbore údajov.
Jedinečnosť
Duplicitné údaje sú zvyčajne vážny problém. Môžu sa objaviť na dvoch miestach:
- Duplicitné vlastnosti
Pre mnohé algoritmy používané v procesoch Data Science sú duplikáty problémom. Po prvé, predlžujú čas chodu algoritmu, pretože tie isté dáta musia byť spracované viackrát. V niektorých prípadoch je to tiež problém, pretože algoritmus môže mať problém „rozhodnúť sa“, ktorá funkcia je dôležitejšia. To vedie k horším a nestabilným (menej reprodukovateľným) výsledkom. Prezentáciu tej istej funkcie vo viacerých jednotkách by sme považovali za duplikáty (napr. výška zákazníka v metroch a centimetroch alebo čistá a hrubá hodnota účtu).
- Duplicitné záznamy
Menej častým problémom sú duplikáty jednotlivých pozorovaní. Ak duplikáty tvoria výraznú časť údajov, môžu skresliť výsledky. Predstavme si situáciu, v ktorej hľadáme informácie o mladých klientoch bánk, ktorí si otvárajú vklady. Na vidieku žije klient, ktorý si založil niekoľko desiatok vkladov. Ak vykonáme analýzu na súbore s viacerými duplikátmi údajov tohto zákazníka, môžeme dostať výsledok, ktorý sa v skutočnosti neodráža, čo naznačuje, že zákazníci z vidieka si otvárajú mnohonásobne viac vkladov ako ich rovesníci z mesta.
Aktuálnosť
Ďalšia trieda problémov môže byť spôsobená používaním zastaraných údajov. V akých situáciách to môže mať negatívny vplyv na efektivitu nášho modelu?
Vezmime si napríklad reťazec obchodov ponúkajúcich svojim zákazníkom vernostné karty v rokoch 2006-2009. Vedenie by chcelo predvídať dopyt po niektorých luxusných produktoch. S údajmi od roku 2006 do polovice roku 2008 by bolo veľmi ťažké predpovedať predaje v roku 2009, kedy došlo k výraznému zníženiu spotreby spôsobenému hospodárskou krízou. Táto situácia tiež zdôrazňuje skutočnosť, že Data Scientist potrebuje poznať ďalšie faktory, ktoré nie sú viditeľné v súbore údajov a ktoré ovplyvnia vykonávanú analýzu.
Mali by ste sa tiež uistiť, že súbor údajov obsahuje najnovšie údaje, ktoré môžeme získať. Pre Data Scientist by bolo neprijateľné pripraviť model na výber najlepšej marketingovej kampane pre každého klienta a neposkytnúť mu údaje o výsledkoch nedávnych kampaní realizovaných pre týchto klientov.
Z vyššie uvedených príkladov možno vyvodiť dva závery:
- môže byť potrebné pravidelne aktualizovať pripravený model, aby obsahoval aktuálne údaje. Frekvencia tejto operácie by sa mala zvoliť v závislosti od modelovaného problému. Výroba v závode sa môže meniť na týždennej báze a pre poľnohospodárske podniky môže postačovať polročný alebo štvrťročný cyklus,
- Data Scientist nemôže použiť údaje, o ktorých nevie alebo k nim nemá prístup. Preto musí organizácia pripraviť mechanizmy, ktoré zabezpečia správne šírenie poznatkov o existujúcich súboroch údajov. Môžete sa to pokúsiť implementovať vymenovaním osoby zodpovednej za takéto úlohy (napr. špecializovaného správcu údajov), ale pre väčšie organizácie bude potrebné nájsť automatizované riešenia.
Presnosť
Pre mnohých ľudí, ktorí žijú vo svete Data Science, je to najdôležitejšia vlastnosť dát. Na získanie platného výsledku je potrebná presnosť údajov. Bohužiaľ, chyby sa môžu vyskytnúť na mnohých miestach a z rôznych dôvodov. Niektoré príklady:
- nesprávne údaje zadané do systému (používateľmi alebo zamestnancami),
- nesprávne spôsoby prenosu údajov medzi systémami,
- nesprávne načítanie údajov v analytických nástrojoch,
- nesprávny prenos údajov do algoritmov strojového učenia.
Problém s presnosťou údajov môže nastať v ktorejkoľvek fáze spracovania a spracovania údajov. Niektoré z chýb bude ťažké odhaliť a bude prakticky nemožné ich opraviť (najmä pri načítavaní údajov od používateľa systému). Manipulácia s údajmi je náchylná na ľudské chyby, preto sa oplatí automatizovať všetky procesy súvisiace s ich doručením a spracovaním.
Okrem toho existujú ďalšie aspekty udržiavania presných údajov. Sú stĺpce dobre popísané? Bude Data Scientist schopný určiť význam každej premennej? Vezmime si napríklad pomenovaný stĺpec štvrťrok_1_sales_sum. Hoci sa zdá, že ide o dobrý popis údajov, ktoré obsahuje, stále existujú legitímne otázky:
- Akého roku sa tieto údaje týkajú?
- Ide o čistý alebo hrubý predaj?
- Zohľadňujú sa zmluvy uzatvorené počas tohto obdobia alebo zaúčtované platby?
- Ako sa v tejto premennej rieši vrátenie tovaru?
- Má táto premenná rovnaký význam pre jednotlivých zákazníkov aj pre firmy (najmä z hľadiska platenia DPH)?
Samozrejme, nie všetky tieto otázky budú relevantné v každej situácii a dodatočné informácie o súbore údajov rozptýlia určité pochybnosti. Takéto nepresnosti však môžu byť problémom, čo vedie k chybám a oneskoreniam. Často sa stáva, že Data Scientist potrebuje nájsť ľudí zodpovedných za dáta, aby pochopil ich význam.
Za zmienku stojí aj obvyklá nepresnosť meraní. Ak vykonáme analýzu materiálu alebo niektoré metriky nie sú presne zmerané, ako sa formuje chyba týchto premenných. Je to konštantné v priebehu času? Sú nepresné informácie presné a poskytnuté s údajmi?
Súdržnosť
Často prehliadanou (a zvyčajne považovaná za pravdivú) vlastnosťou údajov je konzistencia. Rovnako ako v predchádzajúcich vydaniach, porušenie tejto funkcie môže viesť k problémom v rôznych situáciách. Pri príprave na analýzu Data Science by sme mali nájsť odpovede na nasledujúce otázky:
- Dokážeme prepojiť dáta z rôznych systémov s jedným objektom (napr. konkrétny zákazník, jedinečný produkt)?
- Používajú systémy, ktoré používame, rovnaké formáty údajov (napr. telefónne číslo, formát adresy)?
- Majú všetky použité množiny údajov rovnakú úroveň presnosti (napr. poloha je v jednom systéme až po krajinu a v druhom až po mestskú časť)?
- Používajú údaje rovnaké jednotky? Rozdiel medzi kilogramami a tonami je pomerne ľahké rozlíšiť, ale nesúlad medzi kilometrami a míľami môže zostať nepovšimnutý a viesť k chybám, ktoré sa v budúcnosti ťažko opravujú.
- Sú časové údaje vyjadrené rovnakým spôsobom? Používajú rovnaké časové pásmo?
Problémy s nekonzistentnými údajmi sú známe už dlho. Existuje príklad projektu NASA, ktorý skončil stratou sondy, pretože imperiálne jednotky boli zmiešané so systémom SI.
Dôležitosť
Poslednou vlastnosťou, ktorú chceme v kontexte dobrých dát spomenúť, je jej dôležitosť. Rovnako ako v predchádzajúcich prípadoch sa dá uvažovať na rôznych úrovniach.
Najprv by som sa chcel zamerať na aspekt, ktorý priamo nesúvisí s dátami, ale je rozhodujúci pre ziskovosť celého procesu. Pred začatím analýzy údajov by ste mali zvážiť, či je otázka, ktorú kladieme tímu Data Science, skutočne dôležitá z obchodného hľadiska. Neexistujú žiadne problémy, ktoré by mohli generovať väčšie úspory alebo zisky? Je potrebné pripomenúť, že tím Data Science má často rozsiahle skúsenosti súvisiace s technickou aj obchodnou časťou, ktoré získal pri práci na rôznych projektoch. Určite stojí za to požiadať o stanovisko tím Data Science, ktorý môže naznačiť problémy, pri ktorých by sa ďalší postup mohol ukázať ako najziskovejší.
Platnosť by sa mala zvážiť aj v kontexte prípravy a používania údajov. Získal Data Scientist všetky údaje, ktoré môže použiť pri analýze? Malo by sa pamätať na to, že sú to Data Scientists, ktorí najlepšie vedia, ktoré údaje sa oplatí použiť, a preto by mali v tejto veci robiť rozhodnutia. Dá sa to ilustrovať na príklade banky, ktorá by si s novou ponukou chcela vybrať skupinu zákazníkov, ktorým sa oplatí zavolať. V tomto prípade je potrebné zvážiť veľa rôznych typov údajov – osobné údaje, úverová história, odpoveď na predchádzajúce pokusy o kontakt. Zaujímavé však je, že v jednom z podobných projektov sa ukázalo, že správanie používateľov na webe je veľmi dôležité. Vynechanie dôležitého súboru údajov môže odsúdiť projekt na neúspech už od začiatku.
Vplyv kvality údajov na tím Data Science
Tento príspevok som začal tým, že strojové učenie nie je možné bez údajov. Povedal by som však, že je to možné aj bez dobrých údajov. Dobrý dátový vedec by mal vedieť spracovať nepresné, zle popísané dáta, ktoré sú nekonzistentné a obsahujú duplikáty. Analýza sa môže vykonať aj s použitím neúplných alebo zastaraných údajov (ovplyvní to získaný výsledok).
To všetko však stojí čas. Často sa hovorí, že spracovanie údajov tvorí asi 80 % celého procesu Data Science. Ak musí Data Scientist tráviť hodiny navyše na odhaľovanie duplikátov, kontrolu správnosti použitých jednotiek alebo dní na presné určenie významu jednotlivých premenných, náklady na celý proces výrazne stúpajú. Čo je však horšie, prvé efekty, ktoré pomôžu nasmerovať ďalšiu prácu, sa dostavia oveľa neskôr.
Poskytnutie zlých údajov na analýzu má aj negatívne účinky mimo projektu. Data Scientist rýchlo stratí dôveru v dáta, ak sa ukáže, že za kvalitu musí zodpovedať on sám. Bude to nejako nútené kontrolovať kvalitu všetkých údajov, aj keď sú niektoré kvalitnejšie. Po druhé, môže to ovplyvniť morálku tímu Data Science. Ak sa počas projektu venuje spracovaniu určitého súboru údajov značné množstvo času a je potrebné ho zopakovať pri ďalšej analýze, úloha sa stáva únavnou a demotivujúcou.
Riešenie problémov s kvalitou údajov
Čo by sme teda mali urobiť, aby sme zabezpečili, že naše údaje budú kvalitné?
Potrebné sú dve položky. Po prvé, v organizácii musia byť určení ľudia, ktorí sú zodpovední za kvalitu týchto údajov. Po druhé, je potrebné podporiť sa vhodnými nástrojmi na zabezpečenie správneho spracovania údajov.
V každej organizácii, ktorej záleží na údajoch, existuje niekoľko riešení, ktoré je potrebné zvážiť:
- dátový adresár. Nástroj, ktorý obsahuje informácie o súboroch údajov vlastnených organizáciou. Vďaka tomu bude môcť administrátor alebo Data Scientist kontrolovať, aké datasety sú dostupné a čo je v nich obsiahnuté. Dátový katalóg tiež pomáha zabezpečiť dáta a jasne definovať zodpovednosť za jednotlivé kolekcie.
- manipulačné nástroje Hlavné dáta (kľúčové údaje). Každá organizácia má nejaké údaje, ktoré sú pre danú organizáciu najdôležitejšie (napríklad zoznam zákazníkov, produktov alebo zariadení). Tieto údaje sa zvyčajne používajú vo viacerých systémoch. Nemôžete si dovoliť mať nezrovnalosti medzi údajmi – že v údajoch je „niekoľko verzií pravdy“.
- nástroje pre Kvalita údajov (kvalita údajov). Umožňujú vám kontrolovať kvalitu dát, nájsť problémy a nastaviť si vlastné pravidlá, aby ste zabezpečili, že všetky dáta budú v správnej kvalite.
nástroj na spracovanie údajov, ktorý bude podporovať automatické operácie a zabezpečí aktuálnosť údajov.




