7 elements to consider when cleaning data

limpiar-datos-codigo

Introducción

Limpiar datos es uno de las fases más largas e importantes que un científico de datos o analista de datos realiza en su día a día. Algunos afirman que esta fase junto al preprocesamiento de los datos puede ser entre el 60%-80% del tiempo de un proyecto de analítica. Y es tan importante porque sabemos que si introducimos a un modelo estadístico o de machine learning datos basura, obtenemos basura, y lo mismo aplica si aplicamos analítica descriptiva. Por lo tanto, conocer qué debemos buscar al momento de limpiar los datos es clave para hacer una buena tarea, en este post te contamos 7 elementos a tener en cuenta al limpiar tus datos.

Elemento No. 1 Revisar errores de digitación

Este tipo de error sucede normalmente cuando trabajamos con raw data que se ha capturado mediante encuestas o información que se ha transcrito. Veamos unos ejemplos:

Convenciones de denominaciónNYC vs New York vs Nueva York
Representaciones diferentesSi, si, Sí, sí
Espacios vacíos“Mujer” vs “Mujer ” vs “ Mujer” vs “ Mujer ”
Tabla 1. Ejemplos de problemas de digitación

Este error generalmente lo podemos visualizar cuando tabulamos cada uno de los campos. Frecuentemente se resuelve utilizando expresiones regulares y reemplazando valores por los correctos donde aplique.

Elemento No. 2 Identificar si hay valores perdidos

Este problema en la limpieza de datos es uno de los más frecuentes. No hay una solución estándar. Lo recomendable es identificar los valores perdidos (ejemplo de estos pueden ser 99, “”, NA, depende de la organización como los codifica y es por eso que es importante tener el diccionario de datos disponible).

Posterior a eso, busca entender por qué hay valores perdidos. Hay decenas de motivos para que esto suceda, uno de ellos puede ser que es resultado de un patrón de salto en una encuesta. Por ejemplo, la persona respondió que no tiene hijos y por lo tanto no respondió cuántos hijos tiene. En este ejemplo, lo correcto sería poner cero en este caso para dicha persona en vez de un valor perdido.

Finalmente, decida el tratamiento que va a recibir los valores perdidos de cada campo. En algunos casos, lo mejor será reconocer que existe y no hacer nada al respecto, en otros puede ser no tener en cuenta dichas observaciones o imputar los valores perdidos.

Elemento No. 3 Encontrar si hay observaciones duplicadas

Este problema es importante identificarlo porque de esta forma evitamos la doble contabilización. Las observaciones duplicadas pueden ser a nivel de la fila, es decir una fila es exactamente igual a otra y en este caso lo mejor es eliminarla. Normalmente todas las herramientas de análisis de datos tienen una función específica para detectar este tipo de duplicidad.

En otros casos puede ser que sea un conjunto de campos idénticos. Por ejemplo, en una base de datos de facturas médicas es frecuente encontrar el número de factura e identificación del paciente duplicado varias veces, una vez por cada ítem (medicamento, procedimiento, ayuda diagnóstica) que ha recibido, lo que no es común es que le hayan hecho dos apendicectomías el mismo día porque solo tenemos un apéndice. Por lo tanto en el primer ejemplo, no eliminamos observaciones pero en el segundo debemos revisar con mayor detalle qué es lo que sucedió.  

Elemento No. 4 Revisar si el formato coincide el tipo de variables

Este es un problema de limpieza fácil de identificar porque cuando intentemos utilizar estadísticas descriptivas se presentarán errores si no tenemos el formato correcto. Es importante corregir este problema para poder implementar modelos e interpretar correctamente los resultados. Para poder identificar este problema es importante saber la diferencia entre una variable cualitativa y cuantitativa, los niveles de medición de estas, y los formatos que utiliza la herramienta que estás utilizando para almacenar los datos.

Elemento No. 5 Encontrar valores inconsistentes

Al igual que los valores perdidos, no hay una receta exacta para encontrar valores inconsistentes, depende del conocimiento y el razonamiento lógico del analista. La mejor forma para encontrar los valores inconsistentes es haciéndose preguntas sobre las relaciones entre los campos y explorando la base de datos.

Por ejemplo, suponga que usted tiene el campo edad y el campo fecha de nacimiento, una forma de ver si hay valores inconsistentes es calcular la edad a partir de la fecha de nacimiento y comparar con la edad reportada.

EdadFecha de nacimientoEdad calculada
271990/01/1727
211995/05/1421
6011/11/195660
477/04/194077
3712/08/198037
Tabla 2. Ejemplo de identificación de valores inconsistentes

Frecuentemente se resuelve reemplazando el valor inconsistente con un valor perdido o a partir de información de otros campos. Por ejemplo, e el caso de la tabla, si otra de las columnas indicara si la persona está recibiendo pensión y este individuo respondió que sí, podría intuirse que la edad correcta es 77.

Elemento No. 6 Revisar si hay valores inválidos

Los valores inválidos o fuera del rango los encontramos utilizando estadísticas descriptivas como las medidas de tendencia central, mínimo y el máximo en el caso de variables cuantitativas, y para las variables cualitativas las hallamos tabulando los datos. Los identificamos fácilmente revisando los rangos expuestos en el diccionario de datos, y en caso de no existir debemos utilizar nuestro razonamiento lógico. Por ejemplo, si obtenemos las estadísticas descriptivas de la edad y encontramos una edad negativa, sabemos que hay un valor inválido. Lo más probable es que debamos reemplazarlos con un valor perdido.

Elemento No. 7 Validar si hay valores sin referencia en el diccionario de variables

El diccionario de variables es una guía para entender y explorar los datos. No todas las organizaciones lo tienen y es recomendable empezar a trabajar en este aspecto cuando antes. Lo anterior puesto que muchas veces los campos cualitativos se codifican con números para facilitar su almacenamiento. Luego solo cuando tenemos el diccionario de variable es que podemos identificar si habido un error.

Por ejemplo, si el diccionario de variables indica que el estado civil solo puede tomar valores del 1 al 5, y encontramos un 8 entonces hemos encontrado un valor sin referencia. Lo mejor que podemos hacer es revisar con quienes hayan trabajado previamente con la base de datos, ellos nos pueden indicar si ha habido un cambio de recodificación y este fue un elemento que se quedó con la codificación anterior. Tal vez no encontremos una respuesta y en ese caso esto se convertirá en un valor perdido.

Conclusiones sobre limpiar datos

La limpieza de datos es un proceso que es una ciencia y un arte, especialmente cuando tienes que encontrar valores inconsistentes, definir qué hacer con los valores perdidos o hallar observaciones duplicadas. En muchos casos no hay una respuesta única a qué hacer cuando se presentan estos problemas, con la experiencia y un buen conocimiento del negocio verás que cada vez es más fácil hacer una buena limpieza.