introducción al business intelligence y al big data

159

Upload: david-hurtado

Post on 24-Jan-2017

374 views

Category:

Data & Analytics


10 download

TRANSCRIPT

Page 1: Introducción al Business Intelligence y al Big Data
Page 2: Introducción al Business Intelligence y al Big Data

Introducción a Business Intelligence y Big Data.

Módulo 01

Qué quiere decir Inteligencia de Negocio. Inteligencia de Negocio quiere decir capturar, procesar y explotar los datos para tomar mejores decisiones. Es usar datos de ayer y hoy para tomar mejores decisiones para mañana. Es una fábrica de información: Conceptos, procesos y herramientas informáticas que permiten obtener mejor información para dar soporte a la toma de decisiones.

Tipos de información y decisiones de empresa

Alta dirección

Información agregada y desestructurada

Decisiones estratégicas de mercados y productos Mandos intermedios

Información operativa y semi-estructurada

Indicadores de seguimiento de la gestión Equipos y empleados

Información estructurada

Decisiones dentro de protocolos y reglas

Page 3: Introducción al Business Intelligence y al Big Data

Tecnologías de un sistema de Inteligencia de

Negocio.

Organización del BI en la empresa.

Arquitectos de soluciones

Desarrolladores de integración de datos - Escriben scripts de extracción de datos para descubrir problemas o responder preguntas.

Analistas de negocio

Administradores de bases de datos - Entienden los requerimientos y construyen modelo.

Gestores de proyecto

Preparadores de informes - Escriben informes y presentan resultados usando

Page 4: Introducción al Business Intelligence y al Big Data

herramientas.

Perfil del profesional del BI. Analista de negocio

- Sector - Función - Estadística - Gestión de proyectos

Conocedor de tecnología

- Bases de datos - Data-Warehouse - Carga y conversión de datos - Comunicaciones - Aplicaciones de empresa - Rendimiento

Habilidades interpersonales para trabajo en equipo

- Comunicación - Colaboración - Liderazgo - Creatividad - Disciplina - Pasión

Marco de referencia: Los programas de Bi y Big Data.

Sistemas de Inteligencia de Negocio

- Introducción al BI - Mercado de BI - Proyectos de BI

Tecnologías de soporte - Bases de datos

Page 5: Introducción al Business Intelligence y al Big Data

- Datawarehouse - Data mining

Análisis de datos - Sistemas de soporte a la decisión - Business Analaytics - Nuevas tendencias

Big data - Big/Open data - Bases de datos NoSQL - Nuevas tendencias

Niveles de madurez analítica

Modelos de análisis.

Implantación efectiva de la Inteligencia de Negocio en la empresa.

Implicaciones. La Inteligencia de Negocio es la primera fuente de inversión por parte de los CEO, dentro del área denominada «Exploit the new», que son aquellos proyectos cuyo contenido puede producir una transformación empresarial.

Page 6: Introducción al Business Intelligence y al Big Data

También es la mayor fuente de demanda de profesionales para los próximos años, según indican las previsiones

5 estadios de modelo empresarial.

Impaired: Empresas impedidas. No usan los datos. Analytical Silos: Utilizan hojas de cálculo y reportes obtenidos de los sistemas transaccionales. Se trata de un trabajo basado en el uso de un paquete ofimático. Analytical aspirations: Intentan construir una información homogénea y común compartiendo la información de los silos departamentales. Analytical companies: Suelen construir un repositorio inteligente de datos por encima de sus ERP. Analytical competitors: Ya han desarrollado sistemas de análisis, disponen de profesionales y centros de competencias. Utilizan la Inteligencia de Negocio para obtener ventajas frente a sus competidores. Estadísticas.

Otra visión del ciclo de adopción.

Se trata de analizar para qué usan los datos las empresas. En la visión empresarial descriptiva se realizan análisis retrospectivos, o mediante el seguimiento de objetivos a corto, medio o largo plazo. Las empresas usan los datos para describir la información financiera, de clientes y productos. La mayoría de las empresas se encuentran en este nivel. En el siguiente nivel, que es el de diagnóstico y simulación, se pueden establecer relaciones de causa-efecto. En esta etapa se establecen análisis sobre qué

Page 7: Introducción al Business Intelligence y al Big Data

ocurriría si... mediante análisis del tipo «what if». El nivel más avanzado de la Inteligencia de Negocio se llama predicción analítica, y es donde se implanta la analítica de datos, que permite establecer predicciones y actuaciones preventivas. Las empresas van a evolucionar desde una visión descriptiva hasta una visión predictiva, prescriptiva y preventiva.

Ciclo de madurez (BMMI)

En este modelo se mezclan criterios de adopción tecnológica con criterios de uso funcional. En este modelo se dan siete pasos. - No existe BI - Datos accesibles. Se basa en hojas de cálculo. - Decisiones basadas en datos. Los datos se comparten entre distintos departamentos y un equipo de gestión prepara informes para el comité de dirección. - Datawarehouse. Se crea un repositorio de datos inteligentes. Permiten realizar búsquedas e informes. - Reporting formalizado. El data warehouse crece en volumen y calidad. El dato es único y común para todos. - OLAP. Aparece la figura del analista o científico de datos y los centros de competencia de BI.

BI desarrollado: Predicción y prescripción. Se trabaja con cuadros de mandos avanzados, donde se realiza minería de datos. Se democratiza el BI. Se empieza a trabajar con grandes volúmenes de datos. Se utiliza la inteligencia predictiva. Es la era del Big Data.

Page 8: Introducción al Business Intelligence y al Big Data

CICLO DE VIDA LA INFORMACIÓN

USOS ESTRATÁGICOS DE LA INFORMACIÓN Obtener mejor información de los clientes,

proveedores, socios e interesados.

Añadir valor a los productos, servicios y procesos actuales.

Crear nuevos productos, servicios, usos, canales, ofertas y precios.

Crear nuevos negocios y modelos de negocio y transformar mercados enteros.

Realizar continuamente experimentos.

Facilitar la toma de decisiones descentralizada y aplanar las estructuras.

Potenciar la colaboración interna y premiar la innovación.

Facilitar la colaboración externa, con proveedores o clientes, o de socios de negocio.

Maximizar la gestión del talento.

El ciclo de vida de la información. Medir - Registrar lo ocurrido de forma cuantitativa

etiquetando los datos para luego poderlos recuperar.

Comparar - Relacionar sucesos del pasado con los del presente, o los objetivos con los resultados.

Reportar - Presentar la información.

Analizar - Establecer procesos, algoritmos, modelos de datos, patrones, pautas, tendencias, etc.

Predecir - Establecer el tipo de comportamiento que se debería producir o intervenir en el comportamiento para que se produzca el objetivo.

Avisar - Establecer alarmas cuando un suceso se desvía del comportamiento.

Experimentar - Realizar en tiempo real

Page 9: Introducción al Business Intelligence y al Big Data

simulaciones de sucesos. Por ejemplo, comprobar la reacción de un cliente ante un producto nuevo.

Colaborar - Intercambiar datos, información y conocimiento, dentro y fuera de la empresa.

Recompensar - Premiar los comportamientos esperados de forma objetiva, y no intuitiva.

Saber - Documentar la experiencia y el aprendizaje adquiridos por la organización, proporcionándola a terceros.

De la información al conocimiento.

Profesor Earl: «Las empresas basadas en información son capaces de convertir los datos en información, y la información en conocimiento».

DATOS INFORMACIÓ

N CONOCIMIEN

TO DIMENSION

ES Eventos Tendencias Dominio

FORMA Transaccione

s Patrones Aprendizaje

TIPO DE TAREAS

Representación

Manipulación Codificación

FACTOR HUMANO

Observación Juicio Experiencia

PROPÓSITO Automatizació

n Toma de

decisiones Acción

VALOR Elementos aislados

Menos incertidumbre

Nuevo entendimiento

Todos toman decisiones.

Page 10: Introducción al Business Intelligence y al Big Data

ALTA DIRECCIÓN

Información desestructurada.

Planes estratégicos y de negocio.

Decisiones de producto y de mercado.

Indicadores clave y control de gestión.

MANDOS INTERMEDIOS

Información semi-estructurada.

Planes operativos, previsiones, presupuestos.

Protocolos y procedimientos de trabajo.

Indicadores de seguimiento y su seguimiento.

GESTIÓN OPERATIVA, EQUIPOS Y EMPLEADOS

Información estructurada.

Decisiones dentro de reglas y protocolos.

Seguimiento de objetivos e indicadores operativos.

ANALISTAS Y

FACILITADORES

Page 11: Introducción al Business Intelligence y al Big Data

Diferentes herramientas o diferentes capas de la misma herramienta.

Regreso a los básicos.

Peter Drucker: «No se puede gestionar lo que no se puede medir. Se mide lo que se hace y se hace lo que se mide».

Medición – Elegir las métricas, las estadísticas y los indicadores que mejor representan la misión y los objetivos de negocio de una empresa y sus prioridades, estableciendo a partir de ahí relaciones de causa-efecto, simulaciones, patrones, que permitan explicar el comportamiento. Responsabilidad – Si se plantea la misión y los procesos de empresa, es posible establecer objetivos individuales y de grupo, perseguir que se cumplan y premiar el cumplimiento.

ALTA DIRECCIÓN

Executive Information Systems.

Magement Information Systems.

Cuadros de mando.

Reports, consultas.

MANDOS INTERMEDIOS

Magement Information Systems.

Reports, consultas.

Extracción e integración de datos.

Sistemas de Apoyo a la Decisión.

GESTIÓN OPERATIVA, EQUIPOS Y EMPLEADOS

Sistemas corporativos y departamentales.

Reports, consultas.

Sistemas de Apoyo a la Decisión.

ANALISTAS Y

FACILITADORES

Page 12: Introducción al Business Intelligence y al Big Data

Ejecución – Tomar decisiones basadas en los datos, medir los resultados, adjudicar responsabilidades y volver a empezar.

Gestión de proyectos de Business Intelligence.

Un proyecto de BI es un espacio común entre profesionales de los negocios y de Tecnologías de la Información. Los proyectos de BI requieren metodologías ágiles, y habilidades gerenciales y de tipo técnico.

Algunos tipos de proyecto de Inteligencia de Negocios.

Establecer la estrategia y organización de BI de la

empresa.

Construir un sistema de datos maestros (MDM).

Construir un sistema de almacenamiento y gestión de datos (DW).

Construir los sistemas de extracción, transformación, carga (ETL) e integración.

Diseñar cuadros de análisis (OLAP).

Diseñar informes y cuadros de mando.

Diseñar sistemas de inteligencia analítica.

Construir sistemas de gestión de grandes volúmenes de datos (Big Data).

Facilitar los procesos de adopción y uso de los sistemas de BI dentro de la empresa.

Un proyecto Bi sigue siendo un proyecto.

Es un esfuerzo temporal llevado a cabo para crear un producto, servicio o producto. Se tienen que tener en cuenta los factores: Alcance, tiempo, coste y calidad. Alcance determina cuál es el objetivo de la implantación del

Page 13: Introducción al Business Intelligence y al Big Data

BI. El tiempo es lo que se tarda en implantar el proyecto. El coste se refiere a elementos de hardware, personal, etc. La calidad tiene sus propios estándares, que deben ser cumplidos.

Marco de referencia para la gestión de proyectos BI.

Es el Project Management Body of Knowledge (PMBOK), donde se presentan estándares, pautas y normas para la gestión de proyectos. Otro marco puede ser el de Prince 2. Las cinco etapas del PMBOK son:

Iniciación. Se constituye el proyecto.

Planificación. Se asignan responsabilidades y recursos.

Ejecución. Se despliega el producto. Es la de mayor consumo.

Seguimiento y control. Se compara la situación conseguida con las líneas base del proyecto. Admite control de cambios.

Cierre. Entrega de la documentación oficial. Áreas de conocimiento a gestionar por el marco PMBOK.

Alcance

Tiempo

Costes

Calidad

Recursos humanos

Usuarios

Comunicación

Riesgos

Compras y contratos

Page 14: Introducción al Business Intelligence y al Big Data

Siete etapas durante la ejecución.

Justificar - Qué y para qué se despliega el proyecto. Además evaluar el Retorno de la Inversión (ROI)

Estrategia de soporte a decisiones - Evaluación inicial de las dificultades funcionales y técnicas del proyecto. Qué datos se necesitan y cómo conseguirlos.

Requisitos de información estratégica - Quién usará la información y para qué. Qué decisiones va tomar y la información que se necesita para decidir.

Análisis y diseño conceptual - Se trabaja con prototipos.

Diseño y construcción/configuración - El sistema suele estar parametrizado.

Pruebas - Suelen ocurrir sorpresas.

Uso y evaluación de la «release» - Tendrá actualizaciones en el futuro.

Factores críticos de éxito.

Enfoque y estrategia de implantación: porqué, para qué, para quién, cuándo, cómo, por quién, cuánto, con qué ritmo y fases.

El desarrollo de capacidades: técnicas, funcionales, interpersonales.

Cultura de empresa: toma de decisiones basadas en los datos.

Talento analítico: saber hacer las preguntas, buscar y modelar los datos, interpretar las respuestas.

El gobierno del proyecto: esponsorización directiva y espacio común entre IT y negocio.

Calidad y gestión de los datos: tiempo, contenido y forma.

Factores de rendimiento técnico: carga, disponibilidad, respuesta.

Page 15: Introducción al Business Intelligence y al Big Data

El proceso de adopción y uso efectivo.

Proyecto y servicio se difuminan.

Módulo 02

Procesos de Extracción, Transformación y Carga

La arquitectura de inteligencia de negocios se divide en dos entornos: el entorno analítico, el que se realizan operaciones de análisis y visualización de datos con técnicas de minería de datos (data mining) o cuadros de comando, para presentar la información analizada. Y el entorno de data warehousing, en el que se extraen datos desde diferentes fuentes de información para cargarlos en el almacén de datos.

Para conseguir que los datos extraídos se carguen en el almacén de datos, se emplean operaciones ETL. El objetivo del proceso ETL es obtener los datos para los diferentes almacenes de datos de la organización.

Page 16: Introducción al Business Intelligence y al Big Data

1. Obtención de datos.

Determinar los datos necesarios entre todas las fuentes de datos posibles.

En la obtención de los datos se distinguen dos fases comprendidas a lo largo del tiempo:

1. Obtención de los datos para la imagen inicial. 2. Obtención de los datos para las actualizaciones

(final eventual del histórico de obtención de datos).

Clasificación de los datos: 1. Datos estructurados. (Provienen de estos

sistemas operacionales). 2. Datos semiestructurados (provienen de «XML»). 3. Datos no estructurados (provienen de textos,

imágenes, vídeos, etc.)

2. Transformación, depuración e integración.

Page 17: Introducción al Business Intelligence y al Big Data

Las siguientes fases van a ser la transformación, depuración e integración. En las operaciones de transformación se va a cambiar el formato o tipo de datos (ejemplo: formato fecha). Reestructurar campos (fusionar o dividir campos). Se va a cambiar las unidades o códigos de transformación (ejemplo: cambios de moneda). Se va cambiar el grado de agregación (calcular las ventas mensuales a partir de las diarias). Se va a añadir información temporal (periodo de validez de los datos). Durante la depuración se van a detectar y corregir los valores inconsistentes, para obtener unos datos de calidad. Se van a añadir valores por defecto del sistema operacional a los campos con valores no definidos. Se va a detectar y suprimir información duplicada. Finalmente, el proceso de integración dependerá si se está realizando la carga inicial del almacén de datos, o una actualización del mismo. El principal problema va a ser detectar los datos que representan el mismo concepto. Por último se van a transformar los datos, para homogeneizar la representación y eliminar la información duplicada. Ya terminada esta fase, los datos pueden ser cargados en el almacén de datos.

3. Herramientas ETL.

Control y automatización de la extracción de los datos: Disminuyen el tiempo empleado, minimizan el margen de error y permiten mayor flexibilidad.

Acceso a una gran variedad de fuentes de datos diferentes.

Proporcionan la gestión integrada del data warehouse (almacén corporativo) y los data marts existentes (almacenes departamentales):

Integrando la extracción, transformación y carga para la construcción del data warehouse corporativo y de los data marts.

Uso de la arquitectura de metadatos: facilitando la

Page 18: Introducción al Business Intelligence y al Big Data

definición de los objetos de negocio y las reglas de consolidación.

Manejo de excepciones.

Planificación: permite llevar una gestión de la planificación de todos los procesos necesarios para la carga del data warehouse.

Soporte en la explotación del data warehouse.

Ejemplo de creación de un ETL para gestionar los archivos de registro (logs) de una página

web. Sistema de análisis de estadísticas web. Recopilar la información de los log de una web corporativa en un único repositorio de datos que permita el análisis de las visitas web. Para hacerlo se va a utilizar la herramienta Kettle (Pentaho Data Integration). Está basado en el desarrollo de dos tipos de objetos:

Transformaciones: permiten definir las operaciones de transformación de datos, a bajo nivel. Es decir, se coge un fichero, se leen los datos, se transforman y se les da una salida. Por ejemplo, sería obtener los datos de un fichero.

Trabajos: permiten gestionar y administrar procesos ETL a un alto nivel. Es decir, permite agrupar un conjunto de trabajos y operar sobre ellos a un nivel más elevado. Por ejemplo, sería un conjunto de transformaciones para cargar los datos en el data warehouse.

Kettle se compone de cuatro módulos:

Spoon: es el entorno gráfico para el desarrollo de transformaciones y trabajos.

Pan: permite ejecutar transformaciones.

Kitchen: permite ejecutar trabajos.

Page 19: Introducción al Business Intelligence y al Big Data

Carte: es un servidor remoto que permite la ejecución de transformaciones y trabajos.

Caso práctico – Datos de origen.

El archivo «log» contiene los siguientes campos:

IP desde la que se accede.

RFC 1413: Identificador de la máquina en la red.

Usuario remoto: Identificador del usuario.

Fecha: Formato [dd/MM/yyyy:HH:mm:ss -XXXX].

Recurso (peticiones http): aquello a lo que se accede.

Resultado.

Tiempo: Segundos que se tarda en acceder al recurso.

Referente: Desde donde se accede al recurso.

User-agent: Información del sistema operativo y del navegador usado, para acceder al recurso.

Para el caso práctico se excluye la información relativa a RFC 1413, Usuario remoto y Tiempo. La información está dentro de un fichero llamado «access.log». Se han preparado otros ficheros de forma adicional, porque la información sobre el navegador y el sistema operativo utilizado por el usuario, más el código de petición de

Page 20: Introducción al Business Intelligence y al Big Data

respuesta del servidor son códigos que no se van a representar para el usuario, pero en cambio sí que se le va a presentar la información relacionada con esos códigos obtenidos. Es decir, se va a explicar con el siguiente formato semántico: Sistema operativo Windows 10 con navegador Firefox, y no con la cadena del user-agent, que en este caso correspondería a Windows NT 6.2 con Mozilla/5.0

access.log: Contiene la información de acceso a nuestra aplicación web.

Navegador.csv: Contiene un listado de navegadores base.

Protocolo.csv: Contiene los protocolos de acceso estándar.

Resultado.csv: Contiene el resultado que puede proporcionar el servidor a un acceso.

So.cvs: Contiene un listado de sistemas operativos base.

Planificación de procesos ETL Teniendo en cuenta que la carga de datos puede ser incremental o inicial, en este caso se elige la carga inicial. La estrategia que se seguirá para cargar los datos será:

Cargar las dimensiones navegador, protocolo, resultado y SO a partir de los ficheros anteriores.

Alimentar la tabla de hecho (que es la de visitas).

Crear un trabajo para lanzar todas las transformaciones de una manera única.

Page 21: Introducción al Business Intelligence y al Big Data

Kettler Pentaho tiene un módulo a la izquierda, caracterizado por directorios. Otro a la derecha donde se establecen las conexiones y filtros a ejecutar sobre los datos.

Introducción al Data Warehouse y Factoría de Información Corporativa (FIC).

Data Warehouse (DW).

El almacén de datos (DW) es único para cada organización. Se estructura de forma jerárquica de acuerdo con un modelo multidimensional que facilita la posterior extracción de datos. En él se encuentran repartidos todos los datos tanto de fuentes externas como internas, con distinta estructura y heterogéneos. Esas fuentes van a ser transformadas para ser consultadas por los analistas de la organización, para que tomen sus decisiones a nivel estratégico. En un sistema DW muy pocos usuarios acceden a una gran cantidad de datos, mientras que en un sistema operacional es al contrario.

¿Qué es DW?

Es una colección de datos orientados al tema, integrados, no-volátiles e historiados, organizados para dar soporte a los procesos de ayuda a la decisión.

Orientado al tema: La información se clasifica en función de los aspectos que son de interés para la organización. En contraste con la orientación al proceso de los sistemas tradicionales.

Page 22: Introducción al Business Intelligence y al Big Data

Datos integrados: Proceden de diversos sistemas operacionales, pero deben tratarse como si su origen fuera un único sistema, de una exclusiva fuente de información. Para conseguir esa transformación se deben unificar las estructuras de datos, la terminología y definiciones, para conseguir un modelo de datos común. Para integrar los datos en el almacén de datos, antes deben pasar por un proceso ETL.

Datos históricos. Los datos deben mostrar su evolución a lo largo del tiempo. El tiempo es implícito en los almacenes de datos. Los datos temporales permitirán hacer estudios sobre la evolución del negocio. En un DW los datos se hospedan durante periodos de cinco a diez años, pero luego se pueden archivar.

No-volatividad: Significa que los datos van a ser persistentes. Una vez cargados en el almacén de datos no van a ser modificados.

Tipos de usuario de DW

Granjero

Accede a información de forma predecible y repetitiva.

Sólo accede a su parcela de información: Extrae datos para

mejorar el funcionamiento de la empresa.

Page 23: Introducción al Business Intelligence y al Big Data

Utiliza herramientas OLAP (Herramientas sencillas destinadas a la presentación de datos).

Ejemplo: El responsable de realizar las previsiones de stock de los almacenes. Explorador

Explora gran cantidad de datos.

Accede a información de forma impredecible e irregular.

Perfil informático o estadístico.

Su objetivo es obtener información que proporcione ventaja competitiva.

Utiliza herramientas informáticas complejas. Ejemplos: Buscar patrones de comportamiento para detectar fraudes. Detectar relaciones entre las compras. Generar reglas automáticas para la cartera de inversiones. Turista

Grupos de dos o más personas

Un tipo de perfil con conocimientos del negocio y visión empresarial.

Otro tipo de perfil con conocimientos informáticos.

Consultan datos y metadatos.

Acceden sin ningún patrón de acceso.

Las herramientas que utilizan suelen ser navegadores o buscadores.

El resultado de sus visitas van a ser proyectos para los usuarios Granjero y Explorador.

El objetivo del almacén de datos. Es almacenar la información necesaria para descubrir

Page 24: Introducción al Business Intelligence y al Big Data

nuevas oportunidades que permitan mejorar el negocio. Los objetivos principales son:

Ayudar en la toma de decisiones.

Segmentar los datos del negocio.

Gestionar el conocimiento de la empresa.

Depurar los datos.

Comparación entre bases de datos operacional con una base de datos decisional.

Aspectos Base de Datos Operacional

Almacén de Datos

Objetivo Soporta operaciones a

diario Análisis y toma de

decisiones

Proceso Consultas

transaccionales y repetitivas

Consultas masivas y puntuales.

Actividad Predomina la actualización

Predomina la consulta

Rendimiento Importa el tiempo de

respuesta en la transacción instantánea

Importa la respuesta masiva

Explotación Información interna a la

organización

Información tanto interna como externa a

la organización

Volatibilidad Actualizable Carga, no actualiza

Usuarios Perfil medio/bajo Perfil alto

Organización Relacional Multidimensional

Granularidad Datos en general

desagregados, detalle bajo

Datos agregados y en distintos niveles de

detalle

Factoría de la Información Corporativa (FIC). La formación de información corporativa (FIC) son todos los elementos intermedios que interaccionan desde que la información proveniente de fuentes de datos interna y externa de la organización es homogeneizada, integrada y cargada en el almacén de datos, hasta que esta misma

Page 25: Introducción al Business Intelligence y al Big Data

información es extraída para dar respuesta a las consultas de los analistas.

Almacén de datos Departamental. Para optimizar el rendimiento de un almacén de datos es necesario que contenga una menor cantidad de información, para que sea más asequible. El almacén de datos departamentales son conjuntos de datos separados en función de cada departamento o área del negocio, que contienen una información parcial del negocio. Aunque a corto plazo es interesante debido a su menor coste menor y su veloz rendimiento veloz, a largo plazo terminan por asumir información que mezcla distintos departamentos. Para solucionar el inconveniente se crea un almacén de datos corporativo.

Almacén de datos Corporativo.

El almacén de datos corporativo almacena los datos de la empresa con el máximo detalle posible. Dispone de gran cantidad de datos. Posee un almacenamiento eficiente. No es apropiado para usuarios finales. Está diseñado para dar la mejor respuesta posible al conjunto de todos los usuarios. Comparación entre los

almacenes de datos (DW)

Departamental Corporativo

Temática Específica Genérica

Fuente de datos Pocas Muchas

Tamaño Gb Tb

Tiempo de desarrollo Meses Años

Modelo de datos Mutlidimensional Relacional

Page 26: Introducción al Business Intelligence y al Big Data

Los almacenes de datos corporativos sólo se actualizan durante el fin de semana. En consecuencia, los almacenes de datos departamentales tampoco lo estarán siempre. En general, los usuarios de BI están más interesados en los datos históricos que actuales (técnicas de minería de datos, reportes con información agregada/resumida, semanal/mensual, etc.) Pueden existir usuarios con necesidad de información actualizada e integrada.

Almacén de datos operacional.

Es una estructura que se sitúa entre el mundo operacional y la toma de decisiones. Está orientado al tema e integrado, pero no tiene información temporal. Los datos siempre están actualizados. No contiene datos históricos. Su repositorio es volátil. Es un complemento del almacén de datos corporativo.

Metadatos en la Factoría de Información Corporativa

Page 27: Introducción al Business Intelligence y al Big Data

¿Qué son los metadatos?

Algunos ejemplos. Los metadatos son datos que describen características sobre otros datos, y su objetivo es facilitar su administración y su uso. Por ejemplo, sirven para saber cuál es la temática de una página web y quién la ha desarrollado. En la Factoría de Información Corporativa su rol es el de mantener unidos todos los componentes de la FIC. El estándar para los metadatos es la Common Warehouse Metamodel (CWM), que define una especificación para el modelado de metadatos relacionales, no relacionales, objetos multidimensionales y otros más, propiedad del Object Management Group (OMG). Se basa en tres niveles:

UML: Unified Modeling Language

MOF: Metadata Object Facility (metamodelado y el estándar repositorio de metadatos )

XMI: XML Metadata Interchange (norma de intercambio de metadatos).

Metadatos en la Factoría Información Corporativa

(FIC). Los metadatos pueden encontrarse en todas las fuentes de datos, así como en los procesos de Extracción, Transformación y Carga (ETL). Sobre el origen de los datos:

Parecidas a las fuentes de datos. Sobre la salida de los datos:

Page 28: Introducción al Business Intelligence y al Big Data

Parecidas a las de los almacenes de datos. Sobre la transformación de los datos:

Frecuencias.

Fórmulas de transformación

Políticas de acceso. Permiten automatizar procesos de ETL.

Uso de metadatos.

Los metadatos son útiles para el equipo de desarrollo de la FIC, los técnicos que mantienen el sistema y los usuarios finales. Los usuarios finales no sólo requieren información sobre los datos, sino también sobre los metadatos.

Tipo de metadatos.

Page 29: Introducción al Business Intelligence y al Big Data

De construcción: Estructura de las fuentes de datos, de los almacenes de datos, transformaciones, planificación, semántica, etc.

De gestión: Usuarios permitidos y accesos, accesos realizados, resultados de las extracciones y transformaciones, etc.

De uso: Selección de metadatos de construcción y de gestión.

Ejemplos.

Fórmula de cálculo de la letra del DNI, extensión de un documento, código de seguridad de una cuenta bancaria, título de una página web, keywords, un resumen, información sobre las tablas de una base de datos (atributos, tipos, restricciones, etc.), información sobre relaciones entre objetos / personas (número de participantes, transitividad, simetría, etc), número de páginas de un libro, idioma de un libro/web/etc, otros.

Identificando metadatos.

Un analista necesita consultar el resultado de las ventas de una cadena de tiendas. Las ventas registradas en los sistemas operacionales de las tiendas se cargan cada día en el almacén de datos. El analista puede consultar los datos del almacén de datos, el significado de un dato concreto, su fórmula de cálculo, si los datos están actualizados y las incidencias particulares que ha habido (si faltan datos de alguna tienda).

Diseño Multidimensional.

Page 30: Introducción al Business Intelligence y al Big Data

Necesidades de los analistas.

Los analistas plantean necesidades básicas como: ¿Cuál es la evolución de las ventas de productos durante el mes de marzo respecto al mismo mes del año pasado? El sistema decisional no sirve para ayudar a vender, comprar, producir, o transportar, sino a evaluar, comparar, presupuestar, planificar, proyectar, etc. Por tanto, para responder cuestiones como la del ejemplo, se deberían hacer consultas SQL que sólo están al alcance del personal técnico.

Las alternativas son las hojas de cálculo.

MS Excel es una de las herramientas de reporting y análisis de datos más utilizadas en BI.

Se basa en un modelo tridimensional: hoja x fila x columna -->celda.

Resulta muy útil para análisis del tipo «what if». Pero para sistemas decisionales no resulta apropiada para grandes cantidades de datos. No aporta semántica a los datos (las celdas se identifican por coordenadas). La creación de informes es compleja. No facilita las jerarquías de agregación. Por ejemplo, ventas por día, por mes, por año. Por zonas geográficas... La solución es la creación de un sistema híbrido que proporcione flexibilidad y potencia de cálculo y la facilidad de consulta de las bases de datos. Son las herramientas

Page 31: Introducción al Business Intelligence y al Big Data

OLAP.

Herramientas OLAP. Características. Herramientas con capacidad de procesar consultas en línea con el objetivo de analizar datos que cumplan con las propiedades FASMI (Fast, Analysis, Shared, Information).

Fast: Tiempo de respuesta: 5 segundos (20 seg. excepcionalmente).

Analysis: Herreamientas de análisis estadístico para responder preguntas del tipo: «why» y «what if».

Shared: Mecanismos de seguridad, concurrencia y compartición de datos.

Information: Almacenar y gestionar gran cantidad de datos y de información (metadatos).

Multidimensionalidad OLAP.

Objetivos:

Que los usuarios no dependan del departamento de informática.

Que se puedan formular nuevas preguntas de forma dinámica.

Presentar los datos de la manera en que los analistas están acostumbrados a verlos.

Es decir: - Hechos: datos métricos a analizar. Qué se quiere analizar. - Dimensiones: datos descriptivos. Quién, a quién, dónde, cuándo, cómo, etc. - La posición de una celda de información define su significado. En los modelos OLAP, para representar la información, se utilizan hipercubos o cubos multidimensionales, con

Page 32: Introducción al Business Intelligence y al Big Data

dimensión n, donde n es el número de dimensiones o números de puntos de vista desde los que se puede visualizar un cubo, es decir, los datos. En el ejemplo de la figura se observa un cubo tridimensional donde se visualizan las fechas, productos y lugares donde se efectuó la venta. Al identificar la posición de una celda, también se obtienen los datos que pueda ofrecer el cubo.

Operaciones sobre un cubo.

Las operaciones permitidas sobre un cubo son:

Slice (o sesgo).

Dice (o dado).

Roll-up (o generalización) - Operación con jerarquía de agregación.

Drill down (o especialización) - Operación inversa a roll-up.

Drill across (o navegación entre cubos).

Page 33: Introducción al Business Intelligence y al Big Data

Estas operaciones pueden encadenarse para cubrir necesidades analíticas de los usuarios, creando consultas más complejas. Slice corta el cubo para reducir el número de dimensiones. Dice selecciona un subconjunto de celdas del cubo. Nivel de detalle y jerarquías de agregación. Suponiendo que después de ver el cubo anterior nos interesara consultar la información con otro nivel de abstracción, como puede ser por Comunidad Autónoma en vez de por ciudad, o añadiendo otra capa de abstracción con una consulta sobre el país, se habría definido una jerarquía de agregación. Roll-up reduce el detalle en que se ven los datos según una jerarquía de agregación previamente definida. Es como efectuar una operación de zoom con valores de disminución. No funcionará sin definir la jerarquía de agregación. Drill-down operación inversa a Rol-up. Es como efectuar una operación de zoom para aumentar el detalle con que se ven los datos, según una jerarquía de agregación previamente definida. No funcionará sin definir la jerarquía de agregación, y sin definir los datos con un suficiente nivel de detalle.

Page 34: Introducción al Business Intelligence y al Big Data

Drill across permite cambiar en tema/hecho de análisis. Tras la operación continúan las mismas dimensiones, pero en un hecho distinto.

Diseño multidimensional: un problema difícil. La consulta de información utilizando el modelo

miltidimensional es muy sencillo, pero: - El diseño multidimensional es un proceso complejo. - La creación y mantenimiento del data warehouse es un proceso altamente crítico. - La implantación y mantenimiento de una herramienta OLAP es complicado.

Para abordar un proyecto de data warehouse es necesario contar con el soporte profesional adecuado. Implicando profesionales con gran conocimiento y experiencia en el tema.

Diseño lógico de un cubo.

Page 35: Introducción al Business Intelligence y al Big Data

OLAP Arquitecturas.

Cuando queremos crear una base datos multidimensional podemos utilizar directamente un modelo relacional para representar los datos. Cuando hacemos esto se dice que utilizamos un ROLAP o Relational OLAP (On-Line Analytical Processing). Utilizar un ROLAP es muy adecuado, pero hay quienes no lo consideran así porque se utilizan tablas bidimensionales para almacenar hipercubos que son elementos «n» dimensionales. Algunos autores usan alternativas como los modelos MOLAP y HOLAP. Estos modelos representan los datos en un formato más cercano a como se pueden observar los datos, y en un formato también más cercano a cómo se ve la estructura de los cubos multidimensionales. Alternativas para una BD Multidimensional

Usar un modelo relacional: Relational OLAP. - Algunos no lo consideran ADECUADO:

- Utilizar tablas para almacenar hipercubos.

Page 36: Introducción al Business Intelligence y al Big Data

Usar modelos alternativos: MOLAP, HOLAP. - Ofrecen modelos alternativos de representación más cercanos a la estructura de cubos.

Los sistemas ROLAP son sistemas bidimensionales donde los datos se almacenan en tablas, y por tanto los hipercubos se almacenan en un conjunto de tablas. En la figura del ejemplo se representan las ventas por ciudades y fechas, y este cubo, para representarlo en un sistema ROLAP habría que representarlo como mínimo, con distintas tablas: una para Ventas, otra para productos, otra para Gamas de productos, otra para Pueblos, Regiones, Estados... Y en función de las jerarquías de agregación, otras para Días, Meses, Trimestres, Años, etc. Es decir, que de un cubo multidimensional hay múltiples tablas para representar ese cubo.

Page 37: Introducción al Business Intelligence y al Big Data

La alternativa son los sistemas MOLAP, donde se representan los cubos mediante distintas matrices. Entendiendo matrices como elementos bidimensionales. En este caso, con el mismo cubo del anterior ejemplo, para cada una de las dimensiones se podría realizar una operación Dice. Y serían representadas siguiendo esta estructura.

ROLAP vs MOLAP Acceso a los datos:

ROLAP: Se tiene que traducir la consulta multidimensional a SQL. MOLAP: Se ejecutan directamente las consultas sin proceso de traducción previo.

Almacenamiento de los datos: ROLAP: - Mejoran la velocidad de respuesta mediante índices y distribución de los datos en particiones. - Esta estructura es muy útil y funciona muy bien en cubos, es decir, en cubos en los que haya gran cantidad de celdas con valores nulos.

Page 38: Introducción al Business Intelligence y al Big Data

MOLAP: - Diseño tiene consecuencias en el tiempo de respuesta y en el almacenamiento de los datos. - Eficiencia baja en cubos dispersos.

Sensibilidad a cambios: ROLAP: Los datos se almacenan en tablas relacionales, por tanto, el sistema puede recibir cambios sin ningún problema. Muy alta. MOLAP: Muy baja cuando implica un cambio en la estructura de la matriz. Resultando inadecuado cuando se tienen que realizar cambios continuos sobre los cubos. MOLAP Ventaja: Velocidad al consultar datos. Desventaja: No resulta eficiente en la gestión de grandes volúmenes de datos. Muy útiles en Data Marts relativamente pequeños y estables. ROLAP Ventaja: Sistemas dispersos (muchas celdas de los cubos con valores nulos). Desventaja: Se tienen que traducir las consultas a lenguaje SQL. HOLAP Las herramientas Hybrid OLAP integran lo mejor de los modelos ROLAP y MOLAP. Los sistemas HOLAP:

Identifican las regiones más densas y dispersas. - MOLAP para regiones densas. - ROLAP para regiones dispersas.

Ejecutan la consulta: - Dividen en función de la parte del cubo afectada.

Page 39: Introducción al Business Intelligence y al Big Data

- Consultan a los servidores de datos afectados. - Integran y presentan los datos. Cuando se ejecuta una consulta el sistema debe identificar a qué partes del cubo afecta la consulta y envía una parte de la consulta al sistema ROLAP mientras envía la otra al sistema MOLAP. Una vez obtiene resultados presenta los resultados de forma única.

Módulo 03 Introducción al Business Analytics

Business Analytics definición: La constante e iterativa exploración y estudio del rendimiento pasado del negocio, con el objetivo de ganar conocimiento útil para la consecución de los objetivos estratégicos de la organización. Aplicación de los campos:

Estadística.

Inteligencia artificial.

Modelo de aprendizaje supervisado contra el modelo de aprendizaje no supervisado.

Modelos descriptivos. Dado un conjunto de variables sobre unos datos de una empresa, pretendemos buscar en ellos características relevantes o segmentar los datos en grupos (o clustering).

Modelos predictivos. Dado un conjunto de variables sobre unos datos, pretendemos aquí predecir una variable especial (etiqueta), que depende de alguna forma del conjunto de datos iniciales. El objetivo es "aprender" un modelo que nos permita adivinar la etiqueta a partir de las relaciones

Page 40: Introducción al Business Intelligence y al Big Data

encontradas en el pasado. Por ejemplo una empresa de saneamientos. En el primer caso Se agruparían clientes por perfiles. En el segundo caso se añadiría un modelo predictivo.

Clustering jeráquico

Se agrupan sucesivamente los datos uniendo progresivamente los ejemplos en clústeres, que a su vez se unen entre sí hasta definir dos subconjuntos.

Clustering no jerárquico

El algoritmo k-means: Proceso iterativo que permite encontrar un determinado número de subconjuntos de datos que minimizan la suma de distancias a sus centroides. En geometría, el centroide o baricentro de un objeto X perteneciente a un espacio n-dimensional es la intersección de todos los hiperplanos que dividen a X en dos partes de igual n-volumen con respecto al hiperplano. El algoritmo más común utiliza una técnica de refinamiento iterativo. Debido a su ubicuidad a menuda se llama el algoritmo k-means, también conocido como algoritmo de Lloyd. Dado un conjunto inicial de k centroides , el algoritmo continúa alternando entre dos pasos. Paso de asignación: Asigna cada observación al grupo con la media más cercana (es decir, la partición de las observaciones de acuerdo con el diagrama de Voronol generado por los centroides).

Page 41: Introducción al Business Intelligence y al Big Data

Paso de actualización: Calcular los nuevos centroides como el centroide de las observaciones en el grupo. El algoritmo se considera que ha convergido cuando las asignaciones ya no cambian.

Como su nombre indica, el algoritmo k-means utiliza como representante micro de cada grupo S, su centro geométrico (como puntos de un espacio d-dimensional): Pero podría utilizarse cualquier otro elemento como representante, siempre que proporcione una solución estable al problema de particionar el conjunto original.

Algoritmo de componentes principales ACP

En la estadística, el análisis de componentes principales es una técnica utilizada para reducir la dimensionalidad de un conjunto de datos. Intuitivamente la técnica sirve para hallar las causas de la variabilidad de un conjunto de datos y ordenarlas por importancia. Técnicamente el ACP busca la proyección según la cual los datos queden mejor representados en términos de mínimos cuadrados. El ACP se emplea sobre todo en análisis exploratorio de datos y para construir modelos predictivos. El ACP comporta el cálculo de la descomposición en autovalores de la matriz de covarianza, normalmente tras centrar los datos en la media de cada atributo. Extracción de características Obtener un menor número de atributos que representan globalmente la información presente en el conjunto de datos original. Análisis de componentes principales

Minimización del error

Page 42: Introducción al Business Intelligence y al Big Data

Proyección lineal en la que se minimiza el error cuadrático de los datos reconstruidos

Maximización de la varianza en el espacio.

Introducción a los problemas de clasificación.

Algoritmo Aprendizaje supervisado. El concepto es aprender un modelo que permita predecir una variable en función de los valores de los atributos del conjunto de datos. Disponemos de:

Un conjunto de datos X, con un total de N muestras y cada muestra de una dimensionalidad D.

Una etiqueta y, para cada muestra de entrenamiento y test.

Algoritmo Árboles de decisión. Representación del problema de clasificación mediante una estructura de árbol que divide recursivamente el espacio de características en subespacios que maximizan el número de elementos de la misma clase. Algoritmo Support vector machines. Potente clasificación basada en un hiperplano separador que minimiza el error de clasificación.

Page 43: Introducción al Business Intelligence y al Big Data

Algoritmo Clasificación no lineal: Kernel SVM. Potencial de SVM: Uso de kernels para su extensión al caso no lineal.

Clustering jerárquico.

Objetivo. El clustering jerárquico tiene por objetivo agrupar diferentes observaciones en grupos que sean muy similares entre sí y a su vez que sean muy diferentes de otros grupos. Esto se realiza a través de distancias. Estas distancias son las que permitirán realizar los clústeres. Es decir, se formarán grupos que sean heterogéneos entre sí, y por otro lado grupos que sean homogéneos entre sí. La media de cada una de las variables se va a llamar centroide, lo que ayudará a la interpretación de los clústeres. Dibujar los resultados mediante un dendograma determinará el número de clústeres a escoger, para cada una de las observaciones. Un dendrograma es un tipo de diagrama de datos en forma de árbol que organiza los datos en subcategorías que se van dividiendo en otros hasta llegar al nivel de detalle deseado, asemejándose a las ramas de un árbol que se van dividiendo en otras sucesivamente.

Algoritmo. Preparación de los datos.

Antes de aplicar el algoritmo: 1. Debemos eliminar los valores perdidos del conjunto

de datos original. 2. Hemos de normalizar las variables en caso que las

unidades de medida sean distintas.

De esta forma evitaremos distorsiones en la formación

Page 44: Introducción al Business Intelligence y al Big Data

de los grupos y eliminaremos los efectos producidos al emplear distintas unidades de medida.

Se elimina el "ruido" y se obtienen unos clústeres más fáciles de interpretar.

Elección de la función de disimilitud o distancia.

Existen muchos tipos. Las que el programa estadístico R nos ofrece son tres: Distancia euclidea:

d

Dist(X,Y) = √Σ (Xi – Yi)2

i=1

Distancia euclidea al cuadrado:

d

Dist(X,Y) = Σ (Xi – Yi)2

i=1

Distancia Manhattan o City-Block:

d

Dist(X,Y) = Σ |Xi – Yi| i=1

La más habitual suele ser la euclidea.

Page 45: Introducción al Business Intelligence y al Big Data

Elección del tipo de algoritmo de agrupación.

La mayor parte de los algoritmos que podemos utilizar son iterativos.

Los más fáciles y rápidos son los algoritmos no supervisados jerárquicos que, a su vez, pueden ser:

◦ Aglomerativos: parten de tantos grupos como observaciones y van fusionando los grupos más similares formando clústeres cada vez más grandes hasta formar un único clúster.

◦ Divisivos: parten de un sólo grupo que se va particionando en distintos clústeres.

Se acostumbra a utilizar los algoritmos aglomerativos.

Elección del tipo de fusión de los clústeres.

Los métodos más comunes son los siguientes:

Enlace simple o de las distancias mínimas: se escogen los elementos más cercanos o que más se parecen. Forman clústeres encadenados.

Min {dist (X,Y| XεA, Y εB)}

Enlace completo o de las distancias máximas: se

escogen los elementos más lejanos o que menos se parecen. Forma clústeres compactos.

Max {dist (X,Y| XεA, Y εB)}

Método de Ward minimiza las sumas de cuadrados

intra-grupo. Forma los clústeres más compactos y de igual tamaño y forma que el resto de métodos.

Page 46: Introducción al Business Intelligence y al Big Data

Min {dist2 (X,Y| XεA, Y εB)}

El método más frecuente suele ser el de Ward, porque con él se evita el efecto de los «outliers», que son aquellos puntos discordantes con los demás en una observación.

Dendograma y definición de clústeres.

Gráfico que resume el proceso de composición de los clústeres.

Ayuda a decidir el número óptimo de clústeres en base a su medida de similitud "cortando" el dendograma por donde se observe un salto importante en la longitud de las líneas que definen los grupos, es decir, cuando se detecta una separación considerable en los niveles de similitud.

Centroide. Media de cada variable para cada clúster.

A partir de los centroides se interpreta cada clúster.

Aplicación práctica con R

Datos: columnas C y D del fichero Cust_Master.csv (atributos «SENSI» y «SALES»).

◦ El fichero contiene información sobre 152 clientes (N=152) de una empresa que vende y distribuye productos alimentarios.

◦ Nos centramos en los atributos «SENSI» que contiene valores de cero a cien y recoge la sensisiblidad de los clientes a los nuevos productos y «SALES» que indica las ventas anuales del ejercicio anterior de los clientes (d=2).

Una visualización de los datos del fichero (en 2D [eje cartesiano]) nos muestra que sería óptimo formar tres grupos o clústeres.

Page 47: Introducción al Business Intelligence y al Big Data

En el gráfico la escala de SENSI no está definida de cero a cien, está centrada porque se ha estandarizado la variable, mientras que con la escala SALES se ha hecho lo mismo. Al observar el gráfico se encuentran tres grupos distintos de puntos, por lo cual sería óptimo crear tres clústeres.

Una vez aplicado el algoritmo se confirma con la vista en el dendograma. En este caso no se ha dibujado la base datos entera, sólo una pequeña muestra de la misma para que se

Page 48: Introducción al Business Intelligence y al Big Data

vea mucho más claro el gráfico. Como se observa se puede cortar en tres clústeres.

Datos: columnas C y D del fichero Cust_Master.csv - N = 152 (152 observaciones). - d = 2 (2 variables).

Una visualización de los datos (en 2D) nos muestra que sería óptimo formar tres clústeres.

La función de segmentación jerárquica en R es hclust(), es decir, la función con la que se realizaría el análisis, pero requiere una función de distancia. La función de distancia más usual suele ser la función de distancia euclidiana, que es dist().

Resumen de clustering jerárquico.

Es útil cuando queremos obtener distintos grupos con características similares de un mismo conjunto de datos.

Utiliza un algoritmo de iteración no supervisado jerárquico y aglomerativo.

Podemos aplicarlo como paso previo al clustering no jerárquico para determinar el número de subconjuntos disjuntos o clústeres K.

Se puede calcular con R. El clustering jerárquico puede utilizarse como paso previo al clustering no jerárquico.

Clustering no jerárquico: el algoritmo k-means. El objetivo del algoritmo k-means es obtener una partición

Page 49: Introducción al Business Intelligence y al Big Data

de un conjunto de N elementos (de d dimensiones) en k subconjuntos o grupos disjuntos Si, minimizando el error cometido:

k ε = Σ Σ dist (Xj, μi)

i=1 xj εSi Donde dist(x,y) es la función de distancia deseada y μ. es el representante (también llamado centroide) de cada grupo Si.

La función distancia

Habitualmente se utiliza como función distancia la distancia euclidea entre dos puntos de un espacio de d dimensiones.

d

Dist(x,y) = (Σ (xi – yi)2)

i=1 Pero podría utilizarse cualquier otra métrica bien definida.

Centroides

Como su nombre indica, el algoritmo k-means utiliza como representante μi de cada grupo Si su centro geométrico (como puntos de un espacio d dimensional):

μi = 1 (Σ Xj )

Si xj εSi

Page 50: Introducción al Business Intelligence y al Big Data

Pero podría utilizarse cualquier otro elemento como representante, siempre que proporcione una solución estable al problema de particionar el conjunto original.

El algoritmo de Lloyd. Para encontrar una partición en k grupos, Lloyd propuso el siguiente algoritmo:

1. Generar k (número de centroides iniciales). 2. Asignar cada elemento de conjunto original al grupo

más cercano, de acuerdo a la distancia entre el elemento y el centroide de cada grupo.

3. Calcular los nuevos centroides para cada grupo en función de los elementos asignados en el paso 2.

4. Repetir desde el paso 2 hasta que no se produzca ningún cambio de grupo.

Número de centroides.

El algoritmo k-means necesita conocer a priori el número de centroides k. Para escoger k se puede:

1. Utilizar un número predeterminado que sea el objetivo del análisis si se tiene algún conocimiento.

2. Repetir el algoritmo k-means para diferentes valores de k, ajustando según la curva εk (hasta el incremento de k que no justifica la mejora del error εk).

3. Utilizar algún otro criterio calculando sobre los centroides obtenidos.

Ejemplo. Datos: columnas C y D del fichero Cust_Master.csv (atributos «SENSI» y «SALES»).

Page 51: Introducción al Business Intelligence y al Big Data

N=152 D=2 Una visualización de los datos (en 2D) muestra que seguramente K=3. La primera figura muestra el conjunto de datos que se quiere particionar en tres clústeres.

En el primer paso el algoritmo k-means selecciona tres puntos del conjunto, al azar, para hacer de solución inicial como centroides.

Page 52: Introducción al Business Intelligence y al Big Data

El primer paso asigna cada elemento del conjunto original al centroide más cercano.

El segundo paso recalcula los centroides en función de los puntos que habían sido asignados a cada clúster. Este

Page 53: Introducción al Business Intelligence y al Big Data

proceso se va repitiendo de forma iterativa, hasta que no hay ningún cambio en ninguno de los tres clústeres.

En la iteración cuatro el algoritmo finaliza dejando como solución tres clústeres. Los puntos más lejanos de los clústeres coloreados en rojo y verde son los «outliers», es decir, son puntos del conjunto original que por alguna razón no siguen la distribución del resto de puntos.

Aspectos a tener en cuenta. El algoritmo k-means no debería usarse cuando los elementos no tienen un significado geométrico como puntos de un espacio d-dimensional. En esos casos se debería:

Normalizar cada una de las d variables, de forma que todas tengan media cero y varianza uno.

Utilizar funciones distancia más adecuadas. Si las variables son binarias (con valores 0 y 1), en lugar de utilizar la distancia euclidea podría utilizarse la

Page 54: Introducción al Business Intelligence y al Big Data

distancia de manhattan, por ejemplo.

Realizar un cambio de coordenadas de cartesianas a polares, por ejemplo.

Por otra parte, el algoritmo k-means puede ser costoso, desde el punto de vista computacional, para valores grandes de N (el número de elementos del conjunto original), d (su dimensión) y k (el número de clústeres).

Extensiones.

El algoritmo k-means puede ser adaptado para poder utilizarse con objetivos diferentes al original:

Utilización de medoides en lugar de centroides para escoger el representante de cada grupo es uno de los elementos del conjunto original. (Se utiliza la mediana en lugar de la media).

Usar lógica difusa para calcular la pertenencia de cada elemento del conjunto original a un clúster. De forma que sea posible decir cuál es la probabilidad de que un elemento pertenezca a un clúster u otro. En lugar de concretar su pertenencia a un clúster de forma directa.

Para mejora el coste computacional se puede usar la técnica «canopy», que permite precalcular elementos más cercanos entre sí y las distancias entre ellos, de forma que cuando se tenga que calcular la matriz de distancia se pueda reducir drásticamente el número de cálculos a realizar.

Resumen.

El algoritmo k-means permite obtener una partición de un conjunto original en k subconjuntos disjuntos. Cada uno de estos subconjuntos es un clúster.

Como parámetros utiliza el número deseado de

Page 55: Introducción al Business Intelligence y al Big Data

clústeres, la función distancia, la manera de calcular el centroide de cada grupo y el conjunto de centroides iniciales.

Se basa en una iteración de dos pasos que se repiten hasta llegar a una solución estable. Este algoritmo es el conocido como algoritmo de Lloyd.

Puede ser que la solución obtenida no sea la óptima globalmente, es interesante probar diferentes configuraciones del algoritmo y elegir aquella que aporte una solución.

Es costoso computacionalmente para conjuntos grandes (tanto en número de elementos como de dimensiones).

Puede ser adaptado para usarse con otros objetivos.

Análisis de componentes principales. El algoritmo de análisis de componentes es uno de los más importantes de la literatura y se usa en multitud de aplicaciones de ingeniería y ciencias sociales.

Análisis de Componentes Principales (PCA).

Reducción de la dimensionalidad.

Reducir el número de atributos o variables. - Explotar la correlación inherente en los datos. - Seleccionar los factores según la proporción de la varianza que preservan.

U = MX rxn rxd dxn

El análisis de componentes principales pretende reducir el número de atributos o variables de los que se compone

Page 56: Introducción al Business Intelligence y al Big Data

nuestro juego de datos. Se trata de un algoritmo de reducción de la dimensionalidad. La idea es explotar la correlación inherente a nuestros datos y conseguir una matriz de proyección lineal (que llamamos M), que nos proyecte nuestros datos X a un espacio U, de dimensión inferior. Inicialmente tenemos los datos de dimensión d (que puede ser un número muy grande) y los proyectaremos a un espacio inferior de dimensión r, en los cuales minimizaremos el error cometido en esta proyección. El Algoritmo de Componentes Principales (PCA), lo que hace es encontrar la proyección que minimiza el error cuadrático de los datos reconstruidos. Es decir, intenta maximizar la variante en el espacio proyectado. Por ejemplo, suponiendo que tenemos una nube de puntos, y cada uno de estos puntos está siguiendo una distribución gaussiana (una de las distribuciones de probabilidad de variable continua que con más frecuencia aparece aproximada en fenómenos reales). Como se observa en el gráfico, la varianza en el eje vertical es cinco veces mayor que en el eje horizontal.

Suponiendo que se focaliza en el punto marcado como una X de color negro.

Page 57: Introducción al Business Intelligence y al Big Data

La idea del PCA es proyectar cada uno de estos puntos en uno de los ejes que nos describen estas flechas (negra y azul). ¿Qué pasaría si proyectáramos el punto de la cruz negra contra el eje horizontal? La distancia que se marca con una flecha de color azul es el error asociado a la proyección.

Si se proyectara el punto negro contra el eje vertical, el error cometido sería el que se muestra a continuación.

Page 58: Introducción al Business Intelligence y al Big Data

Como se puede observar la distancia de error es menor. Lo que intenta hacer el algoritmo de Análisis de Componentes Principales (PCA) es encontrar el eje de proyección contra el cual la proyección de todos los puntos (globalmente) comete el mínimo error. Es decir, minimizamos el error cuadrático global de todos los puntos en un espacio proyectado.

Conceptos previos

Media, varianza y covarianza.

La media de un conjunto de vectores es su promedio. Se suma y divide por el número de muestras. Media: promedio de un conjunto de valores.

Varianza: La esperanza del cuadrado de la desviación de la variable respecto a la media. Es decir, cómo se dispersan los puntos respecto a su punto central.

Covarianza: La esperanza de los productos de las desviaciones de cada variable. Si la variable X e Y es la misma entonces se puede ver que la covarianza es equivalente a la varianza.

Page 59: Introducción al Business Intelligence y al Big Data

Vectores propios En álgebra lineal los vectores propios (eigenvectores o autovectores) de un operador lineal (M [una Matriz]) son los vectores no nulos que al ser transformados por el operador (multiplicados por la matriz), no cambian su dirección, solamente son multiplicados por un escalar

llamado valor propio (𝝀 [un número]) que simplemente altera su longitud.

M · V = 𝝀 · v Formalmente, dada la matriz M los vectores propios (que son v) que al multiplicarlos por la matriz resultan en su

propio vector alargado por un factor 𝜆 (lambda).

Page 60: Introducción al Business Intelligence y al Big Data

Pasos del Algoritmo de Componentes Principales

Primer paso: Sustraer la media de cada atributo. Es decir, cogemos nuestros datos y los centramos en el origen de coordenadas.

Segundo paso: Calcular la matriz de covarianza de los datos, centrados.

Tercer paso: Calcular los valores y vectores propios de la matriz de covarianza.

Cuarto paso (Extraer la matriz de proyección de PCA): Escoger aquellos vectores propios que tienen un mayor valor propio asociado. Es decir, ordenamos los vectores propios en función de su valor propio y elegimos los r que tiene mayor valor propio asociado. Con esto conseguimos una matriz r que nos proyecta los datos a un espacio de dimensión d que puede ser enorme, o a un espacio de dimensión r que es mucho menor.

U = MX rxn rxd dxn

PCA en lenguaje de programación R En el siguiente ejemplo bidimensional se aplica el algoritmo del PCA, paso a paso, a unos datos de clientes que están en dos dimensiones. Para ver de forma gráfica qué sucede y cómo se calcula el algoritmo paso por paso con estos datos en formato pequeño. Se utiliza el programa R Studio.

Page 61: Introducción al Business Intelligence y al Big Data

#2D Example in R X <- C(2.5,0.5,2.2,1.9,3.1,2.3,2.1,1.5,1.1) Y <- C(2.4,0.7,2.9,2.2,3,2.7,1.6,1.1,1.6,0.9) #mean of the data mX <- mean(X) mY <- mean(Y) Removing the mean Data <- cbind(X-mX,Y-mY) #Computing the covariance matrix covData <- (1/10)*t(Data)%*%Data #Eigenvectors of the covariance matrix pcas <- eigen(covData) pcas$vectors #High dimensional example

Page 62: Introducción al Business Intelligence y al Big Data

Se calcula la media del atributo X (Botón Run).

Después se calcula la media del atributo Y. A continuación se centran los datos, es decir, se les resta la media. (De nuevo con botón Run).

Page 63: Introducción al Business Intelligence y al Big Data

Ahora la matriz Data contiene dos columnas donde la primera es el atributo X - y la segunda es el atributo Y -1.

Después se pasa a calcular la matriz de covarianza. Se trata simplemente de multiplicar la respuesta de la matriz de datos por la columna de datos y dividir por el número de muestras, que en este caso es 10. Con el comando covData más los datos a operar, y ejecutando con la tecla «Entrar».

Page 64: Introducción al Business Intelligence y al Big Data

Para observar la forma de la matriz de covarianza se ha ejecutado el comando covData, obteniéndose dos columnas.

Mediante el comando eigen se consigue el cálculo de dos vectores propios y los valores propios de la matriz de covarianza. Los datos devueltos son los valores propios y los vectores propios asociados a esta matriz de covarianza.

Ejemplo 2: PCA en lenguaje de programación R: Ejemplo en alta dimensionalidad. Breast Cancer Wisconsin data set

Characteristics of cell nuclei Cancer: bening/malignant.

http://archive.ics.uci.edu/ml/

Page 65: Introducción al Business Intelligence y al Big Data

Al clicar en dataCancer y el botón Run se recuperan los datos de internet y queda preparado para trabajar. Como se observa en el módulo superior derecho son 569 pacientes y 32 variables. Al clicar sobre el comando summary y ejecutar con el botón Run, se obtienen los 32 atributos.

Page 66: Introducción al Business Intelligence y al Big Data

Los valores recuperados son el mínimo, máximo, la mediana, media, y otras estadísticas. Existe un atributo especial que está en la etiqueta V2, donde se indica si el cáncer es benigno o maligno.

Antes de empezar a trabajar se quitarán los dos primeros atributos. El primero no es más que el identificador del paciente, no contiene datos significativos a nivel estadístico. El siguiente atributo es una etiqueta numérica.

Page 67: Introducción al Business Intelligence y al Big Data

Se guardan los datos aparte ejecutando el comando Run con el botón. Así que se queda en la matriz dataCancer, con tan sólo los atributos que van desde el 3 hasta el final. Hay que destacar que hay algoritmos ya codificados en el lenguaje de programación R, como princomp (principal component) que permiten hacer el cálculo de PCA directamente. Para acceder a la salida de la función se utiliza pca y en el menú desplegable se elige el atributo a consultar.

Page 68: Introducción al Business Intelligence y al Big Data

Estos datos ya tienen alguna dimensionalidad. Una cosa que se puede hacer es sumar los valores propios y ver cómo contribuye cada valor propio a la varianza total. Esto se consigue con la siguiente instrucción: plot.

¿Qué muestra el gráfico situado en el vértice inferior derecho? Significa por ejemplo, que si se cogen 5 vectores

Page 69: Introducción al Business Intelligence y al Big Data

propios, los que tienen los 5 valores propios mayores, conservamos muchísima varianza. Si cogemos los 30, usamos prácticamente toda la varianza. Con pocos vectores propios, o sea, reduciendo grados a una dimensionalidad prácticamente pequeña, conservamos prácticamente toda la información que hay en el conjunto de datos. Esto significa que estos datos están muy correlacionados, y se pueden comprimir mucho.

Esto mismo se puede observar numéricamente si se ejecutan los parámetros que acompañan a la instrucción plot, con el botón Run.

Page 70: Introducción al Business Intelligence y al Big Data

Como se puede observar se queda tan solo una componente, es decir se proyectan los datos de dimensión 30 a alguna dimensión, (a algún valor). Usando la columna de componente se conservaría el 83% de la varianza de los datos. Con tan solo dos componentes, ya está disponible el 94% de los datos. Llegando al 99% del contenido de la varianza con el componente número 5. Esto se puede aprovechar para visualizar los datos. A continuación se van a conservar los dos primeros componentes. Y se ejecuta con el botón Run.

Page 71: Introducción al Business Intelligence y al Big Data

El resultado obtenido es el juego de datos que están en dimensión 30 comprimidos a tan solo dos dimensiones. El gráfico de la zona inferior derecha muestra la distribución de los datos. También están los labels para cada uno de los puntos. Cada punto es un juego de atributos de un paciente, y se puede saber si un paciente en particular tenía un cáncer benigno o maligno. Podíamos aprovechar las posibilidades de visualización que tiene el gráfico del PCA para dibujar el cierre del gráfico con un color distinto para vislumbrar qué paciente padece un cáncer benigno o maligno. Esto puede ayudar para saber si estas clases son fácilmente separables. Así que se selecciona las líneas de instrucciones y se ejecuta con el botón Run.

Page 72: Introducción al Business Intelligence y al Big Data

Al ejecutar el botón Zoom del gráfico, se observa que en la zona derecha en color verde se concentran todos los pacientes con cáncer maligno. Mientras que en la zona izquierda de color rojo se agrupan los pacientes con tumor benigno.

Page 73: Introducción al Business Intelligence y al Big Data

Esta herramienta (R Studio) es muy útil para la visualización de datos. Ha permitido coger los datos de dimensión 30, pasarlos por dimensión 12 y ver los resultados asociados.

SVM Support Vector Machines Existen infinitas maneras de calcular este hiperplano separador.

Teoría del aprendizaje estadístico.

Minimización del riesgo empírico. Construcción de hipótesis que cometan pocos errores. Consiste en: si tenemos un conjunto de muestras de entrenamiento, en este caso con puntos rojos y azules (clientes que compran y que no compran, con sus datos asociados). Podemos intentar encontrar la recta que minimice el error de clasificación. Es decir, que ponga correctamente los puntos rojos o azules correctamente encima o debajo del hiperplano.

Minimización del riesgo estructural. Construcción de hipótesis que minimicen el riesgo de cometer errores en clasificaciones futuras. Es decir, en el futuro vendrán nuevos clientes con sus datos asociados en las dos dimensiones, y queremos ver si quedan por encima o por debajo del hiperplano. Si quedan por encima o por debajo se les asignará una clase. Para ello Vladimir Vapnik desarrolló una teoría que nos permite construir hiperplanos que minimicen este riesgo estructural.

Page 74: Introducción al Business Intelligence y al Big Data

Volviendo al ejemplo de dos dimensiones, con las dos clases (puntos azules y rojos), se quería encontrar una recta separadora en el hiperplano. Existen infinitas rectas que separan las nubes de puntos (mostrándose en la figura cuatro posibilidades lineales), se trata de elegir una. Intuitivamente, se trata de elegir una que en el futuro, cuando se agreguen nuevos puntos, la división por colores no sea alterada.

SVM:Margen.

Page 75: Introducción al Business Intelligence y al Big Data

La idea es conseguir una recta que deje la máxima distancia posible a las dos nubes de puntos de forma simultánea. Básicamente, una recta que se sitúe en el medio de las dos nubes. Todo se reduce a encontrar el vector normal a esta recta, que maximice esta problemática. Para ello, requerimos del uso del producto escalar. El producto escalar no es más que una distancia, una medida, y nos calcula la proyección de un segundo vector encima de un primero. Tiene dos argumentos, primer vector y segundo vector, y encontramos la proyección del segundo dentro del primero.

Page 76: Introducción al Business Intelligence y al Big Data

En el ejemplo, el producto escalar entre ambos vectores sería la zona sombreada en color beige. Es simplemente una medida de distancia. Esto tiene muchas aplicaciones…

Cálculo del SVM

Optimización cuadrática (convexa). Solución eficiente.

Se trata de encontrar el hiperplano separador que se sitúa lo más cerca posible del medio. Para minimizar el riesgo del futuro error de clasificación. En el ejemplo sería el hiperplano w · x + b= 0

Page 77: Introducción al Business Intelligence y al Big Data

La incógnita es el vector normal, el vector w. Podemos definir dos hiperplanos paralelos a este, como serían w · x + b= 1 y w · x + b= -1, que son hiperplanos paralelos que pasan por los puntos más cercanos de cada una de las clases. El que dé como resultado igual a uno pasa por la clase de color rojo y el que da como resultado -1 pasa por la clase de color azul.

Lo que queremos minimizar es el margen, que se puede demostrar que es 2 dividido entre el vector w. Que corresponde con la distancia de color verde marcada en la figura. También se quiere encontrar el vector normal que deja el máximo de margen posible entre las dos clases de puntos. Se puede expresar como una ecuación de minimización que básicamente es invertir la ecuación de maximizar, pero que tiene que estar sujeta a una serie de restricciones. Es decir, queremos un hiperplano que esté en el medio pero además que todos los puntos rojos queden por encima y todos los puntos azules queden por debajo. Esto hay que expresarlo matemáticamente, y se hace con la ecuación que hay en el recuadro gris de la figura. El producto de la etiqueta y por el hiperplano tiene que ser siempre mayor o igual que uno. Si la etiqueta es negativa, el hiperplano está por debajo, nos dará algo mayor que uno. Si la etiqueta es positiva el hiperplano está por encima, mayor que uno nos dará un valor de nuevo mayor

Page 78: Introducción al Business Intelligence y al Big Data

que uno. Primero: se ha invertido la ecuación, es decir, no maximizamos 2 entre w, sino que minimizamos su inversa. Segundo, aparece un cuadrado, esto simplemente es un truco matemático, la idea es que minimizar la norma de un vector implica usar una raíz cuadrada, y eso tiene problemas a la hora de aplicar solves de promoción convexa. Es completamente equivalente a maximizar el cuadrado de la ecuación. Esto quita la raíz y simplifica mucho el cálculo. Existen solvers muy eficientes que nos dan solución a este problema.

SVM en un problema bidimensional.

Generación de datos linealmente separables. Ejemplo práctico bidimensional en lenguaje de programación R, con datos que son linealmente separables y sencillos, con el programa R Studio. Se verá cómo calcular los svm (support vector machines). Lo primero que se hará es generar nuestros datos, siguiendo una distribución aleatoria. Se inicializará una semilla (seed), a un valor cualquiera, y se generarán dos nubes de puntos. Serán 200 puntos en dos dimensiones, con 400 valores siguiendo la distribución normal. Se generan también las etiquetas 1 y -1, para cada clase, y lo que se va a hacer es añadir artificialmente 4.5 a todos los puntos de la primera clase. Esto se hace para que queden unos datos muy separables, y que hay una gran distancia entre las nubes de puntos. Así se podrán hacer observaciones.

Page 79: Introducción al Business Intelligence y al Big Data

En el gráfico de la parte inferior derecha salen las dos nubes de puntos, y con claridad son linealmente separables. El objetivo será intentar aprender un modelo svm sobre estos datos. Para ello se carga la librería correspondiente, se genera un data.frame, con los datos X e Y, los datos y las etiquetas, y mediante la función svm repasamos los datos y las etiquetas, antes de ejecutar el botón Run. Se obtiene una estructura svmfit donde se observa el modelo aprendido, el clasificador.

Page 80: Introducción al Business Intelligence y al Big Data

Para obtener información del modelo se ejecuta un comando print. Como se ve, con tan solo dos vectores de soporte ha tenido suficiente para presentar una frontera de decisión.

Para visualizar el modelo con los datos de entrenamiento, se ejecuta el botón Run.

Page 81: Introducción al Business Intelligence y al Big Data

Como se observa, los datos aparecen divididos en dos regiones, la de clase 1 y la de clase 2. Las cruces que aparecen a cada lado de la figura son los vectores de soporte. La distancia entre los vectores de soporte es el margen. Es decir, con tan solo dos vectores de soporte aparece el hiperplano que separa los datos en dos subconjuntos. Entonces, para comprobar qué tal funciona en testing, se generará otra matriz de datos, siguiendo la misma distribución que la inicial, pero sustituyendo el 4.5 por 3 en la agregación a los datos de primera clase. Lo que generará una aproximación de los datos, no encontrándose tan separados como antes. Así que tras el cambio, se ejecuta el botón Run.

Page 82: Introducción al Business Intelligence y al Big Data

Se va a probar qué tal funciona el modelo anterior sobre las nuevas distribuciones. Para ello se genera un nuevo data.frame, con las nuevas X e Y, y usando la función predict, que recibe el modelo, pasándole el modelo anterior aprendido con svm, y los datos de test. Va a hacer una predicción usando este modelo sobre los datos de test. Así que, tras plot, se clica en el botón Run.

Al observar el gráfico se encuentra que el margen está

Page 83: Introducción al Business Intelligence y al Big Data

equivocado, debido al error de test. Para evaluarlo simplemente hay que ver la salida de la proyección que está en la variable out y compararlo con las etiquetas.

En la última línea de salida de la consola se observa que hay un 93.5% de acierto.

Conclusiones.

SVM es uno de los clasificadores más potentes del estado del arte, que optimiza el error estructural, es decir, el error que se cometerá con futuras muestras de test.

Encuentra la frontera de decisión lineal óptima. Limitaciones.

Sensibilidad al ruido en los puntos de soporte. Si hay ruido en la frontera de decisión, fácilmente se alterará el hiperplano separador.

Datos no linealmente separables. Soluciones.

Añadir el concepto de tolerancia.

Page 84: Introducción al Business Intelligence y al Big Data

Extensión no lineal usando kernels.

SVM Tolerancia y datos no lineales.

Datos con ruido. Múltiples hiperplanos.

En función del ruido, los hiperplanos pueden variar sensiblemente.

En la gráfica se observa que hay muestras con forma de triángulo que no se ajustan a la media. Por ejemplo, el triángulo azul podría alterar de forma significativa el hiperplano separador. Entonces, cuando hay ruido en la frontera de decisión, el hiperplano puede variar su dirección.

Datos no linealmente separables.

A menudo, los datos pueden no ser completamente separables. La optimización cuadrática se convierte en irresoluble.

Page 85: Introducción al Business Intelligence y al Big Data

Resulta imposible respetar las restricciones en el problema de optimización.

Puede ocurrir un problema aún mayor. Un overlap o solapamiento de puntos en las nubes. En este punto, resulta imprescindible introducir el concepto de tolerancia.

Tolerancia (slack variables).

Cálculo del SVM. Introducción de la tolerancia C (permisividad 𝝃i para cada Xi).

Tolerancia. Tiene que dejar el máximo posible de margen entre las dos clases, pero queremos que el hiperplano sea un poco tolerante, y permita algunos errores.

Page 86: Introducción al Business Intelligence y al Big Data

Es lo que se consigue con el concepto de slack variables y el parámetro de tolerancia C. La idea es que introducimos unas variables slack (de tolerancia), asociadas a cada una de las muestras de datos, de forma que permitiremos que algunos de los puntos de las nubes de puntos estén en el interior de la zona del margen, y el vector separador no tenga en cuenta estos puntos. Esto se consigue introduciendo un sumatorio en la ecuación a minimizar, que consiste en una tolerancia que sale de aquí sumada, y modificar también la restricción. Ahora permitiremos que en algunos casos algunos casos algunos puntos estén fuera de su área. Pero en este caso, la tolerancia permitirá encontrar el hiperplano que esté lo más al medio posible, ignorando estos puntos ruidosos, (o que no correspondan con la distribución normal de los datos).

Datos no linealmente separables II. Otro de los problemas que se pueden encontrar es encontrar datos que tienen forma curvilínea. En este contexto la solución más adecuada es aprovechar el hecho de que usamos un producto escalar para proyectar los datos a un espacio de dimensión superior donde eventualmente, en este espacio los datos sí que son linealmente separables. Si conocemos la distribución que tienen estos datos podemos utilizar un kernel, o función de proyección que se adecúe a su distribución. Existen multitud de kernels que usan este trick (truco): Proyectar de forma no lineal los datos en un espacio de dimensionalidad superior (kernel trick).

Polinomial

K(xi, xj) = (xi · xj + 1)d

Gaussiano (RBF, Radial Basis Function)

K(xi, xj) = exp(𝝈||xi · xj||2)

Page 87: Introducción al Business Intelligence y al Big Data

… En el ejemplo se puede observar qué pasa cuando nuestros datos tienen una distribución circular en dos dimensiones.

Se va a generar un conjunto de datos de prueba en un espacio bidimensional. El objetivo será visualizar los datos con su frontera de decisión no lineal, y saber qué comandos de lenguaje de programación R podemos utilizar para resolver el problema. Primero se generará la matriz aleatoria, y para simplificar, se van a buscar todos los puntos que están a distancia

Page 88: Introducción al Business Intelligence y al Big Data

mayor que uno del centro. Estos puntos van a ser de color azul, y los centrales van a ser de color rojo.

Tras ejecutar el botón Run se puede observar gráficamente cómo quedan distribuidos. El siguiente paso será aprender el modelo svm. Para ello, se carga la librería correspondiente (comando library). Se genera el data.frame y se entrega las svm. Observando la información devuelta por el comando print, se comprueba que ha elegido 302 vectores de soporte. Se recuerda que había 400 puntos en total para el ejemplo. Lo que significa que son demasiados. Se puede intentar visualizar la frontera de decisión que ha elegido con el comando plot.

Page 89: Introducción al Business Intelligence y al Big Data

Como se observa en el gráfico inferior a la izquierda, la nube de puntos es de clase 1 y hay muchos puntos que no tienen sentido en su ubicación. El problema está en “linear”. Se trata de un problema no lineal y se ha elegido un svm lineal. Para corregirlo, primero se ejecuta el comando de ayuda ?svm, una vez sustituido el gráfico por la información de kernels disponibles, descendiendo con la barra de desplazamiento por la estructura de información, se elegirá el kernel radial.

Page 90: Introducción al Business Intelligence y al Big Data

Así que se sutituye “linear” por radial y se carga el modelo con los mismos datos ejecutando el botón Run.

Como se puede observar el número de vectores de soporte ha descendido hasta 88. Así que se dibuja el resultado con el comando plot.

En este punto, la región central está totalmente aislada como clase -1 mientras que la región exterior es la clase 1, y se ha encontrado una frontera de decisión

Page 91: Introducción al Business Intelligence y al Big Data

aproximadamente coherente. Mientras que los puntos de soporte, que corresponden a las cruces, están casi todos en la frontera de decisión que nos interesa.

Conclusiones. SVM puede relajarse para contemplar casos en los

que: o Existe ruido en las muestras de entrenamiento. o Los datos tienen cierto grado de solapamiento

entre clases.

SVM puede ser extendido al caso no lineal mediante el uso de kernels.

Introducción a los problemas de clasificación. Aprendizaje supervisado.

Se trata de aprender un modelo que permita predecir una variable en función de los atributos del conjunto de datos. Disponemos de:

Un conjunto de datos X, con un total de N muestras y para cada muestra hay u conjunto de atributos de una dimensionalidad D. Para cada muestra, tenemos una etiqueta que es modelo que se intenta predecir.

Una etiqueta y, para cada muestra de entrenamiento y test.

Los algoritmos de clasificación se marcan dentro del paradigma del aprendizaje supervisado. La idea es aprender un modelo que nos permita predecir una variable en función de los datos previos, o sea, los atributos de los datos que tenemos almacenados. Un ejemplo práctico es el de una empresa que se dedica a vender materiales de la construcción y posee una serie de datos de clientes, se puede aplicar un modelo predictivo para intentar conocer el gasto que hará un cliente en la compra de grifos, a partir de la compra previa de otros

Page 92: Introducción al Business Intelligence y al Big Data

productos.

Árboles de decisión. Es la representación del problema de clasificación mediante una estructura de árbol que divide recursivamente el espacio de características en sub espacios que maximizan el número de elementos de la misma clase. Lo árboles de decisión intentan particionar el espacio de datos de forma que se va dividiendo recursivamente, con el fin de intentar en las hojas del árbol, intentar clasificar los ejemplos en alguna de las clases que especificamos.

Support Vector Machines. Clasificación basada en un hiperplano separador que minimiza el error de clasificación.

Clasificación no lineal: Kernel SVM. Potencial de SVM: uso de kernels para aislar datos que tienen una distribución altamente no lineal.

Árboles de decisión. Es una de las técnicas de clasificación más utilizadas debido a su simplicidad y su potencia. Es un proceso iterativo donde a partir de unas preguntas que se realizan sobre los valores de las variables del conjunto de entrenamiento, se va efectuando una partición del espacio de forma que finalmente se obtiene un conjunto de regiones disjuntas (que son las hojas del árbol), donde idealmente solo hay elementos de una misma clase en cada región. Cada nodo interno del árbol es una pregunta (decisión) que determina qué rama del árbol se debe tomar para llegar a una hoja.

Page 93: Introducción al Business Intelligence y al Big Data

Un árbol de decisión queda determinado por:

La manera de particionar el espacio.

La condición de parada (o seguir particionando).

La función de etiquetado de una región, para decidir qué etiqueta o clase se asigna a dicha región.

La medida del error cometido. Ejemplo:

En el conjunto hay elementos de dos clases diferentes, utilizando un algoritmo, el primer paso es separar elementos de una clase de la otra. El primer corte (ortogonal) separa elementos de una sola clase del resto. El corte oblicuo sería más eficiente, pero también más costoso de calcular, así que se opta por el corte horizontal como la opción más sencilla.

Page 94: Introducción al Business Intelligence y al Big Data

El segundo corte toma el conjunto restante y aplica el mismo proceso, separando elementos de una misma clase.

El anterior proceso se repite también en el tercer corte.

En el cuarto corte y los sucesivos se va a repetir la operación previa. En este ejemplo, se han necesitado varios cortes para acabar separando los elementos en regiones disjuntas con elementos de la misma clase.

Page 95: Introducción al Business Intelligence y al Big Data

La idea es que mediante esta partición recursiva del espacio al final obtendríamos un árbol donde cada nodo interno del árbol es una pregunta que hace referencia a una de las dimensiones, en este caso las dos dimensiones, y mediante esta pregunta sabemos si tomamos una rama del árbol u otra.

El algoritmo de partición recursiva. Para encontrar una partición del espacio mediante árboles t-arios, se utiliza el siguiente algoritmo recursivo: 1. Entrada: nodo i con N elementos. Inicialmente i=1. 2. Si no se satisface ninguna condición de parada Calcular la mejor partición no trivial del nodo i en t

subnodos disjuntos i1, i2,… hasta it donde el índice ij (es decir, el número de cada nodo) depende de i y de t.

Una vez estos subnodos han sido creados se llama recursivamente al algoritmo pasando cada subnodo ij como parámetro.

Para el caso contrario si ya se satisface alguna condición

de parada, lo que hacemos es asignar al nodo i la clase que minimiza el error de clasificación, marcándolo como hoja "hoja" (nodo terminal).

Habitualmente t=2 y se habla de árboles binarios. Para construir un árbol de decisión utilizando el algoritmo

Page 96: Introducción al Business Intelligence y al Big Data

de partición recursiva es necesario establecer los cuatro criterios de partición:

Criterio de partición. Para particionar un nodo X (una región de un espacio d-dimensional) mediante un corte ortogonal se selecciona aquella variable i que maximiza (o minimiza) un criterio asociado a la “impureza” de dichas regiones. Esta impureza se mide a partir de la proporción de elementos de cada clase en cada uno de las regiones generadas {p1, p2,… pk}:

Error de clasificación: i(x)=1-max(pi).

Gini:i(x)=1-∑Pi2

Ganancia de información: i(x)=1-∑p log (pi)

Maximizando ∆i(X)=i(x)-PLi(XL)-(1-PL)i(X-XL)

Condiciones de parada. Cuando el algoritmo de partición recursiva recibe un nodo con N elementos, y se detiene si se cumple alguna de las siguientes condiciones de parada:

1. El nodo se encuentra ya a una profundidad máxima preestablecida, para evitar tener árboles muy profundos.

2. Todos los elementos del nodo son ya de la misma clase. Con lo cual ya no es necesario seguir subdiviendo para obtener clases o regiones del espacio completamente puras.

3. No existe ninguna partición no trivial en t subnodos, (es decir, que no exista ningún subnodo vacío).

4. Si el criterio de partición no supera cierto valor preestablecido de alguno de los criterios mencionados con anterioridad.

Page 97: Introducción al Business Intelligence y al Big Data

Etiquetado I

Cada hoja del árbol se etiqueta de forma que minimice el error cometido al escoger una etiqueta para una región:

k I’ = arg min {∑ NI x CI, I’}

I’ I=1 Donde NI, es el número de elementos de la clase I presentes en esa región. Es decir, se calcula el coste de etiquetar con todas las clases y se selecciona aquella I' que minimiza el error cometido.

Etiquetado II Cuando todos los errores se ponderan igual, es decir, la matriz de costes tiene la forma siguiente:

Ci, j = {0↔ i=j} 1↔ i≠j

La etiqueta que minimiza el error de una región es la de la clase más poblada. En caso de empate, se escoge una al zar.

Error de clasificación Se pretende obtener una clasificación de un conjunto N elementos (de d dimensiones, más una etiqueta I) en k clases, minimizando el error total.

N

𝝐 = 𝟏

𝑵 ∑ err (Ii, I’i)

I=1 Donde err (Ii, I’i) es el error cometido al etiquetar un

Page 98: Introducción al Business Intelligence y al Big Data

elemento de la clase I’. El problema se resuelve particionando el espacio y asignando a cada partición (hoja) una etiqueta.

Aspectos a tener en cuenta I. Excepto en el caso de que existan elementos idénticos con etiquetas diferentes, siempre es posible encontrar un árbol de decisión que clasifique el conjunto de entrenamiento de forma perfecta con error cero. No obstante, seguramente dicho árbol sufrirá de “overfitting” y generalizará muy pobremente para clasificar nuevos datos. La única opción es podar el árbol (pruning) para minimizar el error cometido en un segundo conjunto llamado test, diferente al entrenamiento.

Aspectos a tener en cuenta II. La selección del mejor corte (incluso ortogonal) puede ser computacionalmente costosa para valores grandes de N, d y k. Se puede usar PCA, clustering u otras técnicas para incorporar nuevas variables no ortogonales y obtener mejores cortes. Los árboles de decisión no son adecuados par valores elevados de k, es mejor construir clasificadores binarios para cada pareja de valores posibles de k (o cada valor de k vs es el resto) y combinarlos.

Extensiones. La simplicidad y flexibilidad de los árboles de decisión también permite, entre otros:

Análisis de la relevancia de las variables.

Page 99: Introducción al Business Intelligence y al Big Data

Regresión, cambiando la función de etiquetado.

Clasificación parcial en base a un margen de error.

Combinación de múltiples árboles de decisión sencillos en un clasificador complejo “random forests”.

Resumen.

Los árboles de decisión generan una partición del espacio con el objetivo de separar elementos de clases diferentes en regiones disjuntas. Se basa en un algoritmo recursivo que puede paralelizarse fácilmente. El árbol queda determinado por el criterio de corte. El árbol de decisión obtenido puede ser podado (pruning) para minimizar el “overfitting” usando otro conjunto diferente al de entrenamiento, llamado conjunto de test. Es costoso computacionalmente para conjuntos grandes (tanto en número de elementos como de dimensiones y también de clases diferentes).

Módulo 04

Sistemas Big Data Definición.

Contextualización.

Antecedentes 1. ¿Quién inició la revolución de los datos

masivos? Principios del S. XXI

El Proyecto de astronomía Sloan Digital Sky Survey. Intentó identificar y cuantificar todos los objetos en el espacio. El Proyecto del genoma humano. Intenta la secuenciación en alta definición del genoma humano. Ambos proyectos generaron un salto a nivel exponencial

Page 100: Introducción al Business Intelligence y al Big Data

en el volumen de datos.

Después... Internet, redes sociales, etc. IoT (Internet of Things). Provocaron un cambio exponencial en el volumen de datos que se generaban a diario.

Antecedentes 2.

¿Quién inició la revolución de los datos masivos?

Problemas de las empresas de Internet (Google, Amazon, Yahoo).

1. Gran cantidad de datos acumulados hacía inviable su procesamiento en un único ordenador, aunque fuera un supercomputador.

2. Heterogeneidad de datos. Necesidad de insertar, consultar y procesar datos de distintos tipos en diferentes estructuras.

3. Necesidad de procesar rápidamente los datos. Ejemplo: queries del buscador web.

El paradigma del Big Data. Causalidad Correlación Hipótesis Toda la población Muestra aleatoria ¿Verificación? Correlación entre variables « ¿Por qué?» «¿Qué?»

Al principio el modelo de análisis de datos se llamaba modelo de causalidad, porque se partía de unas hipótesis, se cogía muestras sobre el conjunto de datos total y se

Page 101: Introducción al Business Intelligence y al Big Data

intentaba verificar la hipótesis. Se responde a la cuestión por qué, es un modelo de causa-efecto. A partir de aquí se establece el modelo de la correlación. Dado que se podía acceder a un conjunto muy grande de datos, cercano al total de datos, ya no se intenta encontrar el porqué, ya no se intenta encontrar una muestra, sino que se intenta encontrar una correlación entre las variables que aparecen en el conjunto de datos. Se intenta encontrar qué provoca el qué, en lugar de buscar porqué. Este es cambio de paradigma del Big Data.

Definición de Big Data 1.

En el año 2001 D.C. el analista Doug Laney de Meta group (ahora Gartner) utilizaba y definía el término Big Data, aunque se puede ampliar a: «El conjunto de técnicas y tecnologías (y herramientas) para el tratamiento (y almacenamiento) de la información, en entornos que impliquen gran volumen, variedad de orígenes y una velocidad de respuesta muy breve».

3 V’s del Big Data. Volumen

Crecimiento exponencial de datos.

Se sobrepasa la capacidad de las bases de datos relacionales: GigabytesTerabytes de información diaria.

Velocidad

Tiempo de respuesta crítico. o Por ejemplo: sistemas de tráfico de vehículos.

Procesado en tiempo (casi) real.

Consideramos dos tipos de velocidad: o Velocidad de carga (procesos ETL). o Velocidad de procesamiento.

Variedad

Diferentes formatos y estructuras de los datos.

Page 102: Introducción al Business Intelligence y al Big Data

Orígenes de datos estructurados. o Bases de datos, hojas de cálculo o ficheros CSV.

Orígenes de datos semiestructurados. o Documento XML o página web.

Orígenes de datos no estructurados. o Documentos de texto, audio, imágenes o vídeo.

Paradójicamente, los del último tipo son los que contienen más información y más relevante. Veracidad IBM introdujo una cuarta V. La gran cantidad de datos y la diversidad de orígenes provocan que la veracidad del dato deba ser considerada. 2 Tipos:

Exactitud del dato.

Exactitud del cálculo. La veracidad viene determinada por el tipo de técnicas para la agregación y generación o conocimiento a partir de los datos. ¡No hay unanimidad sobre la cuarta V!

Big Data en escenarios de Business Intelligence. ¿Cuándo aplicar una solución de BI basada en Big Data? Si existe un gran volumen datos, alta velocidad de generación de datos o necesidad de tratar todo tipo de datos. No es necesario que se cumplan las tres condiciones. ¿Puede Big Data aplicarse en cualquier proyecto de BI? Big Data puede aplicarse en cualquier escenario para analizar información obtenida de diferentes sistemas de información. Hay que tener en cuenta el incremento de complejidad y coste respecto a una solución BI tradicional.

BI tradicional+ Big Data

Page 103: Introducción al Business Intelligence y al Big Data

Una solución de Big Data debe utilizarse como complemento a un sistema BI tradicional.

Big Data: obtención y análisis de datos basados en las tres V’s.

BI tradicional: obtención y análisis de datos no 3 V’s.

Diferencias entre Bi tradicional y Big Data Naturaleza de los datos

Volumen, variedad, velocidad. Granularidad.

BI tradicional datos almacenados en el DW en su mínima granularidad.

Big Data datos almacenados en el DW son derivados o filtrados.

Tecnología.

Hadoop + Base de datos NoSQL (Big Data).

SGDBR (Sistema de Base de Datos Relacional) + herramienta BI (BI).

Técnicas y herramientas para el análisis de datos masivos.

Herramientas de Big Data.

Page 104: Introducción al Business Intelligence y al Big Data

Hemos definido Big Data como: «El conjunto de técnicas y tecnologías para el tratamiento y almacenamiento de datos, en entornos de gran volumen, variedad de orígenes y en los que la velocidad de respuesta es crítica». Técnicas/herramientas para: Almacenamiento de datos masivos (almacenamiento distribuido entre distintas computadoras). Procesado de datos masivos (almacenamiento distribuido entre distintas computadoras).

El modelo MapReduce 1. El modelo del framework MapReduce consiste en la distribución, el almacenamiento y procesado de datos. Este modelo consta de tres pasos. Pasos del modelo.

Map: La función Map convierte el fichero de información de gran tamaño en una secuencia de pares <clave, valor>.

Shuffle: Los resultados son recolectados y ordenados según el valor de la clave.

Reduce: combinando todos los valores asociados a la clave de forma específica a cada problema.

El modelo MapReduce 2.

Page 105: Introducción al Business Intelligence y al Big Data

En Map cada nodo recibe un conjunto de datos. Sobre este conjunto de datos va aplicando la función concreta para resolver el problema, generando como resultado un conjunto de pares de clave y valor. Luego en la función Shuffle se combinan y recolectan estos pares de clave y valor según el valor de la clave. Después son enviados a la función Reduce que ejecuta otra función concreta y específica sobre todos los pares con la misma clave para resolver el problema. Así se obtiene el resultado final.

Para contar la frecuencia de palabras dentro de millones documentos se cortan los documentos hasta que resultan gestionables (color gris), se envían los trozos de información a cada uno de los nodos que ejecuta la función

Page 106: Introducción al Business Intelligence y al Big Data

Map. Cada de los nodos busca la ocurrencia de una palabra y asigna el número de veces que aparece. Los resultados son enviados a la fase de Shuffle y se combinan y juntan todos los pares que tienen la misma clave. Se envía a los nodos que ejecutan la función de Reduce. Los pares se agrupan todos los pares con la misma clave y se suman las ocurrencias detectadas en los distintos nodos. Se envían los resultados al pull final que mostrará el recuento de la palabra.

Apache Hadoop. Hadoop Distributed File System (HDFS). Los datos son distribuidos por diferentes nodos. Los datos se pueden tratar en paralelo. Existe tolerancia a fallos puesto que existen múltiples copias de los datos en diferentes nodos. Hadoop MapReduce Engine. Por encima del sistema de ficheros, Hadoop incorpora un motor de ejecución de trabajos MapReduce. MapReduce permite el procesado a gran escala de conjuntos de datos.

Apache Hadoop: ecosistema Alternativas al modelo MapReduce.

Apache Storm es un sistema de computación distribuida en tiempo casi real.

Apache Giraph es un sistema de procesamiento distribuido de grafos. Donde se pueden representar desde redes sociales pasando por organigramas empresariales hasta cualquier información representable mediante grafo.

Lenguajes de programación. Uno de los lenguajes programación principales para programación en Hadoop es Java. Pero esta situación se ha simplificado agregando nuevos lenguajes programación.

Apache Pig es un lenguaje de programación de alto

Page 107: Introducción al Business Intelligence y al Big Data

nivel diseñando y desarrollado para eliminar la complejidad de la codificación de las aplicaciones MapReduce.

Apache Hive que pretende facilitar la consulta de dato s en SQL, situándose como una infraestructura de Data Warehouse en un entorno distribuido.

Extracción de conocimiento (Ecosistema de Hadoop).

Apache Mahout es una plataforma de aprendizaje automático (machine learning) y minería de datos construida sobre el sistema de ficheros de Hadoop.

RHadoop es un conjunto de cuatro paquetes en lenguaje R que permiten analizar y gestionar datos usando Hadoop.

Apache Spark Es otro proyecto de la fundación Apache software. Comenzó siendo una extensión de Hadoop, para solventar los inconvenientes con la transmisión de datos en streaming (protocolo UDP). Hadoop se diseñó para el procesamiento de datos desde archivos por lotes, pero Spark superó esta limitación, y se ha situado como un competidor de Hadoop. Características básicas.

Enfocado al procesamiento en streaming.

MapReduce es ineficiente para procesos de algoritmos iterativos o consultas interactivas.

Almacenamiento distribuido basado en:

Puede trabajar sobre Hadoop Distribuited File System (HDFS).

Puede trabajar sobre otras bases de datos con diferentes sistemas de archivos distintos como Cassandra, etc.

Módulos del sistema.

Spark Core Engine es el motor de ejecución de

Page 108: Introducción al Business Intelligence y al Big Data

Spark. Aplica todas sus funciones.

Spark SQL es el módulo a nivel kernel que está encargado de dar soporte a consultas interactivas.

Spark Streaming permite a las aplicaciones procesar y analizar los datos en tiempo casi real.

MLlib es la librería de aprendizaje automático (machine learning).

Graphx es un motor para el análisis de datos.

SparkR permite integrar el entorno Spark con el lenguaje de programación estadístico R.

Bases de datos NoSQL. ¿Qué diferencias hay entre NoSQL y los Sistemas Gestores de Bases de Datos

Relacionales SGBDR? Las bases de datos NoSQL almacenan datos de

cualquier tipo indexados por una única clave.

En las bases de datos NoSQL los datos no son analizados antes de ser almacenados.

No existen procesos para asegurar la integridad.

Resultado: Almacenaje y procesado de datos en tiempo muy reducido.

Los datos pueden encontrarse en una BD NoSQL.

Los datos procesados mediante trabajos MapReduce pueden almacenarse en Bases de Datos NoSQL.

Page 109: Introducción al Business Intelligence y al Big Data

Introducción a Bases de datos NoSQL Los inicios de NoSQL.

En 1998 aparece por primera vez la referencia a NoSQL, usada por Carlo Strozzi para nombrar a SGBD que no usaba el lenguaje SQL, pero que no guarda relación con las bases de datos NoSQL actuales.

En 2009 resurge el término, que se utilizará de forma generalizada a partir de ese año, para referirse a los nuevos SGBD, no relacionales y distribuidos, que fueron apareciendo durante toda la primera década del año 2000 D.C. a través de grandes multinacionales como Google o Facebook.

Ese mismo año se crea una comunidad internacional, y muy activa, alrededor de estos nuevos proyectos: o El año 2009 con no:sql (east) y el 2010 con

no:sql (eu), entre otras, hasta nuestros días. Siendo completamente rigurosos, el término NoSQL engloba a las bases de datos de nueva aparición, pero nunca estrictamente a un modelo de base de datos No SQL, No solo SQL, o algo parecido.

Hechos relevantes. En al año 2000 D.C. el profesor Eric A. Brewer,

durante el Symposium on Principles of Distributing Computing, presenta el teorema CAP (Consistency, Availability, Partionable), según el cual las

Page 110: Introducción al Business Intelligence y al Big Data

propiedades de un sistema no distribuido de bases de datos van a ser tres:

CONSISTENCIA.

DISPONIBILIDAD.

TOLERANCIA A PARTICIONES.

Brewer dijo que, en cualquier caso, en un sistema distribuido tan solo dos de estas tres propiedades pueden ser garantizadas de forma simultánea.

En al año 2002 D.C. se confirma formalmente la validez del teorema CAP por los profesores S. Gilbert y N. A. Lynch del MIT.

Aparecen nuevas necesidades en las empresas y con ellas nuevos proyectos para soportarlas.

Entre el año 2003 D.C. (Google) y 2005 D.C. (MarkLogic) aparecen los primeros proyectos NoSQL, aunque ya en el año 1989 D.C. hay bases de datos con características similares.

Origen, uso y representación de los datos.

Page 111: Introducción al Business Intelligence y al Big Data

Se ha evolucionado en el uso y estructura de los datos desde su almacenamiento en ficheros planos, con poca relación entre sí, hasta situaciones donde los datos están plagados de relaciones, algunas de ellas muy complejas. Un ejemplo de este punto de su evolución son los generados por las redes sociales, los datos de la web semántica o los datos de la inteligencia de negocio.

Volumen de datos almacenados. La evolución del uso y estructura de los datos no solo implica situaciones donde los datos están muy relacionados entre sí, con relaciones complejas. También el volumen de datos aumenta exponencialmente. El número de datos es mayor a diario, debido al aumento del uso de internet. No obstante, en algunos casos concretos, en el uso de almacenamiento de datos actual, las bases de datos relaciones aún va a continuar siendo eficaz, llegando a ser incluso la mejor opción a implementar.

*Un exabyte es una unidad de medida de almacenamiento de datos cuyo símbolo es el 'EB'. Equivale a 10

18 bytes.

Page 112: Introducción al Business Intelligence y al Big Data

¿Qué es NoSQL? Caracterísiticas NoSQL

No ofrecen SQL como lenguaje estándar. Cada base de datos NoSQL tiene su propio lenguaje de consulta específico. En algunos casos, el lenguaje utilizado puede ser SQL incluyendo algunas extensiones específicas para preservar una funcionalidad NoSQL.

Esquema flexible (schemaless), o bien sin un esquema predefinido. Esto significa que se pueden añadir datos, sin definir un esquema previo, como se hace en el modelo de bases de datos relacional. Esto permite bastante flexibilidad en el trabajo con un gran volumen de datos heterogéneos, pero dificulta su programación, haciendo que la interpretación de los datos se haga explícitamente en el código de los programas que acceden a la base de datos. El término schemaless puede ser un tanto abusivo en este contexto, porque siempre hay un esquema implícito que se usa y que condiciona cómo se van a distribuir los datos en las bases de datos NoSQL. Uno de los riesgos de que el esquema quede implícito, es que se compromete la independencia de los datos.

Las propiedades ACID de las transacciones no se garantizan por completo. ACID=Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia o Integridad, Aislamiento y Durabilidad. El hecho de que no siempre se garanticen implica una mejora del rendimiento y un aumento de la disponibilidad de los datos.

Permiten reducir, en parte, la falta de concordancia (impedance mismatch), entre las estructuras de datos utilizadas entre programas y bases de datos. Es decir, el formato en que se guarda la información en las bases de datos es cercano al formato utilizado en los programas utilizados para acceder a ellas.

Favorecen la escalabilidad, especialmente diseñadas para crecer generalmente en horizontal. Mediante la

Page 113: Introducción al Business Intelligence y al Big Data

fragmentación de los datos y del esquema y la existencia de réplicas o copias idénticas de los datos en múltiples servidores, para hacerlas más versátiles y para aumentar la disponibilidad.

Ofrecen solución a los inconvenientes y rigidez del modelo relacional.

En general y frecuentemente son: o Distribuidas, con diferentes modelos (P2P,

master/slave, etc.) o La mayoría son de código abierto.

Las aplicaciones y los datos. El esquema de datos tiene estructura variable. Siendo

costoso de gestionar en las bases de datos relacionales.

Múltiples orígenes de datos, con diferente formato. Como en un comparador de precios online.

Altamente relacionados. Como en la red social Facebook.

Los datos fluyen en tiempo real. Como en el caso de la red social Twitter.

Introducción masiva de BI y Data Warehouse.

Grandes volúmenes de datos (aka 30 Pb).

Flexibilidad.

Rendimiento. Una tienda online que presta un servicio lento al cliente, se percibe como cerrada. No venderá.

El proceso de los datos se debe hacer en «tiempo real». Se ejecutan las operaciones necesarias, rápidamente, para garantizar una experiencia óptima de uso al usuario.

Diferencias entre NoSQL y Bases de Datos Relacionales.

No hay un modelo de bases de datos único. No SQL ofrece diferentes modelos de datos, como el modelo de agregación y el de grafos, mientras que las

Page 114: Introducción al Business Intelligence y al Big Data

bases de datos relacionales sólo proporcionan el modelo relacional. La existencia de diferentes modelos de datos causa las diferentes familias de bases de datos NoSQL.

Esquema flexible (schemaless). A diferencia del modelo de datos relacional en NoSQL no es necesario un esquema predefinido que defina cómo se estructuran y relacionan los datos. El proceso de datos heterogéneos, es más simple en el modelo NoSQL.

Falta de estándares. Mientras que detrás de las bases de datos relacionales existen estándares, éste no es el caso de las bases de datos NoSQL (de momento, aunque es habitual JSON).

Historia de las bases de datos. Al principio de la historia de la computación, se usaban ficheros de texto o binarios para organizar y almacenar los datos y facilitar el acceso a los mismos. La consulta de los datos y la relación entre ellos resultaban complejas, así que la gestión de ficheros era difícil. Para solucionar el inconveniente, se creó un software específico llamado bases de datos, que ofrecen estructura de los datos (como índices) y lenguajes de programación (como SQL) que permiten almacenar y gestionar los datos de una forma más eficiente y fácil.

Primeros pasos. En el año 1960 D.C. aparecen las primeras bases de

datos jerárquicas y en red. En ellas los datos se organizan en forma de árboles y grafos respectivamente. En el año 1969 D.C. IBM creó IMS, el que se considera el primer sistema gestor de base de datos de propósito general.

En el año 1970 D.C. el profesor Edgar F. Codd propone el modelo de datos relacional junto al álgebra relacional, que darían lugar a las bases de datos

Page 115: Introducción al Business Intelligence y al Big Data

relacionales. Este modelo era sencillo pero completamente formalizado, con influencias de la lógica matemática y del álgebra de conjuntos.

A finales de la década de 1970 aparecen los primeros sistemas gestores de bases de datos (SGBD) relacionales: DB2, Ingres, Sybase, etc. Alguna de ellas todavía está operativa, como DB2 y Oracle.

Los años 80 y 90. A finales de la década de los 80 y principios de los

90, junto al auge de la programación orientada a objetos, aparecen las bases de datos orientadas a objetos. Estas bases de datos aparecen debido al uso de la programación orientada a objetos y a los problemas que existían en las bases de datos relacionales para almacenar objetos. Estos objetos y clases complejas junto con sus relaciones de herencia, por ejemplo.

La discordancia entre el modelo de programación y el modelo relacional (impedance missmatch) favorecen su popularidad.

Con el mismo objetivo aparecen los ORM (herramientas de mapeo objeto-relacional). Una herramienta ORM es una biblioteca desarrollada para crear el mejor modelo relacional para almacenar un modelo orientado a objetos. Estas herramientas facilitan la creación y gestión del modelo, así como la consultan de los datos de forma integrada con el lenguaje de programación utilizado.

Aunque poco utilizadas, durante la década de los 90, algunas bases de datos relacionales ofrecen extensiones orientadas a objetos, con el objetivo de mejorar la expresividad semántica del modelo de datos relacional. Son las Bases de datos objeto relacional. Permitían definir relaciones de herencia entre relaciones. Hoy en día aún se utilizan.

Page 116: Introducción al Business Intelligence y al Big Data

La primera década del S. XXI. Con el auge de Internet, redes sociales, conectividad y

otros factores, aparecen nuevos requerimientos para con los datos. Esto favorece el nacimiento de las bases de datos NoSQL: o Éstas relajan los requerimientos del modelo

relacional para dar solución a los nuevos requisitos.

o Son mayoritariamente de código abierto y pensadas para entornos altamente distribuidos.

o Favorecen entornos de alto rendimiento.

La actualidad.

La tecnología de bases de datos, junto con el del procesamiento de datos, está en continuo desarrollo.

Nuevos productos y estrategias se desarrollan constantemente.

Existe un debate abierto en la comunidad sobre las ventajas y desventajas de las diferentes bases de datos: o Bases de datos relacionales versus NoSQL. o Entre los diferentes tipos de NoSQL.

Bases de datos NoSQL Características. No hay un modelo de datos único.

Proporcionan un esquema de datos flexible.

No ofrecen SQL como lenguaje estándar.

En general son distribuidas.

Acostumbran a no garantizar las propiedades del modelo ACID.

Frecuentemente son de código abierto.

Modelos de datos.

Page 117: Introducción al Business Intelligence y al Big Data

El más sencillo es el modelo de agregación (clave-valor) y el más potente el modelo orientado a grafos. Un agregado es un conjunto de objetos del mundo real que están relacionados entre sí y que deseamos tratar como una unidad indivisible a efectos, en primer lugar, de acceso y manipulación donde la unidad mínima de intercambio entre los programas de aplicación y el gestor de la base de datos es el agregado, en segundo lugar, el agregado es la unidad mínima a efectos de control de concurrencia y de integridad, lo que garantiza que cualquier cambio efectuado sobre el agregado se hará definitivo sobre la base de datos, y finalmente, si la base de datos es distribuida, el agregado es la unidad mínima a efectos de distribución de los datos. En el caso del modelo de agregación orientado a documentos el agregado se estructura en forma de documento utilizando XML o JSON. El modelo de agregación orientado a columnas estructura los agregados en primera instancia en forma de filas, y luego, a través de columnas o conjuntos de columnas denominadas familia de columnas. El modelo de grafos es el que ofrece más constructores para poder definir de forma más precisa la semántica del esquema de la base de datos. Los grafos son vértices y aristas que se comunican entre sí para representar estas interrogaciones.

Page 118: Introducción al Business Intelligence y al Big Data

Ejemplos de bases de Datos NoSQL.

En ocasiones una Base de Datos se puede clasificar dentro de varias categorías, ya que los desarrolladores implementan nuevas funcionalidades a las mismas. En otros casos, el desarrollo de la base de datos NoSQL puede ser multiplataforma, como en ArangoDB y OrientDB.

Esquema de datos flexible (schemaless). La base de datos no tienen un esquema de datos

predefinido, excepto en las de clave-valor.

El esquema puede variar para instancias de datos que pertenecen a una misma entidad.

En ocasiones (clave-valor), el gestor de la Base de Datos no es consciente del esquema de la Base de Datos.

Permite reducir los problemas de concordancia (impedance missmatch) entre las estructuras de datos usadas por las aplicaciones y la base de Datos.

Las Bases de Datos NoSQL basadas en modelos de agregación aplican técnicas de desnormalización de los datos, a diferencia de las relacionales.

Ventajas del esquema de datos flexible (schemaless).

Facilita la realización de cambios en la Base de Datos.

Page 119: Introducción al Business Intelligence y al Big Data

Permite trabajar con datos heterogéneos. Intenta mejorar la eficiencia de las operaciones de consulta sobre la base de datos evitando operaciones de Join. Esto es especialmente relevante si la Base de Datos es distribuida.

NoSQL no ofrecen SQL como lenguaje. Algunas Bases de datos ofrecen su propio lenguaje de

manipulación y consulta de datos.

Otro tipo de acceso es vía API con la API REST: ejecución de peticiones HTTP del tipo POST, GET, PUT, DELETE.

Cada Base de Datos NoSQL proporciona controladores (drivers) de acceso a la Base de Datos para multitud de lenguajes de programación (C, C++, C#, Java, PHP, Python, Perl, Erlang…).

Proporcionan operaciones que permiten la integración con sistemas de computación distribuida (por ejemplo el framework MapReduce).

Distribución: escalibilidad.

Las Bases de Datos NoSQL se basan en el concepto de escalabilidad horizontal, a diferencia de las relacionales, que se basan en el modelo vertical. El modelo horizontal es distribuido, a través de una red de ordenadores de bajo coste, generalmente. Mientras que las relacionales suelen estar implementadas en equipos informáticos con elevadas prestaciones de hardware. Una característica importante de la escalabilidad horizontal es que permite añadir más equipos a la red, es decir, nuevos nodos, a la red de ordenadores, «en caliente», tal y como permite un equipo informático agregar hardware, por ejemplo, como una unidad extraíble o un disco duro externo, sin necesidad de parar o reiniciar el sistema computacional.

Page 120: Introducción al Business Intelligence y al Big Data

Distribución de datos. Las bases de Datos NoSQL (sobre todo las basadas

en modelos de agregación) promueven principalmente la fragmentación horizontal (sharding) y la replicación de masiva de los datos, con arquitecturas P2P o master/slave.

La fragmentación (y posterior distribución de los datos) se puede realizar aplicando técnicas de hash o dispersión, o en función del valor que toman ciertos atributos (orientadas a columnas o documentos).

Ventajas de la distribución de los datos:

Acercar los datos allá donde se necesiten (data locality). Incrementar la disponibilidad de datos. Mejorar la eficiencia de las operaciones de consulta. Incrementar el nivel de paralelismo del sistema.

Page 121: Introducción al Business Intelligence y al Big Data

AP

Teorema CAP. Son las propiedades ideales para un sistema distribuido. Consistencia (Consistency): los usuarios del sistema tienen que poder recuperar siempre los mismos valores para unos mismos datos en un mismo instante de tiempo. Disponibilidad (Avaibility): las peticiones de servicio enviadas por los usuarios a un nodo que está disponible deben obtener su debida respuesta. Tolerancia a particiones (tolerance to network partitions): el sistema debe proporcionar servicio a los usuarios a pesar de que se puedan producir situaciones de avería que causen que el sistema quede particionado en diferentes componentes. El teorema CAP enuncia que es imposible garantizar simultáneamente las tres características.

Teorema CAP y Bases de Datos NoSQL.

C

CP

A

P

AP El sistema siempre está disponible, aunque temporalmente puede mostrar datos inconsistentes en presencia de particiones. Ejemplos: Riak, DynamoDB, Cassandra.

Page 122: Introducción al Business Intelligence y al Big Data

ACID Versus BASE.

Atomicidad Disponibilidad limitada (Basic Avaibility).

Consistencia Estado flexible (Soft-state).

Aislamiento Consistencia final en el tiempo

Definitividad (Eventual consitency). Soportar un modelo de transacciones ACID en Bases de Datos que almacenan grandes volúmenes de datos, que están distribuidas y con replicación de datos es complejo y puede causar problemas de rendimiento. Atomicidad: Representa el todo o nada de la transacción. La transacción es la unidad atómica de ejecución. Nunca queda a medias. O se completa, o no se realiza. Consistencia: La transacción debe preservar la integridad de la Base de Datos. Debe respetar todas las restricciones de integridad que se hayan podido definir y adicionalmente, significa que los datos contenidos en réplica, en el momento de confirmación de la transacción deben contener exactamente los mismos valores. Aislamiento: Una transacción no puede ver interferida su ejecución, no puede recuperar resultados anómalos debido

CP El sistema siempre contiene una visión consistente de los datos, aunque no esté totalmente disponible en presencia de particiones. Ejemplos: MongoDB, HBase, Redis.

Page 123: Introducción al Business Intelligence y al Big Data

a que se está ejecutando concurrentemente con otras transacciones que puedan estar accediendo a la misma porción de la base de datos. Definitividad: Los resultados producidos por transacciones que confirman sus resultados tienen que ser definitivos en disco en la base de datos, no se pueden perder. En una Base de Datos NoSQL cada operación lanzada contra una Base de Datos constituye una transacción. No se admiten transacciones que incorporen un conjunto de sentencias. Una transacción es una sentencia. Las Bases de Datos NoSQL con el modelo AP trabajan con un modelo de transacciones alternativo al modelo ACID, que es el modelo BASE. BASE está constituido por: Consistencia final en el tiempo (Eventual consitency): Aplicado a réplicas de unos mismos datos, es que el contenido de las réplicas, en un instante de tiempo puede ser diferente de las réplicas de unos mismos datos, pero se espera que con el paso del tiempo, tras un cierto tiempo sin cambios en esos datos, las réplicas de unos mismos datos acaben convergiendo a unos mismos valores. De tal manera que vuelvan a ser consistentes. El modelo BASE no concuerda con la noción de consistencia del modelo ACID. Las consecuencias del modelo BASE se pueden comprobar, por ejemplo, al escribir un post en un blog, pero no se puede comprobar su publicación en las actualizaciones, o cuando se publica un tweet en la red social Twitter sin aparecer en timeline, o cuando se reserva una habitación en un hotel y al llegar al mismo resulta que la habitación es de coste superior al reservado.

Page 124: Introducción al Business Intelligence y al Big Data

Bases de datos NoSQL- Modelos de datos.

¿Qué es un modelo de datos? Modelos de datos NoSQL.

Un modelo conceptual de datos es una descripción de la parte del mundo real que nos interesa conceptualizar. Modelo ER (Entity Relationship) Modelos NoSQL Un modelo de datos: conjunto de componentes que proporciona el sistema gestor de la base de datos para estructurar y manipular los datos, e incluye los siguientes elementos:

Estructuras de datos para construir bases de datos.

Operaciones para manipular y consultar los datos.

Mecanismos para definir restricciones de integridad que deban cumplir los datos de la base de datos.

En el modelo de datos la estructura relacional sería el modelo relacional en sí, las operaciones para consultar y manipular datos sería el lenguaje SQL, y los mecanismos para definir restricciones de integridad serían por ejemplo la definición de claves primarias y foráneas.

Usuarios Implementación

Diagrama de clases

UML

Modelo relacional

Modelo

prerelacionales

Page 125: Introducción al Business Intelligence y al Big Data

Modelos de datos NoSQL. Existen dos modelos de datos NoSQL. Los modelos en grafo permiten representar información altamente relacionada. La relevancia está en las relaciones entre datos más que en los datos en sí. Los modelos de agregación, compuesto por el modelo clave-valor, el modelo orientado a columnas y el modelo orientado a documentos.

Los modelos de agregación se basan en la noción de agregado.

Un agregado es una colección de objetos relacionados que deseamos tratar como una unidad independiente a efectos de:

Acceso y manipulación.

Consistencia y control de concurrencia.

Distribución de datos. Ejemplo:

El carro de la compra de una web o aplicación de e-commerce.

Page 126: Introducción al Business Intelligence y al Big Data

Las claves primarias están subrayadas.

Modelos de agregación. Consideración de modelos agregados.

El diseño de agregados es de vital importancia y está guiado por las funcionalidades de la aplicación, es decir, por lo que requieren los usuarios.

Son una buena solución cuando. - Las funcionalidades que tiene que proveer la

aplicación están claramente fijadas y no se esperan variaciones significativas. Si hubiera variaciones habría que añadir más agregados.

- Pocos solapamientos en cuanto a necesidades de datos.

Page 127: Introducción al Business Intelligence y al Big Data

- No existen interrelaciones complejas. - Los datos deben estar sujetos a pocos cambios,

especialmente en aquellos datos que aparecen repetidos en diferentes agregados.

El carro de la compra. Modelo de agregación genérico.

Modelo clave-valor. Es el modelo más simple dentro de los modelos de

agregación.

El agregado consiste en un par (clave-valor), donde: o El valor representa el agregado, y o La clave es un identificador usado para identificar

unívocamente el agregado. Si se pierde la clave, se pierde el acceso al agregado.

La clave se puede extraer del dominio de aplicación. o Nombres de usuario, direcciones de correo

electrónico, números de la seguridad social, DNI, latitud y longitud, etc.

La Base de Datos ignora la estructura asociada al contenido del agregado (valor).

A pesar de ello, algunas Bases de Datos clave-valor (por ejemplo, Riak), permiten estructurar un mínimo el contenido del agregado.

Page 128: Introducción al Business Intelligence y al Big Data

Para la Base de Datos el valor es opaco. Va a ser un archivo binario.

Quien será el encargado de interpretar los datos va a ser la aplicación que consulte la Base de Datos. La aplicación conoce el esquema e interpreta los datos. Este modelo proporciona flexibilidad pero no permite almacenar información de agregados de clientes.

Page 129: Introducción al Business Intelligence y al Big Data

La consulta de combinaciones de links sería Link Walking.

Modelo orientado a documentos.

Se puede ver como una extensión del modelo clave-valor.

Los agregados tienen una estructura interna que recibe el nombre del documento. La estructura interna es accesible desde la Base de Datos.

Los documentos se acceden mediante una clave única, o mediante atributos de los mismos, permitiendo: o La recuperación de una parte del documento. o Modificación de documentos. o Filtrar documentos en función de su contenido. o La definición de índices.

Page 130: Introducción al Business Intelligence y al Big Data

Suelen almacenar documentos en formato JSON, pero también en XML, entre otros formatos.

Algunas Bases de Datos relacionales también permiten almacenar y manipular documentos tales como PostgreSQL, DB2, MS SQL Server u Oracle.

Page 131: Introducción al Business Intelligence y al Big Data

Representación de Datos en MongoDB.

Modelo orientado a columnas.

El modelo de datos puede verse como una matriz bidimensional:

Las filas representan agregaciones de datos y se acceden mediante su clave.

Las columnas son tripletas que representan atributos de la agregación y se representan mediante:

<nombre, valor, timestamp>.

Las columnas pueden agruparse en familias de columnas.

Su origen es la Base de Datos Big Table de Google.

Page 132: Introducción al Business Intelligence y al Big Data

La información general de una familia de columnas se puede obtener mediante este modelo.

Bases de Datos NoSQL Modelo orientado a grafos.

Representación de datos en modelos orientados a grafos.

Introducción a los grafos. El modelo de grafo utiliza estructuras de grafo para representar y almacenar los datos. Un grafo es una representación abstracta de un conjunto de objetos donde los elementos para representarlos son nodos o aristas. Los nodos son los elementos circulares, y las aristas son relaciones e interrelaciones entre los nodos, representado relaciones entre elementos.

Page 133: Introducción al Business Intelligence y al Big Data

La diferencia con los modelos relaciones es que las filas representan objetos del mundo real y las tablas representan conceptos generales. Por ejemplo juguetes sería un concepto general (tablas) y patinete sería un objeto del mundo real (filas). En las Bases de Datos no relacionales se pueden representar mediante nodos, tanto conceptos generales como objetos del mundo real. Las aristas de los grafos pueden ser de dos tipos:

- aristas no dirigidas, que se representan con una línea recta sin punta de flecha, y se interpretan como relaciones bidireccionales, es decir, que son navegables tanto en un sentido como en el otro.

- aristas dirigidas, que se representan con líneas con punta de flecha, y semánticamente indican relaciones direccionales.

En función del tipo de arista existente se pueden obtener distintos tipos de grafos. Los más básicos son los grafos no dirigidos, que contienen aristas no dirigidas, y los grafos dirigidos o bigrafos, que contienen únicamente aristas dirigidas.

Page 134: Introducción al Business Intelligence y al Big Data

Grafos: etiquetas. Una manera de asignar semántica a los elementos de un grafo es utilizar etiquetas. Se pueden etiquetar todos los elementos de un grafo entendiendo los elementos como nodos y relaciones.

Una manera de añadir información complementaria a las etiquetas es utilizar propiedades. Las propiedades son pares clave-valor que pueden asignarse tanto a los nodos como a las aristas.

Page 135: Introducción al Business Intelligence y al Big Data

Este tipo de grafos se denomina grafos de propiedades de etiquetados. Suele ser el más común.

Modelos orientados a grafo. Utilizan estructuras de grafo para representar y

almacenar los datos. o No hay un modelo estándar. o Supongamos un grafo de propiedades de

etiquetado.

Las relaciones son explícitas entre entidades. o Mejora el tiempo de respuesta al navegar entre

relaciones (no es necesario calcular las operaciones de join).

Schemaless: el esquema está implícito en la estructura en del grafo.

Suelen utilizar lenguajes de consulta de alto nivel.

Elementos básicos. Se pueden añadir propiedades a los nodos y a las

aristas.

Restricciones del modelo:

Page 136: Introducción al Business Intelligence y al Big Data

o No permite definir aristas sin nodos origen ni destino.

o Los nodos sólo pueden eliminarse cuando quedan huérfanos.

El carro de la compra según un modelo orientado a grafos.

Representación del carro de la compra en Neo4j.

Restricción de unidicidad significa que dada una propiedad asignada a los distintos nodos, esa propiedad va a ser única.

Page 137: Introducción al Business Intelligence y al Big Data

La operación de navegación por el grafo se va a llamar Graph Traversing.

Representación de datos en Neo4J.

Para efectuar una consulta de los datos se realizaría una querie en el modelo, con algunos de los lenguajes de alto nivel de que dispone Neo4j. Una de las opciones sería cipher.

Consultando datos usando cipher. Obtener todos los pedidos donde se hayan comprado más de 10 bolígrafos de colores (nombre=coloredPen):

Obtener todos los nombres de los clientes que hayan gastado más de 50000€.

Realizar este tipo de consulta en un modelo de agregación

Page 138: Introducción al Business Intelligence y al Big Data

implicaría crear otro agregado, y sería más complicado.

Módulo 05. Open Source Business Intelligence (OSBI).

Ventajas. Bajo coste de las licencias

Acceso al código fuente.

Soporte de la comunidad.

Independencia de un único proveedor.

Desventajas. Difícil soporte agrandes organizaciones.

Falta de funcionalidades específicas.

Versión community limitada frente a versión enterprise.

Mitos relativos al OSBI. El marketing se basa en el número de descargas, pero

finalmente, este dato no representa a la verdadera cantidad de usuarios del producto.

El Open Source no es seguro.

El Open Source se basa en una comunidad que desarrolla el software y da soporte durante su tiempo libre.

Adaptar Open Source implica lidiar con el código fuente.

Realidad relativa al OSBI. Son líderes en algunos segmentos como los

servidores.

Tiene constantes actualizaciones de seguridad.

Múltiples multinacionales desarrollan código para OSBI.

Los proveedores de aplicaciones evitan que las empresas tengan que lidiar con el código fuente, excepto que así lo requieran puntualmente.

Page 139: Introducción al Business Intelligence y al Big Data

Open Source no es igual que software gratuito.

Situación actual. OSBI se está utilizando cada vez más en pequeñas,

medianas y grandes empresas.

Sin embargo, el uso en grandes organizaciones es bajo.

La funcionalidad del OSBI es aceptable para la mayoría de las organizaciones.

En muchas empresas coexisten los sistemas Open Source y los propietarios.

Las implantaciones utilizan diversas herramientas: por ejemplo: Pentaho para análisis OLAP y BIRT para reporting.

Tres productos OSBI aparecen en el BI Magic quadrant de Gartner 2013.

Page 140: Introducción al Business Intelligence y al Big Data

Comparativa Pentaho, Jasper, Birt.

Pentaho. Líder actual del mercado.

ETL:Pentaho Data Integration (Kettle).

El motor OLAP es Mondrian (basado en operaciones de roll-up [o de generalización]).

Permite análisis predictivo mediante algoritmos de Data Mining – Herramienta Weka.

El servidor web permite acceder a informes, a vistas OLAP, a cuadros de mando, etc.

Jasper. Construido a partir del motor de informes

JaspertReports.

La solución ETL es Talent.

El motor OLAP también es Mondrian.

La integración con lenguaje de programación R permite Data Mining.

Permite realizar cuadros de mando pero sólo para la versión enterprise.

Birt. Se comercializa como Actuate.

La versión Open Source es un plugin de Eclipse que sólo permite informes y cuadros de mando.

Sin embargo, permite informes complejos y avanzados.

BIRT Analytics, de la versión Enterprise, incluye entre otras muchas funcionalidades: análisis OLAP, ETL, minería de datos, etc.

Page 141: Introducción al Business Intelligence y al Big Data

Sistemas de Social Business Intelligence. Redes sociales. Características comunes.

Gran volumen de información.

Información de origen y formato diverso.

Intercambio de información inmediato y global.

Redes horizontales: son de propósito general. Ejemplos: Facebook, Google +, Twitter. Redes verticales: son de propósito específico. Ejemplos: Liked In, Xing, Instagram, etc.

Page 142: Introducción al Business Intelligence y al Big Data
Page 143: Introducción al Business Intelligence y al Big Data

Conclusiones preliminares.

Las redes sociales constituyen un canal directo e instantáneo de comunicación con los clientes a efectos de: o Proporcionar información sobre productos. o Realizar campañas de marketing. o Mejorar el servicio de atención al cliente. o Contratación de personal.

Pero… en las redes sociales los usuarios también hablan de forma crítica de productos, servicios, marcas, empresas, etc. Se convierten en prosumidores.

Social BI. Es la incorporación, procesamiento y análisis de los datos provenientes de las redes sociales a los procesos BI de las empresas.

Ventajas del Social BI: Permite mejorar el conocimiento sobre los clientes.

Ayuda a segmentar el mercado de manera más eficiente.

Permite detectar y acceder a nichos de mercado.

Facilita la realización de estudios de mercado.

Page 144: Introducción al Business Intelligence y al Big Data

Ayuda a estudiar a la competencia. Todos estos procesos siempre han formado parte de la estrategia de cualquier empresa u organización.

Métricas e indicadores. Existen multitud de métricas. Algunas pueden variar

en función de la red social.

Los indicadores a crear variarán en función de los objetivos que se marque la empresa.

En la creación de indicadores es necesario tener en cuenta conceptos como: o Visibilidad y exposición (grado de conocimiento

de productos). o Notoriedad y sentimiento (opiniones de usuarios). o Influencia (influenciadores). o Engagement o vinculación emocional (localizar

usuarios dispuesto a participar de forma activa). o Popularidad (análisis de usuarios suscritos a

servicios empresariales).

Herramientas de medición. Herramientas de analítica web:

o Herramientas de análisis: Google analytics, Adobe marketing cloud. Permiten monitorizar el tráfico en redes sociales.

o Herramientas de monitorización: Radian6, Brandwatch, Talkwalker, SocialMention, Howsociable, Addictomatic. Permiten seguir a usuarios y opiniones en redes sociales

o Herramientas de reporting: Facebook Insights, Twitter analytics, Youtube analytics, Crowdbooster. Permiten seguir campañas de publicidad.

o Herramientas de benchmarking: SocialBakers, DKS Social Smart, TwitterCounter, ChangeDetection, Compete Monkey. Permite

Page 145: Introducción al Business Intelligence y al Big Data

analizar el impacto de una campaña con respecto a la competencia.

o Herramientas de management: Twetedeck, Hootsuite. Permite gestionar la presencia de la empresa en redes sociales.

Herramientas de mobile BI: Yellowfin Business Intelligence, Transpara, InetSoft, ColabMobile, JReport.

Otras estrategias de análisis. Algoritmos de Data mining, fundamentalmente la

agrupación (clustering) y clasificación de usuarios.

Teoría de grafos: permite, entre otros, detectar subgrupos de usuarios e identificar líderes de opinión, o representar la estructura de la red social.

Sistemas de Business Intelligence Geográfico.

Información geográfica y SIG (Sistema de Identificación Geográfica).

Incorporando información geográfica a un sistema de inteligencia de sistema clásico.

Localización de usuarios.

Espacios indoor: un espacio a descubrir.

Page 146: Introducción al Business Intelligence y al Big Data

A los sistemas tradicionales de Inteligencia de Negocios (BI) que están basados en recabar información sobre:

Cuándo (Fecha y hora).

Quiénes (Usuarios, clientes).

Qué (Venta). Se les agrega un nuevo sistema, que es el de la ubicación geográfica.

Ubicación geográfica (Internet)

¿Qué es un SIG?

Un SIG es un sistema de hardware, software y datos geográficos que consiste en:

Datos Digitales - La información geográfica.

Hardware - Equipos que se utilizan para almacenar,

mostrar y procesar datos.

Page 147: Introducción al Business Intelligence y al Big Data

Software - Aplicaciones que permiten el trabajo con

datos digitales. Un software que forma parte de los

SIG es llamado aplicación SIG.

Con una aplicación SIG, se pueden abrir mapas digitales

en la computadora, crear nueva información espacial para

añadir a un mapa, crear mapas impresos personalizados a

las necesidades y trabajar análisis espacial. Una aplicación

SIG normalmente consiste de una barra de menú, barra

de herramientas, una vista del mapa y una leyenda. Los

datos vectoriales y ráster son datos geográficos usados

en una aplicación SIG. Los datos Geográficos pueden

tener asociados datos no-geográficos. Ejemplos de

aplicaciones SIG: ArcGIS (ESRI), Qgis (Quantum GIS),

GRASS Sig, MapInfo (Pitney Bowes), Global Mapper (Blue

Marble), etc.

Datos SIG

Ahora que sabemos qué es un SIG y qué puede hacer una

aplicación SIG, hablemos acerca de Datos SIG. Dato es

otra palabra para Información. La información que se usa

en un SIG normalmente tiene un aspecto geográfico. Por

ejemplo, sobre una tabla donde se registran las

enfermedades se verá así:

Page 148: Introducción al Business Intelligence y al Big Data

Longitud Latitud Enfermedad Fecha

26.870436 -31.909519 Paperas 13/12/08

Las columnas de longitud y latitud guardan datos

geográficos. La columna de enfermedad y fecha se

guardan en datos no geográficos.

Los sistemas SIG trabajan con diferentes tipos de datos. Son los Datos vectoriales y ráster.

Datos vectoriales se almacenan como una serie de par de coordenadas X, Y dentro de la memoria de la computadora. Los datos vectoriales suelen usarse para representar puntos, lineas y áreas.

Datos ráster se almacenan como una rejilla de valores. Hay muchos satélites que orbitan la tierra y las fotografías que toman son un tipo de datos ráster que se pueden ver en un SIG. Una diferencia importante entre datos ráster y vectoriales es que si te acercas demasiado en una imagen ráster, empezará a aparecer pixelada. De hecho, estos píxeles son las células de la red de datos que forman la imagen ráster.

Proceso ETL

Extract-Transform-Load (Extraer, Transformar y Cargar), es el proceso que organiza el flujo de los datos entre diferentes sistemas en una organización, y aporta los métodos y herramientas necesarias para mover datos desde múltiples fuentes a un almacén de datos, para reformatearlos, limpiarlos y cargarlos en otra base de datos, data mart o almacén de datos. ETL forma parte de la Inteligencia Empresarial (Business Intelligence), también

Page 149: Introducción al Business Intelligence y al Big Data

llamado «Gestión de los Datos» (Data Management).

La idea es que una aplicación ETL lea los datos primarios de unas bases de datos de sistemas principales, realice transformación, validación, el proceso cualitativo, filtración y al final escriba datos en el almacén y en este momento los datos son disponibles para analizar por los usuarios.

Herramientas y aplicaciones ETL más populares del mercado:

IBM Websphere DataStage, Pentaho Data Integration (Kettle ETL) - Open Source Business Intelligence-, SAS ETL Studio, Oracle Warehouse Builder, Informatica PowerCenter, Cognos Decisionstream, Ab Initio, BusinessObjects Data Integrator (BODI), Microsoft SQL Server Integration Services (SSIS).

Procesos ETL con datos geográficos

El proceso ETL deberá ser capaz de gestionar los estándares habituales, que están administrados por el OGC (Open Geospatial Consortium). Deberá considerar el tipo de validación de datos, si se refiere a grados, a una zona

Page 150: Introducción al Business Intelligence y al Big Data

geográfica concreta, etc. También tiene que trabajar con un sistema referencial de metadatos correcto. Por último se generan transformaciones basadas en grados o ubicaciones, así como en la creación de un buffer concentrado sobre un punto específico.

Una vez terminado el proceso de datos ETL se pueden guardar en una base de datos relacional, con la que se pueden efectuar comparaciones de datos. Pero para para obtener consultas geoespaciales sobre los datos (con empleo del lenguaje de consultas tipo SQL espacial y GeoSPARQL), y realizar operaciones geográficas sobre los datos, se usaría una base de datos geográfica, la cual va a permitir saber la distancia entre elementos, y si un elemento geográfico está dentro de otro. Algunos ejemplos de bases de datos geográficas son PostGis (versión geográfica de Postgre SQL), Oracle Spatial and Graph, SpatiaLite (versión geográfica de SQLite), etc. Algunos ejemplos de bases de datos geográficas más semánticas serían Virtuoso DB, Ontotext, etc.

Una vez gestionada la base de datos geográfica, se obtendrá un índice espacial, el cual es un índice que permite indexar información geográfica y que aumenta la velocidad de operaciones geoespaciales sobre los datos. Por ejemplo, calcular las distancias entre los elementos, o si los elementos se solapan.

Data Warehouse Es una colección de datos orientada a un determinado ámbito (empresa, organización, etc.), integrado, no volátil y variable en el tiempo, que ayuda a la toma de decisiones en la entidad en la que se utiliza. Se trata, sobre todo, de un expediente completo de una organización, más allá de la información transaccional y operacional, almacenada en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP u On-

Page 151: Introducción al Business Intelligence y al Big Data

Line Analytical Processing, procesamiento analítico en línea, cuyo objetivo es agilizar la consulta de grandes cantidades de datos). El almacenamiento de los datos no debe usarse con datos de uso actual. Los almacenes de datos contienen a menudo grandes cantidades de información que se subdividen a veces en unidades lógicas más pequeñas dependiendo del subsistema de la entidad del que procedan o para el que sea necesario. Por ejemplo, se puede dar un caso en el que se tenga que filtrar un cubo de búsqueda para consultar datos geográficos externos con arreglo al número de empleados, fecha de venta y número de parkings. Si alguno de estos datos no estuviera incluido en el data warehouse, como el número de parkings, se puede utilizar algún otro servicio geográfico externo, como Google Maps, open Street Maps, open Data, OGC WMS. Entonces se sabría cuáles son los parkings más cercanos a la tienda, pero no sería suficiente, porque habría que ejecutar una operación espacial, para saber con exactitud cuáles están dentro de un radio de 3 Km a la redonda. Para ello se necesita ejecutar una operación espacial de distancia. El cálculo se efectúa mediante SQL espacial y GeoSPARQL. Si no se dispusiera de los datos, aún quedaría la alternativa de utilizar una de las librerías que existen en el mercado. También se puede añadir un nivel de agregación (multidimensional geográfico), como pueden ser las divisiones geopolíticas y así utilizar un nivel de agregación de municipios, barrios, países, etc. Y la información espacial y las operaciones espaciales van a servir para este propósito.

Page 152: Introducción al Business Intelligence y al Big Data

Por último, se representaría la información obtenida en mapas, con distintas opciones como servidores de mapas libres, servidores de mapas propietarios, o servidores de mapas en la nube. También se puede utilizar una librería de JavaScript como LeafLet, para introducir elementos dentro del mapa.

Localización de usuarios

Es otra aplicación de los sistemas de información geográfica. Están basados en servicios de geolocalización. Con ellos se puede saber dónde están ubicados los potenciales clientes en todo momento. Esto es importante

Page 153: Introducción al Business Intelligence y al Big Data

porque permite añadir un contexto, que es la localización de usuarios mediante posicionamiento. En este contexto lo importante es:

Dónde están los usuarios.

Dónde han estado los usuarios.

En qué negocios o lugares cercanos. Qué servicios cercanos han usado (trenes, metros,

farmacias, etc.)

Esto implica la monitorización persistente de los usuarios para ofrecerles servicios recomendados, que van a ajustar a sus características particulares. El problema es que este sistema funciona «outdoor».

Los sistemas de localización «indoor» están avanzando mediante la implantación de tecnologías como:

Marcadores fijos (Códigos QR).

Inalámbricas (WI-FI), Bluetooth, etc.)

Inerciales.

Basadas en el campo magnético.

Usos de la monitorización de usuarios:

Análisis de usuario.

Análisis del contenido de los negocios y el interés despertado en los usuarios.

Usos en las emergencias:

Detección.

Evacuación.

Usos en routing:

Evitar masificaciones.

Priorizar negocios.

Page 154: Introducción al Business Intelligence y al Big Data

Otros usos: social...

Conclusión: Información geográfica + Localización= un mundo nuevo lleno de posibilidades.

Customer analytics (Analítica de clientes). Es la utilización de la información interna o externa que dispone la empresa sobre sus clientes, para mejorar su mezcla de marketing. Es decir, perfilar los segmentos de mercado, mejorar los productos o crear otros nuevos, establecer nuevos canales o puntos de venta, mejorar la eficacia comercial, y las estrategias de precios y ofertas.

Marketing, ventas y servicio al cliente.

"La empresa existe porque alguien vende": Peter Drucker.

CRM (Customer Relationship Management)

Administración basada en la relación con los clientes. CRM es un modelo de gestión de toda la organización, basada en la satisfacción del cliente u orientación al mercado. El concepto más cercano es marketing relacional y tiene mucha relación con otros conceptos como: clienting, marketing 1x1, marketing directo de base de datos, etc.

Software para la administración de la relación con los clientes. Son sistemas informáticos de apoyo a la gestión de las relaciones con los clientes, a la venta y al marketing. Dicho software puede comprender varias funcionalidades para gestionar las ventas y los clientes de la empresa: automatización y promoción de ventas, tecnologías de almacén de datos (data warehouse) para agregar la información transaccional

Page 155: Introducción al Business Intelligence y al Big Data

y proporcionar una capa de informes (reporting), cuadros de mando (dahsboards) e indicadores claves de negocio, funcionalidades para seguimiento de campañas de marketing y gestión de oportunidades de negocio, capacidades predictivas y de proyección de ventas.

Page 156: Introducción al Business Intelligence y al Big Data

Evolución de los sistemas CRM

Orígenes

(principios de los 90s)

Los 90s Los 2000 Actual

Rasgo distintivo

Dispersión del dato

Organización del dato

Propiedad del dato

Colaboración del dato

Descripción Soluciones

independientes

CRM para marketing, ventas y servicio

CRM como estrategia de

empresa CRM Social

Foco Soluciones

tecnológicas

Solución táctica y

operacional integrada

Estrategia y cultura

corporativa

Experiencia de usuario y creación de

valor

Objetivos Eficiencia de

ventas y soporte

Costes y retención de

clientes

Ingresos prediccionales

Valor para el cliente

El consumidor, la nueva empresa.

La democratización de la Internet y el acceso a

la información.

Multicanal y

multiplataforma.

Las redes sociales, fórums, wikis y blogs.

Información y toma de decisiones en tiempo

real.

La ubicuidad a través de múltiples

dispositivos: la multi-canalidad.

La granularidad del dato.

Los agregadores y comparadores.

Información estática y dinámica.

La Internet de las cosas.

Análisis de perfiles.

Los Big Data: volumen, variedad, velocidad.

La inteligencia predictiva.

La colaboración entre

marketing, ventas y servicio al cliente.

Complejidad tecnológica.

Page 157: Introducción al Business Intelligence y al Big Data

Consumer Analytics Consumer Analytics consiste en la captura, gestión, análisis y generación de valor de los datos del cliente. Descripción - En esta fase se realiza un análisis retrospectivo. Diagnóstico - Se intenta comprender por qué los clientes compran o no. Simulación - En esta fase se realizan diferentes experimentos como cambio de precios, etc. Existe una ligera predictibilidad. Prescripción - La organización ya es capaz de tomar decisiones basadas en escenarios. Prevención - Se pueden realizar acciones de tipo oferta o bono.

Cómo trabajar con Customer Analytics. Identificar objetivos de negocio específicos.

Identificar oportunidades de acción.

Desarrollar una estrategia de Customer Analytics.

Establecer los procesos, técnicas y herramientas.

Obtener resultados y tomar decisiones.

Page 158: Introducción al Business Intelligence y al Big Data

Tipos de análisis.

Objetivos Tipos de análisis

Segmentación de clientes

Clustering de grupos homogéneos y heterogéneos Perfiles demográficos y psicográficos

Tendencias y patrones

Adquisición de clientes

Propensión de compra Factores de compra Proceso de compra Modelos de afinidad

Beneficio y fidelización

Ventas cruzadas (cross-selling) y adicionales (up-selling)

Preferencias por canal Análisis de la cesta de la compra

Optimización y modelos RFV y CLV Elasticidad al precio

Análisis social y de sentimiento

Retención de clientes

Análisis de pérdidas (churn) Simulación, predicción y experimentación

Eficiencia y rentabilidad

Relación del esfuerzo comercial y el marketing mix con el resultado de los impactos y ventas

Factores críticos de éxito. Crear una cultura de análisis y toma de decisiones basada en los datos, no en la intuición o en la autoridad. Asegurar la esponsorización y compromiso activo de la dirección. Establecer un contexto de colaboración y comunicación entre IT y negocio y entre marketing, ventas y servicio al cliente. Desarrollar talento analítico y formación en las herramientas entre los diferentes tipos de usuarios. Liderazgo, planificación, gestión y control del proyecto, con objetivo a largo plazo pero con beneficios medibles a corto. Buscar y desarrollar buenos partners (socios).

Page 159: Introducción al Business Intelligence y al Big Data

Referencias:

universitat Oberta de Catalunya Wikipedia MiriadaX