4. Big Data: Conceptos, Métodos y Tecnologías. Objetivos Francisco Javier Cervigon Ruckauer

4. Big Data: Conceptos, Métodos y Tecnologías

Objetivos

El principal objetivo de este módulo es ofrecer una visión introductoria al análisis de conjuntos de datos masivos y complejos, conocidos hoy día como big data. En particular, se presentarán los conceptos básicos relacionados con el análisis de big data, los métodos computacionales y estadísticos más importantes para llevar a cabo este análisis y las tecnologías más relevantes en este ámbito. En este contexto, se hará especial hincapié en la familia de tecnologías open source más popular para el análisis de big data: el ecosistema Apache Hadoop.
Al concluir el tema, habrás adquirido los siguientes conocimientos y competencias:
  • Conocer los principales factores que definen el big data, así como su importancia hoy día en múltiples sectores de actividad.
  • Conocer los diferentes actores y perfiles de trabajo involucrados en proyectos de análisis de big data, así como el ciclo de desarrollo habitual en estos proyectos.
  • Comprender las diferencias entre datos estructurados, semi-estructurados y no estructurados, así como su papel dentro del análisis de big data.
  • Comprender las diferencias entre el procesado de datos por lotes (batch) y el procesado de flujos de datos (streaming).
  • Conocer y comprender las principales arquitecturas, tecnologías y métodos de análisis empleados para trabajar con big data, especialmente el ecosistema Apache Hadoop.
  • Comprender las diferencias entre el análisis de big data en un entorno tipo laboratorio (prototipos y pruebas) frente al despliegue de soluciones basadas en big data en un entorno en producción.

Contenidos

Los contenidos de este tema son:

1. Conceptos básicos para análisis de big data.

  • 1.1 Introducción al procesado y análisis de big data.
  • 1.2 Ejemplo de análisis de datos con Apache Spark.
  • 1.3 Clasificación de tipos de datos.
  • 1.4 Ciclo de desarrollo de proyectos de big data.

2. Arquitecturas de Análisis de big data.

  • 2.1 Estrategias de procesado de datos.
  • 2.2 Test sobre estrategias de procesado de datos.
  • 2.3 Arquitecturas híbridas para big data.
  • 2.4 Laboratorio de análisis vs. análisis en producción.

3. Tecnologías y herramientas para Análisis de big data.

  • 3.1 Entrevista sobre tecnologías de big data.
  • 3.2 Test sobre tecnologías de big data.
  • 3.4 El ecosistema Apache Hadoop.
  • 3.4 Introducción a bases de datos NoSQL.

Metodología y recursos

Para el desarrollo de este módulo, se va a utilizar una metodología que combina la presentación dinámica de conceptos teóricos y metodológicos junto con ejemplos que ilustran el análisis de big data. Se conmiarán diversos tipos de materiales:
  • Videoclases para presentar de forma detallada los conceptos, métodos, técnicas y herramientas más importantes en análisis de big data.
  • Presentaciones multimedia para focalizar el proceso de aprendizaje sobre herramientas o conceptos de especial relevancia.
  • Pruebas de test a lo largo de todo el tema, para reforzar la asimilación de ideas y conceptos básicos, permitiendo además la autoevaluación y la asimilación de los contenidos.
  • Entrevistas con invitados del sector empresarial para conocer de primera mano cómo se desarrollan los proyectos de análisis de big data en entornos reales.
Todas las herramientas tecnológicas mencionadas en el tema son software libre y se pueden descargar sin coste siguiendo los enlaces que se indicarán en los apartados correspondientes.
Francisco Javier Cervigon Ruckauer

Conceptos y Métodos para Ánalisis de Big Data Francisco Javier Cervigon Ruckauer

Conceptos y Métodos para Ánalisis de Big Data

INTRODUCCIÓN AL PROCESADO Y ANÁLISIS DE BIG DATA



























Clasificación de tipos de datos

  1. La obtención de datos es el primer paso para el análisis de big data. Se trata de una etapa crucial dentro de este proceso, puesto que suele consumir cerca del 85% del tiempo total de proyecto de análisis de datos. Con frecuencia, nos encontramos con la necesidad de importar datos de múltiples fuentes y codificados en múltiples formatos distintos.

    Estos datos se suelen colocar en una cola de adquisición que, progresivamente los envía a un sistema de procesado y almacenamiento de información.
  2. Es importante tener en cuenta ciertos factores en el diseño en sistemas de adquisición de datos. Por ejemplo, nunca se debe asumir que las fuentes van a enviar datos íntegros o correctamente representados. Pueden existir fallos y los sistemas de adquisición deben ser robustos, tomando decisiones para resolver o ignorar los fallos de forma que la adquisición de datos no se interrumpa.

  3. El rendimiento y velocidad de ejecución de los sistemas de obtención de datos es muy importante. Cuando se trabaja con datos que llegan a gran velocidad, se puede perder información si nos los recuperamos y procesamos a tiempo. De igual modo, también hay que respetar los límites de obtención de datos impuestos por muchos sistemas.

    Cuando se usan interfaces públicas para obtener datos, si se generan demasiadas peticiones en un cierto intervalo de tiempo, se corre el riesgo de sobrecargar un sistema que usan muchos otros usuarios. Como consecuencia, pueden prohibir el acceso al servicio de forma temporal o permanente.

    Atendiendo a sus estructura, podemos distinguir 3 grandes tipos de datos:
  • Datos estructurados: tienen una serie de campos con significado predefinido. Normalmente, se representan mediante una tabla de valores, en la que los campos son las columnas y los casos son las filas.

  • Datos semi-estructurados: se representan mediante un formato de codificación que aporta cierta estructura e información sobre los datos. A diferencia de los anteriores, no es obligatorio que todos los elementos contengan los mismos campos. Un ejemplo son los documentos en formato XML.
  • Este ejemplo, muestra datos que identifican a una persona. Sin embargo, para otro registro de otra persona puede que no haya información de todos los campos (e.g. que falte el número de teléfono o su dirección postal).
    • Datos no estructurados: no se representan mediante un esquema definido previamente. Un ejemplo son datos textuales (en lenguaje natural). Para procesarlos, se deben aplicar ciertas reglas (según el ejemplo, gramaticales y de alfabeto de cada idioma) para extraer la información que contienen.

    • Por último, un tipo de datos especialmente importante son los llamados datos semánticos

Se trata de datos que contienen información adicional sobre sus conexiones con otros datos relacionados. Así, los datos se organizan mediante una red de relaciones, sobre la que podemos realizar búsquedas inteligentes aprovechando la información sobre las conexiones de entidades individuales.

Ciclo de desarrollo de proyectos de big data

El ciclo de vida estándar de un proyecto de big data se puede representar mediante el siguiente diagrama. Las principales etapas que componen este ciclo son:




  1. El primero paso consiste en definir los objetivos del análisis. Un error muy común consiste en creer que los datos definen qué análisis se quiere hacer o qué preguntas se van a responder. Al contrario, un buen proyecto de big datasiempre define primero qué objetivos se persiguen y qué preguntas se quieren responder. A partir de ahí, se identifican los datos que necesarios para responder a esas preguntas.




  2. Obtención de datos. En este paso se obtienen, preparan y almacenan (si es posible) los datos para su análisis posterior. Es un paso complicado que absorbe mucho tiempo (hasta un 85% de la duración total del proyecto), debido a múltiples problemas: datos faltantes, datos corruptos, limpieza de los datos, pasar la información a un formato común, etc. Dentro de este paso suele ser importante realizar un análisis exploratorio de datos, fundamentalmente usando herramientas de visualización y gráficos, para conocer más detalles sobre la información que se extrae y detectar posibles problemas o anomalías.




  3. Una vez que los datos están preparados, se construye el modelo. En este paso, el analista o científico de datos crea un modelo que intente reflejar la realidad (proceso, fenómeno natural, etc.) que representan nuestros datos. El modelo resultante es la propuesta, basada en los datos, para explicar la realidad de forma simplificada. Para construir el modelo, normalmente se usa solo una fracción del total de datos disponibles, reservando el resto de datos para la siguiente etapa.




  4. Una vez que elaborado uno o varios modelos a partir de los datos, se procede a evaluarlos de forma crítica. Normalmente, para esta fase se usan los datos que hemos reservado previamente. El objetivo principal de esta estrategia es evitar lo que se denomina sobreajuste del modelo: es fácil construir un modelo que se ajuste muy bien a unos datos específicos, pero muy difícil que el mismo modelo se ajuste igual de bien a nuevos datos que lleguen. Esta estrategia permite evaluar (y si es posible, cuantificar) si se puede generalizar el modelo para otros datos (otros casos) distintos de los que se usan al construirlo.




  5. Cuando se crea un modelo suficientemente bueno y generalizable, el siguiente paso suele consistir en visualizar los resultados del análisis y presentarlos de forma adecuada y accesible para la audiencia en cuestión. La presentación debe adaptarse, por tanto, al interlocutor: más detalles para audiencia con más conocimientos; más sencillo para el público en general.




  6. El último paso, consiste en desplegar el proyecto en un sistema en producción que funcione continuamente analizando nuevos datos mediante el modelo propuesto y que realice diversas acciones como resultado: toma de decisiones, elaboración de informes, alerta de riesgos o errores, predicción de valores futuros, control de procesos, etc.
Francisco Javier Cervigon Ruckauer

Arquitecturas de Análisis de Big Data Francisco Javier Cervigon Ruckauer

Arquitecturas de Análisis de Big Data



Arquitecturas híbridas para big data

1.Como se ha explicado en la sección anterior, existen dos grandes estrategias a seguir para el análisis de big data: el procesado de datos por lotes (batch) o el procesado de flujos de datos (streaming). Cada aproximación tiene sus propias ventajas e inconvenientes:
  • El procesado por lotes es más sencillo de diseñar, puesto que siempre se dispone de los datos almacenados a nuestra disposición y se pueden volver a procesar tantas veces como sea necesario. Sin embargo, el procesado de todos los datos almacenados puede requerir mucho tiempo, más de lo que el usuario que consume los resultados está dispuesto a esperar.
  • El procesado de flujos de datos es más complicado de diseñar, puesto que los datos no se pueden almacenar (van “pasando por delante” mientras se analizan). El sistema debe ser robusto frente a posibles fallos, definiendo cómo se puede recuperar de los mismos. A cambio, el procesado es más ágil y la respuesta más rápida, pero normalmente el análisis abarca solo una fracción de los datos (el flujo de información que se haya analizado hasta ese punto).
2.Por tanto, cada estrategia tiene ventajas e inconvenientes. La pregunta ahora es: ¿se pueden combinar de algún modo las dos estrategias obteniendo lo mejor de cada una? La respuesta es sí: ese es el propósito de las llamadas arquitecturas híbridas para análisis de big data. 3.Existen dos tipos de arquitecturas híbridas para análisis de big data. La primera:

Es la llamada arquitectura lambda, impulsada, entre otros, por Nathan Marz [Marz 2015]. La forma de trabajar con esta arquitectura es la siguiente:
  • Se captura un flujo de datos con el que se alimenta tanto a un sistema de procesado de flujos de datos como a un sistema de procesado de datos por lotes. El primero analiza los datos del flujo conforme llegan, actualizando de inmediato los resultados que coloca en una base de datos. Esta base de datos es la interfaz encargada de resolver las consultas de los clientes del sistema.
  • Por otra parte, el sistema de procesado por lotes almacena los datos del flujo progresivamente. Al llegar a un determinado punto (cada día, cada 12h, etc.) lanza un análisis completo sobre todos los datos recopilados por el sistema hasta ese momento. Es de esperar que este análisis requiera mucho más tiempo de ejecución que el nivel superior (streaming). Una vez concluido, los resultados se vuelcan también a la base de datos.
  • La ventaja de esta aproximación es clara: por un lado, se actualizan los resultados rápidamente con la capa streaming. Por otro, la capa batch va almacenando todos los datos recibidos, lo que garantiza que no habrá pérdidas de información en caso de fallos en la capa streaming.
  • Sin embargo, esta aproximación, muy popular en la actualidad, tiene un grave inconveniente: hay que diseñar, implementar y mantener el código software dos veces. Una vez para la tecnología de la capa streaming y otra para la tecnología de la capa batch. Normalmente, se trata de entornos de desarrollo distintos. Por tanto, cualquier cambio en el código de uno de ellos se tiene que trasladar al otro para mantener la consistencia de todo el sistema (garantizando que los dos niveles analizan los datos del mismo modo). El esfuerzo necesario para conseguir esto es muy alto.
4.La alternativa propuesta por otros especialistas, como Jay Kreps de LinkedIn , es la llamada arquitectura kappa

  • En este caso, solo se usa un tipo de estrategia de procesado: el procesado de flujo de datos. ¿Cómo se consigue entonces almacenar los datos obtenidos hasta ahora? La clave es que la persistencia de datos la debe proporcionar el sistema de cola de entrada de datos. Ciertas tecnologías para este fin, como Apache Kafka, pueden configurarse para que actúen como un gran almacén que va acumulando los datos recibidos hasta un cierto punto (todos los datos del último mes, o de los últimos tres meses). Para ello, hay que dotarle de suficiente espacio de almacenamiento en el sistema de computación.
  • Cada vez que se quiera realizar un análisis, se lanza un nuevo trabajo en el entorno streaming. Ese trabajo dejará su resultado en una tabla de la base de datos que atiende las consultas de usuarios.
  • Si se quiere cambiar algún detalle del análisis, se lanza un nuevo trabajo de procesado de flujo de datos. Se puede hacer esto porque la cola de entrada de datos está guardando el histórico de datos recibidos. Idealmente, se le otorgan más recursos para que el análisis avance más rápido que el trabajo original. Cuando el nuevo trabajo alcance al original, se descarta el primero (junto con sus resultados) y permanece el más actual.
  • La ventaja respecto a la arquitectura lambda es que solo hay que diseñar, implementar y mantener código software en un solo entorno de desarrollo (el de la tecnología de procesado de flujos de datos que se elija).
5.Estas son las dos arquitecturas híbridas para análisis de big data más populares en la actualidad. Sin embargo, no se trata en absoluto de un problema cerrado, sino que continúan surgiendo nuevas tecnologías y diseños que intentan mejorar estas propuestas.

Laboratorio de análisis vs. análisis en producción

Dentro del análisis de big data, con frecuencia se pone el foco en las tecnologías o los métodos estadísticos empleados para llevarlo a cabo. Sin embargo, hay un factor importante que en muchas ocasiones pasa desapercibido y que está relacionado con el entorno de trabajo dentro del cual se lleva a cabo el análisis. Así se distinguen dos grandes entornos:
  • Laboratorio de análisis: en el laboratorio de análisis los analistas y científicos de datos normalmente llevan a cabo trabajo exploratorio y muchas pruebas. El principal objetivo es conocer mejor los datos, entender el significado de toda la información disponible, comprobar la veracidad y precisión de los datos obtenidos (que no existan datos faltantes, etc.). Además, también suelen tomar muestras de los datos para aplicar sobre ellos una gran variedad de modelos estadísticos con distintos fines (predicción, explicación, inferencia estadística, etc.). En el laboratorio existe un entorno de pruebas, en el que los científicos de datos pueden trabajar con cierta libertad, sin usuarios que estén continuamente enviando consultas o solicitando análisis sobre los datos. Se deben probar muchos modelos y alternativas hasta encontrar algunas opciones que funcionen.
  • Análisis en sistemas en producción: en el análisis de big data en sistemas en producción, que tienen que estar operativos 24 horas al día todos los días de la semana, los profesionales se enfrentan a lo que se denomina analítica operacional. Aquí ya no hay margen de error, ni se pueden efectuar pruebas o experimentos. Todos los pasos de procesamiento y análisis de datos ya han sido cuidadosamente definidos y comprobados. En este entorno, las soluciones de análisis de big data se empaquetan en forma de servicios que funcionan continuamente, atendiendo a usuarios finales o colaborando constantemente en sistemas de toma de decisiones, detección de riesgos, predicción, etc.
  • Herramientas y tecnologías: en muchos casos, las herramientas y tecnologías empleadas en cada uno de estos dos entornos también son diferentes. En el caso del laboratorio de análisis de datos, se suelen emplear lenguajes de programación como R o Python, así como bibliotecas estándar en estos y otros lenguajes, y entornos que implementan una gran variedad de modelos de análisis y predicción. En el caso de análisis en sistemas en producción, los procesos de tratamiento y análisis de datos (llamados pipelines), se suelen definir en lenguajes de programación muy maduros y con más larga trayectoria en este tipo de entornos como Java, o se reescriben directamente en lenguajes que proporcionen el más alto rendimiento como C++.
  • Nuevas tecnologías: sin embargo, algunas nuevas tecnologías para análisis de big data como Apache Spark vienen a cerrar esta brecha entre el laboratorio y el entorno de producción. Spark> ofrece un entorno unificado para desarrollo de soluciones de análisis de big data que garantiza que el código generado en el entorno de laboratorio se puede desplegar casi de forma directa (con mínimos cambios) en un entorno en producción, con sistemas distribuidos que cuenten con muchos más nodos, memoria y espacio de almacenamiento que el entorno de pruebas. Tecnologías como Spark suponen un hito de innovación muy importante en el análisis de big data, al reducir los costes de desarrollo de soluciones, puesto que eliminan o reducen en gran medida los cambios que se deben realizar para convertir una solución del entorno de laboratorio en un producto o servicio fiable y eficienth apto para un sistema en producción.
Francisco Javier Cervigon Ruckauer

Tecnologías y Herramientas para Análisis de Big Data Francisco Javier Cervigon Ruckauer

Tecnologías y Herramientas para Análisis de Big Data

TECNOLOGÍAS DE BIG DATA



























El ecosistema Apache Hadoop

Durante muchos años, Apache Hadoop ha sido el proyecto tecnológico más popular para realizar análisis de big data. Hadoop es un entorno software que permite implementar procesos de análisis de datos basados en una estrategia denominada MapReduce.

En esta estrategia, se puede descomponer un problema complejo (análisis de un conjunto completo de datos masivos) en muchos problemas más pequeños y tratables (operaciones sobre partes de esos datos, fase Map) para después recoger y unificar los resultados (fase Reduce).
Sin embargo, Hadoop no es solo un proyecto para análisis de big data, sino también un ecosistema de proyectos y productos relacionados entre sí. Todos ellos están conectados con el análisis de big data, pero cada componente individual ofrece una funcionalidad específica (resuelve un problema o función en concreto, dentro del esquema general).

La figura muestra el esquema original del ecosistema Hadoop, con algunos de sus componentes más relevantes.
  • En la base tenemos el Hadoop Distributed FileSystem (HDFS), un sistema de ficheros distribuido, que permite almacenar cantidades masivas de datos repartidos entre un gran número de nodos de un sistema de computación distribuido.
  • Sobre esta capa inferior, se suelen utilizar bases de datos específicamente diseñadas para trabajar con big data, tales como HBase o Cassandra. Estos componentes facilitan la gestión y acceso a la colección masiva de datos que se desea analizar. Algunos de ellos se verán en la siguiente sección sobre bases de datos no convencionales para big data.
  • El tercer nivel, el corazón de la arquitectura, está ocupado por el propio proyecto Hadoop, la tecnología que permite procesar y analizar conjuntos de datos masivos y complejos siguiendo el paradigma MapReduce. En la actualidad, Hadoop está siendo sustituido por otras tecnologías de procesamiento de big data más sofisticadas y potentes como Spark.

  • Finalmente, sobre Hadoop aparecen diversas capas de proyectos que ofrecen a los usuarios del sistema distintas interfaces para trabajar con big data más cómodamente.
    A la izquierda se ve Hive, un sistema que permite enviar consultas en lenguaje similar a SQL, para tratar con big data con una interfaz parecida a una base de datos relacional convencional. En el centro se ve a Pig, para crear procesos de análisis de datos secuenciales de forma amigable e intuitiva. A la derecha Mahout, proyecto enfocado a aplicar modelos de minería de datos y machine learning sobre big data.



  • En la actualidad, Spark está desbancando progresivamente a Hadoop como motor principal del ecosistema, remodelando muchos de los componentes del mismo, sobre todo en la capa más alta que interactúa con el usuario final.
    Así, aparecen nuevos componentes más potentes para trabajar con big data mediante SQL (Spark SQL); trabajo con flujos de datos, que no existía en Hadoop (Spark Streaming), así como componentes más sofisticados para, por ejemplo, minería de datos y machine learning (MLlib) o análisis de grafos y redes (GraphX).
La evolución que ha sufrido el ecosistema Hadoop desde su etapa inicial hasta la actualidad ha sido muy radical, especialmente por la sustitución del propio motor principal de la plataforma (Hadoop) por un nuevo motor más versátil y potente (Spark), que ofrece la promesa de cerrar la brecha entre los entornos de laboratorio de análisis y análisis en producción.

Introducción a Bases de Datos NoSQL

Tradicionalmente, un sistema de base de datos se organizaba internamente según lo que conocemos como modelo relacional. En este modelo, los datos se organizan en tablas cuyas columnas corresponden a diversas variables, cada una con un tipo predefinido de antemano: número entero, decimal, cadena de caracteres, valor lógico (verdadero/falso), etc. En este modelo relacional se puede construir un esquema descriptivo que indica, para cada tabla, que campos (columnas) contiene y de qué tipo son los valores que se guardan en cada columna.
Este esquema de organización es válido para datos estructurados, en los que se conoce de antemano qué campos y de qué tipo son los valores que contienen. Sin embargo, como ya se ha explicado anteriormente (sección 4.1.3), el big data se caracteriza porque también contiene datos semi-estructurados, así como datos no estructurados. Las bases de datos tradicionales, basadas en el modelo relacional, no ofrecen la flexibilidad necesaria para poder almacenar datos de estos dos tipos, puesto que su esquema de organización rígido no proporciona la flexibilidad necesaria.
Como alternativa para resolver este problema, surgen las llamadas bases de datos no convencionales, o también conocidas como NoSQL (Not only SQL). SQL es el lenguaje más habitual para realizar consultas a una base de datos relacional. Así que el nombre NoSQL aclara que estas nuevas bases de datos, además de ofrecer muchas de ellas una opción relacional convencional, permiten organizar los datos siguiendo estrategias alternativas mucho más flexibles, adaptables tanto a datos semi-estructurados(ficheros XML, JSON, etc.) como a datos no estructurados, o con estructuras no contempladas por los sistemas de bases de datos tradicionales (por ejemplo, datos de redes y grafos).
Existen 4 grandes familias de bases de datos no convencionales:

  • Bases de datos de esquema clave-valor: es la versión más sencilla. Almacenan simplemente parejas datos clave-valor, en los cuales la clave nunca se puede repetir. Para recuperar un valor, simplemente se busca la clave correspondiente al mismo.

  • Bases de datos distribuidas por columnas: particionan los datos por columnas, de manera que se pueden paralelizar consultas sobre subconjuntos de datos muy grandes, ya que están almacenados en diferentes nodos de un sistema distribuido. Dos ejemplos de este tipo, ya explicados al hablar del ecosistema Hadoop, son HBase y Cassandra.
  • Bases de datos orientadas a documentos: en este caso también almacenan pares por clave, pero cada clave está asociada a un documento representado mediante un formato para datos semi-estructurados (XML, JSON, YAML, etc.). Los documentos, a su vez, pueden contener muchos otros pares clave-valor, clave-array (para listas de datos) u otros documentos, formando una estructura anidada.

  • Bases de datos para grafos: almacenan explícitamente información sobre nodos y sus relaciones, optimizando las consultas que recorren partes del grafo o el grafo en su totalidad. Dos ejemplo populares de este tipo son Neo4J y Titan, la última orientada a manejo de grafos de gran tamaño (120 * 109 nodos). A cambio de esta gran potencia, normalmente este tipo de bases de datos exigen aprender su propio lenguaje específico para realización de consultas, que suele ser bastante diferente de los lenguajes de programación a los que se suele estar acostumbrado.
Francisco Javier Cervigon Ruckauer

5 Tendencias de Análisis de Datos y Big Data. Guía de aprendizaje Francisco Javier Cervigon Ruckauer

5 Tendencias de Análisis de Datos y Big Data

Guía de aprendizaje

Objetivos

En este último tema, se presentarán las tendencias más importantes sobre análisis de datos y big data que van a marcar el desarrollo de este área durante los próximos años. En el apartado de análisis y visualización de datos se abordarán técnicas como el análisis de riesgos, la gestión de calidad o la aplicación del análisis y la visualización de datos para la toma de decisiones, los cuales resultan fundamentales para muchas empresas. En el apartado sobre técnicas econométricas se presentarán algunas metodologías para el modelado y predicción avanzada a partir de datos de series temporales. Finalmente, se concluirá esta sección con un repaso de las principales tecnologías que dirigirán la evolución del análisis de big data en los próximos años, así como sus principales áreas de aplicación.
Al concluir este módulo, habrás adquirido los siguientes conocimientos y competencias:
  • Conocer cuáles son las principales herramientas y tendencias dentro del análisis y visualización de datos aplicado a diferentes casos (análisis de riesgos, gestión de calidad, toma de decisiones).
  • Conocer cuáles son las metodologías actuales más importantes para el modelado y la predicción de datos temporales en econometría.
  • Identificar cuáles son las tecnologías más relevantes que marcarán el desarrollo futuro del análisis de big data.
  • Conocer las principales áreas de aplicación que más intensamente van a apostar por el análisis de big data como eje central de sus proyectos de extracción de conocimiento, desarrollo de nuevos servicios e innovación.

Contenidos

Los contenidos tratados en este tema son:

1. Tendencias en análisis y visualización de datos.

  • 1.1 Data Mining/Machine Learning.
  • 1.2 Actividad de autoevaluación sobre el contenido del vídeo.
  • 1.3 Análisis de riesgos y gestión de calidad.
  • 1.4 Análisis y visualización de datos para toma de decisiones.

2. Tendencias en técnicas econométricas.

  • 2.1 Metodologías para modelización y predicción avanzada.
  • 2.2 TModelización y predicción univariante.
  • 2.3 Actividad de autoevaluación sobre el contenido del vídeo.

3. Tendencias en análisis de big data.

  • 3.1 Entrevista/debate sobre tendencias en análisis de big data.
  • 3.2 Test sobre tendencias en análisis de big data.
  • 3.4 Cloud computing y big data.
  • 3.4 Aplicaciones del análisis de big data.

Metodología y recursos

Para el desarrollo de este módulo, se seguirá una metodología que combina la presentación dinámica de conceptos teóricos y metodológicos junto con ejemplos que ilustran las tendencias más sobresalientes para la evolución futura del análisis de datos y big data. Se combinarán diversos tipos de materiales:
  • Videoclases para presentar de forma detallada los conceptos, métodos, técnicas y herramientas que están marcando o marcarán tendencia en análisis de datos y big data.
  • Presentaciones multimedia para focalizar el proceso de aprendizaje sobre herramientas o conceptos de especial relevancia.
  • Pruebas de test a lo largo de todo el tema para reforzar la asimilación de ideas y conceptos básicos, permitiendo además la autoevaluación y la asimilación de los contenidos.
  • Entrevistas con invitados del sector empresarial para conocer de primera mano cuáles son, en su opinión, las claves para entender las tendencias futuras en análisis de datos y big data.
Todas las herramientas tecnológicas mencionadas en el tema son software libre y se pueden descargar sin coste siguiendo los enlaces que se indicarán en los apartados correspondientes.
Francisco Javier Cervigon Ruckauer

Tendencias en Análisis y Visualización de Datos Francisco Javier Cervigon Ruckauer

Tendencias en Análisis y Visualización de Datos



Análisis de Riesgos y Gestión de Calidad

La toma de decisiones es un proceso de la vida cotidiana. Existen numerosas técnicas para abordar un problema de decisión: desde un procedimiento lógico estructurado a un proceso meramente intuitivo. El problema de decisión surge cuando existen diversas alternativas y hay que seleccionar una de ellas. El proceso se complica en la selección de la mejor alternativa cuando se considera más de un criterio en la valoración de las alternativas como satisfactorias o no. En estos casos, la cuestión sobre cuál es la mejor alternativa posible da lugar a un problema de decisión multicriterio. El objetivo de un problema de decisión es encontrar la mejor alternativa de entre todas las posibles.
Los elementos de un problema de decisión son:
  • Un decisor o unidad decisora formada por un conjunto de individuos interesados en el problema.
  • Existencia de al menos dos alternativas o posibles decisiones.
  • Un ambiente formado por un conjunto de características que definen el contexto de la decisión (certidumbre, aleatorio, incertidumbre total,…).
  • Un sistema de relaciones que permite asignar a cada ambiente y a cada alternativa un resultado.
  • El espacio de resultados Z.
  • Al menos un criterio para seleccionar dentro del conjunto de alternativas la más favorable.
Dependiendo de la naturaleza de las características que definen el contexto de la decisión, existen dos tipos de problemas:
  • Caso discreto: técnicas como el ELECTRE Y AHP permiten abordar problemas de decisión discretos en los que el conjunto de alternativas es finito y las variables que influyen en el problema pueden ser de cualquier tipo.
  • Caso continuo: técnicas como la programación multiobjetivo, programación por metas, lexicográfico, distancias al ideal permiten abordar problemas de decisión continuos en los que el conjunto de alternativas es infinito.
Caso práctico
Una de las grandes expectativas de la NBA al finalizar la temporada es estudiar a quién se otorga el premio al mejor jugador MVP (Most Valuable Player). Para tomar esta decisión, la NBA valora a cada jugador según diversos criterios. La siguiente tabla muestra los criterios de selección del mejor jugador y los datos para 7 candidatos.
JugadorPuntos1Rebotes1Asistencia1%Aciertos (tiros campo)Partidos ganados (equipo)Minutos jugadosDefensa (valoración)
V1V2V3V4V5V6V7
Kobe Bryant27.65.96.043.3%3440.7Baja
Saquille O´Neal22.910.42.760.1%3434.1Muy Alta
Allen Iverson230.74.07.942.4%4342.3Alta
Paul Gasol17.87.32.451.4%4532.0Alta
Dirk Nowitzki26.19.73.145.9%5838.7Media
Tim Duncan20.311.12.749.6%5933.4Muy Alta
Steve Nash15.53.311.550.2%6234.3Muy Alta
Tabla 1. Datos 2004-2005. Fuente: www.nba.com 1Por partido
Figura 3: Criterios de selección y puntuación de jugadores NBA


Una compañía papelera debe planificar la producción de pulpa de celulosa. Esta pulpa la puede obtener por medios mecánicos o químicos. La fábrica tiene una capacidad de producción de 300 y 200 toneladas por día de cada uno de los dos tipos de celulosa. La producción de una tonelada de pasta de celulosa conlleva el uso de una jornada de trabajo y la empresa dispone de 400 trabajadores para llevarla a cabo. El margen bruto (ingresos netos menos costes variables) por tonelada de celulosa obtenida por medio mecánicos se estima en 1000 u.m.. La tonelada obtenida por medios químicos deja un beneficio de 3000 u.m. Los costes fijos de la papelera se estiman en 300.000 u.m. por día. La empresa se plantea, al menos, cubrir gastos:



Análisis y Visualización de Datos para Toma de Decisiones

Las técnicas de análisis y visualización de datos son herramientas fundamentales dentro del proceso de toma de decisiones> en la empresa. Si las decisiones estratégicas y operativas de un negocio se toman basándose en información objetiva que se obtiene a partir de los datos que describen nuestros clientes y procesos, entonces se puede evitar una excesiva influencia de opiniones o apreciaciones personales.
La Figura 1 muestra un ejemplo muy común de sistemas de visualización de datos que ofrecen soporte a la toma de decisiones: los llamados dashboards. Se trata de paneles que permiten interpretar de forma gráfica la evolución de los indicadores clave de rendimiento (más conocidos por sus siglas en inglés, KPIs), que describen los aspectos clave para el rendimiento de los procesos de negocio. Frente al dashboard, la persona encargada de la tarea de toma de decisiones puede comprobar con detalle los diferentes parámetros que describen los procesos de la empresa. Si alguno de los parámetros indica una posible anomalía, se puede actuar antes de que la situación se agrave.
Un tipo de sistemas todavía más sofisticados son los llamados sistemas de soporte a la toma de decisiones (más conocidos por sus siglas en inglés, DSS). En este caso, lo que se pretende es construir un sistema que, de forma automática o semi-automática, pueda tomar decisiones basándose en la interpretación de los datos que describen los procesos que está monitorizando. Como puede ser, un caso típico, un sistema de monitorización de las condiciones ambientales de un edificio inteligente, dotado de múltiples sensores de temperatura, humedad, producción y consumo energético (calefacción/refrigeración, etc.).



La principal aplicación de los DSS es la predicción de escenarios futuros, de forma que se puedan anticipar los posibles problemas antes de que ocurran. En el ejemplo anterior, ante los indicios de una posible ola de calor, el sistema puede intentar efectuar recomendaciones sobre la combinación de gasto energético de refrigeración más eficiente, para mantener las condiciones ambientales del edificio dentro de unos límites razonables. Al mismo tiempo, puesto que el calor en el exterior será extremo, no podrá conseguir la misma temperatura que en condiciones más benignas sin un consumo energético excesivo, que seguramente conviene evitar por razones de coste.
Francisco Javier Cervigon Ruckauer