Corrección de registros informáticos inexactos
La limpieza de datos o depuración 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 eliminar los datos sucios o burdos. [1] La limpieza de datos se puede realizar de forma interactiva con herramientas de manipulación de datos o como procesamiento por lotes a través de scripts o un firewall de calidad de datos .
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 corrupción en la transmisión o el almacenamiento, o por diferentes definiciones de diccionarios de datos de entidades similares en diferentes almacenes. La limpieza de datos se diferencia de la validación de datos en que la validación casi invariablemente significa que los datos se rechazan del sistema en el momento de la entrada y se realiza 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 contra una lista conocida de entidades. La validación puede ser estricta (como rechazar cualquier dirección que no tenga un código postal válido ) o con coincidencia de cadenas aproximada o difusa (como corregir registros que coincidan parcialmente con registros existentes conocidos). Algunas soluciones de limpieza de datos limpiarán los datos mediante una 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 hacen más completos agregando información relacionada. Por ejemplo, adjuntando 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", [2] 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 administrativos incorrectos e inconsistentes pueden llevar a conclusiones falsas y desviar las inversiones, 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 ser 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 el correo o incluso perder clientes.
Calidad de los datos
Los datos de alta calidad deben cumplir una serie de criterios de calidad, entre los que se incluyen los siguientes:
- Validez : El grado en el que las medidas se ajustan a las reglas o restricciones comerciales definidas (ver también Validez (estadísticas) ). Cuando se utiliza tecnología de bases de datos moderna para diseñar sistemas de captura de datos, la validez es bastante fácil de asegurar: los datos no válidos surgen principalmente en contextos heredados (donde no se implementaron restricciones en el software) o donde se utilizó 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 utiliza la validación de celdas). Las restricciones de datos se dividen en las siguientes categorías:
- Restricciones de tipo de datos : los valores de una columna particular deben ser de un tipo de datos particular, por ejemplo, booleano, numérico (entero o real), fecha.
- Restricciones de rango: por lo general, los números o las fechas deben estar dentro de un rango determinado, es decir, deben tener valores mínimos y/o máximos permitidos.
- Restricciones obligatorias: ciertas columnas no pueden estar vacías.
- Restricciones únicas: un campo o una combinación de campos deben ser únicos en un conjunto de datos. Por ejemplo, no puede haber dos personas con el mismo número de seguridad social.
- Restricciones de pertenencia a un 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 o 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 expresiones regulares : en ocasiones, 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 entre campos : deben cumplirse 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 de un paciente no puede ser anterior a la fecha de ingreso.
- Precisión : grado de conformidad de una medida con un estándar o un valor verdadero (véase también Precisión y precisión) . La precisión es muy difícil de lograr mediante la depuración de datos en el caso general, porque requiere el acceso a una fuente externa de datos que contenga el valor verdadero: estos datos de "estándar de oro" a menudo no están disponibles. La precisión se ha logrado en algunos contextos de depuración, en particular los datos de contacto de clientes, mediante el uso de bases de datos externas que relacionan 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.
- Completitud : Grado en el que se conocen todas las medidas requeridas. La falta de completitud es casi imposible 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, los datos de entrevistas, puede ser posible corregir la incompletitud 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 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 : Grado en el que un conjunto de medidas son equivalentes en todos los sistemas (véase también Coherencia ). La incoherencia se produce cuando dos elementos de datos del conjunto de datos se contradicen entre sí: p. ej., un cliente está registrado en dos sistemas diferentes como si tuviera dos direcciones actuales diferentes, y solo una de ellas puede ser correcta. No siempre es posible corregir la incoherencia: requiere una variedad de estrategias, p. ej., decidir qué datos se registraron más recientemente, qué fuente de datos es probable que sea la más confiable (este último conocimiento puede ser específico de una organización determinada) o simplemente tratar de encontrar la verdad probando ambos elementos de datos (p. ej., llamando al cliente).
- Uniformidad : Grado en el que las medidas de un conjunto de datos se especifican utilizando las mismas unidades de medida en todos los sistemas (véase también Unidad de medida ). En conjuntos de datos agrupados de diferentes lugares, el peso puede registrarse en libras o kilos y debe convertirse a una única medida mediante una transformación aritmética.
El término integridad abarca la precisión, la coherencia y algunos aspectos de la validación (véase también integridad de datos ), pero rara vez se utiliza 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 mencionadas anteriormente).
Proceso
- Auditoría de datos : Los datos se auditan con el uso de métodos estadísticos y de bases de datos para detectar anomalías y contradicciones: esto finalmente indica las características de las anomalías y sus ubicaciones. Varios paquetes de software comerciales le permitirán especificar restricciones de varios tipos (utilizando 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 violaciones de estas restricciones. Este proceso se menciona a continuación en los puntos "especificación del flujo de trabajo" y "ejecución del flujo de trabajo". Para los usuarios que no tienen 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 verificaciones, restricción por restricción, 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 fundamental para lograr un producto final de datos de alta calidad. Para lograr un flujo de trabajo adecuado, se deben considerar detenidamente las causas de las anomalías y los errores en los datos.
- Ejecución del flujo de trabajo : en esta etapa, el flujo de trabajo se ejecuta una vez que se ha completado su especificación y se ha verificado su exactitud. La implementación del flujo de trabajo debe ser eficiente, incluso en grandes conjuntos de datos, lo que inevitablemente plantea un problema, ya que la ejecución de una operación de limpieza de datos puede resultar costosa en términos computacionales.
- Posprocesamiento y control : después de ejecutar el flujo de trabajo de limpieza, se inspeccionan los resultados para verificar su exactitud. 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 donde 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.
La calidad de los datos de origen tiene que ver con la “cultura de la calidad de los datos” y debe iniciarse desde lo más alto de la organización. No se trata solo de implementar controles de validación estrictos en las pantallas de entrada, porque casi sin importar cuán estrictos sean estos controles, a menudo los usuarios pueden eludirlos. Existe una guía de nueve pasos para las organizaciones que desean mejorar la calidad de los datos: [3] [4]
- 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
- Gastar dinero para mejorar la integración de aplicaciones
- Gastar dinero para cambiar cómo funcionan los procesos
- Promover la concienciación del equipo de principio a fin
- Promover la cooperación interdepartamental
- Celebre públicamente la excelencia en la calidad de los datos
- Medir y mejorar 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 convertir los datos de un formato determinado al formato que espera la aplicación correspondiente. Esto incluye conversiones de valores o funciones de traducción, así como la normalización de valores numéricos para que se ajusten 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 ordenan mediante una clave que acerca las entradas duplicadas para una identificación más rápida.
- Métodos estadísticos : Al analizar los datos utilizando los valores de la media , la desviación estándar , el rango o algoritmos de agrupamiento , es posible que un experto encuentre valores inesperados y, por lo tanto, erróneos. Aunque la corrección de dichos datos es difícil porque no se conoce el valor verdadero, se puede resolver estableciendo los valores en un promedio u otro valor estadístico. Los métodos estadísticos también se pueden utilizar para manejar valores faltantes que se pueden reemplazar por uno o más valores plausibles, que generalmente se obtienen mediante algoritmos de aumento de datos extensivos .
Sistema
La función esencial de este sistema es encontrar un equilibrio adecuado entre la reparación de datos sucios y el mantenimiento de los datos lo más parecidos posible a 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 exhaustivo de los perfiles de datos 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 sistema o sistemas de origen.
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 eventos de error. Las pantallas de calidad se dividen en tres categorías:
- Pantallas de columnas. Prueba de columnas individuales, por ejemplo, para detectar valores inesperados como valores NULL ; valores no numéricos que deberían ser numéricos; valores fuera de rango; etc.
- Pantallas de estructura. Se utilizan para comprobar la integridad de las distintas relaciones entre columnas (normalmente claves primarias o externas) de la misma tabla o de distintas tablas. También se utilizan para comprobar que un grupo de columnas es válido según alguna definición estructural a la que debería adherirse.
- Pantallas de reglas de negocio. La más compleja de las tres pruebas. Prueban si los datos, tal vez en varias tablas, siguen reglas de negocio específicas. Un ejemplo podría ser que si un cliente está marcado como un cierto tipo de cliente, se deben respetar las reglas de negocio 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 erróneos 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 se ocupe manualmente del 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 con estos datos.
Crítica de las herramientas y procesos existentes
La mayoría de las herramientas de limpieza de datos tienen limitaciones en su usabilidad:
- Costos del proyecto : los costos suelen ser de cientos de miles de dólares.
- Tiempo : dominar un software de limpieza de datos a gran escala requiere mucho tiempo
- Seguridad : la validación cruzada requiere compartir información, lo que otorga a una aplicación acceso a todos los sistemas, incluidos los sistemas heredados sensibles.
Esquema de evento 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 a tablas tridimensionales 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 cuándo exactamente ocurrió el error y la gravedad del mismo. 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.
Véase también
Referencias
- ^ Wu, S. (2013), "Una revisión de los datos y análisis de garantías generales" (PDF) , Reliability Engineering and System , 114 : 1–11, doi :10.1016/j.ress.2012.12.021
- ^ "Datos 101: ¿Qué es la armonización de datos?". Datorama . 14 de abril de 2017. Archivado desde el original el 24 de octubre de 2021 . Consultado el 14 de agosto de 2019 .
- ^ Kimball, R., Ross, M., Thornthwaite, W., Mundy, J., Becker, B. El kit de herramientas del ciclo de vida del almacén de datos , Wiley Publishing, Inc., 2008. ISBN 978-0-470-14977-5
- ^ Olson, JE Calidad de datos: la dimensión de la precisión", Morgan Kaufmann , 2002. ISBN 1-55860-891-5
Lectura adicional
- McKinney, Wes (2017). "Limpieza y preparación de datos". Python para análisis de datos (2.ª ed.). O'Reilly. pp. 195–224. ISBN 978-1-4919-5766-0.
- van der Loo, Mark; de Jonge, Edwin (2018). Limpieza de datos estadísticos con aplicaciones en R. Hoboken: Wiley. ISBN 978-1-118-89715-7.
Enlaces externos
- Computerworld: Depuración de datos (10 de febrero de 2003)
- Erhard Rahm, Hong Hai Do: Limpieza de datos: problemas y enfoques actuales
- Limpieza de datos. Datamanagement.wiki.