Curățarea datelor - Data cleansing

Curățarea datelor sau curățarea datelor este procesul de detectare și corectare (sau eliminare) a înregistrărilor corupte sau inexacte dintr-un set de înregistrări, tabel sau bază de date și se referă la identificarea părților incomplete, incorecte, inexacte sau irelevante ale datelor și apoi înlocuirea, modificarea, sau ștergerea datelor murdare sau grosiere. Curățarea datelor poate fi efectuată interactiv cu instrumentele de luptă a datelor sau ca procesare în serie prin scriptare .

După curățare, un set de date ar trebui să fie în concordanță cu alte seturi de date similare din sistem. Inconsistențele detectate sau eliminate pot fi cauzate inițial de erori de introducere a utilizatorilor, de corupție în transmisie sau stocare sau de definiții diferite ale dicționarului de date ale entităților similare din diferite magazine. Curățarea datelor diferă de validarea datelor, deoarece validarea înseamnă aproape invariabil că datele sunt respinse din sistem la intrare și se efectuează la momentul introducerii, mai degrabă decât pe loturi de date.

Procesul real de curățare a datelor poate implica eliminarea erorilor tipografice sau validarea și corectarea valorilor în raport cu o listă cunoscută de entități. Validarea poate fi strictă (cum ar fi respingerea oricărei adrese care nu are un cod poștal valid ) sau cu potrivirea șirului fuzzy sau aproximativ (cum ar fi corectarea înregistrărilor care se potrivesc parțial cu înregistrările existente, cunoscute). Unele soluții de curățare a datelor vor curăța datele prin verificare încrucișată cu un set de date validat. O practică obișnuită de curățare a datelor este îmbunătățirea datelor, în care datele sunt completate prin adăugarea de informații conexe. De exemplu, adăugarea adreselor cu orice numere de telefon legate de adresa respectivă. Curățarea datelor poate implica, de asemenea, armonizarea (sau normalizarea) datelor, care este procesul de reunire a datelor de „diferite formate de fișiere, convenții de denumire și coloane” și transformarea acestora într-un singur set de date coeziv; un exemplu simplu este extinderea abrevierilor („st, rd etc.” la „stradă, drum etc.”).

Motivație

Datele incorecte din punct de vedere administrativ și incoerente pot duce la concluzii false și direcționează greșit investițiile atât la scară publică, cât și la cea privată. De exemplu, guvernul poate dori să analizeze cifrele recensământului populației pentru a decide ce regiuni necesită cheltuieli și investiții suplimentare în infrastructură și servicii. În acest caz, va fi important să aveți acces la date fiabile pentru a evita deciziile fiscale eronate. În lumea afacerilor, datele incorecte pot fi costisitoare. Multe companii folosesc baze de date cu informații despre clienți care înregistrează date precum informații de contact, adrese și preferințe. De exemplu, dacă adresele sunt inconsistente, compania va suporta costul retrimiterii e-mailului sau chiar al pierderii clienților.

Calitatea datelor

Datele de înaltă calitate trebuie să respecte un set de criterii de calitate. Acestea includ:

  • Valabilitate : gradul în care măsurile sunt conforme cu regulile sau constrângerile comerciale definite (a se vedea și Valabilitatea (statistici) ). Atunci când tehnologia modernă a bazelor de date este utilizată pentru proiectarea sistemelor de captare a datelor, validitatea este destul de ușor de asigurat: datele nevalide apar în principal în contexte vechi (în care constrângerile nu au fost implementate în software) sau în care a fost utilizată tehnologia de captare a datelor necorespunzătoare (de exemplu, foi de calcul, unde este foarte greu să limitezi ceea ce un utilizator alege să introducă într-o celulă, dacă nu este utilizată validarea celulei). Constrângerile de date se încadrează în următoarele categorii:
    • Constrângeri de tip date - de exemplu, valorile dintr-o anumită coloană trebuie să fie de un anumit tip de date, de exemplu, boolean, numeric (întreg sau real), dată etc.
    • Constrângeri de interval: de obicei, numerele sau datele ar trebui să se încadreze într-un anumit interval. Adică au valori minime și / sau maxime admise.
    • Constrângeri obligatorii: anumite coloane nu pot fi goale.
    • Constrângeri unice: un câmp sau o combinație de câmpuri trebuie să fie unice într-un set de date. De exemplu, nici o persoană nu poate avea același număr de securitate socială.
    • Constrângeri Set-Membership : valorile pentru o coloană provin dintr-un set de valori sau coduri discrete. De exemplu, sexul unei persoane poate fi de sex feminin, masculin sau non-binar.
    • Constrângeri cu cheie străină : acesta este cazul mai general al apartenenței stabilite. Setul de valori dintr-o coloană este definit într-o coloană dintr-un alt tabel care conține valori unice. De exemplu, într-o bază de date a contribuabililor din SUA, coloana „stat” trebuie să aparțină unuia dintre statele sau teritoriile definite în SUA: setul de state / teritorii permise este înregistrat într-un tabel de stat separat. Termenul cheie străină este împrumutat din terminologia bazei de date relaționale.
    • Modele de expresie regulată : Ocazional, câmpurile de text vor trebui validate în acest fel. De exemplu, numerele de telefon pot fi necesare pentru a avea modelul (999) 999-9999.
    • Validare încrucișată : trebuie îndeplinite anumite condiții care utilizează mai multe câmpuri. De exemplu, în medicina de laborator, suma componentelor numărului diferențiat de celule albe din sânge trebuie să fie egală cu 100 (deoarece toate sunt procente). Într-o bază de date a spitalului, data externării pacientului din spital nu poate fi mai devreme decât data internării.
  • Acuratețe : gradul de conformitate al unei măsuri la un standard sau la o valoare reală - vezi și Acuratețe și precizie . Acuratețea este foarte greu de realizat prin curățarea datelor în general, deoarece necesită accesarea unei surse externe de date care conține adevărata valoare: astfel de date „standard de aur” sunt adesea indisponibile. Acuratețea a fost obținută în anumite contexte de curățare, în special datele de contact ale clienților, prin utilizarea bazelor de date externe care potrivesc codurile poștale cu locațiile geografice (oraș și stat) și, de asemenea, ajută la verificarea faptului că adresele stradale din aceste coduri poștale există.
  • Completitudine : gradul în care sunt cunoscute toate măsurile necesare. Incompletitudinea este aproape imposibil de rezolvat cu metodologia de curățare a datelor: nu se pot deduce fapte care nu au fost capturate atunci când datele în cauză au fost înregistrate inițial. (În unele contexte, de exemplu, date de interviu, poate fi posibil să se remedieze incompletitudinea revenind la sursa originală de date, adică reintervievând subiectul, dar chiar și acest lucru nu garantează succesul din cauza problemelor de rechemare - de exemplu, în un interviu pentru a aduna date despre consumul de alimente, nimeni nu își va aminti cu exactitate ce a mâncat acum șase luni. În cazul sistemelor care insistă că anumite coloane nu ar trebui să fie goale, se poate rezolva problema prin desemnarea unei valori care să indice „ necunoscut "sau" lipsă ", dar furnizarea valorilor implicite nu implică faptul că datele au fost completate.)
  • Coerență : gradul în care un set de măsuri sunt echivalente în toate sistemele (a se vedea, de asemenea, Coerența ). Inconsistența apare atunci când două elemente de date din setul de date se contrazic: de exemplu, un client este înregistrat în două sisteme diferite ca având două adrese curente diferite și doar una dintre ele poate fi corectă. Remedierea inconsecvenței nu este întotdeauna posibilă: necesită o varietate de strategii - de exemplu, deciderea datelor care au fost înregistrate mai recent, sursa de date care este probabil cea mai fiabilă (aceste din urmă cunoștințe pot fi specifice unei organizații date) sau pur și simplu încercarea de a găsiți adevărul testând ambele elemente de date (de exemplu, apelând clientul).
  • Uniformitate : gradul în care un set de măsuri de date este specificat folosind aceleași unități de măsură în toate sistemele (a se vedea, de asemenea, Unitatea de măsură ). În seturile de date grupate din diferite locații locale, greutatea poate fi înregistrată fie în kilograme, fie în kilograme și trebuie convertită într-o singură măsură folosind o transformare aritmetică.

Termenul de integritate cuprinde acuratețe, consistență și unele aspecte ale validării (a se vedea și integritatea datelor ), dar este rar folosit de el însuși în contexte de curățare a datelor, deoarece este insuficient de specific. (De exemplu, „ integritate referențială ” este un termen folosit pentru a se referi la aplicarea constrângerilor de cheie externă de mai sus.)

Proces

  • Auditul datelor : datele sunt auditate cu ajutorul metodelor statistice și ale bazelor de date pentru a detecta anomalii și contradicții: aceasta indică în cele din urmă caracteristicile anomaliilor și locațiile lor. Mai multe pachete software comerciale vă vor permite să specificați constrângeri de diferite tipuri (folosind o gramatică care este conformă cu un limbaj de programare standard, de exemplu, JavaScript sau Visual Basic) și apoi să generați cod care verifică datele pentru încălcarea acestor constrângeri. Acest proces este menționat mai jos în punctele „specificații flux de lucru” și „execuție flux de lucru”. Pentru utilizatorii cărora le lipsește accesul la software de curățare de ultimă generație, pachetele de baze de date cu microcomputer precum Microsoft Access sau File Maker Pro vă vor permite, de asemenea, să efectuați astfel de verificări, în mod constrângere cu constrângere, interactiv, cu o programare mică sau deloc necesară în multe cazuri .
  • Specificația fluxului de lucru : detectarea și eliminarea anomaliilor sunt efectuate printr-o succesiune de operații pe datele cunoscute sub numele de flux de lucru. Este specificat după procesul de audit al datelor și este crucial pentru realizarea produsului final al datelor de înaltă calitate. Pentru a obține un flux de lucru adecvat, cauzele anomaliilor și erorilor din date trebuie luate în considerare îndeaproape.
  • Execuția fluxului de lucru : în această etapă, fluxul de lucru este executat după ce specificațiile sale sunt complete și corectitudinea sa este verificată. Implementarea fluxului de lucru ar trebui să fie eficientă, chiar și pe seturi mari de date, ceea ce reprezintă inevitabil un compromis, deoarece executarea unei operațiuni de curățare a datelor poate fi costisitoare din punct de vedere al calculului.
  • Post-procesare și control : După executarea fluxului de lucru de curățare, rezultatele sunt inspectate pentru a verifica corectitudinea. Datele care nu au putut fi corectate în timpul execuției fluxului de lucru sunt corectate manual, dacă este posibil. Rezultatul este un nou ciclu în procesul de curățare a datelor în care datele sunt auditate din nou pentru a permite specificarea unui flux de lucru suplimentar pentru a curăța în continuare datele prin procesare automată.

Datele sursă de bună calitate au legătură cu „Cultura calității datelor” și trebuie inițiate în partea de sus a organizației. Nu este vorba doar de implementarea unor verificări de validare puternice pe ecranele de intrare, deoarece aproape oricât de puternice sunt aceste verificări, ele pot fi deseori ocolite de utilizatori. Există un ghid în nouă etape pentru organizațiile care doresc să îmbunătățească calitatea datelor:

  • Declarați un angajament la nivel înalt pentru o cultură a calității datelor
  • Conduceți reingenieria proceselor la nivel executiv
  • Cheltuiți bani pentru a îmbunătăți mediul de introducere a datelor
  • Cheltuiți bani pentru a îmbunătăți integrarea aplicației
  • Cheltuiți bani pentru a schimba modul în care funcționează procesele
  • Promovează conștientizarea echipei de la un capăt la altul
  • Promovarea cooperării interdepartamentale
  • Sărbătoriți public excelența calității datelor
  • Măsurați continuu și îmbunătățiți calitatea datelor

Altele includ:

  • Analizare : pentru detectarea erorilor de sintaxă. Un analizor decide dacă un șir de date este acceptabil în cadrul specificației de date permise. Acest lucru este similar cu modul în care un analizor funcționează cu gramaticile și limbile .
  • Transformarea datelor : Transformarea datelor permite maparea datelor din formatul dat în formatul așteptat de aplicația corespunzătoare. Aceasta include conversii de valori sau funcții de traducere, precum și normalizarea valorilor numerice pentru a se conforma valorilor minime și maxime.
  • Eliminare duplicat : detectarea duplicat necesită un algoritm pentru a determina dacă datele conțin reprezentări duplicate ale aceleiași entități. De obicei, datele sunt sortate după o cheie care ar apropia intrările duplicate pentru o identificare mai rapidă.
  • Metode statistice : Prin analiza datelor folosind valorile algoritmilor de medie , deviație standard , interval sau grupare , este posibil ca un expert să găsească valori care sunt neașteptate și, astfel, eronate. Deși corectarea acestor date este dificilă deoarece nu se cunoaște adevărata valoare, ea poate fi rezolvată prin setarea valorilor la o valoare statistică medie sau de altă natură. Metodele statistice pot fi, de asemenea, utilizate pentru a trata valorile lipsă, care pot fi înlocuite cu una sau mai multe valori plauzibile, care sunt obținute de obicei prin algoritmi extinși de creștere a datelor .

Sistem

Sarcina esențială a acestui sistem este de a găsi un echilibru adecvat între remedierea datelor murdare și menținerea datelor cât mai aproape posibil de datele originale din sistemul de producție sursă. Aceasta este o provocare pentru Arhitectul Extract, Transform, Load . Sistemul ar trebui să ofere o arhitectură care poate curăța datele, înregistra evenimente de calitate și măsura / controla calitatea datelor din depozitul de date . Un început bun este să efectuați o analiză detaliată a profilării datelor, care va ajuta la definirea complexității necesare a sistemului de curățare a datelor și, de asemenea, va oferi o idee despre calitatea curentă a datelor din sistemul (sursele) sursă.

Ecrane de calitate

O parte a sistemului de curățare a datelor este un set de filtre de diagnostic cunoscute sub numele de ecrane de calitate. Fiecare implementează un test în fluxul de date care, dacă nu reușește, înregistrează o eroare în Schema evenimentului de eroare. Ecranele de calitate sunt împărțite în trei categorii:

  • Ecrane coloane. Testarea coloanei individuale, de ex. Pentru valori neașteptate, cum ar fi valorile NULL ; valori nenumerice care ar trebui să fie numerice; valori în afara intervalului; etc.
  • Ecrane de structură. Acestea sunt utilizate pentru a testa integritatea diferitelor relații între coloane (de obicei chei străine / primare) în aceleași tabele sau diferite. Ele sunt, de asemenea, utilizate pentru testarea faptului că un grup de coloane este valid în conformitate cu o definiție structurală la care ar trebui să adere.
  • Ecranele regulilor de afaceri. Cel mai complex dintre cele trei teste. Testează pentru a vedea dacă datele, poate în mai multe tabele, respectă reguli comerciale specifice. Un exemplu ar putea fi că, dacă un client este marcat ca un anumit tip de client, ar trebui respectate regulile comerciale care definesc acest tip de client.

Atunci când un ecran de calitate înregistrează o eroare, acesta poate fie să oprească procesul de flux de date, să trimită datele defecte în altă parte decât sistemul țintă sau să eticheteze datele. Ultima opțiune este considerată cea mai bună soluție, deoarece prima opțiune necesită ca cineva să se ocupe manual de problemă de fiecare dată când apare și a doua înseamnă că lipsesc date din sistemul țintă ( integritate ) și este adesea neclar ce ar trebui să se întâmple la aceste date.

Critica instrumentelor și proceselor existente

Majoritatea instrumentelor de curățare a datelor au limite de utilizare:

  • Costurile proiectului : costuri de obicei în sute de mii de dolari
  • Timp : stăpânirea software-ului de curățare a datelor la scară largă necesită mult timp
  • Securitate : validarea încrucișată necesită partajarea informațiilor, oferind unei aplicații acces între sisteme, inclusiv sisteme moștenite sensibile

Schema evenimentului de eroare

Schema Evenimentului de eroare conține înregistrări ale tuturor evenimentelor de eroare aruncate de ecranele de calitate. Acesta constă dintr-un tabel de evenimente de eroare cu chei străine pentru trei tabele de dimensiuni care reprezintă data (când), lucrarea lot (unde) și ecranul (cine a produs eroarea). De asemenea, conține informații despre exact momentul în care a apărut eroarea și gravitatea acesteia. De asemenea, există un tabel cu informații despre evenimentul de eroare cu o cheie străină pentru tabelul principal care conține informații detaliate despre în ce tabel, înregistrare și câmp a apărut eroarea și starea erorii.

Vezi si

Referințe

Lecturi suplimentare

  • McKinney, Wes (2017). „Curățarea și pregătirea datelor”. Python pentru analiza datelor (ediția a II-a). O'Reilly. pp. 195–224. ISBN 978-1-4919-5766-0.
  • van der Loo, Mark; de Jonge, Edwin (2018). Date statistice Curățarea cu aplicații în R . Hoboken: Wiley. ISBN 978-1-118-89715-7.

linkuri externe