Neteja de dades

De la Viquipèdia, l'enciclopèdia lliure

La neteja de dades (en anglès data cleansing o data scrubbing) és l'acte de descobriment, correcció i/o eliminació de registres de dades errònies d'una taula o una base de dades. El procés de neteja de dades permet identificar dades incompletes, incorrectes, inexactes, no pertinents, etc. i després substituir, modificar o eliminar aquestes dades brutes ("data duty").

Inici i final d'un procés de neteja de dades.
Inici i final d'un procés de neteja de dades.

Aquest procés és una part crucial de l'anàlisi de dades, especialment quan es recopilen dades quantitatives.

Després de la neteja, la base de dades podrà ser compatible amb altres bases de dades similars al sistema.

Les inconsistències descobertes, modificades o eliminades en un conjunt de dades poden haver estat causades per: les definicions de diccionari de dades diferents d'entitats similars, errors d'entrada de l'usuari i corrupció a la transmissió, o l'emmagatzematge.

La neteja de dades es diferencia de la validació de dades en el fet que gairebé sempre compleix la funció de rebutjar els registres erronis durant l'entrada al sistema, i no en lots de data. El procés de neteja de dades inclou la validació i, a més, la correcció de dades per assolir dades de qualitat.

Motivació[modifica]

Dades que són falses o incorrectes poden crear conclusions falses i adreçar a inversions. Si un govern vol analitzar dades d'un cens de població, serà molt important que les dades siguin fiables per evitar prendre decisions fiscals errònies. En àmbits laborals de forenses, comptabilitat i investigació de fraus usen la neteja de dades per preparar les dades i es fa abans d'enviar-les a un magatzem de dades. Hi ha paquets disponibles per poder netejar o rentar dades d'adreces, típicament fet per una interfície de programació d'aplicacions (API de l'anglès).

Un altre exemple de cas d'ús real seria el cas de la realització d'una enquesta pública en línia. Els usuaris inseririen els seus noms i adreces electròniques i així doncs, abans de treballar amb aquelles dades i treure conclusions, necessitaríem netejar les dades per tal d'esborrar aquells camps on, per exemple, els correus no segueixen el format d'un correu normal (correu inventat o erroni), o que per exemple els noms i els cognoms són nuls, la qual cosa l'usuari s'ha deixat algun camp per omplir.

Qualitat de les dades[modifica]

La qualitat de dades ha de complir els següents requisits:

La qualitat de les dades ha de complir un certs requisits.
La qualitat de les dades ha de complir un certs requisits.
  • Exactitud: Les dades han de complir els requisits d'integritat, consistència i densitat.
  • Integritat: Les dades han de complir els requisits d'enteresa i validesa.
    • Enteresa: Assolit per la correcció de dades que contenen anomalies.
    • Validesa: Aconseguit per la quantitat de dades que satisfan les restriccions d'integritat.
  • Consistència: Obtingut per la correcció de contradiccions i anomalies sintàctiques.
  • Uniformitat: relacionat amb irregularitats.
  • Densitat: Conèixer el quocient de valors omesos sobre el nombre de valors totals.
  • Unicitat: Relacionat amb dades duplicades.

Procés de neteja de dades[modifica]

Per fer una neteja de dades hi trobem els següents processos:

  • Auditoria de Dades: Les dades són revisades amb mètodes estadístics que detecten anomalies i contradiccions.
  • Definició de Workflow (Flux de Treball): La detecció i la neteja d’anomalies són realitzades per una seqüència d’operacions sobre les dades ja conegudes com el workflow. Per aconseguir un flux de treball apropiat, s’ha d’identificar les causes de les anomalies i els errors. Per exemple, si es troba que una anomalia és un resultat d’errors de màquina en l’etapa d’entrada de dades, la disposició del teclat pot ajudar en la solució de possibles problemes.
  • Execució de Workflow: En aquesta etapa, el workflow és executat després que la seva especificació es completa i la seva correcció és verificada. La implementació del workflow hauria de ser eficient encara sobre els jocs grans de les dades que inevitablement plantegen una compensació, perquè l'execució de l'operació netejadora pot ser cara.
  • Postprocès i control: Les dades que no podien ser corregides durant l’execució del workflow haurien de ser corregides manualment, de ser possible. El resultat és un nou cicle en el procés de neteja de dades on les dades són revisades novament per ajustar-se a les especificacions d'un workflow addicional i realitzar un tractament automàtic.

Mètodes més utilitzats[modifica]

Els mètodes més utilitzats per fer una neteja de dades són els següents:

  • Anàlisi: L'anàlisi en la neteja de dades és realitzada per a la detecció d'errors de sintaxi. Un analitzador gramatical decideix si una corda de dades és acceptable dins de l'especificació de dades permesa. Això és similar a la manera que un analitzador gramatical treballa amb gramàtiques i llengües.
  • Transformació de Dades: La Transformació de Dades permet en traçar un mapa de dades, en el format esperat. Això inclou conversions de valor o funcions de traducció així com normalització de valors numèrics per conformar-se a valors mínims i màxims.
  • Eliminació de duplicats: La detecció de duplicats requereix un algorisme per determinar si les dades contenen representacions dobles de la mateixa entitat. En general, les dades són ordenades per una dada "clau" o "pivot" que permet la identificació més ràpida.
  • Mètode Estadístic: Inclou analitzar les dades usant mitjanes, desviació estàndard, rangs o algorismes de clúster. Aquesta anàlisi es du a terme per experts que identifiquen errors. Encara que la correcció de dades sigui difícil, ja que no saben el valor veritable, poden ser resolts posant els valors a una mitjana o a un altre valor estadístic. Els mètodes estadístics també poden ser emprats per manejar els valors que fallen, que poden ser substituïts per un o diversos valors possibles que en general són obtinguts per algorismes d'augment de dades extenses.

Eines de Neteja de Dades[modifica]

Hi ha moltes eines de neteja de dades, com per exemple Trifacta, OpenRefine, Paxata i Alteryx entre altres. També és comú l'ús de llibreries com Pandas (software) de Python, o Dplyr per R.

Actualment, l’única tecnologia que ens permet fer neteja de dades de forma distribuïda amb la robustesa i la tecnologia d'Apache Spark és Optimus.

Optimus és el framework faltant per la neteja, el preprocessament i l'análisis explorador de les dades d’una manera distribuïda amb Apache Saprk. Implementa diverses eines útils pel maneig i manipulació de dades que faciliten la vida del científic de dades. El primer avantatge que té respecte a qualsevol altra biblioteca o framework de neteja de dades pública és que funciona a una computadora portàtil o en un gran clúster. A part, també és increïblement fàcil d’instal·lar, fer servir i entendre.

Optimus és OpenSource, aquí podrà troba la documentació i els exemples.

Reptes i problemes[modifica]

  • Correcció d'errors i pèrdua d'informació: El repte més gran dins de la neteja de dades és la correcció de valors, ja que inclou treure duplicats i entrades invàlides. En molts casos, la informació disponible sobre aquestes anomalies és limitada i insuficient per determinar les transformacions necessàries o correccions, abandonant la qualificació d'aquestes entrades com l'única solució. L'eliminació de dades, també condueix teniment de Dades Netejades: La netejimportant del temps consumit és gran. Després d'haver realitzat la neteja de dades i assolir una col·lecció de dades sense errors, un voldria evitar la re-neteja de dades íntegrament després que es realitzen alguns canvis a la base de dades. El procés només hauria de ser repetit sobre els valors que s'han canviat, això vol dir, que hem de guardar un llinatge netejador que requereix una col·lecció de dades i tècniques d'administració de dades eficient.
  • Neteja de Dades en Entorns virtualment Integrats: A fonts pràcticament integrades com a DiscoveryLink de la IBM, la neteja de dades ha de ser duta a terme sempre amb accés de dades de diferents fonts, amb una considerable disminució el temps de resposta i l'eficàcia.
  • Neteja de dades al Framework: En molts casos no serà possible arribar a un complet mapa de neteja de dades que guiï el procés per endavant. Això fa que la neteja de dades sigui un procés iteratiu que implica l'exploració significativa i la interacció que pot requerir un framework, és a dir, un marc que inclogui una col·lecció de mètodes per a la detecció d'errors i l'eliminació a més de la revisió de dades. Això pot ser integrat amb altres etapes informàtiques com la integració i el manteniment.

Vegeu també[modifica]

Enllaços externs[modifica]