Importancia y Dimensiones de la Calidad de Datos
Importancia y Dimensiones de la Calidad de Datos
El objetivo de la presente lectura es abordar la temática de la calidad en los datos con el fin de conocer sus
conceptos y características fundamentales, y sobre todo comprender su relevancia para nuestro estudio.
En primera instancia se introducen sus principales conceptos, las dimensiones y factores de calidad. Luego se
explican las técnicas y actividades que se llevan a cabo en el área de la calidad de datos, y en línea con este
último punto se trata la limpieza de datos, cuyo objetivo final es la mejora en la calidad de los mismos. Esta
lectura se basa fuertemente en (Batini and Scannapieca, 2006) y (Marotta, 2009).
Introducción
Previo a cualquier análisis de datos, es importante conocer acerca de la relevancia de la calidad de datos. Es
por esto que se menciona de manera breve de qué trata la calidad de datos y el motivo por el cual resulta
importante (por no decir imprescindible) su estudio. Finalmente se tratan las áreas de investigación que le
competen.
El problema de la calidad de datos ha sido objeto de estudio desde varias perspectivas y por diferentes áreas
a lo largo de los años, tal es el caso de la Estadística, Gestión o Computación. A medida que su importancia
se hace más evidente a los ojos de estas y otras áreas, se incrementan también las investigaciones e
intenciones de mejora en este sentido.
Es indudable que el almacenamiento y/o procesamiento de datos es de vital importancia en la vida de todas
las personas y organizaciones, en una gran variedad de actividades (más allá de la informática y los sistemas
de información). Existen varios ejemplos de situaciones de la vida cotidiana, donde se hace necesario
almacenar, procesar, transmitir y utilizar datos. Uno de ellos, cuando elaboramos una lista para hacer las
compras almacenamos datos correspondientes a qué productos comprar, en qué cantidad, de qué marca.
En cuanto al concepto de calidad de datos, suele suceder que intuitivamente se piensa en ciertos aspectos
de los datos. Por lo general se tiende a pensar en que los datos sean exactos.
Sin embargo, hace falta ahondar más en este concepto, para entender que hay varias “caras” o aspectos (las
llamadas dimensiones), que hacen a la calidad de los datos. Más adelante en el documento se explican
algunas dimensiones (exactitud, completitud, actualidad, entre otras) en detalle. Como ejemplo trivial, se
puede pensar en la situación de la elaboración de una lista para compras:
Entonces, se puede decir que la definición de la calidad de los datos está relacionada estrechamente con la
exactitud, completitud, consistencia y actualidad de los datos (entre otros). Es por esto que la calidad de
datos es denominada un concepto “multifacético”, ya que depende y es función de las dimensiones que la
definen.
En el ejemplo anterior de elaboración de la lista de compras, la mala calidad de los datos puede acarrear
consecuencias no deseadas (como omitir comprar un producto que se necesitaba, o una cantidad
equivocada), ninguna de ellas de gravedad. Pero no es difícil pensar en otro tipo de situaciones (listas de
productos para importación en cantidades masivas, nombres de clientes duplicados, errores en cobros,
errores médicos) donde una falta puede provocar problemas de gravedad.
La mala calidad de los datos influye de manera significante y profunda en la efectividad y eficiencia de las
organizaciones, así como en todo el negocio, llevando en algunos casos a pérdidas multimillonarias. Cada día
se hace más notoria la importancia y necesidad en distintos contextos de un nivel de calidad adecuado para
los datos.
La investigación dentro del área de calidad de datos incluye los siguientes puntos:
• Dimensiones: las mediciones sobre el nivel de calidad de los datos se aplican a las dimensiones de
interés.
• Metodologías: proveen guías de acción.
• Modelos: representan las dimensiones y otros aspectos de la calidad de datos.
• Técnicas: proveen soluciones a problemas de calidad de datos.
• Herramientas: son necesarias para que las metodologías y técnicas puedan llevarse a cabo de
manera efectiva.
Cada dimensión refleja un aspecto distinto de la calidad de los datos. Las mismas pueden estar referidas a la
extensión de los datos (su valor), o a la intensión (su esquema). De esta manera podemos distinguir entre
calidad en los datos y calidad en los esquemas. El foco del presente proyecto es en la calidad inherente a los
datos.
Se define factor de calidad como un aspecto particular de una dimensión. En este sentido, una dimensión
puede ser vista como un agrupamiento de factores de calidad que tienen el mismo propósito.
Es claro que la mala calidad en los datos puede provocar varios problemas, así como también la mala calidad
de un esquema (por ejemplo, un esquema de una base de datos relacional sin normalizar) podría provocar
problemas mayores, tales como redundancias. Ambos tipos de dimensiones, tanto las referidas a los datos
como a los esquemas, proveen una visión cualitativa de la calidad, mientras que las medidas cuantitativas se
representan mediante las métricas.
Una métrica es un instrumento que define la forma de medir un factor de calidad. Un mismo factor de
calidad puede medirse con diferentes métricas. Por otro lado, definimos método de medición como un
proceso que implementa una métrica. A su vez, una misma métrica puede ser medida por diferentes
métodos.
Existen varias dimensiones que reflejan distintos aspectos de los datos. Esto no resulta ser una sorpresa al
considerar que los datos pretenden representar todo tipo de características de la realidad, desde espaciales
y temporales, hasta sociales. A continuación, se describen algunas dimensiones de la calidad de datos.
De acuerdo al enfoque teórico que se trata más adelante, la exactitud se define como una correcta y precisa
asociación entre los estados del sistema de información y los objetos del mundo real.
La exactitud sintáctica se refiere a la cercanía entre un valor V y los elementos de un dominio D. Esto es, si v
corresponde a algún valor válido de D (sin importar si ese valor corresponde a uno del mundo real).
Para poder medir la exactitud sintáctica se puede utilizar la comparación de funciones, métrica que mide la
distancia entre un valor V y los valores en el dominio D. Otras alternativas posibles son la utilización de
diccionarios que representen fielmente el dominio, o el chequeo de los datos contras reglas sintácticas.
La exactitud semántica se refiere a la cercanía que existe entre un valor V y un valor real V’. Esta dimensión
se mide fundamentalmente con valores booleanos (indicando si es un valor correcto o no), para lo cual es
necesario conocer cuáles son los valores reales a considerar.
En este caso, interesa medir que tan bien se encuentran representados los estados del mundo real. Una de
las métricas utilizadas es la comparación de los datos con referenciales considerados válidos.
El enfoque hasta ahora ha sido en la exactitud a nivel de valores, o sea, del valor de una celda (o campo) de
una tupla. Sin embargo, es posible pensar en la exactitud a nivel de tupla, o a nivel de tablas, e incluso
considerando la base entera. Es decir, se pueden considerar distintos niveles de granularidad a la hora de
evaluar la calidad de los datos. Es por esto que se definen funciones de agregación, las cuales miden la
exactitud de conjuntos de datos. Por ejemplo, obtener la medida de una tupla a partir de la medida de
exactitud de cada una de sus celdas. El ratio es una función de agregación que consiste en identificar la
cantidad de valores correctos sobre la cantidad de valores totales. Brinda un porcentaje de valores
correctos. Otros ejemplos de funciones de agregación son los promedios y promedios ponderados.
Para aclarar los conceptos se plantea un ejemplo sencillo. Se posee una base de datos donde se almacena el
nombre y la edad de determinadas personas. Para el dato “Edad” se especifica que su valor estará en el
rango 0 a 120. Además, se sabe que existe una persona llamada Oscar Javier Morales, de 23 años de edad.
Se consideran entonces los siguientes casos:
• Si existe un registro para una persona donde el campo edad tiene el valor 234, entonces se trata de
un error sintáctico (valor fuera del rango 0 a 120).
• Si existe un registro para Oscar donde el campo edad tiene el valor 19, entonces se trata de un error
semántico, ya que es sabido que Oscar no tiene 19 años, sino que tiene 23 (en este caso no hay error
sintáctico, pues 19 es un valor válido para la edad).
• Se enfrenta un problema de precisión si existe el interés de conocer la edad exacta de Oscar, ya que
solo se conoce la cantidad de años, no los meses ni días de vida.
A pesar de que la exactitud semántica es generalmente más compleja de medir que la exactitud sintáctica
(ya que se requieren conocer los valores del mundo real), cuando ocurren errores de tipeo ambos tipos de
exactitud coinciden. Al modificar su valor, se logrará exactitud sintáctica, ya que el valor escrito
correctamente se corresponderá con alguno del dominio, y semántica, ya que existirá un valor real asociado
al valor escrito correctamente.
Una forma de chequear la exactitud semántica es comparar diferentes fuentes de datos, y encontrar a partir
de estas el valor correcto deseado. Esto también requiere de la resolución del problema de identificación de
objetos, el cual consiste en identificar si dos tuplas representan el mismo objeto en el mundo real.
En el caso en que la exactitud sea considerada en un conjunto de valores, es necesario considerar también la
duplicación. Dicha problemática ocurre cuando un objeto del mundo real se encuentra presente más de una
vez (más de una tupla representa exactamente el mismo objeto).
Sin embargo, podrían existir también tuplas que representan el mismo objeto del mundo real, pero con
diferentes claves. Este aspecto es considerado por la dimensión de Unicidad. Es importante destacar aquí
que existen diferentes situaciones que pueden llevar a la duplicación de datos:
De acuerdo al enfoque teórico, esta dimensión se define como la capacidad del sistema de información de
representar todos los estados significativos de una realidad dada.
La densidad se refiere a la cantidad de información contenida, y la faltante acerca de las entidades del
sistema de información.
• Valores nulos: el significado de los valores nulos puede ser variado. Un valor nulo puede indicar que
dicho valor no existe en el mundo real, que el valor existe en el mundo real pero no se conoce, o que
no se sabe si el valor existe o no en el mundo real. Es importante conocer la causa de su presencia.
• Suposiciones:
o CWA (Suposiciones del Mundo Cerrado, Closed World Assumption): todos los valores del
mundo real se encuentran en el modelo relacional. En un modelo CWA con valores nulos, la
completitud se define a partir de la granularidad de los elementos del modelo (completitud
del valor, de la tupla, de un atributo, o de la relación).
o OWA (Suposiciones del Mundo Abierto, Open Worl Assumption): no se puede asegurar que
todos los valores del mundo real se encuentran en el modelo relacional. En un modelo OWA
sin valores nulos, la completitud se mide como la cantidad de tuplas representadas en la
relación sobre su tamaño total (la cantidad de objetos del mundo real que constituye la
totalidad de la relación).
Por ejemplo, si se requiere tener registrados en una base de datos los datos (nombre, edad y sexo) de todas
las personas que habitan en el planeta Tierra, entonces cada persona no registrada en la base degradará la
completitud de los datos (esto sería completitud a nivel de la relación). También se verá disminuida la
completitud si no se cuenta con la edad de ciertas personas, o con su sexo (esto último se refiere a la
completitud a nivel de tupla o registro).
Como ejemplo, suponer que se planean unas vacaciones a una isla del Caribe. Además de los preparativos
correspondientes, se verifica el pronóstico del clima para asegurar que no ocurran huracanes en los días que
se estará allí. Si la información climática no fue debidamente actualizada (por ejemplo, si se consulta una
página web que no posee mantenimiento), puede que se esté recibiendo el pronóstico equivocado, y, por
ende, que se estropeen las vacaciones. Por lo tanto, el pronóstico podría ser muy completo y exacto desde el
punto de vista de la información climática que brinda, pero si es antiguo de nada serviría.
• Actualidad (Currency): trata sobre la actualización de los datos y su vigencia. Esta dimensión puede
ser medida de acuerdo a la información de “última actualización".
• Volatilidad (Volatility): se refiere a la frecuencia con que los datos cambian en el tiempo. Una
medida para esta dimensión es la cantidad de tiempo que los datos permanecen siendo válidos.
• Edad (Timeliness): especifica que tan actuales/viejos son los datos para la tarea/evento en cuestión.
Para medir esta dimensión es necesario considerar una métrica de actualidad, y verificar que los
datos se encuentren dentro del límite establecido por la tarea/evento en cuestión.
De acuerdo al enfoque teórico, la inconsistencia de los datos se hace presente cuando existe más de un
estado del sistema de información asociado al mismo objeto de la realidad. Una situación que podría
ocasionar inconsistencias en los datos es la incorporación de datos externos o con otros formatos.
Un ejemplo sencillo: si en una tabla se almacenan datos de personas, tales como fecha de nacimiento y
edad, entonces si en un registro se tiene como fecha de nacimiento el 01/01/2005 y como edad 42 años,
existe una inconsistencia (como se explica a continuación, se estaría violando una regla intra-relacional).
Restricciones de integridad
Las restricciones de integridad definen propiedades que deben ser cumplidas por todas las instancias de un
esquema relacional.
• Dependencias de clave: no existen dos instancias de una relación r con la misma clave k.
• Dependencias de inclusión (restricciones referenciales): algunas instancias de la relación r están
contenidas en instancias de otra relación s. Un ejemplo de esta dependencia son las restricciones de
clave foránea.
• Dependencias funcionales: una relación r satisface la dependencia funcional X->Y si para todo par de
tuplas t1 y t2 se cumple que: Si t1.x = t2.x ---> t1.y = t2.y
En línea con lo mencionado anteriormente, dependiendo del contexto particular en el cual nos situemos
elegiremos mejorar aquellas dimensiones que consideramos de mayor valor para la calidad de nuestros
datos, e ignorar las que no la perjudican o afectan de manera significativa.
A modo de ejemplo, se mencionan algunas de las relaciones negativas más comunes entre diferentes
dimensiones de la calidad de datos:
• Datos exactos, completos o consistentes podría implicar su desactualización debido al tiempo que es
necesario invertir en actividades de chequeo y corrección.
• La completitud (muchos datos) tiene mayores probabilidades de acarrear errores de inconsistencia
en los datos.
Sin embargo, también existen correlaciones positivas, esto es, que mejoran más de un factor. Es importante
identificar en primera instancia cuáles son los factores o dimensiones que se requiere mejorar de acuerdo al
contexto de aplicación, para luego evaluar si es posible realizarlo de forma conjunta.
A modo de ejemplo, mencionamos algunas de las correlaciones positivas más comunes entre diferentes
factores de la calidad de datos:
Enfoque Teórico
• Representación incompleta: cuando un objeto del mundo real no se asocia con ningún estado del
sistema de información.
• Representación ambigua: cuando varios objetos del mundo real se asocian con el mismo estado del
sistema de información.
• Representación sin significado: cuando existen estados del sistema de información que no se
encuentran asociados con ningún objeto del mundo real.
En lo que respecta a las deficiencias operacionales destacamos los errores (garbling), que se refieren a una
incorrecta asociación entre los objetos de la realidad y los estados del sistema de información.
Enfoque Empírico
• Calidad de Datos intrínseca: calidad que los datos deben tener por sí sola (ejemplo: exactitud).
• Calidad de Datos contextual: toma en cuenta el contexto en que los datos son utilizados (ejemplo:
completitud).
• Calidad de Datos representacional: referente a la calidad de la representación de los datos (ejemplo:
interpretación).
• Calidad de Datos para la accesibilidad de los mismos. Se refiere a si se proporciona una interfaz de
acceso a datos y si los datos pueden hacerse públicos fácilmente o fáciles de adquirir.
Enfoque intuitivo
Se destacan tres categorías: esquema conceptual, valor de los datos y formato de los datos.
Las actividades relativas a la calidad de datos se refieren a cualquier proceso (o transformación) que se
aplica a los datos con el objetivo de mejorar su calidad. Para llevar a cabo dichas actividades, se hace uso de
distintas técnicas.
4. Limpieza de datos
La limpieza de datos es un arma fundamental para lograr mejorar la calidad de los datos. Es por esto que
resulta imprescindible abordar esta temática, para conocer y comprender los problemas que debe enfrentar,
así como las fases que forman parte de cualquier proceso de limpieza. Por otro lado, la limpieza de datos
abre caminos para la detección, corrección y prevención de errores en los datos. Estos puntos se analizan al
final de esta sección.
4.1 Introducción
La limpieza de datos (data cleaning o data cleansing) intenta resolver la problemática de la detección y
corrección de errores e inconsistencias que ocurren en los datos, con el fin de mejorar su calidad. Estas
actividades son de mayor importancia en las bases de datos en las cuáles la información se ingresó de alguna
manera que deja lugar a la aparición de errores. Por ejemplo, cuando la información la ingresan personas
desde el teclado, cuando se obtiene de fuentes no muy confiables o cuando se integran diferentes fuentes
de información. En este último caso se vuelve necesario también consolidar los datos cuyo significado es el
mismo (pero varían en su representación), así como descartar aquellos datos que se encuentren duplicados.
Un ejemplo de ello son Data Warehouses y sistemas de información basados en web.
Existen variadas herramientas que dan soporte a la limpieza de datos. Sin embargo, es importante tener en
mente que esta tarea implica, además de la utilización de herramientas, un arduo trabajo manual o de
programación de bajo nivel para su resolución.
Los problemas que enfrenta la limpieza de datos se pueden clasificar como sigue:
La calidad de los datos depende en gran medida de las restricciones de integridad y el esquema en el
cual se encuentran inmersos. Por ejemplo, las bases de datos tienen menor probabilidad de poseer
errores e inconsistencias en los datos, a diferencia de los archivos de texto plano en los cuales no existe
ningún tipo de reglas ni restricciones con respecto a los datos ni sus valores.
Se distinguen además problemas a nivel del esquema o a nivel de instancia. Estas últimas son las que
conciernen a la calidad de los datos, y son ocasionados por ejemplo por errores de tipeo.
Cuando se integran varias fuentes de información, los problemas existentes para una sola fuente se
incrementan drásticamente. En este caso, se distinguen dos tipos de problemas a nivel del esquema:
• Conflictos de nombres: cuando se utiliza el mismo nombre para representar distintos objetos, o
cuando distintos nombres representan el mismo objeto.
• Conflictos estructurales: cuando el mismo objeto se representa de distinta manera en fuentes de
información distintas.
• Diferentes representaciones para el mismo valor (por ejemplo, el sexo con valores M/F o 1/2).
• Diferentes interpretaciones del mismo valor (por ejemplo, una medida expresada en minutos o
segundos).
• Diferentes niveles de agregación.
• Diferentes puntos en el tiempo.
Sin duda, una de las mayores problemáticas de la limpieza de datos es la identificación de datos que
representan el mismo objeto del mundo real. Sin embargo, al momento de realizar esta tarea es necesario
considerar que a pesar de que existe información redundante, en muchas ocasiones los datos que
representan el mismo objeto podrían complementarse (por ejemplo, obtener la dirección y el teléfono a
partir del registro de una persona, y su edad y sexo a partir de otro registro de la misma persona).
• Análisis de datos: esta fase consiste en determinar los errores e inconsistencias que deberán
eliminarse. Para ello se realiza una inspección manual y se utilizan programas de análisis de datos.
Existen dos enfoques:
o Data profiling: consiste en analizar los datos de una base de datos y a partir de estos obtener
propiedades que se cumplen en la misma. Se centra en el análisis de los atributos: su
contenido, estructura, dependencias en una relación, solapamiento con atributos de otras
relaciones, valores faltantes y duplicados.
Ejemplos:
▪ Detectar y corregir inconsistencias: básicamente se trata de detectar registros que no cumplan con
determinadas reglas, y luego modificar los datos, por ejemplo, a partir de la obtención de nueva
información, para que cumplan con las reglas. Esta tarea incluye asegurar que la información se
encuentra consistente (sin contradicciones) y libre de redundancias.
Una técnica para la localización de errores es la llamada Data editing, la cual consiste en la definición
de reglas (edits) que deben ser respetadas por cierto conjunto de datos, para lograr de esta manera
la detección de inconsistencias. Los edits representan condiciones de error, por lo cual deben ser
consistentes y no redundantes. Los datos de un registro deben ser ajustados de manera tal que
cumplan con las reglas, pero minimizando las modificaciones a los datos.
A modo de ejemplo, se tiene una tabla de personas donde se almacenan (entro otros datos) si la
persona tiene empleo y la edad de la persona. Luego, es posible definir una regla que especifique
que, si la edad de la persona es menor a 16, entonces el campo empleo debe ser false. A partir de
esta regla, se pueden identificar los registros que no la cumplan, y corregirlos.
Aquí se distinguen dos tipos de fuentes de incompletitud: datos truncados, que corresponden a aquellos
datos que son eliminados por no ser significantes para la realidad en cuestión, por ejemplo, y datos
censurados, que corresponden a aquellos datos que se sabe que no fueron obtenidos, ya sea porque no
se pudo o porque se omitió.
▪ Detectar y corregir anomalías: este es el caso de datos cuyo valor difiere en gran medida con
respecto a los demás datos. La situación puede ser cualquiera de las siguientes:
o El valor fue mal medido, o mal ingresado en la base.
o El valor corresponde a una “muestra” distinta a la de todos los demás.
o El valor es correcto y simplemente corresponde a algún suceso inusual de la realidad.
Estos datos se pueden identificar a partir de dos medidas distintas: midiendo la distancia de los valores
registrados a los valores que se espera que haya (desviación interna), o midiendo la variación de los datos en
el tiempo con respecto a otros datos (desviación relativa). Existen varias técnicas para ello. Una de ellas,
calcula el valor promedio y la desviación estándar de cierto conjunto de datos, para identificar aquellos
valores que se desvíen “demasiado” del valor promedio.
Se podría definir por ejemplo un valor límite a partir del cual el dato es sospechoso de estar incorrectamente
registrado. Otras técnicas utilizan también el factor tiempo para identificar datos anómalos, partiendo de la
base que datos medidos o registrados en cierto lapso de tiempo pueden estar altamente relacionados, y
también teniendo en cuenta posibles ciclos donde aparezcan “picos” en los valores, por ejemplo, como
puede ser el uso de celulares en Navidad o Año Nuevo.
Lidiar con estas anomalías implica un doble esfuerzo: primero se deben identificar, y luego decidir si
corresponden a datos correctos de sucesos de la realidad poco comunes, o si corresponden a datos
incorrectos y deben ser corregidos.
La localización y corrección de errores se lleva a cabo para datos cuya creación y actualización es poco
frecuente. Sin embargo, la prevención de errores a través del manejo de procesos es utilizada en mayor
medida cuando los datos son actualizados y creados de manera frecuente. Se incluyen controles a los
procesos en los cuales los datos son creados y/o actualizados para evitar que sucedan inconsistencias.
Los edits también pueden ser utilizados para la prevención de errores y la mejora de procesos, evitando la
ocurrencia de ciertas inconsistencias en la base.
Otra forma de prevención de errores consiste en identificar cuáles con las actividades manuales en las cuales
suelen ocurrir la mayor cantidad de errores, y buscar su automatización.
En resumen, la mala calidad de los datos influye de manera significativa y profunda en la efectividad y
eficiencia de las organizaciones, llevando en algunos casos a pérdidas multimillonarias o a la mala toma de
decisiones. Cada día se hace más notoria la importancia y necesidad en distintos contextos de un nivel de
calidad adecuado para los datos.
1
1 Alberto Collado – PowerData.
En los ejercicios prácticos realizados con Pentaho PDI aplicamos estas técnicas de calidad de datos, en
particular, estandarización, integración, limpieza de datos, detección y corrección de errores.