Limpieza de datos - Data cleansing

La limpieza de datos o limpieza de datos es el proceso de detectar y corregir (o eliminar) registros corruptos o inexactos de un conjunto de registros, tabla o base de datos y se refiere a identificar partes incompletas, incorrectas, inexactas o irrelevantes de los datos y luego reemplazar, modificar, o borrar los datos sucios o burdos. La limpieza de datos se puede realizar de forma interactiva con herramientas de gestión de datos o como procesamiento por lotes a través de secuencias de comandos .

Después de la limpieza, un conjunto de datos debe ser coherente con otros conjuntos de datos similares en el sistema. Las inconsistencias detectadas o eliminadas pueden haber sido causadas originalmente por errores de entrada del usuario, por daños en la transmisión o el almacenamiento, o por diferentes definiciones de diccionario de datos de entidades similares en diferentes tiendas. La limpieza de datos difiere de la validación de datos en que la validación significa casi invariablemente que los datos se rechazan del sistema en el momento de la entrada y se realizan en el momento de la entrada, en lugar de en lotes de datos.

El proceso real de limpieza de datos puede implicar la eliminación de errores tipográficos o la validación y corrección de valores frente a una lista conocida de entidades. La validación puede ser estricto (tal como el rechazo de cualquier dirección que no tiene un válido código postal ), o con fuzzy o la coincidencia de cadenas aproximada (como los registros de corrección que coincidan parcialmente, los registros existentes conocidos). Algunas soluciones de limpieza de datos limpiarán los datos mediante la verificación cruzada con un conjunto de datos validados. Una práctica común de limpieza de datos es la mejora de datos, donde los datos se completan agregando información relacionada. Por ejemplo, agregar direcciones con cualquier número de teléfono relacionado con esa dirección. La limpieza de datos también puede implicar la armonización (o normalización) de datos, que es el proceso de reunir datos de "diferentes formatos de archivo, convenciones de nomenclatura y columnas", y transformarlos en un conjunto de datos cohesivo; un ejemplo simple es la expansión de abreviaturas ("st, rd, etc." a "street, road, etcétera").

Motivación

Los datos incoherentes e incorrectos desde el punto de vista administrativo pueden llevar a conclusiones falsas e inversiones desviadas tanto a escala pública como privada. Por ejemplo, el gobierno puede querer analizar las cifras del censo de población para decidir qué regiones requieren más gasto e inversión en infraestructura y servicios. En este caso, será importante tener acceso a datos confiables para evitar decisiones fiscales erróneas. En el mundo empresarial, los datos incorrectos pueden resultar costosos. Muchas empresas utilizan bases de datos de información de clientes que registran datos como información de contacto, direcciones y preferencias. Por ejemplo, si las direcciones son inconsistentes, la empresa sufrirá el costo de reenviar correo o incluso perder clientes.

Calidad de los datos

Los datos de alta calidad deben pasar un conjunto de criterios de calidad. Aquellos incluyen:

  • Validez : el grado en que las medidas se ajustan a las reglas o restricciones comerciales definidas (consulte también Validez (estadísticas) ). Cuando se utiliza tecnología de base de datos moderna para diseñar sistemas de captura de datos, la validez es bastante fácil de garantizar: los datos no válidos surgen principalmente en contextos heredados (donde las restricciones no se implementaron en el software) o donde se usó tecnología de captura de datos inapropiada (por ejemplo, hojas de cálculo, donde es muy difícil limitar lo que un usuario elige ingresar en una celda, si no se usa la validación de celda). Las restricciones de datos se dividen en las siguientes categorías:
    • Restricciones de tipo de datos : por ejemplo, los valores en una columna en particular deben ser de un tipo de datos en particular, por ejemplo, booleano, numérico (entero o real), fecha, etc.
    • Restricciones de rango: normalmente, los números o las fechas deben estar dentro de un cierto rango. Es decir, tienen valores mínimos y / o máximos permitidos.
    • Restricciones obligatorias: algunas columnas no pueden estar vacías.
    • Restricciones únicas: un campo, o una combinación de campos, debe ser único en un conjunto de datos. Por ejemplo, dos personas no pueden tener el mismo número de seguro social.
    • Restricciones de pertenencia al conjunto : los valores de una columna provienen de un conjunto de valores o códigos discretos. Por ejemplo, el sexo de una persona puede ser femenino, masculino o no binario.
    • Restricciones de clave externa : este es el caso más general de pertenencia a un conjunto. El conjunto de valores de una columna se define en una columna de otra tabla que contiene valores únicos. Por ejemplo, en una base de datos de contribuyentes de EE. UU., Se requiere que la columna "estado" pertenezca a uno de los estados o territorios definidos de EE. UU.: El conjunto de estados / territorios permitidos se registra en una tabla de estados separada. El término clave externa se toma prestado de la terminología de bases de datos relacionales.
    • Patrones de expresión regular : ocasionalmente, los campos de texto deberán validarse de esta manera. Por ejemplo, es posible que se requiera que los números de teléfono tengan el patrón (999) 999-9999.
    • Validación de campo cruzado : se deben cumplir ciertas condiciones que utilizan varios campos. Por ejemplo, en medicina de laboratorio, la suma de los componentes del recuento diferencial de glóbulos blancos debe ser igual a 100 (ya que todos son porcentajes). En una base de datos de un hospital, la fecha de alta del paciente del hospital no puede ser anterior a la fecha de admisión.
  • Exactitud : El grado de conformidad de una medida con un estándar o un valor real; consulte también Exactitud y precisión . La precisión es muy difícil de lograr mediante la limpieza de datos en el caso general porque requiere acceder a una fuente externa de datos que contenga el valor real: estos datos del "estándar de oro" a menudo no están disponibles. Se ha logrado precisión en algunos contextos de limpieza, en particular los datos de contacto del cliente, mediante el uso de bases de datos externas que hacen coincidir los códigos postales con las ubicaciones geográficas (ciudad y estado) y también ayudan a verificar que las direcciones de las calles dentro de estos códigos postales realmente existen.
  • Exhaustividad : el grado en el que se conocen todas las medidas necesarias. Los datos incompletos son casi imposibles de corregir con la metodología de limpieza de datos: no se pueden inferir hechos que no se capturaron cuando se registraron inicialmente los datos en cuestión. (En algunos contextos, por ejemplo, datos de entrevistas, puede ser posible corregir la falta de información volviendo a la fuente original de datos, es decir, volviendo a entrevistar al sujeto, pero incluso esto no garantiza el éxito debido a problemas de memoria, por ejemplo, en una entrevista para recopilar datos sobre el consumo de alimentos, es probable que nadie recuerde exactamente lo que se comió hace seis meses. En el caso de los sistemas que insisten en que ciertas columnas no deben estar vacías, se puede solucionar el problema designando un valor que indique " desconocido "o" faltante ", pero el suministro de valores predeterminados no implica que los datos se hayan completado).
  • Coherencia : el grado en el que un conjunto de medidas son equivalentes en todos los sistemas (consulte también Coherencia ). La inconsistencia ocurre cuando dos elementos de datos en el conjunto de datos se contradicen: por ejemplo, un cliente se registra en dos sistemas diferentes con dos direcciones actuales diferentes, y solo uno de ellos puede ser correcto. No siempre es posible corregir la inconsistencia: requiere una variedad de estrategias, por ejemplo, decidir qué datos se registraron más recientemente, qué fuente de datos es probable que sea más confiable (este último conocimiento puede ser específico de una organización determinada) o simplemente intentar encuentre la verdad probando ambos elementos de datos (por ejemplo, llamando al cliente).
  • Uniformidad : el grado en el que las medidas de un conjunto de datos se especifican utilizando las mismas unidades de medida en todos los sistemas (consulte también Unidad de medida ). En conjuntos de datos agrupados de diferentes lugares, el peso se puede registrar en libras o en kilos y debe convertirse a una sola medida mediante una transformación aritmética.

El término integridad abarca precisión, consistencia y algunos aspectos de la validación (ver también integridad de datos ) pero rara vez se usa por sí solo en contextos de limpieza de datos porque no es lo suficientemente específico. (Por ejemplo, " integridad referencial " es un término que se utiliza para referirse a la aplicación de las restricciones de clave externa anteriores).

Proceso

  • Auditoría de datos : Los datos son auditados con el uso de métodos estadísticos y de bases de datos para detectar anomalías y contradicciones: esto eventualmente indica las características de las anomalías y sus ubicaciones. Varios paquetes de software comerciales le permitirán especificar restricciones de varios tipos (usando una gramática que se ajuste a la de un lenguaje de programación estándar, por ejemplo, JavaScript o Visual Basic) y luego generar código que verifique los datos para detectar una violación de estas restricciones. Este proceso se menciona a continuación en las viñetas "especificación del flujo de trabajo" y "ejecución del flujo de trabajo". Para los usuarios que carecen de acceso a software de limpieza de alta gama, los paquetes de bases de datos de microcomputadoras como Microsoft Access o File Maker Pro también le permitirán realizar dichas comprobaciones, en función de las restricciones, de forma interactiva con poca o ninguna programación requerida en muchos casos. .
  • Especificación del flujo de trabajo : la detección y eliminación de anomalías se realiza mediante una secuencia de operaciones sobre los datos conocida como flujo de trabajo. Se especifica después del proceso de auditoría de los datos y es crucial para lograr el producto final de datos de alta calidad. Para lograr un flujo de trabajo adecuado, se deben considerar de cerca las causas de las anomalías y errores en los datos.
  • Ejecución del flujo de trabajo : en esta etapa, el flujo de trabajo se ejecuta después de que se completa su especificación y se verifica su corrección. La implementación del flujo de trabajo debe ser eficiente, incluso en grandes conjuntos de datos, lo que inevitablemente plantea una compensación porque la ejecución de una operación de limpieza de datos puede ser computacionalmente costosa.
  • Posprocesamiento y control : después de ejecutar el flujo de trabajo de limpieza, los resultados se inspeccionan para verificar que sean correctos. Los datos que no se pudieron corregir durante la ejecución del flujo de trabajo se corrigen manualmente, si es posible. El resultado es un nuevo ciclo en el proceso de limpieza de datos en el que los datos se auditan nuevamente para permitir la especificación de un flujo de trabajo adicional para limpiar aún más los datos mediante el procesamiento automático.

Los datos de origen de buena calidad tienen que ver con la “cultura de la calidad de los datos” y deben iniciarse en la parte superior de la organización. No se trata solo de implementar comprobaciones de validación sólidas en las pantallas de entrada, porque casi no importa cuán sólidas sean estas comprobaciones, a menudo los usuarios pueden eludirlas. Hay una guía de nueve pasos para las organizaciones que desean mejorar la calidad de los datos:

  • Declarar un compromiso de alto nivel con una cultura de calidad de datos
  • Impulsar la reingeniería de procesos a nivel ejecutivo
  • Gastar dinero para mejorar el entorno de entrada de datos
  • Gaste dinero para mejorar la integración de aplicaciones
  • Gastar dinero para cambiar el funcionamiento de los procesos
  • Promover la conciencia del equipo de un extremo a otro
  • Promover la cooperación interdepartamental
  • Celebre públicamente la excelencia en la calidad de los datos
  • Mida y mejore continuamente la calidad de los datos

Otros incluyen:

  • Análisis : para la detección de errores de sintaxis. Un analizador decide si una cadena de datos es aceptable dentro de la especificación de datos permitida. Esto es similar a la forma en que un analizador trabaja con gramáticas e idiomas .
  • Transformación de datos : la transformación de datos permite el mapeo de los datos desde su formato dado al formato esperado por la aplicación apropiada. Esto incluye conversiones de valores o funciones de traducción, así como normalizar valores numéricos para ajustarse a los valores mínimos y máximos.
  • Eliminación de duplicados : la detección de duplicados requiere un algoritmo para determinar si los datos contienen representaciones duplicadas de la misma entidad. Por lo general, los datos se clasifican mediante una clave que acercaría las entradas duplicadas para una identificación más rápida.
  • Métodos estadísticos : al analizar los datos utilizando los valores de media , desviación estándar , rango o algoritmos de agrupamiento , es posible que un experto encuentre valores inesperados y, por lo tanto, erróneos. Aunque la corrección de tales datos es difícil debido a que no se conoce el valor real, se puede resolver estableciendo los valores en un valor promedio u otro valor estadístico. Los métodos estadísticos también pueden usarse para manejar valores perdidos que pueden ser reemplazados por uno o más valores plausibles, que generalmente se obtienen mediante algoritmos de aumento de datos extensivos .

Sistema

El trabajo esencial de este sistema es encontrar un equilibrio adecuado entre corregir los datos sucios y mantener los datos lo más cerca posible de los datos originales del sistema de producción de origen. Este es un desafío para el arquitecto de extracción, transformación y carga . El sistema debe ofrecer una arquitectura que pueda limpiar datos, registrar eventos de calidad y medir / controlar la calidad de los datos en el almacén de datos . Un buen comienzo es realizar un análisis de perfil de datos exhaustivo que ayudará a definir la complejidad requerida del sistema de limpieza de datos y también dará una idea de la calidad actual de los datos en el (los) sistema (s) fuente.

Pantallas de calidad

Parte del sistema de limpieza de datos es un conjunto de filtros de diagnóstico conocidos como pantallas de calidad. Cada uno de ellos implementa una prueba en el flujo de datos que, si falla, registra un error en el esquema de evento de error. Las pantallas de calidad se dividen en tres categorías:

  • Pantallas de columna. Prueba de la columna individual, por ejemplo, para valores inesperados como valores NULL ; valores no numéricos que deberían ser numéricos; valores fuera de rango; etc.
  • Estructura de pantallas. Estos se utilizan para probar la integridad de las diferentes relaciones entre las columnas (normalmente claves externas / primarias) en la misma tabla o en tablas diferentes. También se utilizan para probar que un grupo de columnas es válido de acuerdo con alguna definición estructural a la que debe adherirse.
  • Pantallas de reglas comerciales. La más compleja de las tres pruebas. Realizan pruebas para ver si los datos, tal vez en varias tablas, siguen reglas comerciales específicas. Un ejemplo podría ser que si un cliente está marcado como un cierto tipo de cliente, se deben cumplir las reglas comerciales que definen este tipo de cliente.

Cuando una pantalla de calidad registra un error, puede detener el proceso de flujo de datos, enviar los datos defectuosos a otro lugar que no sea el sistema de destino o etiquetar los datos. La última opción se considera la mejor solución porque la primera opción requiere que alguien tenga que lidiar manualmente con el problema cada vez que ocurre y la segunda implica que faltan datos en el sistema de destino ( integridad ) y, a menudo, no está claro qué debería suceder. a estos datos.

Crítica de herramientas y procesos existentes

La mayoría de las herramientas de limpieza de datos tienen limitaciones de usabilidad:

  • Costos del proyecto : costos generalmente en cientos de miles de dólares
  • Tiempo : dominar el software de limpieza de datos a gran escala requiere mucho tiempo
  • Seguridad : la validación cruzada requiere compartir información, dando acceso a una aplicación en todos los sistemas, incluidos los sistemas heredados sensibles

Esquema de eventos de error

El esquema de eventos de error contiene registros de todos los eventos de error generados por las pantallas de calidad. Consiste en una tabla de hechos de eventos de error con claves externas para tablas de tres dimensiones que representan la fecha (cuándo), el trabajo por lotes (dónde) y la pantalla (quién produjo el error). También contiene información sobre exactamente cuándo ocurrió el error y la gravedad del error. Además, hay una tabla de hechos de detalles de eventos de error con una clave externa a la tabla principal que contiene información detallada sobre en qué tabla, registro y campo ocurrió el error y la condición del error.

Ver también

Referencias

Otras lecturas

  • McKinney, Wes (2017). "Limpieza y preparación de datos". Python para análisis de datos (2ª ed.). O'Reilly. págs. 195-224. ISBN 978-1-4919-5766-0.
  • van der Loo, Mark; de Jonge, Edwin (2018). Estadística de limpieza de datos con aplicaciones en R . Hoboken: Wiley. ISBN 978-1-118-89715-7.

enlaces externos