Corregir registros informáticos inexactos
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 reemplazarlas, modificarlas, 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 secuencias de comandos 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 almacenamiento, o por diferentes definiciones del diccionario de datos de entidades similares en diferentes almacenes. La limpieza de datos difiere 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 eliminar errores tipográficos o validar y corregir valores con respecto a 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 una coincidencia de cadenas aproximada o difusa (como corregir registros que coinciden parcialmente con registros conocidos existentes). Algunas soluciones de limpieza de datos limpiarán los datos cotejándolos 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 los 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 sencillo es la ampliación de abreviaturas ("st, rd, etc." a "calle, camino, etcétera").
Motivación
Los datos administrativamente incorrectos e inconsistentes pueden llevar a conclusiones falsas y desviar inversiones tanto a escala pública como privada. Por ejemplo, es posible que el gobierno desee 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 el correo o incluso perder clientes.
Calidad de datos
Los datos de alta calidad deben pasar una serie de criterios de calidad. Estos incluyen:
- Validez : el grado en que las medidas se ajustan a reglas o restricciones comerciales definidas (consulte también Validez (estadísticas) ). Cuando se utiliza la tecnología moderna de bases de datos para diseñar sistemas de captura de datos, es bastante fácil garantizar la validez: 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 celda). Las restricciones de datos se clasifican en las siguientes categorías:
- Restricciones de tipo de datos : los valores en una columna particular deben ser de un tipo de datos particular, por ejemplo, booleanos, numéricos (enteros o reales), fecha.
- Restricciones de rango: normalmente, los números o las fechas deben estar dentro de un rango determinado. Es decir, tienen valores mínimos y/o máximos permisibles.
- Restricciones obligatorias: determinadas 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 membresía del 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 proviene 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 entre campos : deben cumplirse ciertas condiciones que utilizan múltiples 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 hospitalaria, la fecha de alta del hospital de un paciente 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 verdadero; consulte también Exactitud y precisión . En el caso general, es muy difícil lograr precisión mediante la limpieza de datos porque requiere acceder a una fuente externa de datos que contiene el valor real: estos datos "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 de los clientes, mediante el uso de bases de datos externas que relacionan los códigos postales con ubicaciones geográficas (ciudad y estado) y también ayudan a verificar que las direcciones dentro de estos códigos postales realmente existen.
- Integridad : Grado en que se conocen todas las medidas requeridas. La incompletitud es casi imposible de solucionar con una 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 información incompleta volviendo a la fuente original de datos, es decir, volviendo a entrevistar al sujeto, pero ni siquiera esto garantiza el éxito debido a problemas de recuerdo; por ejemplo, en 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 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 que un conjunto de medidas son equivalentes en todos los sistemas (ver también Coherencia ). La inconsistencia ocurre cuando dos elementos de datos en el conjunto de datos se contradicen entre sí: por ejemplo, un cliente se registra 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 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 tratar de encontrar la verdad probando ambos elementos de datos (por ejemplo, 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 (consulte también Unidad de medida ). En conjuntos de datos agrupados de diferentes lugares, el peso se puede registrar en libras o kilos y se debe convertir a una sola medida mediante una transformación aritmética.
El término integridad abarca precisión, coherencia y algunos aspectos de validación (ver 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 utilizado para referirse a la aplicación de restricciones de clave externa mencionadas anteriormente).
Proceso
- Auditoría de datos : Los datos se auditan mediante 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 comercial 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 violaciones de estas restricciones. A continuación se hace referencia a este proceso en las viñetas "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 les permitirán realizar dichas comprobaciones, restricción por restricción, de forma interactiva con poca o ninguna programación 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 en 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 detenidamente 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 una vez 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.
- Postprocesamiento 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 fuente de buena calidad tienen que ver con la “cultura de calidad de los datos” y deben iniciarse desde la cima de la organización. No se trata sólo de implementar fuertes controles de validación en las pantallas de entrada, porque casi no importa cuán fuertes sean estos controles, a menudo los usuarios aún 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 el funcionamiento de los procesos
- Promover la conciencia del equipo de principio a fin
- 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 y lenguajes .
- Transformación de datos : la transformación de datos permite mapear los datos desde su formato dado al formato esperado por la aplicación adecuada. 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 clasifican según 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 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 pueden reemplazarse por uno o más valores plausibles, que generalmente se obtienen mediante algoritmos extensos de aumento de datos .
Sistema
El trabajo esencial de este sistema es encontrar un equilibrio adecuado entre corregir 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 exhaustivo del perfil 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 los 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 columna. Probar 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.
- Pantallas de estructura. Se utilizan para probar la integridad de diferentes relaciones entre columnas (normalmente claves externas/primarias) en la misma tabla o en tablas diferentes. También se utilizan para comprobar que un grupo de columnas es válido según alguna definición estructural a la que debe adherirse.
- Pantallas de reglas de negocio. La más compleja de las tres pruebas. Prueban 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 determinado 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íticas a las herramientas y procesos existentes.
La mayoría de las herramientas de limpieza de datos tienen limitaciones de usabilidad:
- Costos del proyecto : costos típicamente de cientos de miles de dólares.
- Tiempo : dominar un software de limpieza de datos a gran escala lleva mucho tiempo
- Seguridad : la validación cruzada requiere compartir información, dando a una aplicación acceso a todos los sistemas, incluidos los sistemas heredados confidenciales.
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 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 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.
Ver también
Referencias
- ^ Wu, S. (2013), "Una revisión sobre análisis y datos de garantía aproximados" (PDF) , Sistema e ingeniería de confiabilidad , 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
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, Marcos; 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. Gestión de datos.wiki.