28.01.2018. ledna XNUMX | Piotr Krzeszewski – datový vědec
Význam kvality dat ve světě strojového učení
Strojové učení není možné bez dat, která obsahují informace, které potřebujeme, umožňují nám klást otázky a umožňují nám nacházet cenné odpovědi, které se promění v poznatky s vysokou obchodní hodnotou. Jaké vlastnosti by měla mít data, aby je bylo možné efektivně využít v procesu strojového učení? Níže analyzuji některé vlastnosti, které charakterizují dobrá data. V každém případě se pokusím zdůvodnit a ilustrovat důležitost této funkce na příkladech. Jak se ukazuje, i zdánlivě nepodstatné přehlédnutí mohou mít významný vliv na výsledek celého projektu. Problémy s daty mají obzvláště velký dopad na práci týmu Data Science. Nakonec představím metody, které vám umožní automatizovat manipulaci s daty a minimalizovat náklady vyplývající ze špatných dat.
Charakteristika dobrých dat
Kompletność
Údaje, které používáme, by měly být úplné alespoň na třech hlavních úrovních:
- Variabilní
Jsou všechny proměnné, které mohou ovlivnit naši otázku, zahrnuty v tréninkové sadě? Představme si situaci, kdy by velká banka chtěla najít zákazníky připravené vzít si úvěr. Takový výzkum lze využít v marketingu. Bohužel někdo usoudil, že na datu nezáleží a důležitý je čas, který uplynul od poslední půjčky. V této situaci by měl Data Scientist nelehký úkol, protože by bylo obtížné pozorovat kupř. skupina zákazníků, kteří si půjčují na dovolenou. Použití kompletního souboru dat by umožnilo monetizaci dalších cenných informací.
- Rozsah
Pokrývá naše datová sada všechny rozsahy konkrétních proměnných? Předpokládejme, že bychom chtěli připravit model predikující míru využití antény pro mobilního operátora. Pokud bychom měli data pouze z podzimu a zimy, těžko budeme správně určit předpovědi stanic, které se nacházejí v přímořských městech a místech, kde se konají vyhlášené letní festivaly.
- Rekord
Obsahuje každý případ všechna dostupná data? Nechť je nyní naším cílem personalizovat marketingovou kampaň pro zákazníky velkého řetězce obchodů s oblečením. Pokud by v připraveném souboru u velké části klientů chyběly informace o pohlaví, očekáváme, že připravený model by byl znatelně horší než model připravený na kompletním souboru dat.
Unikalność
Duplicitní data jsou obvykle vážný problém. Mohou se objevit na dvou místech:
- Duplicitní vlastnosti
Pro mnoho algoritmů používaných v procesech Data Science jsou duplikáty problémem. Za prvé zvyšují dobu běhu algoritmu, protože stejná data musí být zpracována více než jednou. V některých případech je to také problém, protože algoritmus může mít problém „rozhodnout se“, která funkce je důležitější. To vede k horším a nestabilním (méně reprodukovatelným) výsledkům. Prezentaci stejného prvku v několika jednotkách bychom považovali za duplikáty (např. výška zákazníka v metrech a centimetrech nebo čistá a hrubá hodnota účtu).
- Duplicitní záznamy
Méně častým problémem jsou duplikáty jednotlivých pozorování. Pokud duplikáty tvoří znatelnou část dat, mohou výsledky zkreslit. Představme si situaci, kdy hledáme informace o mladých zákaznících bank, kteří si otevírají vklady. Na venkově žije klient, který založil několik desítek vkladů. Pokud provedeme analýzu na souboru s vícenásobnými duplikáty dat tohoto zákazníka, můžeme dostat výsledek, který se ve skutečnosti neodráží, což naznačuje, že zákazníci z venkova otevírají mnohonásobně více vkladů než jejich vrstevníci z města.
Aktuálnost
Další třída problémů může být způsobena používáním zastaralých dat. V jakých situacích to může mít negativní dopad na efektivitu našeho modelu?
Vezměme si například řetězec obchodů nabízejících věrnostní karty svým zákazníkům v letech 2006-2009. Management by rád předvídal poptávku po některých luxusních produktech. S daty od roku 2006 do poloviny roku 2008 by bylo velmi obtížné predikovat prodeje v roce 2009, kdy došlo k výraznému snížení spotřeby způsobené ekonomickou krizí. Tato situace také zdůrazňuje skutečnost, že Data Scientist potřebuje znát další faktory, které nejsou viditelné v datové sadě a které ovlivní prováděnou analýzu.
Měli byste se také ujistit, že soubor dat obsahuje nejnovější údaje, které můžeme získat. Bylo by nepřijatelné, aby Data Scientist připravoval model pro výběr nejlepší marketingové kampaně pro každého klienta a neposkytoval údaje o výsledcích nedávných kampaní realizovaných pro tyto klienty.
Z výše uvedených příkladů lze vyvodit dva závěry:
- může být nutné pravidelně aktualizovat připravený model, aby obsahoval aktuální data. Četnost této operace by měla být zvolena v závislosti na modelovaném problému. Výroba v továrně se může lišit na týdenní bázi a pro zemědělské podniky může postačovat půlroční nebo čtvrtletní cyklus,
- Data Scientist nemůže používat data, o kterých neví nebo k nim nemá přístup. Organizace proto musí připravit mechanismy, které zajistí správné šíření znalostí o existujících souborech dat. Můžete to zkusit zavést jmenováním osoby odpovědné za takové úkoly (např. specializovaného správce dat), ale pro větší organizace bude nutné najít automatizovaná řešení.
přesnost
Pro mnoho lidí, kteří žijí ve světě Data Science, je to nejdůležitější vlastnost dat. Přesnost údajů je nezbytná pro získání platného výsledku. Chyby se bohužel mohou vyskytnout na mnoha místech a z různých důvodů. Nějaké příklady:
- nesprávné údaje zadané do systému (uživateli nebo zaměstnanci),
- nesprávné způsoby přenosu dat mezi systémy,
- nesprávné načítání dat v analytických nástrojích,
- nesprávný přenos dat do algoritmů strojového učení.
Problém s přesností dat může nastat v jakékoli fázi manipulace s daty a jejich zpracování. Některé chyby bude obtížné odhalit a bude prakticky nemožné je opravit (zejména při načítání dat od uživatele systému). Manipulace s daty je náchylná na lidskou chybu, proto se vyplatí automatizovat všechny procesy související s jejich doručením a zpracováním.
Kromě toho existují další aspekty, jak udržovat data přesná. Jsou sloupce dobře popsané? Bude Data Scientist schopen určit význam každé proměnné? Vezměme si například pojmenovaný sloupec čtvrtletí_1_sales_sum. Ačkoli se zdá, že jde o dobrý popis údajů, které obsahuje, stále existují legitimní otázky:
- Jakého roku se tyto údaje týkají?
- Je to čistý nebo hrubý prodej?
- Berou se v úvahu smlouvy uzavřené během tohoto období nebo zaúčtované platby?
- Jak se v této proměnné řeší vracení zboží?
- Má tato proměnná stejný význam pro jednotlivé zákazníky i pro firmy (zejména z hlediska placení DPH)?
Samozřejmě ne všechny tyto otázky budou relevantní v každé situaci a dodatečné informace o datovém souboru rozptýlí určité pochybnosti. Takové nepřesnosti však mohou být problémem, což vede k chybám a zpožděním. Často se stává, že Data Scientist potřebuje najít lidi zodpovědné za data, aby pochopil jejich význam.
Za zmínku stojí i obvyklá nepřesnost měření. Pokud provádíme materiálovou analýzu nebo některé metriky nejsou přesně měřeny, jak je tvarována chyba těchto proměnných. Je v čase konstantní? Jsou informace o nepřesnosti přesné a poskytnuté s údaji?
Soudržnost
Často přehlíženou (a obvykle se předpokládá, že je pravdivá) vlastností dat je konzistence. Stejně jako u předchozích vydání může porušení této funkce vést k problémům v různých situacích. Při přípravě na analýzu Data Science bychom měli najít odpovědi na následující otázky:
- Jsme schopni propojit data z různých systémů do jednoho objektu (např. konkrétního zákazníka, unikátního produktu)?
- Používají systémy, které používáme, stejné formáty dat (např. telefonní číslo, formát adresy)?
- Mají všechny použité datové sady stejnou úroveň přesnosti (např. umístění je v jednom systému v zemi a ve druhém v městské části)?
- Používají data stejné jednotky? Rozdíl mezi kilogramy a tuny je poměrně snadné rozpoznat, ale nesoulad mezi kilometry a mílemi může zůstat nepovšimnut a vést k chybám, které se v budoucnu těžko napravují.
- Jsou časové údaje vyjádřeny stejným způsobem? Používají stejné časové pásmo?
Problémy s nekonzistentními daty jsou známy již delší dobu. Existuje příklad projektu NASA, který skončil ztrátou sondy, protože imperiální jednotky byly smíchány se systémem SI.
Důležitost
Poslední vlastností, kterou chceme v rámci dobrých dat zmínit, je její důležitost. Stejně jako v předchozích případech lze uvažovat v různých rovinách.
Nejprve bych se rád zaměřil na aspekt, který přímo nesouvisí s daty, ale je zásadní pro ziskovost celého procesu. Před zahájením analýzy dat byste měli zvážit, zda je otázka, kterou klademe týmu Data Science, skutečně důležitá v obchodním smyslu. Neexistují žádné problémy, které by mohly generovat větší úspory nebo zisky? Je třeba připomenout, že tým Data Science má často rozsáhlé zkušenosti týkající se jak technické, tak obchodní části získané při práci na různých projektech. Určitě stojí za to vyžádat si názor týmu Data Science, který může naznačit problémy, kde by se další akce mohla ukázat jako nejziskovější.
Platnost by měla být také zvážena v souvislosti s přípravou a použitím údajů. Obdržel Data Scientist všechna data, která může použít v analýze? Je třeba mít na paměti, že jsou to Data Scientists, kdo nejlépe ví, která data se vyplatí používat, a proto by měli v této věci rozhodovat. Lze to ilustrovat na příkladu banky, která by chtěla novou nabídkou vybrat skupinu zákazníků, kterým se vyplatí zavolat. V tomto případě je třeba zvážit mnoho různých typů údajů – osobní údaje, úvěrová historie, reakce na předchozí pokusy o kontakt. Zajímavé však je, že v jednom podobném projektu se ukázalo, že chování uživatelů na webu je velmi důležité. Vynechání důležitého souboru dat může od samého začátku odsoudit projekt k neúspěchu.
Vliv kvality dat na tým Data Science
Tento příspěvek jsem začal tím, že strojové učení není možné bez dat. Řekl bych však, že bez dobrých dat to jde. Dobrý Data Scientist by měl být schopen zpracovat nepřesná, špatně popsaná data, která jsou nekonzistentní a obsahují duplikáty. Analýza může být také provedena s použitím neúplných nebo zastaralých dat (to ovlivní získaný výsledek).
To vše však stojí čas. Často se říká, že zpracování dat tvoří asi 80 % celého procesu Data Science. Pokud musí Data Scientist trávit hodiny navíc detekcí duplikátů, kontrolou správnosti použitých jednotek nebo dnů, aby přesně určil význam jednotlivých proměnných, náklady na celý proces výrazně rostou. A co hůř, první efekty, které pomohou nasměrovat další práci, se dostaví až mnohem později.
Poskytování špatných dat pro analýzu má také negativní dopady mimo projekt. Data Scientist rychle ztratí důvěru v data, pokud se ukáže, že za kvalitu musí ručit sám. Bude to nějak nuceno kontrolovat kvalitu všech dat, i když některá jsou kvalitnější. Za druhé, může to ovlivnit morálku týmu Data Science. Pokud je zpracování určitého souboru dat v průběhu projektu věnováno značné množství času a je nutné jej opakovat při další analýze, stává se úkol únavným a demotivujícím.
Řešení problémů s kvalitou dat
Co bychom tedy měli udělat, abychom zajistili, že naše data budou kvalitní?
Jsou potřeba dvě položky. Za prvé, v organizaci musí být určení lidé, kteří jsou zodpovědní za kvalitu těchto dat. Zadruhé je nutné se podpořit vhodnými nástroji pro zajištění správného nakládání s daty.
V každé organizaci, která se stará o data, existuje několik řešení, která je třeba zvážit:
- datový adresář. Nástroj, který obsahuje informace o souborech dat vlastněných organizací. Díky tomu bude moci správce nebo Data Scientist kontrolovat, jaké datasety jsou dostupné a co je v nich obsaženo. Datový katalog také pomáhá zabezpečit data a jasně definovat odpovědnost za jednotlivé kolekce.
- manipulační nástroje Hlavní data (klíčové údaje). Každá organizace má nějaká data, která jsou pro danou organizaci nejdůležitější (například seznam zákazníků, produktů nebo zařízení). Obvykle se tato data používají ve více systémech. Nemůžete si dovolit mít mezi údaji nesrovnalosti – že v datech je „několik verzí pravdy“.
- nástroje pro Kvalita dat (kvalita dat). Umožňují vám kontrolovat kvalitu dat, nacházet problémy a nastavovat vlastní pravidla, abyste zajistili, že všechna data budou ve správné kvalitě.
motor pro zpracování dat, který bude podporovat automatické operace a zajistí, že data budou aktuální.




