Analizar y hacer más fiables los datos
Introducción
El objetivo de este capítulo es repasar las herramientas y recursos que se pueden utilizar para comprender y analizar mejor los datos. Los datos pueden tener distintas facetas, entre ellas la de estar estrechamente ligados a un contexto, de modo que se pueden interpretar de una manera en un contexto determinado y de otra completamente distinta (incluso opuesta), en otro. Además, los datos tienen vida propia y se pueden variar o alterar con el tiempo o simplemente sufrir cambios durante su transporte o en su soporte de almacenamiento.
Por eso, antes de utilizar cualquier dato, es importante analizarlo para comprobar que se corresponde con nuestras expectativas en el momento de utilizarlo. Imaginemos que recuperamos conjuntos de datos no documentados ni explicados. En este caso, será esencial pasar por el proceso de análisis. Es una buena práctica asegurarse de que los datos que se van a utilizar son realmente conformes, y este es el objetivo de este capítulo.
Primero veremos cómo analizar nuestros datos desde una perspectiva técnica o estructural: es lo que se conoce como perfilado de datos. Este análisis se centra principalmente en los tipos, formatos y número de ocurrencias de los datos y no requiere ningún conocimiento particular de los mismos. El objetivo de esta fase es establecer una visión objetiva de los componentes estructurales de los datos y destacar las características...
Preparar los datos
Por desgracia, los datos no siempre están listos para ser utilizados. Sin trabajarlos, rara vez es posible extraer los datos para obtener los resultados esperados (como la evolución de las ventas, el cálculo de un indicador de satisfacción, etc.). En la gran mayoría de los casos, habrá que reelaborar los datos en bruto para hacerlos utilizables para el análisis, la ingesta o incluso la modelización (Machine Learning).
Una cosa es cierta: aunque de algún modo esta fase es la cara oculta del iceberg, no deja de ser una etapa importante y, sobre todo, puede llevar mucho tiempo si no se lleva a cabo con las competencias y los recursos adecuados. Por ejemplo, se dice que los analistas de datos y otros científicos de datos dedican más del 80% de su tiempo a prepararlos. Esto les deja solo un 20% de su tiempo para trabajar con ellos.
Por lo tanto, la preparación de los datos consiste en recogerlos y transformarlos para poder trabajar con ellos. Son las dos primeras fases de nuestro famoso ETL (o ELT). Y con razón, el enfoque es muy similar, aunque la finalidad suele ser muy distinta. En un enfoque de tipo ETL, los datos se transportan en última instancia a una (o varias) fuentes de datos de destino, con vistas a un amplio análisis. Con la preparación de datos, el objetivo es prepararlos para un fin específico.
La tendencia que estamos observando...
Análisis descriptivo
En primer lugar, hay que señalar que el análisis de datos requiere que estos estén disponibles en formato tabular (filas y columnas). Por tanto, este capítulo trata de los datos estructurados. Actualmente, todas las soluciones (o casi todas) trabajan con datos estructurados de esta forma. Una vez disponibles los datos en este formato, se trata de analizarlos desde un punto de vista técnico, describirlos e identificar, por qué no, un primer nivel de excepciones (por ejemplo, la detección de valores atípicos).
Esta etapa tiene varios nombres: se denomina análisis descriptivo o perfilado de datos (Data Profiling).
Este análisis debe describir la muestra de datos (o todo su conjunto), perfilando cada columna para descubrir información importante sobre atributos, como frecuencia y distribución de los valores de los datos, formatos, patrones y nulos, mínimos y máximos. A continuación, se leen todos los datos para proporcionar un análisis y un inventario exhaustivos.
Pero las herramientas y las soluciones a menudo pueden llevarle mucho más lejos en términos de análisis. Veamos en detalle los diferentes análisis que se pueden realizar sobre un conjunto de datos, sin tener ningún conocimiento funcional del mismo. Para hacerlo, podríamos utilizar herramientas No Code como Informatica, Talend o SAS DataFlux que, con un simple clic, pueden obtener este tipo de resultados. Pero aquí vamos a utilizar la librería Python Pandas Profiling, para que cualquiera pueda probar este tipo de análisis en su propio ordenador.
Para instalar la librería, basta con ejecutar el comando pip:
$ pip install pandas_profiling
Todo lo que tiene que hacer es abrir un dataframe con la librería Pandas y lanzar el profiling:
from pandas_profiling import ProfileReport
import pandas as pd
train = pd.read_csv('../datasources/titanic/tren.csv')
prof = ProfileReport(tren)
prof.to_file(output_file='informe.html')
A continuación, la librería proporciona un archivo HTML...
Análisis exploratorio y visualización de datos
Gracias al perfilado de datos, podemos comprender mejor cómo se estructuraron y formatearon. Por lo tanto, al igual que en el capítulo anterior, este capítulo solo trata de los datos estructurados. Hasta entonces, seguíamos en la parte descriptiva del análisis de datos. Este tipo de análisis rara vez es suficiente porque, como hemos visto en muchas ocasiones, los datos solo tienen valor y significado cuando se sitúan en su contexto. Por lo tanto, es esencial profundizar en este análisis inicial y pasar a la fase exploratoria propiamente dicha.
A continuación, buscaremos vínculos entre los datos, tendencias, agrupaciones, etc. Aquí es donde realmente podemos encontrar valor en los datos que exploramos. Pero seamos francos: a este nivel, no existe ninguna herramienta mágica que nos permita tomar los datos de entrada y obtener las conclusiones correctas de salida. Es esencial conocer bien la empresa, el contexto e incluso las organizaciones implicadas. Será necesario combinar conocimientos funcionales, herramientas adecuadas y un conjunto de datos representativo para obtener los resultados correctos.
En lo que respecta a las herramientas, o más bien al tipo de herramientas, tenemos que fijarnos en la visualización de datos (DataViz). Gracias a su flexibilidad y a su enfoque visual, estas herramientas permiten extraer las conclusiones adecuadas de los datos. De hecho, se han convertido en herramientas indispensables para analizarlos.
1. Visualizar para analizar mejor
¿Por qué combinar la visualización de datos y su análisis funcional? Probablemente, porque nuestros cerebros no son capaces de comprender o analizar conjuntos de datos en bruto. ¿Es usted capaz de encontrar un problema o determinar una tendencia en una tabla de valores de varios miles de líneas? No es fácil... de hecho es casi imposible si no hace este tipo de ejercicio sobre el mismo tipo de archivos todos los días. Así que tenemos que utilizar las herramientas adecuadas para hacer un uso más eficaz de estos datos y facilitar su comprensión.
La visualización de datos es la punta del iceberg. Los datos, a menudo demasiado voluminosos, son la parte sumergida. Nuestros cerebros se sienten atraídos de forma más natural por las cosas...
Algunos ejemplos de análisis
1. Análisis de datos por cohortes
El análisis de cohorte es un tipo de análisis especialmente utilizado por los equipos de marketing de las empresas, ya que permite analizar segmentos de población (en sentido estadístico) para extraer características o comportamientos comunes. Este tipo de análisis también se utiliza mucho para extraer información, o más bien los factores que influyen en cada grupo (o cohorte) sobre los demás.
Evidentemente, este tipo de análisis es habitual en el comercio electrónico o en general en cualquier actividad que pretenda aumentar el número de miembros.
Un caso claro es el análisis de la tasa de conversión de cliente gratuito a cliente de pago (premium).
A continuación, se muestra un ejemplo excelente para ilustrar lo que es un análisis de cohorte: consideremos el caso de una empresa que lanza una gran campaña de marketing. Los operadores telefónicos se encargan de realizar un gran número de llamadas para reservar citas.
Esta es la lista de llamadas y citas tras cuatro días de campaña:
Día |
Número de llamadas |
Citas concertadas |
Índice de transformación |
D1 |
100 |
10 |
10 % |
D2 |
150 |
30 |
20 % |
D3 |
120 |
40 |
33 % |
D4 |
90 |
50 |
55 % |
Si nos fijamos bien, la tasa de conversión no es muy estable de un día para otro (del 10% al 20% el día siguiente, etc.). El problema aquí es que los agentes del centro de llamadas pueden hacer una segunda llamada, porque los clientes a los que se llamó el día anterior acuardan una cita para por ejemplo el día siguiente.
En resumen, y este es un fenómeno que vemos con regularidad, las cosas no son lineales y la causalidad de este acontecimiento (concertar una cita)...
Calidad de los datos
Acabamos de ver cómo analizar y calificar los datos desde un punto de vista técnico con la elaboración de perfiles de datos y desde un punto de vista funcional, con su visualización. Pero, ¿cómo determinar si los datos son de buena calidad?
1. ¿Por qué es importante la calidad de los datos?
Puede haber muchas razones por las que la calidad de los datos se convierta realmente en un elemento fundamental. En el mundo de las finanzas, encontrará un buen número de proyectos que implican una proporción significativa de calidad de datos, como:
-
proyectos de gestión de identidades (gestión de datos de terceros, proyectos KYC (Know Your Customer), construcción de MDM para una visión única de terceros y organizaciones, detección de fraudes),
-
gestión de riesgos (indicadores clave de rendimiento (KPI) y supervisión de datos, modelización, agilidad),
-
proyectos sobre restricciones legales (GDPR, BCBS 239, FATCA);
-
proyectos analíticos de Big Data (integración de datos sociales y de fraude, análisis de carteras);
-
seguridad de los datos (GDPR, desarrollo y pruebas Off/On Shore, normativa/conservación de la información, adquisición y supervisión de la calidad de los datos ML/OFAC, contratos de seguros de vida inactivos);
-
grandes proyectos de modernización y desmantelamiento de aplicaciones (migración, validación y pruebas/revisión, sincronización, archivado, integración en la nube);
-
proyectos de integración de datos de socios (SWIFT, SEPA, pagos Hup);
-
programas de salas de mercados de capitales (intercambios de mensajes de baja latencia para el front office, seguridad, FIX, FpmL, normalización).
Estos diversos proyectos (como muchos otros) o iniciativas casi siempre conducen a un examen detallado de los datos subyacentes para:
-
detectar la información que falta,
-
identificar problemas de conformidad (formato incorrecto, problemas de codificación, fechas, etc.),
-
evitar incoherencias (inversión de valores, cálculos atípicos, etc.),
-
garantizar la pertinencia de los datos (obsolescencia, estado no válido, datos erróneos, etc.),
-
garantizar la unicidad (entradas dobles, duplicados, etc.),
-
mantener la integridad de los datos: tablas de referencia (divisas, códigos...