28.01.2018 m. sausio XNUMX d. | Piotr Krzeszewski – duomenų mokslininkas
Duomenų kokybės svarba mašininio mokymosi pasaulyje
Mašininis mokymasis neįmanomas be duomenų, kuriuose yra mums reikalingos informacijos, leidžiantys užduoti klausimus ir rasti vertingų atsakymų, kurie virstų didelės verslo vertės įžvalgomis. Kokias savybes turėtų turėti duomenys, kad būtų galima juos efektyviai panaudoti mašininio mokymosi procese? Toliau panagrinėsiu kai kurias geriems duomenims būdingas savybes. Kiekvienu atveju pamėginsiu pagrįsti ir iliustruoti šios savybės svarbą pavyzdžiais. Pasirodo, net iš pirmo žvilgsnio nereikšmingi apsirikimai gali turėti didelės įtakos viso projekto rezultatams. Duomenų problemos ypač didelę įtaką turi duomenų mokslo komandos darbui. Galiausiai pateiksiu metodus, kurie leis automatizuoti duomenų tvarkymą ir sumažinti išlaidas, atsirandančias dėl blogų duomenų.
Gerų duomenų charakteristikos
Išbaigtumas
Mūsų naudojami duomenys turi būti išsamūs bent trimis pagrindiniais lygiais:
- Kintamasis
Ar visi kintamieji, kurie gali turėti įtakos mūsų klausimui, yra įtraukti į mokymo rinkinį? Įsivaizduokime situaciją, kai didelis bankas norėtų rasti klientų, pasiruošusių imti paskolą. Tokie tyrimai gali būti panaudoti marketinge. Deja, kažkas nusprendė, kad data nesvarbu, o svarbus laikas, praėjęs nuo paskutinės paskolos. Šioje situacijoje Duomenų mokslininkui tektų nelengva užduotis, nes būtų sunku stebėti pvz. grupė klientų, kurie skolinasi šventėms. Naudojant visą duomenų rinkinį, būtų galima gauti pinigų iš kitos vertingos informacijos.
- diapazonas
Ar mūsų duomenų rinkinys apima visus konkrečių kintamųjų diapazonus? Tarkime, kad norėtume parengti modelį, numatantį antenos panaudojimo lygį mobiliojo ryšio tinklo operatoriui. Jei turėtume duomenis tik iš rudens ir žiemos, mums būtų sunku teisingai nustatyti stočių, esančių pajūrio miesteliuose ir vietose, kur vyksta garsūs vasaros festivaliai, prognozes.
- REKORD
Ar kiekvienu atveju yra visi turimi duomenys? Tegul mūsų tikslas dabar yra suasmeninti didelio drabužių parduotuvių tinklo klientų rinkodaros kampaniją. Jei parengtame rinkinyje trūko informacijos apie lytį didelei daliai klientų, tikimės, kad parengtas modelis bus pastebimai prastesnis nei modelis, parengtas pagal visą duomenų rinkinį.
Unikalumas
Duomenų kopijavimas paprastai yra rimta problema. Jie gali pasirodyti dviejose vietose:
- Pasikartojantys bruožai
Daugeliui duomenų mokslo procesuose naudojamų algoritmų dublikatai yra problema. Pirma, jie padidina algoritmo veikimo laiką, nes tie patys duomenys turi būti apdorojami daugiau nei vieną kartą. Kai kuriais atvejais tai taip pat yra iššūkis, nes algoritmui gali kilti problemų „nusprendžiant“, kuri funkcija svarbesnė. Tai lemia prastesnius ir nestabilius (mažiau atkuriamus) rezultatus. Tos pačios funkcijos pateikimą keliuose vienetuose laikytume dublikatais (pvz., kliento ūgis metrais ir centimetrais arba grynoji ir bendroji sąskaitos vertė).
- Pasikartojantys įrašai
Atskirų stebėjimų dublikatai yra mažiau paplitusi problema. Jei dublikatai sudaro pastebimą duomenų dalį, jie gali iškreipti rezultatus. Įsivaizduokime situaciją, kai ieškome informacijos apie jaunus banko klientus, atidarančius indėlius. Kaime gyvena klientas, įkūręs kelias dešimtis indėlių. Jei analizę atliksime rinkinyje su daugybe šio kliento duomenų dublikatų, galime gauti realybėje neatspindintį rezultatą, leidžiantį manyti, kad klientai iš kaimo atidaro daug kartų daugiau indėlių nei jų bendraamžiai iš miesto.
Aktualumas
Kitos klasės problemų gali kilti naudojant pasenusius duomenis. Kokiais atvejais tai gali turėti neigiamos įtakos mūsų modelio efektyvumui?
Paimkime, pavyzdžiui, parduotuvių tinklą, savo klientams siūlantį lojalumo korteles 2006–2009 m. Vadovybė norėtų numatyti kai kurių prabangių gaminių paklausą. Turint duomenis nuo 2006 m. iki 2008 m. vidurio, būtų labai sunku prognozuoti pardavimus 2009 m., kai dėl ekonominės krizės smarkiai sumažėjo vartojimas. Ši situacija taip pat pabrėžia tai, kad duomenų mokslininkas turi žinoti kitus veiksnius, kurie nematomi duomenų rinkinyje, kurie turės įtakos atliekamai analizei.
Taip pat turėtumėte užtikrinti, kad duomenų rinkinyje būtų naujausi duomenys, kuriuos galime gauti. Būtų nepriimtina, kad duomenų mokslininkas rengtų modelį, pagal kurį būtų parinkta geriausia rinkodaros kampanija kiekvienam klientui ir nebūtų teikiami duomenys apie pastaruoju metu šiems klientams vykdytų kampanijų rezultatus.
Iš aukščiau pateiktų pavyzdžių galima padaryti dvi išvadas:
- gali prireikti reguliariai atnaujinti parengtą modelį, kad būtų įtraukti dabartiniai duomenys. Šios operacijos dažnis turėtų būti parenkamas atsižvelgiant į modeliuojamą problemą. Gamybos apimtis gamykloje gali skirtis kas savaitę, o žemės ūkio augalams gali pakakti pusmetinio ar ketvirčio ciklo,
- „Data Scientist“ negali naudoti duomenų, apie kuriuos jis nežino arba neturi prieigos. Todėl organizacija turi parengti mechanizmus, kurie užtikrintų tinkamą žinių apie esamus duomenų rinkinius sklaidą. Galite pabandyti tai įgyvendinti paskirdami už tokias užduotis atsakingą asmenį (pvz., specialų duomenų administratorių), tačiau didesnėms organizacijoms teks ieškoti automatizuotų sprendimų.
tikslumas
Daugeliui duomenų mokslo pasaulyje gyvenančių žmonių tai yra svarbiausia duomenų savybė. Norint gauti teisingą rezultatą, būtinas duomenų tikslumas. Deja, klaidų gali atsirasti daug kur ir dėl įvairių priežasčių. Keli pavyzdžiai:
- neteisingi duomenys, įvesti į sistemą (vartotojų ar darbuotojų),
- neteisingi duomenų perdavimo tarp sistemų būdai,
- neteisingas duomenų įkėlimas į analizės įrankius,
- neteisingas duomenų perdavimas mašininio mokymosi algoritmams.
Duomenų tikslumo problema gali kilti bet kuriame duomenų tvarkymo ir apdorojimo etape. Kai kurias klaidas bus sunku aptikti, o ištaisyti praktiškai neįmanoma (ypač kai duomenys įkeliami iš sistemos vartotojo). Duomenų tvarkymas yra jautrus žmogaus klaidoms, todėl verta automatizuoti visus su jų pristatymu ir apdorojimu susijusius procesus.
Be to, yra ir kitų aspektų, užtikrinančių duomenų tikslumą. Ar gerai aprašyti stulpeliai? Ar duomenų mokslininkas galės nustatyti kiekvieno kintamojo reikšmę? Paimkime, pavyzdžiui, pavadintą stulpelį ketvirtis_1_pardavimo_suma. Nors atrodo, kad tai geras jame esančių duomenų aprašymas, vis tiek kyla pagrįstų klausimų:
- Kokius metus šie duomenys reiškia?
- Ar tai grynieji ar bruto pardavimai?
- Ar atsižvelgiama į per šį laikotarpį sudarytas sutartis ar užregistruotus mokėjimus?
- Kaip šiame kintamajame tvarkomi prekių grąžinimai?
- Ar šis kintamasis turi vienodą reikšmę individualiems klientams ir įmonėms (ypač kalbant apie PVM mokėjimą)?
Žinoma, ne visi šie klausimai bus aktualūs kiekvienoje situacijoje, o papildoma informacija apie duomenų rinkinį išsklaidys tam tikras abejones. Tačiau tokie netikslumai gali būti problema, dėl kurios gali atsirasti klaidų ir vėluoti. Dažnai atsitinka taip, kad duomenų mokslininkas turi surasti už duomenis atsakingus žmones, kad suprastų jų reikšmę.
Taip pat verta paminėti įprastą matavimų netikslumą. Jei atliekame medžiagos analizę arba kai kurios metrikos nėra tiksliai išmatuotos, kaip formuojasi šių kintamųjų paklaida. Ar laikui bėgant jis pastovus? Ar netiksli informacija yra tiksli ir pateikta kartu su duomenimis?
Sanglauda
Dažnai nepastebėta (ir dažniausiai laikoma tiesa) duomenų savybė yra nuoseklumas. Kaip ir ankstesnėse problemose, sugadinus šią funkciją įvairiose situacijose gali kilti problemų. Ruošdamiesi duomenų mokslo analizei turėtume rasti atsakymus į šiuos klausimus:
- Ar galime susieti duomenis iš skirtingų sistemų su vienu objektu (pvz., konkrečiu klientu, unikaliu produktu)?
- Ar mūsų naudojamos sistemos naudoja tuos pačius duomenų formatus (pvz., telefono numerio, adreso formatą)?
- Ar visi naudojami duomenų rinkiniai yra tokio paties tikslumo (pvz., vienoje sistemoje vieta yra iki šalies, o kitoje – iki miesto seniūnijos)?
- Ar duomenyse naudojami tie patys vienetai? Palyginti lengva atskirti kilogramus nuo tonų, tačiau kilometrų ir mylių neatitikimas gali likti nepastebėtas ir sukelti klaidų, kurias ateityje sunku ištaisyti.
- Ar laiko duomenys išreiškiami taip pat? Ar jie naudoja tą pačią laiko juostą?
Problemos dėl nenuoseklių duomenų žinomos jau seniai. Yra NASA projekto pavyzdys, kuris baigėsi zondo praradimu, nes imperijos vienetai buvo sumaišyti su SI sistema.
Svarba
Paskutinė savybė, kurią norime paminėti gerų duomenų kontekste, yra jos svarba. Kaip ir ankstesniais atvejais, tai gali būti nagrinėjama skirtingais lygmenimis.
Pirma, norėčiau atkreipti dėmesį į aspektą, kuris nėra tiesiogiai susijęs su duomenimis, bet yra labai svarbus viso proceso pelningumui. Prieš pradėdami duomenų analizę, turėtumėte pagalvoti, ar klausimas, kurį užduodame Data Science komandai, yra tikrai svarbus verslo prasme. Ar nėra problemų, dėl kurių būtų galima sutaupyti ar daugiau uždirbti? Reikia prisiminti, kad Data Science komanda dažnai turi didelę patirtį, susijusią tiek su technine, tiek su verslo dalimi, įgyta dirbant įvairiuose projektuose. Tikrai verta pasiteirauti duomenų mokslo komandos nuomonės, kuri gali nurodyti problemas, dėl kurių tolesni veiksmai gali būti naudingiausi.
Pagrįstumas taip pat turėtų būti vertinamas rengiant ir naudojant duomenis. Ar duomenų mokslininkas gavo visus duomenis, kuriuos gali panaudoti analizei? Reikia atsiminti, kad būtent duomenų mokslininkai geriausiai žino, kokius duomenis verta naudoti, todėl jie turėtų priimti sprendimus šiuo klausimu. Tai galima iliustruoti banko pavyzdžiu, kuris norėtų atrinkti klientų grupę, į kurią verta skambinti su nauju pasiūlymu. Šiuo atveju reikia atsižvelgti į daugybę skirtingų duomenų tipų – asmens duomenis, kredito istoriją, atsakymą į ankstesnius bandymus susisiekti. Tačiau įdomu tai, kad viename iš panašių projektų paaiškėjo, kad vartotojų elgesys svetainėje yra labai svarbus. Praleidus svarbų duomenų rinkinį, projektas gali žlugti nuo pat pradžių.
Duomenų kokybės įtaka Data Science komandai
Šį įrašą pradėjau sakydamas, kad mašininis mokymasis neįmanomas be duomenų. Tačiau sakyčiau, kad tai įmanoma ir be gerų duomenų. Geras duomenų mokslininkas turėtų mokėti tvarkyti netikslius, prastai aprašytus duomenis, kurie yra nenuoseklūs ir kuriuose yra pasikartojančių duomenų. Analizė taip pat gali būti atliekama naudojant neišsamius arba pasenusius duomenis (tai turės įtakos gautam rezultatui).
Tačiau visa tai kainuoja laiko. Dažnai sakoma, kad duomenų apdorojimas sudaro apie 80% viso duomenų mokslo proceso. Jei duomenų mokslininkas turi praleisti daugiau valandų, kad aptiktų dublikatus, patikrintų naudojamų vienetų teisingumą arba dienų, kad tiksliai nustatytų atskirų kintamųjų reikšmę, viso proceso sąnaudos žymiai padidės. Dar blogiau – pirmieji efektai, padėsiantys nukreipti tolimesnius darbus, pasireikš gerokai vėliau.
Blogų duomenų pateikimas analizei taip pat turi neigiamą poveikį ne tik projektui. Duomenų mokslininkas greitai praras pasitikėjimą duomenimis, jei paaiškės, kad jis pats turi būti atsakingas už kokybę. Jis kažkaip bus priverstas tikrinti visų duomenų kokybę, net jei kai kurie iš jų bus kokybiškesni. Antra, tai gali turėti įtakos duomenų mokslo komandos moralei. Jei projekto metu tam tikram duomenų rinkiniui apdoroti skiriama nemažai laiko ir tai būtina pakartoti kitos analizės metu, užduotis tampa varginanti ir demotyvuojanti.
Duomenų kokybės problemų sprendimas
Taigi, ką turėtume daryti, kad mūsų duomenys būtų geros kokybės?
Reikalingi du daiktai. Pirma, organizacijoje turi būti paskirti žmonės, atsakingi už šių duomenų kokybę. Antra, norint užtikrinti teisingą duomenų tvarkymą, būtina pasiremti atitinkamomis priemonėmis.
Bet kurioje organizacijoje, kuriai rūpi duomenys, reikia apsvarstyti keletą sprendimų:
- duomenų katalogas. Įrankis, kuriame yra informacijos apie organizacijai priklausančius duomenų rinkinius. Dėl to administratorius arba duomenų mokslininkas galės patikrinti, kokie duomenų rinkiniai yra ir kas juose yra. Duomenų katalogas taip pat padeda apsaugoti duomenis ir užtikrinti, kad atsakomybė už atskiras kolekcijas būtų aiškiai apibrėžta.
- tvarkymo įrankiai Pagrindiniai duomenys (pagrindiniai duomenys). Kiekviena organizacija turi tam tikrų duomenų, kurie yra svarbiausi konkrečiai organizacijai (pvz., klientų, produktų ar patalpų sąrašas). Paprastai šie duomenys naudojami keliose sistemose. Jūs negalite sau leisti turėti neatitikimų tarp duomenų – kad duomenyse yra „kelios tiesos versijos“.
- įrankiai skirti Duomenų kokybė (duomenų kokybė). Jie leidžia kontroliuoti duomenų kokybę, rasti problemų ir nustatyti savo taisykles, užtikrinančias, kad visi duomenys būtų tinkamos kokybės.
duomenų apdorojimo variklis, kuris palaikys automatines operacijas ir užtikrins, kad duomenys būtų atnaujinami.




