Tus datos más limpios, casi sin frotar

Tuesday, 13 June 2017

Tus datos más limpios, casi sin frotar



Escrito por Paloma Recuero, Licenciada en CC Físicas, máster en eLearning y Tecnología Educativa. Actualmente colaboradora de LUCA.

Hasta en la profesión más sexy del siglo XXI se tienen que realizar tareas "poco gratas", como limpiar los datos. Sin embargo, la recogida, limpieza y transformación de los datos puede llegar a consumir hasta un 80% del tiempo del Data Scientist. Para obtener Insights "brillantes", debemos alimentar los algoritmos con datos que cumplan unos mínimos de calidad. Y no siempre es fácil definir esos “mínimos”. En este post, vamos a analizar las posibles fuentes de error de los datos, cómo evaluar su calidad, identificar los tipos de errores más habituales y en qué consiste el proceso de Data Cleansing”. En el siguiente post, nos pondremos manos a la obra con un ejemplo

I. Data Cleansing, una tarea poco grata, pero necesaria


Las empresas llevan años invirtiendo en almacenar datos. Es una tarea que absorbe muchos recursos (inversión, tiempo, humanos), pero está plenamente justificada, ya que  les permite tomar las decisiones más adecuadas.

¿Y por qué son  más adecuadas estas decisiones?

Porque en una empresa “Data Driven”, éstas no se basan únicamente en la experiencia o intuición de sus profesionales, sino también en los valiosos Insights extraídos de sus datos de negocio.

Figura 1: DataCleansing.
Figura 1: DataCleansing.


El análisis predictivo utiliza algoritmos de Machine Learning que "aprenden" de estos datos, tanto los históricos como los que se van generando al momento. Pero los algoritmos no pueden discriminar si los datos con los que los alimentamos son buenos o malos. Y si estos datos no son de calidad, no están bien seleccionados, limpios y transformados, las predicciones o Insights que obtengamos tampoco lo serán, por muy bueno que sea el algoritmo que utilicemos.

Definir exactamente qué es un dato de calidad no es tarea fácil. Pero vamos a abordarla intentando comprender de dónde proceden los errores, cómo clasificarlos y qué estrategias debemos plantearnos para reducirlos y/o eliminarlos.


¿Qué factores afectan a la calidad de los datos?¿De dónde vienen los errores?


Para entenderlo mejor, podemos analizarlos desde la perspectiva de las “5 Vs del Big Data": Volumen, Velocidad, Variedad, Veracidad y Valor.

Volumen:
Los procesos de control de calidad y monitorización que se realizaban en un entorno tradicional de Data Warehouse ya no son viables. Hay que definir nuevas métricas de calidad, dejar de trabajar con valores absolutos, para pasar a hacerlo con aproximaciones e intervalos de confianza

Velocidad:
No es solo la gran velocidad a la que se generan los datos, sino también los nuevos escenarios que necesitan información en tiempo real o de forma casi inmediata. Si los procesos de depuración de los datos no son los adecuados, para cuando se ha verificado su calidad, estos datos han perdido su valor para el negocio.
En ocasiones, en vez de trabajar con el dataset completo, se recurre a trabajar con una parte de éste (sample), e incrementar así la velocidad. No obstante, este incremento de velocidad se consigue a costa de sesgar la información.

Variedad:
La información procede de distintas fuentes y su estructura puede ser mucha, poca o directamente ninguna. Por ello, es imposible poder aplicar una misma métrica de calidad a todos ellos. Por ejemplo, podemos  tener datos procedentes de:

    • Bases de datos SQL (o noSQL), propias o de terceros
    • Datos del CRM de la empresa
    • Hojas de cálculo
    • Redes sociales
    • Programas de facturación empresarial
    • Informes de transacciones bancarias
    • Datos en la cabeza de alguien

Ésta gran variedad de se traduce frecuentemente en grandes diferencias semánticas (campos con nombre idénticos pero significados muy diferentes, según el departamento), o inconsistencias sintácticas (por ejemplo sellos temporales inútiles por no ir acompañados de información sobre la zona horaria de captura etc). Las primeras, se pueden reducir considerablemente si disponemos de los metadatos adecuados de las distintas fuentes. Para las segundas, habrá que esperar a la fase de Data Engineering, donde se seleccionan los campos útiles  para las predicciones y  se descartan los que aportan ruido. Por ejemplo, los campos con valores aleatorios, o campos dependientes etc.

Veracidad:
La veracidad de los datos tiene que ver con los posibles sesgos en la información, el ruido, y los datos anormales. Además de una posible falta de precision, los datos pueden ser poco consistentes o poco fiables (según su origen, proceso de captura de la información, procesado, infraestructura de seguridad etc.).
La causa de este problema radica en que, normalmente, los proveedores de datos y los usuarios de éstos pertenecen a distintas organizaciones, con distintos objetivos y diferentes procesos operacionales. Muchas veces los proveedores de datos no tienen la menor idea de para qué los usan sus clientes. Esta desconexión entre las fuentes de la información y los usuarios finales de ésta es la causa principal de los problemas de calidad de los datos desde la perspectiva de la Veracidad

Valor:
El “Valor” del dato es mucho más tangible. Las empresas usan los datos con distintos fines, y el hecho de que se consigan o no estos objetivos nos permite “medir” su calidad, y definir estrategias para mejorarla.
Según una vieja definición, un dato es de calidad si está “listo para usar” o“fitness of use” es decir, el dato es bueno si me sirve para lo que yo quiero hacer con él. Es, por tanto, un concepto relativo. La “V” de Valor trae a colación la perspectiva ”coste-beneficio” de la calidad de los datos. Valorar qué problemas de calidad de los datos merece la pena resolver, cuáles son prioritarios etc.

¿Cómo sabemos si nuestros datos son “buenos”?


Aunque los expertos no se suelen poner de acuerdo en el número y la definición de parámetros para medir la calidad de los datos, hay un gran consenso sobre los siguientes:
  • ¿Están completos los datos?¿Hay campos vacíos o con valores nulos tipo “N/C”? 
  • ¿Son consistentes? ¿Hay conflictos entre los valores de distintos campos, por ejemplo, entre “Género” y “Título”? ¿Entre los valores de un campo en distintos conjuntos de datos? La consistencia se puede definir a distintos niveles. 
  • ¿Son únicos? ¿Hay duplicidades en el conjunto de datos?. En ocasiones, a las empresas encuentran les resulta más sencillo manejar un cierto umbral de redundancia que garantizar la unicidad de los datos. 
  • ¿Son conformes a los estándares o convenciones? ¿Se garantiza la privacidad de los datos según las legislación vigente? ¿Se monitorizan los accesos? 
  • ¿Son precisos? ¿Cuántos decimales son precisos para los valores numéricos? ¿Qué redondeo o truncamiento se usa? 
  • ¿Son razonables? ¿Tienen sentido los valores que aparecen reflejados? ¿Representan de forma correcta la realidad? Este tipo de comprobación suele requerir la presencia de un experto (Subject Matter Expert).

Seguramente hemos detectado necesidades de mejora en nuestro conjunto de datos y tendremos que ponernos manos a la obra con la labor de depuración. (data cleansing, data cleaning o data scrubbing). La Wikipedia nos ofrece una excelente definición para este proceso:


Figura 3: Definición del proceso de limpieza de datos o Data Cleaning.
Figura 3: Definición del proceso de limpieza de datos o Data Cleaning.


Tipos de problemas con los datos


Ya tenemos una idea de dónde se pueden generar los problemas, cómo de "buenos" son nuestros datos. Ahora, tenemos que acometer el proceso de Data Cleaning.

¿Cómo empezamos?

Jim Barker, conocido por algunos como “Dr Data”, propone una clasificación de los problemas que afectan a la calidad de los datos muy práctica, ya que diferencia entre los que se pueden detectar de forma automática , Tipo 1, y los “enigmáticosTipo 2, que requieren contextualización, y por tanto, intervención humana. Veamos una comparativa entre ambos tipos de problemas.

Figura 4: Clasificación problemas de calidad de los datos (Elaboración Propia).
Figura 4: Clasificación problemas de calidad de los datos (Elaboración Propia).

Ya sabemos que los problemas de Tipo 1 se pueden resolver de forma rápida, sencilla y económica (veremos un ejemplo en el siguiente post). En el caso de los problemas de Tipo 2, lo fundamental es identificarlos e implementar procesos para evitar que se reproduzcan. Para ello, será necesario contar con los profesionales adecuados.

Detectar y eliminar ambos tipos de problemas no es imposible. Otra cosa es que, por cuestiones presupuestarias, nos convenga o no hacerlo. Normalmente, resulta mucho más razonable plantearse los siguiente objetivos:
  • No buscamos eliminar TODOS los errores posibles, porque sería demasiado caso. En su lugar, nos aseguraremos tener suficientes datos de calidad para extraer los Insights que necesita nuestro negocio.
  • El presupuesto dedicado a la calidad de los datos es finito, hay que ajustarse a él.
  • Hay que priorizar los tipos de error que vamos a corregir. Está muy bien corregir algunos teléfonos, pero es más importante corregir, por ejemplo, errores de codificación de un carácter.  Por ejemplo, es posible que la letra “ñ” o los acentos estén codificados en diferentes formatos en función de dónde hayamos recogido el dato
  • Hay que hacer verificaciones aleatorias de los datos para comprobar que vamos en la buena dirección
  • Nos será muy útil contar con un software de calidad de datos adecuado
Aunque la perfección es imposible, siempre hay oportunidad de mejorar. Y mejorar la calidad de nuestros datos es algo que claramente merece la pena.

En el siguiente post, veremos un ejemplo práctico de cómo utilizar Excel para depurar y preparar los datos que queremos analizar. Excel es una excelente herramienta para empezar a trabajar en Data Cleaning sin tener conocimientos de programación. Es fácil de usar, compartir, y hay mucha información disponible online y foros donde buscar ayuda cuando te “atascas” con algún problema. Realizaremos tareas habituales de limpieza de datos tales como:
  • Descartar campos
  • Igualar formatos
  • Corregir errores ortográficos
  • Dar formato a fechas
  • Eliminar columnas duplicadas
  • Borrar registros no útiles
Sin embargo, también existe una gran variedad de herramientas especializadas en Data Cleaning como OpenRefine, Trifacta Wrangler y DataCleaner, que son sencillas, rápidas y muy eficientes.

No comments:

Post a Comment