En el artículo «¿Qué es Big Data?«, os expliqué las tres situaciones que pueden definir un escenario donde es necesario aplicar una solución de Big Data. Éstas se definen como las 3 V’s. Hay gente que incluye otras V’s al hablar de Big Data.
Hoy os hablaré de la V de veracidad, puesto que una lectura errónea de ésta puede llevar a malas interpretaciones.
Calidad de datos
Para realizar el mejor análisis de datos que podamos imaginar, necesitamos disponer de un conjunto de datos completo y con una calidad de datos impoluta.
Estas condiciones son las ideales, pero lo cierto es que la realidad nos presenta escenarios que difieren de esta situación ideal. Es por eso que, durante la carga de datos (ETL), hay que realizar un proceso de verificación de los datos. Es lo que se conoce como el proceso de limpieza de datos, durante el cual se intentan arreglar los datos incorrectos o incompletos para así poder disponer de un conjunto de datos útil para su análisis posterior.
Este proceso de limpieza de datos incluye la aplicación de normas de dominio sobre los datos (e.g. Verificar que la provincia informada corresponde al país informado), de formato (e.g. Los números de teléfono empezarán todos con el código internacional con un «+» al principio y solamente contendrán números a continuación, sin espacios, puntos, guiones, etc.), y de negocio (e.g. El descuento «ABC» no aplica a clientes que compren por un valor inferior al millón de euros anuales).
Así pues, los datos que pueden ser arreglados durante la carga de datos, serán modificados para asegurar una buena calidad, mientras que los que no puedan ser arreglados, serán descartados y marcados como pendientes de arreglar en el sistema origen. De esta manera, conseguimos aumentar la calidad de datos no solo en el repositorio de datos destino de la carga, sino también en los sistemas origen.
Un gran coste en un escenario Big Data
El problema de realizar un proceso de limpieza de los datos durante la carga de éstos, es que es un proceso costoso. Muy costoso.
Sabemos que Big Data trabaja en muchos casos con datos masivos o con la necesidad de disponer de los datos con una latencia (retraso) muy baja. Por tanto, no puede perder ese tiempo en un proceso de verificación y limpieza de datos.
Y aquí aparece la contraposición de intereses. ¿Es Big Data incompatible con el hecho de tener un buen análisis de datos? La respuesta es que no es incompatible, aunque deberíamos analizar qué entendemos por «buen análisis».
En un escenario tradicional de Business Intelligence (BI), por ejemplo, basado en el análisis de información comercial, es importante que la calidad de datos sea correcta, sin errores. Si el importe de una venta es incorrecto, o si una venta no se carga en el repositorio analítico, no podremos obtener análisis de ventas que muestren un resultado correcto. Es decir, para obtener una visión exacta de la realidad, es necesario aplicar un proceso de limpieza de datos para evitar la pérdida de información durante la carga de datos.
Pero, por otra parte, en un escenario de Big Data, por ejemplo, basado en la obtención de lecturas de temperatura cada 5″ mediante 100 sensores repartidos por toda la ciudad, ¿es necesario tener una visión exacta de esa realidad? ¿Necesito saber la temperatura media exacta? Seguramente no. Por tanto, situaciones anómalas pueden ser aceptadas sin la necesidad de limpiar los datos.
Incertidumbre
Estas situaciones anómalas pueden introducir errores en los datos. En otras palabras, provocan que la veracidad de los datos y de los resultados del análisis de éstos sea incierto. Pero en Big Data trabajamos con grandes volúmenes de datos. Y tener errores en algunos de ellos, no tiene porqué distorsionar en gran manera el resultado del análisis. Por ejemplo, ¿una temperatura ambiente media de 20,375°C (incluyendo anomalías) sería aceptable si la temperatura real fuese 20,384°C? Estoy convencido de que así es para la gran mayoría de personas.
En Big Data, podemos distinguir entre los siguientes tipos de incertidumbre en función de dónde y cómo se genera ésta:
• Adquisición de los datos: Como ejemplo, pensemos en un sensor, un trozo de hardware, susceptible a errores de lectura. Si la temperatura leída es de 20°C durante 1 hora pero nos encontramos con una única lectura durante este periodo con un valor de 28°C (con su predecesor y sucesor, separados 5″, marcando 20°C ), podemos considerar que se trata de un error de lectura, un error de funcionamiento del sensor.
• Proceso de los datos: Imaginemos ahora, que hay un fallo de comunicación en un sector de la ciudad y no nos llega información durante 30′ de los 20 sensores que hay desplegados en esa zona. Los datos se perderán y no podremos hacer nada al respecto. Pero podemos continuaremos analizando los datos recibidos y mostrándolos en tiempo real. De hecho, para los datos no disponibles, podría mostrar la última información recibida o hacer una previsión en función de datos históricos y los datos del resto de sensores.
• Análisis de datos: El tipo de análisis de datos a realizar también puede introducir incertidumbre. En el caso de una predicción, existe un grado de confianza que debemos elegir. Si utilizamos un algoritmo de clustering para agrupar datos, también introducimos incertidumbre en el análisis. Es decir, el propio algoritmo utilizado incluye cierto nivel de incertidumbre.
Por tanto, Big Data, por sus propias características, introduce de por sí elementos que pueden provocar que el resultado del análisis de los datos no sea fiable al 100%.
Cuando pensamos en Big Data no debemos pensar en el análisi de todos los datos disponibles como en un BI tradicional, mostrando resultados exactos y 100% fiables. Debemos verlo como un análisis con un alto grado de fiabilidad (obtenido a partir del uso de datos masivos), pero con cierto grado de incertidumbre, que proporcionará información útil para la toma de decisiones.
Conclusión
El uso de Big Data viene precedido por una necesidad, ya sea de tratar un escenario con un gran volumen de datos, con una velocidad de tratamiento de éstos muy elevada o con variedad de tipos de datos, entendiendo ésta como el uso de tipos de datos no convencionales. Esto se conoce como las 3 V’s del Big Data.
Incluir una cuarta V para la veracidad puede causar confusión, puesto que no se trata de una necesidad de veracidad la que hace que tengamos que aplicar Big Data, tal y como sucede con el volumen, la velocidad y la variedad.
La realidad es que Big Data introduce cierto grado de incertidumbre durante el proceso de adquisición, proceso y análisis de datos.
Sin embargo, a pesar de este grado de incertidumbre, el hecho de trabajar con datos masivos nos permite obtener análisis de datos con una fiabilidad muy alta, lo cual justifica el uso de Big Data.