Home:Tecnologias:Big data analytics

1. DESCRIPCIÓN DEL ÁREA TECNOLÓGICA

Big Data Analytics (BDA) es una disciplina cuyo objetivo es la extracción de conocimiento y la toma de decisiones basada en el procesamiento de información de conjuntos de datos masivos.

Mediante BDA es posible proporcionar nuevas descripciones o patrones de comportamiento de datos, predecir características de los datos o incluso generar nuevos datos simulados.

Podemos encontrar distintas etapas en la construcción de estos objetivos: desde la extracción de datos en crudo de sus orígenes primarios, pasando por su procesamiento hacia un formato comprensible por la máquina, la evaluación de su calidad de datos (DQ, del inglés Data Quality) y la descripción automática de patrones por medio de algoritmos de agrupación o clustering.

El papel de estos métodos es doble: en primer lugar, proporcionan nuevas perspectivas y conocimientos que constituyen el núcleo de la BDA, por ejemplo, el descubrimiento de nuevos subgrupos de pacientes dentro del análisis de enfermedades complejas como la diabetes mellitus; y en segundo lugar, los resultados de estos métodos son cruciales para permitir la modelización predictiva asegurando su fiabilidad, por ejemplo, integrando los datos de imagen médica de diferentes hospitales al mismo tiempo que se garantiza su homogeneidad, para reducir los factores de confusión o la fragilidad estadística, lo que puede perjudicar el aprendizaje posterior.

1.1 INTEGRACIÓN DE DATOS

Generalmente no se suele acceder a los datos en un formato preparado para aplicar directamente métodos de análisis. Además, los datos suelen generarse a partir de fuentes heterogéneas.

La definición de un formato de datos específico para el análisis y el uso de métodos de control de la heterogeneidad son buenas prácticas para abordar estas cuestiones. Los datos tabulares pueden ser mapeados a estos formatos mediante procesos de Extracción, Transformación y Carga (o ETL del inglés). En el caso de datos complejos como imágenes o señales, se pueden utilizar plantillas de referencia para la corregistración o la homogeneización de la intensidad. En datos textuales, podemos recurrir a stemming y la lematización, a bases de datos léxicas como WordNet, o utilizar embeddings generalistas, para lograr una homogeneidad inicial. En cualquier caso, es importante establecer protocolos de integración y diccionarios de datos adecuados para garantizar una integración y comprensión de los datos fiables.

Adicionalmente, los métodos de control de variabilidad de datos pueden ayudar a delinear problemas inesperados de heterogeneidad que podrían perjudicar la extracción de conocimiento.

1.2 GENERACIÓN DE DATOS

El Big Data se suele generar a partir de fuentes de datos diversas y distribuidas, así como distintos formatos. Aquí podemos incluir los datos tabulares, flujos de sensores, datos de texto o datos web estructurados, imágenes, vídeo, etc.

El ámbito de aplicación también añade sus particularidades, como en el Internet de las cosas (IoT del inglés) y el ámbito de los datos biomédicos. Los datos de IoT se caracterizan generalmente por la monitorización de datos secuenciales y una alta heterogeneidad, pero también por una pequeña relación entre datos efectivos y totales. Los datos biomédicos se caracterizan por una información multimodal, con altos volúmenes de datos codificados, categóricos, o datos de gran tamaño, como en la secuenciación ómica de alto rendimiento.

Por último, la transformación de datos en embeddings de menor dimensión, optimizando el tiempo de procesamiento y extrayendo proyecciones latentes en los datos, a veces se emplean como parte del proceso de generación de datos para siguientes etapas del análisis. Esto incluye la aplicación de métodos de reducción de la dimensionalidad, lineales y no lineales, algunos de los cuales permiten la generación de modelos de transformación para nuevos datos (como el Análisis de Componentes Principales), y otros especializados en embedding por vecindad (como tSNE) o autocodificadores de Aprendizaje Profundo que muestran un gran potencial para el agrupamiento o detección de comunidades.

1.3 GESTIÓN Y TRATAMIENTO DE DATOS

La gestión y tratamiento del Big Data requiere no sólo una infraestructura obvia con una gran capacidad de almacenamiento y acceso, sino también métodos específicos de limpieza o conservación de datos, transformación y seguridad.

En los proyectos de análisis de datos, estos métodos deben ser abordados a través de protocolos específicos y apoyados por la tecnología. Los servicios en la nube y los clústeres de computación pueden soportar capacidades de almacenamiento y procesamiento escalables. La curación de datos puede ser soportada por protocolos de aseguramiento de la calidad de datos soportados por métricas y herramientas de DQ, por ejemplo, para la detección de valores atípicos o comprobaciones de consistencia. La mayoría de los lenguajes de programación de BDA, como R y Python, contienen paquetes específicos para computación en paralelo y en clusters de computación. Sin embargo, algunos formatos y transformaciones de datos, por ejemplo, la construcción de vistas de datos minables a partir de tablas con múltiple cardinalidad, pueden requerir un procesamiento manual. Por último, el almacenamiento y el acceso a los datos deben estar controlados por el actual Reglamento General de Protección de Datos.

1.4 PROCESAMIENTO DE DATOS SECUENCIAL (STREAMING)

El procesamiento de grandes cantidades de datos en tiempo real puede suponer un reto debido a las capacidades de procesamiento y memoria. Estos problemas pueden resolverse hasta cierto punto mediante algoritmos y/o hardware específico, mediante computación en paralelo y cálculo incremental.

La computación paralela o distribuida mediante tecnologías como Hadoop o Spark, haciendo uso de algoritmos como MapReduce, puede ayudar en esa tarea. La computación en GPU también ofrece un potente procesamiento en paralelo para métodos de análisis de datos como el aprendizaje profundo.

Por último, los algoritmos pueden escribirse de forma incremental, de modo que los datos pasados se almacenen como un resumen que contenga la mayor parte de la información, en lugar de requerir todas las muestras de datos.

1.5 ALGORITMOS DE AGRUPAMIENTO (CLUSTERING)

El clustering es una rama del aprendizaje no supervisado cuyo objetivo es descubrir agrupaciones naturales de datos que comparten patrones similares entre sí.

El clustering se puede dividir en varias ramas según la agrupación: basada en distancia, en densidad y en distribución.

Los algoritmos de agrupación basados en distancia agrupan los datos que están lo suficientemente cerca unos de otros y más lejos de otras observaciones de otros grupos.Dentro de la familia basada en distancias hay dos subfamilias principales: la agrupación jerárquica y la agrupación particional. Agrupación jerárquica crea un particionamiento de los datos anidado basado en un árbol de relaciones o dendrograma (aglomerativo o divisivo). Los algoritmos basados en distancia agrupan los datos minimizando un criterio de partición, reubicando iterativamente los objetos en clústeres disjuntos hasta que se logra una partición óptima (p. ej., K-means, Fuzzy-Kmeans, etc.).

La agrupación por densidades agrupa los datos encontrando regiones contiguas de alta densidad de observaciones, aisladas por regiones contiguas de baja densidad de observaciones (p.ej., DBSCAN u OPTICS).

Finalmente, los modelos basados en distribución encuentran los mejores parámetros de un modelo estadístico subyacente que suponemos describe la estructura de los datos (p.ej., modelos de mixturas finitas). Normalmente, el número de grupos o clusters resultantes requiere de algún ajuste de parámetros manual o semiautomático.

Complementariamente, los enfoques de agrupación difusa, o fuzzy clustering, permiten asignar a cada punto un grado de pertinencia a cada agrupación. Cabe mencionar que existen algoritmos de clustering distribuidos para algunas herramientas de programación, como por ejemplo K-means distribuido para Hadoop.

2 EVOLUCIÓN

Incluso hoy en día, el BDA requiere de trabajo artesanal y experto. La mayor parte de ese trabajo se da en las fases de preparación y manejo de datos, pero también para definir objetivos adecuados y realistas para nuestros análisis.

El BDA evoluciona para reducir ese esfuerzo manual. Esto provendrá de la estandarización de procedimientos, la preparación automatizada de datos y algoritmos de curación, y de la transferencia de conocimientos entre tareas similares.

Para reducir la brecha entre el volumen y el valor de los datos, se debe asegurar la DQ desde la generación de los datos hasta las etapas de aprendizaje. Próximamente, la calidad de los datos incluso se incorporará como conocimiento a priori a los algoritmos de aprendizaje. Por ejemplo, el Real World Data, datos clínicos de uso rutinario utilizados actualmente en la investigación clínica y farmacéutica, estudia evitar procesos de adquisición de datos dedicados y costosos a la vez que proporcionar poblaciones objetivo más realistas, pero, sin embargo, con un coste en su calidad y tiempo de preparación de los datos.

El procesamiento de grandes cantidades de datos se beneficiará de los paradigmas de cálculo más recientes, como el cálculo cuántico, o basado en múltiples GPUs (unidades de procesamiento gráfico), y los algoritmos deben adaptarse a ellos. En particular, la evolución del BDA está vinculada a la de los algoritmos de aprendizaje profundo o deep learning, cuyo rendimiento aumenta a medida que aumenta el volumen de datos.

Pero, posiblemente, una de las grandes revoluciones vendrá gracias a la información contenida en la gran cantidad de análisis y proyectos ya desarrollados. La gran analítica de estos metadatos tendrá el potencial de guiar la transferencia de conocimientos entre tareas, tanto para objetivos no supervisados como supervisados. De hecho, el aprendizaje no supervisado actual está empezando a sacar el máximo provecho de los paradigmas de aprendizaje por transferencia, complementado con técnicas como el aprendizaje autorregresivo o incluso para generar nuevos datos basados en conocimiento previo mediante redes generativas antagónicas.

3. CASOS DE USO Y APLICACIONES

Existe una gran variedad de posibles casos de uso de las tecnologías Big Data descritas en esta área. Entre ellas, podríamos incluir:

 

  • Integración y enlace de individuos (clientes, pacientes, etc.) desde distintas bases de datos, monitorización y control de calidad inteligente de la fabricación mediante sensores.
  • Anticipación de fallos en componentes.
  • Curación de datos para análisis estadísticos.
  • Segmentación de clientes.
  • Búsqueda de casos atípicos p.ej. en logs de seguridad o en historias clínicas.
  • Cuadros de mando avanzados con análisis en tiempo real de tendencias y detección de patrones.
  • Visualización, exploración y gestión de cantidades masivas de datos (tanto volumen como variedad ) de forma dinámica.

¿NECESITAS ALGUNA DE ESTAS TECNOLOGÍAS EN TU PROYECTO?

Ponte en contacto con nosotros a través del formulario para empresas y te orientaremos para incorporar estos tecnologias a tu proyecto a través de los socios especializados en tu actividad.

Selecciona idioma:

ESPAÑOL ENGLISH