¿Te ha pasado alguna vez que al 75% de un proyecto de Data Science has tenido que volver atrás porque has descubierto que había datos que estaban mal?
Pues a mi no 🙂
No, en serio, no recuerdo que me haya pasado nunca, por lo menos de forma grave.
Y el motivo es porque siempre aplico una robusta batería de controles de calidad de datos al inicio de los proyectos.
Pero al mismo tiempo, también es muy importante seleccionar bien los análisis de calidad a realizar, si no te puedes comer todo el tiempo del proyecto en esta fase.
Por eso he preparado este video en el que te cuento la batería exacta de controles de calidad de datos que yo aplico en mis proyectos.
Y que me permiten identificar la gran mayoría de errores de calidad de datos pero invirtiendo en ello el tiempo mínimo e imprescindible.
Si eres de los que prefieren leer debajo del video explico en texto más o menos el mismo contenido que en el video.
Calidad de datos es la fase número 2 de la metodología de DS4B para la realización de proyectos de Data Science en entornos profesionales.
Si no conoces esa metodología te animo a que la descubras en este post: Cómo hacer un proyecto de Data Science
El objetivo de esta fase es detectar preventivamente los problemas de calidad de datos existentes en los mismos para poder actuar antes de comenzar a trasnformar y crear y variables y por supuesto antes de modelizar.
Y creéme, SIEMPRE hay problemas de calidad de datos.
Así que mejor descubrirlos ahora y que no te pase, como decía en la introducción, que una vez avanzado el proyecto descubras que los datos están mal y tengas que volver prácticamente a empezar, lo cual sería un desastre.
Ahora te voy a describir exactamente los 4 controles de calidad de datos que yo utilizo.
Pero antes te recuerdo que si estás empezando en tu camino de Data Scientist y quieres un aprendizaje guiado, práctico y orientado a la realidad de esta profesión puedes echar un ojo al programa de Machine Learning Predictivo en el que te enseño a resolver en R y usando las técnicas más modernas de data science un caso de negocio real, por supuesto con su correspondiente calidad de datos en todo detalle.
Vamos allá, estos son los 4 tipos de análisis de calidad de datos que yo uso:
- Nulos y atípicos: los nulos son datos que faltan, se suele decir que si una variable tiene muchos nulos lo mejor que puedes hacer es descartarla. Yo no estoy de acuerdo con eso, porque en entornos reales esa variable puede tener muchos nulos porque así es el negocio y eso no representa un problema de calidad de datos, si no de falta de conocimiento del negocio. Los atípicos por su parte son datos infrecuentes o raros, pero viables. Por ejemplo un cliente con 100 años no es lo normal, pero podría existir. Por eso en esta fase hay que separar muy bien lo que son nulos y atípicos de lo que son problema de calidad de datos
- Estadísticos básicos: cosas como mínimos, máximos, rango, media, mediana, etc nos dan muchísima información y de forma muy rápida. Sólo hay que aplicar un poco de sentido común y de conocimiento de negocio. Por ejemplo, ¿clientes con datos negativos en la edad? pues es un problema de calidad de datos seguro. O ¿clientes con datos negativos en la variable número de productos comprados? otro problema de calidad…… pues no necesariamente, aquí te he pillado, eh? por ejemplo en entornos de retail eso pueden ser devoluciones. Por eso es muy importante el conocimiento de negocio
- Análisis longitudinales: esto significa analizar la misma variable a lo largo del tiempo. Por ejemplo, si cogemos el pendiente en préstamos en banca (lo que le debes todavía al banco de tu préstamo hipotecario o del del coche) y lo analizamos en un mes puntual, pongamos Marzo, y vemos que el cliente debe 3000€ pues no nos salta ninguna alarma. Pero si analizamos los meses anteriores y posteriore y vemos que por ej en Enero debiá 10000, en Febrero 9000 y en Abril 7000 podemos concluir claramente que en Marzo ha habido un problema de calidad de datos, cosa que si no hacemos el análisis longitudinal no vamos a detectar
- Coherencia entre variables: este consiste en seleccionar desde el conocimiento de negocio aquellas variables que deberían ser coherentes entre sí y cruzarlas para ver los resultados. Por ejemplo la variable importe total de compras del cliente debería ser coherente con la variable número de productos comprados, en el sentido de que si por ejemplo en la de importe figuran 200€ comprados por el cliente no podría pasar que en la de productos viniera que el cliente ha comprado 0 productos
Lo que yo hago es tener esos 4 controles creados como código de R, y cuando un nuevo proyecto sólo tengo que adaptarlos.
Por supuesto se podrían hacer muchos más análisis, y de hecho esto es como la primera pasada, luego sobre los problemas de calidad de datos que te salgan ya tienes que hacer análisis más ad hoc.
Pero aplicando esos 4 controles estarás detectando el 95% de los problemas que se te puedan presentar, y todo de manera muy eficiente, muy práctica, muy Pareto (20/80) y muy metodológica como nos gusta en DS4B.
El problema es que la mayoría de las formaciones en Data Science se centran en la parte que “mola” como los modelos y algoritmos, trabajando sobre datos de juguete como los del Titanic y demás. Pero eso no te prepara para lo que es la realidad, y luego es empezar un proyecto y llega la primera bofetada de realidad nada más que ves los datos sobre los que tienes que trabajar 🙂
En el programa de Machine Learning Predictivo de DS4B le dedicamos una semana entera a implementar esos controles sobre unos datos como los que te vas a encontrar en entornos reales (sucios y problemáticos) y ver cómo resolver todas esas casuísticas en R. Puedes ver el programa aquí
Happy Data Science!
Isaac