SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Sistemas de Big Data
Conforme a contenidos del «Curso de Especialización
en Inteligencia Artificial y Big Data»
Universidad de Castilla-La Mancha
Escuela Superior de Informática
Ciudad Real
Presentación del módulo
Sistemas de Big Data
La creciente digitalización de nuestras sociedades está generando grandes vo-
lúmenes de datos. Los sistemas de Big Data (BD) están diseñados para procesar
estos datos y obtener información relevante de ellos. Hoy en día existen aplicacio-
nes de los sistemas BD en todos los sectores económicos y es por tanto un sector
en continuo auge en el mercado laboral. Este módulo profesional contiene la for-
mación necesaria para desempeñar las funciones de integrar, procesar y analizar la
información de grandes volúmenes de datos, aplicando herramientas y técnicas de
BD para su visualización, valoración y presentación de resultados en la toma de
decisiones de las empresas y organizaciones.
Las funciones antes citadas incluye aspectos como:
1. Determinar herramientas necesarias de los sistemas Big Data.
2. Configurar cuadros de mando en diferentes entornos computacionales.
3. Gestionar y almacenar grandes volúmenes de datos para facilitar la búsqueda
de respuesta.
4. Aplicar técnicas Big Data para integrar, procesar y analizar la información.
5. Visualizar datos para distintos escenarios.
Los contenidos básicos del curso y su planificación temporal se muestra en la
tabla 1.1.
El módulo se desarrollará sobre varios tipos de herramientas. Para el proce-
samiento se emplearan Google colab y Spark, para las tareas de almacenamiento
Mongo DB y Flume y para las tareas de visualización Tableau, Data Studio y Qlik.
Todos los módulos del curso de especialización en Inteligencia Artificial y Big
Data comparten la misma metodología docente. La carga docente de cada semana
del módulo es de 0,5 ECTS, desarrollándose los siguientes recursos/actividades
didácticas:
1
[2] PRESENTACIÓN DEL MÓDULO SISTEMAS DE BIG DATA
Semana Contenidos
SEMANA 1. Complejidad computacional.
Procesamiento de la información.
SEMANA 2. Introducción a los sistemas Big Data.
SEMANAS 3. 4. y 5. Minería de datos y cuadros de mando en entornos compu-
tacionales.
SEMANA 6. Metaheurísticos.
SEMANAS 7. y 8. Gestión y Almacenamiento de datos.
SEMANAS 9. y 10. Aplicación de herramientas para el análisis de datos.
SEMANA 11. y 12. Aplicación de herramientas para la visualización de da-
tos.
Tabla 1.1: Planificación temporal de los contenidos
- Clases teóricas y prácticas mediante 8 vídeos de unos 5 minutos en los
que se impartirán de forma no concurrente los contenidos básicos y ejemplos
prácticos, con el código fuente para realizar las actividades.
- Documentación. Los contenidos de estos vídeos serán recogidos y comple-
mentados en un material escritos de aproximadamente 15 páginas/semana.
- Ejercicios de autoevaluación H5P. Cada semana los alumnos contendrán
unos 4 ejercicios de autoevaluación.
- Ejercicios propuestos complementarios.
- Tutorías. Todas las semanas se dispondrá de una hora de tutorías para resol-
ver las dudas sobre los materiales desarrollados en dicha semana.
Empleamos como principio metodológico para el módulo el de aprender a
hacer se aprende haciendo. La evaluación se alinea a esta visión y se realiza a
través de tres actividades relativas a: i) configuración de un cuadro de mando, ii)
almacenamiento de grandes volumenes de datos y iii) visualización y análisis de
datos.
Complejidad computacional.
Procesamiento de la
información
1.1. Introducción
El objetivo de este capítulo es dar una visión general de las técnicas de integra-
ción, procesamiento y análisis de información en sistemas Big Data. El punto de
partida es dar la definición más extendida de Big Data basada en las 3 Vs. Se con-
tinua introduciendo el concepto de complejidad computacional y mostrando que
las limitaciones actuales (y futuras) en las capacidades computacionales están ori-
ginadas por la gran cantidad de datos (volumen) y por la complejidad algorítmica.
Finalizaremos con un esquema conceptual para obtener información a partir de los
datos que se implementa en los sistemas BD.
1.1.1. ¿Que es el Big Data? (3 Vs)
Los datos están adquiriendo un papel central en la toma de decisiones tanto en
empresas como en instituciones públicas. La creciente digitalización de nuestras
sociedades están generando grandes cantidades de datos, apareciendo el concepto
de Big Data. No hay un consenso en la definición de este concepto, pero la más
extendida es la definición de las 3 Vs dada en 2001 por Doug Laney, de la empresa
de análisis Gartner, que define las dimensiones y propiedades de BD. Las Vs en-
capsulan la verdadera definición de BD y marcan el comienzo de un nuevo periodo
en el que los BD puede considerarse una característica dominante del siglo XXI.
Desde entonces se han añadido a la lista otras Vs, como veracidad, valor y varia-
bilidad pero la definición original de las 3Vs sintetiza las características esenciales
del concepto BD.
1. Volumen. La primera característica de estos sistemas es la inmensa cantida-
des de datos que pude variar de terabytes a petabytes, o incluso mayor (Ver
la tabla 1.2 para tener en cuenta el orden de magnitud, notar que el número
de átomos de hidrógeno en el universo es de 4∗1079
). Por ejemplo Facebook
3
[4]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
Tabla 1.2: Unidades de almacenamiento
Unidad Cantidad de bytes
Gigabytes 109
bytes
Terabytes 1012
bytes
Petabytes 1015
bytes
Exabytes 1018
bytes
Zettabytes 1021
bytes
Yotttabytes 1024
bytes
almacenó 100 petabytes de fotos y videos en 2012 que fue almacenado por
845 millones de usuarios. La siguiente tabla recoge unidades de almacena-
miento que son necesario usar en estos contextos. El World Economic Forum
estima que en 44 zettabytes los datos disponibles en el año 2020.
2. Velocidad. Esta característica hace referencia a cómo el flujo de datos se
está generando. Además, se impone en ciertos contextos ventanas temporales
breves para procesar dichos datos. Por ejemplo, en Facebook se suben 900
millones de fotos cada día.
3. Variedad. Los datos son generados de una amplia cantidad de fuentes y for-
matos. Por ejemplo se emplean formatos como ficheros log, bases de datos,
ficheros XML o pueden consistir en imágenes, vídeos, audio, etc.
Esta definición ha ido expandiéndose par incorporar nuevas dimensiones a la
definición de BD como veracidad, valor, variabilidad, visualización, etc. Es gra-
cioso el empeño forzado de encontrar palabras que empiecen por V, llegando a
proponer viscosidad y volatilidad.
Todos estos datos, debido a técnicas de aprendizaje automático y de minería
de datos tienen un valor comercial. El objetivo de estos sistemas no es solo el
almacenamiento, sino aplicar técnicas analíticas que permitan extraer información
relevante de los datos.
1.1.2. Modelos de negocio basado en datos
El modelo de negocio (BM, sus siglas en inglés) se refiere a como una organi-
zación crea y captura valor. Los modelos de negocios basados en Big Data (BDBM,
su siglas en inglés) están en la infancia y están en un proceso de creación. [WSM20]
hace una taxonomía de las empresas en función de su BDBM clasificándolas en: i)
usuarias de datos, ii) proveedoras de datos y iii) facilitadoras de BD. El primer gru-
po son las empresas que capturan el valor de las aplicaciones de BD. Por ejemplo
mejorando sus procesos internos a partir de aplicaciones de BD. El segundo grupo
venden sus datos a terceros. Estas empresas van desde vendedoras de Massive Open
Online Course (MOOC) hasta vendedores de indicadores de salud personal. El ter-
cer tipo de empresas son las que facilitan la realización de las aplicaciones de BD
alquilando la infraestructura (hardwware y software) para implementar soluciones
[5]
Tabla 1.3: Tipología de BDBM (fuente [WSM20])
Tipo Fuente de valor (ejemplo)
Usuarios de datos • Analisis BD para apoyar la toma de decisiones estratégicas
• Uso de BD para mejorar los procesos internos
• Enriquecer productos, servicios y experiencia de clientes mediante
BD
• Desarrollo de nuevos productos y servicios mediante BD
Proveedoras de da-
tos
• Recopilando datos primarios y vendiéndolos a terceros
• Agregando datos y empaquetando datos internos para la venta
Facilitadores de BD • Ofreciendo la infraestructura a las anteriores tipos de empresa nece-
saria para realizar BD
• Consultoría relativa a BD
• Subcontratación de técnicas analíticas para BD (ejemplo en la nube)
BD o prestando consultoría y servicios en BD. En la tabla 1.3 se muestran ejemplos
de creación de valor. Las destrezas de un profesional de BD difieren del modelo de
negocio de la empresa y este hecho se debe tener presente en la formación de los
profesionales.
1.2. Complejidad computacional para el análisis de
datos
[HFG+
19] mostró un modelo de crecimiento digital (ver Figura 1.1) donde el
crecimiento del volumen de datos y la capacidad computacional para procesarlos
sigue un crecimiento exponencial pero con la diferencia esencial que el volumen de
datos se duplica cada 12 meses mientras que los recursos computacionales cada 18
meses (Ley de Moore). Estos autores postulan que el crecimiento del coste de los
procesos para analizar datos, aspecto que incluyen los algoritmos, tiene un creci-
miento factorial cuyo consecuencia inmediata es una gran cantidad de datos que no
podrán ser analizados. Esta complejidad explosiva impone un modelo de inteligen-
cia distribuida para poder afrontar los retos del mundo y de nuestras sociedades.
El objetivo de esta sección es evaluar la severidad del efecto de la complejidad
algorítmica en la implantación y desarrollo de sistemas BD.
El coste computacional de la ejecución de un algoritmo es un factor limitante
incluso cuando no se está ante grandes volúmenes de datos. Esto es lo que vamos a
mostrar en esta sección. Supongamos que el número de datos disponibles es n. Es
evidente que si el número de datos n aumenta entonces el tiempo de ejecución de un
[6]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
Dobla cada 18 meses
Dobla cada 12 meses
No hay suficientes
datos para tomar
buenas decisiones
Big Data permite
la toma de decisiones
basada en evidencias
Volumen de datos
Potencia de
procesamiento
Complejidad
sistémica
Inteligencia
colectiva
reemplaza
control
centralizado
Años
Figura 1.1: Modelo de crecimiento digital, fuente [HFG+19].
algoritmo para procesarlos también aumente. Por tanto cualquier algoritmo tiene la
propiedad que si n crece hacia infinito su coste computacional también crece hacia
infinito. La cuestión esencial es que existen varias velocidades de crecer a infinito,
unas significativamente más rápidas que otras. La relación matemática
lı́m
n→+∞
P(n)
an
= 0 (1.1)
para cualquier a > 1 y para cualquier polinomio P(n) indica que aunque tanto el
numerador como el denominador tienden a infinito el denominador crece muchísi-
mos mas rápido que el numerador
Se dice que un algoritmo tiene un tiempo de ejecución polinomial si el número
de operaciones máximo que realiza para resolver un problema está acotado por un
polinomio en el tamaño del problema. Para ciertos problemas el tamaño del mismo
es el número de datos. Por ejemplo si queremos ordenar un vector mediante el
algoritmo de la burbuja, lo denotamos por A el número de operaciones que realiza
el algoritmo A está acotado por un polinomio cuadrático en función del número
de datos n, diremos que el algoritmo A es polinomial. Mas concretamente diremos
que la complejidad de A es O(n2
). Según esta definición el problema de ordenar
un vector es un problema de la clase P.
Se dice que un problema está en la clase de complejidad P si existe un algo-
ritmo para resolver el problema que tiene un tiempo de ejecución polinomial. Si no
se conoce ningún algoritmo que lo resuelva en tiempo polinomial (porque no exista
o porque en este momento no se haya desarrollado) se dice que el problema está
en la clase de complejidad NP. Dentro de los problema NP existen un subcon-
junto de problemas llamados NP−completos. Si uno de estos problemas tuviera
[7]
un algoritmo de resolución polinomial entonces todos los problemas de la clase
NP también tendrían un algoritmo polinomial y en dicho caso P = NP. El Clay
Mathematics Institute ® Link: http://https://www.claymath.org/ ofrece un millón
de dólares a quien sea capaz de responder a la pregunta ¿P = NP?
ACTIVIDAD:
La siguiente actividad pone de manifiesto que cualquier problema que no esté
en la clase P es intratable de forma exacta sean cuales sean los recursos compu-
tacionales disponibles.
El RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de clave públi-
ca que permite firmar digitalmente documentos. Su seguridad se basa en el elevado
coste computacional de factorizar en números primos un número dado. Uno de los
algoritmos más rápidos para factorizar un entero de n cifras requiere del orden de
fA(n) = 10
√
n·log10(n)
operaciones. (El logaritmo es en base 10). (1.2)
Si deseamos analizar la complejidad de un algoritmo se puede recurrir a una
forma visual consistente en representar la función fA(n). En el eje OY se considera
una escala logarítmica y en el eje OX se representa la variable n. En la Figura 1.2
hemos representado fA(n) y la función polinomial y = n10
. Se observa que el
aspecto de la gráfica polinomial coincide con una función cóncava, mientras que
un comportamiento lineal (o incluso estríctamente convexa) representa crecimiento
exponencial.
0 100 200 300 400 500 600 700 800 900 1000
n
100
10
10
1020
10
30
1040
1050
10
60
Operaciones
(escala
logarítmica)
CRECIMIENTO EXPONENCIAL
CRECIMIENTO POLINOMIAL
Figura 1.2: Crecimiento polinomial vs exponencial.
[8]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
Supongamos que disponemos del ordenador de IBM Roadrunner que es capaz
de superar un petaflop de operaciones por segundo. Es capaz de realizar 1,105∗1015
operaciones por segundo. ¿Cuánto tiempo emplearía en factorizar un número de 50
cifras?
VelocidadCPU = 1,105 ∗ 1015
operaciones / segundos
fA(50)
VelocidadCPU
= 1,4907 ∗ 10−6
segundos
El resultado muestra que tardaría menos de una milésima de segundo. Y si nos
preguntamos cual es el máximo número de cifras n que Roadrunner puede facto-
rizar durante un año. Planteamos el siguiente código (ver Listado 1.1) en Python
para resolver la cuestión.
Listado 1.1: Código en python para calcular el máximo número de cifras de una clave RSA
que se puede romper con el ordenador Roadrunner
1 # Carga de la libreria math para calcular log10
2 from math import *
3 # Operaciones/segundo realizadas por Roadrunner
4 VelocidadCPU = 1.105 * 10 ** 15
5 # número de dígitos
6 n=1
7 # número de operaciones
8 fA=1
9 # ¿ nº operaciones requeridas <nº operaciones en un año?
10 while fA <= (VelocidadCPU *24 * 60 * 60 *365):
11 n = n+1
12 fA = 10 ** ( pow( n * log(n,10) , 0.5 ) )
13
14 print(’Numero maximo de cifras =’ , n-1)
El resultado de ejecutarlo es n = 217. Hemos pasado de factorizar un número
de 50 cifras en una millonésima de segundo a necesitar un año para factorizar un
número con un poco mas del cuádruple de cifras. Nos podemos plantear la cuestión
de que pasaría si se duplicase la capacidad de cómputo de Roadrunner, esto es, la
nueva capacidad de cómputo es 2 ∗ V elocidadCPU. ¿Se duplicaría el la longi-
tud de cifras de los números que son factorizables en un año? ¿Cuantas cifras más
se podrían abordar? Volviendo a ejecutar el código para esta nueva capacidad de
cómputo comprobamos que el resultado ahora es de n = 222 cifras, la duplicación
de la capacidad de cómputo ha aumentando solamente 5 nuevas cifras. La duplica-
ción de los recursos computacionales no es una estrategia por si sola que sea capaz
de abordar el coste computacional de los problemas.
Este ejemplo muestra que el un tiempo de ejecución exponencial es inaborda-
ble para cualquier máquina actual. De hecho a efectos prácticos una complejidad
computacional superior a n3
es dramática.
[9]
Actividad. Divide y vencerás. En esta actividad vamos a motivar como abor-
dar los sistemas BD usando computación distribuida. Este enfoque es la base
de tecnologías como MapReduce. Supongamos que tenemos un algoritmo A
de complejidad O(n3
). Este algoritmo para un tamaño del problema n = 1000
(asumimos que n representa el número de datos) realizará una cantidad pro-
porcional a 10003
operaciones, esto es, 1000 millones de operaciones. Supon-
gamos que particionamos la base de datos en k = 100 grupos de 10 datos
cada uno y aplicamos el algoritmo a cada uno de estos grupos. Este proceso se
puede realizar de modo distribuido, como el mostrado en la Figura 1.3. Obtene-
mos como resultado de este proceso k salidas parciales que deben combinarse
para obtener el resultado final. Obviamente en esta desagregación se pierde
exactitud en el proceso. Si analizamos ahora el coste computacional tenemos
que cada subtarea se realiza ahora del orden de 103
operaciones, además es-
tas operaciones se realiza de forma paralela. En una siguiente fase se deben
combinar los resultados y estas operaciones supondrían un coste adicional de
f(k) operaciones. Pongamos un ejemplo sencillo para ilustrar este procedi-
miento de cálculo distribuido. Vamos a calcular la media de un conjunto de
números x̄ = x1+...+xn
n
. Esta operación tiene un coste computacional O(n).
Si particionamos los datos en grupos iguales de m elementos tal que n = mk
y calculamos la media en dichos grupos, el coste por subgrupo es O(m). El
proceso para combinar medias es la media de la medias x̄ = x̄1+...+x̄k
k
, que
tiene un coste O(k), por tanto, el resultado final es O(m) + O(k). Además
como los grupos son de igual tamaño el resultado es exacto. Como conclu-
sión este esquema distribuido pasa de un coste computacional O(m.k) a uno
O(m) + O(k).
Datos
(Particionamiento)
Resultados
Intermedios
Resultados
Finales
Figura 1.3: Computación distribuida.
[10]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
1.3. Técnicas y procesos de extracción de la informa-
ción de los datos
Supongamos que en en una primera fase se ha adquirido un conocimiento pre-
vio del caso de estudio y se han establecido unos objetivos para el proyecto (Big
Data). Este análisis inicial marcará los puntos desde donde se parte (datos) a donde
se quiere llegar (información). El proceso mostrado en la Figura 1.4 establece las
etapas a seguir para extraer la información a partir de los datos. Este proceso consta
de las siguientes etapas:
1. Identificación de datos: En esta fase se identifican todas las fuentes gene-
radoras de datos que están disponibles y son de utilidad para el objetivo del
proyecto.
2. Modelo de datos y Almacenamiento. En la primera etapa de preparación
o pre-procesamiento los datos se almacenan en crudo. Esto permite crear
repositorios con grandes volúmenes de información sin invertir mucho tiem-
po en la definición de su estructura e implementación. El objetivo de esta
etapa es mejorar la calidad de los datos. Se establecen modelos predictivos
para los datos poco fiables, defectuosos, ausentes o desajustados en cuanto a
atribuciones válidas.
En la siguiente etapa se define un modelo de datos con el objetivo de organi-
zar, clasificar y especificar como se relacionan los datos existentes. También
se establecen las condiciones que deben cumplir los datos para reflejar la
realidad modelada y considerarlos válidos. También se definen las transfor-
maciones necesarias que se deben realizar para poder ser utilizados. En la
fase de almacenamiento se procede a la implementación del modelo en una
base de datos.
3. Proceso analítico. En esta etapa mediante técnicas de aprendizaje automáti-
co se buscan patrones de interés, determinación de tendencias, identificación
de anomalías, etc.
4. Visualización. En esta fase final se entregan los resultados obtenidos para
su interpretación y documentación. En este punto, los datos finales han sido
limpiados, convertidos, seleccionados en base a atributos relevantes y enmar-
cados en representaciones visuales para ayudar a los humanos en su toma de
decisiones.
Un ejemplo notable de visualización son los cuadros de mando integrales
que monitorizan en tiempo real la actividad de una empresa u organización
y permiten tomar decisiones a corto plazo adecuadas a la estrategia marco
adoptada. Estas herramientas emplean el uso de los KPI o Indicadores Cla-
ve de Desempeño (Key Performance Indicators, para las siglas en inglés)
para cuantificar y evaluar el rendimiento de una estrategia de negocio en ba-
se a la consecución de los objetivos fijados por la misma.
En esta sección vamos a introducir estos elementos.
[11]
Identificación datos
Preparación de datos
Recolección, depuración,

Limpiado y normalización
Modelo de de datos
Almacenamiento
Analytics
Machine Learning
Visualización
CAPA DE VISULIZACIÓN:
Cuadro de mando, alertas, predicciones
CAPA DE ANÁLISIS Y PROCESAMIENTO
Procesamiento batch, on-line
CAPA DE ALMACENAMIENTO DE DATOS
Bases de dato relacional, NoSQL
CAPA DE DATOS
Sensores, redes sociales, CRM, móviles
(a) PROCESO (b) ARQUITECTURA DE SISTEM
Figura 1.4: Proceso de extracción de información de los datos.
1.3.1. Identificación de datos y sus tipologías
El primer paso es determinar la fuentes de datos que pueden ser útiles. Estas
fuentes abarcan los datos generados en el propio entorno empresarial (datos inter-
nos) como aquellas que son ajenas a la organización (datos externos), como redes
sociales, web, bases de datos compradas a otras compañías, datos geográficos, da-
tos económicos sectoriales, etc. Tras este proceso se dispondrá de un conjunto de
datos que abarcarán una o varias de las siguientes tipologías:
• Estructurados. Los datos estructurado son aquellos que están bien defini-
dos en cuanto su formato, longitud y significado. Ejemplos de este tipo de
datos son magnitudes, fechas, cadenas de caracteres. Sus almacenamiento se
registran en tablas. Si el volumen es grande se almacenan en Data Warehou-
se, en otros casos se emplean bases de datos relacionales o simples hojas de
cálculo. En los modelos de bases de datos relacionales toda la información
se almacena en tablas en las que se especifican el tipo de campos que tienen
y cómo se relacionan entre ellas.
• No estructurados. Los datos no estructurados no tienen un formato ni un ta-
maño predefinido. Ejemplos de este tipo de datos son el texto, vídeo, audio e
imágenes. Este tipo de datos se generan por múltiples fuentes como sensores,
satélites, ordenadores, teléfonos inteligentes, redes sociales, por actividades
en sitios webs, etc. Hoy en día este tipo de datos constituyen una fuente muy
[12]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
importante para las empresas para obtener información de sus clientes, de sus
procesos, de sus productos, etc. El almacenamiento de este tipo de datos de-
be realizarse de forma organizada a través de una base de datos no relacional
(NoSQL).
• Semi estructurados. Este tipo de datos combinan datos estructurados y no
estructurados. Estos datos tienen un esqueleto o estructura que organiza los
inputs que deben contener y define las relaciones entre los textos y objetos
que contienen. Este esqueleto puede evolucionar en el tiempo y convertirse
en un protocolo aceptado. Este esqueleto se define en forma de árbol, con
etiquetas para facilitarte el manejo.
Ejemplos de este tipo de datos son las páginas web o servicios de correos
electrónicos donde se almacén los mensajes y ficheros adjuntos. Los meta-
datos permiten clasificarlos y realizar búsquedas por palabras clave.
1.3.2. Modelos de datos y almacenamiento
El primer paso consiste en una recopilación en bruto de los datos y su pre-
procesamiento. En la preparación de los datos se deben eliminar el mayor número
posible de datos erróneos o inconsistentes (limpieza o depuración) e irrelevantes
(criba). En esta fase se pueden emplear métodos estadísticos para detectar outliers
o seleccionar registros problemáticos. Con estos datos se ignorarán, se filtrarán
(eliminar o reemplazar el valor). También en esta fase se deben analizar los valores
faltantes (missing value). Se puede reemplazar por la media, eliminar el registro,
estimar a partir de otros datos, etc.
El modelo de datos puede ser visto como el lenguaje para describir el modo
de almacenar los datos en una base de datos. El modelo de datos juega el papel
de puente entre las áreas funcionales de la empresa y la parte de tecnologías de la
información de la misma.
El modelo de datos es un conjunto de herramientas teóricas para describir las
propiedades relevantes de los datos del sistema en consideración. Este contiene tres
elementos:
• Una notación para la descripción de la estructura de los datos, el tipo de datos
y cómo se relacionan.
• El conjunto de restricciones de integridad que deben cumplir los valores de
los datos para ser considerados válidos, y
• Un conjunto de operaciones para la actualización y recuperación de los datos.
Existe tres niveles de abstracción a la hora de analizar un modelo de datos:
1. Modelo de datos conceptual. Es el nivel más alto de abstracción y en este
nivel se define lo que el sistema contiene, estableciendo su organización,
finalidad y reglas y conceptos del negocio.
[13]
2. Modelo de datos lógico. Está situado en el nivel intermedio de abstracción
y define cómo el sistema debería estar implementado, independiente del tipo
de base de datos que se empleará. El objetivo es desarrollar un mapa técnico
para las reglas y la estructura de los datos.
3. Modelo de datos físico. Es el nivel más bajo de abstracción y describe como
el sistema será implementado usando una base de datos específica.
La tabla 1.4 muestra una taxonomía de modelos de datos y ejemplos de la mis-
ma, así como las técnicas de modelización de datos empleadas. Estas técnicas de
modelización son aplicables tanto a modelos relacionales como no relacionales, y
se describe a continuación:
1. Diagrama de entidades-relaciones (ERD, en su acrónimo en inglés). Esta
técnica visual es la opción por defecto empleada en la modelización y dise-
ño de bases de datos relacionales. Incorpora el uso de entidades, atributos,
relaciones, cardinalidades, restricciones entre otros elementos, así como no-
tación simbólica.
2. Diagramas de clase Unified Modeling Language (UML). Este es una nota-
ción standard para modelizar y diseñar sistemas de información empresarial.
3. Diccionario de datos. Es una representación tabular de los conjuntos de
datos y sus atributos, que contienen elementos como la descripción de los
elemento, relaciones entre tablas, restricciones (unicidad, valores por defec-
to, valores válidos).
no funciona el entorno beginturn. Parece como si no cargara el paquetete rota-
ting
1.3.3. Técnicas de aprendizaje automático para la extracción de
información de los datos estructurados y no estructura-
dos
Las técnicas de aprendizaje automático o machine learning se aplican al análisis
de los datos. Las variables a analizar se clasifican en atributos (o también llamadas
características) x y en variable respuesta (o también llamada etiqueta) y, que re-
presenta el fenómeno a analizar. Si la variable y aparece en los datos del estudio
estamos ante un problema de aprendizaje supervisado y en caso de que no dispo-
ner de ella ante uno de aprendizaje no supervisado. Los tres tipos de problemas
que aparecen son:
• Clustering. En este problema se busca patrones dentro de los datos. Esto es,
encontrar subconjuntos de observaciones que son similares entre sí. Mate-
máticamente se formularía como determinar las etiquetas y de los datos de
modo que si dos observaciones i y j son similares le asociemos la misma
etiqueta, yi = yj. Una dificultad de este problema es que no se parte de un
conjunto previo de etiquetas del cual aprender.
[14]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
Tipo Modelo de datos Técnica d
Basada en registros •Jerárquico: Los datos se almacenan en registros. Los registros
tienen estructura de árbol donde cada registro tiene un único pa-
dre (nodo superior)
ERD, Dic
• Red: Elaborado sobre un modelo jeráquico pero permitiendo
que los registros tengan múltiples padres
• Registros: Se especifica la estructura de toda la base de datos,
definiendo los tipos de registros. Tienen un número determinado
de campos con una longitud fijada.
• Multidimensional: la estructura de datos contenida en la base
de datos está mezclada con los propios datos. Es útil para fuentes
de datos basadas en la web y para relacionar bases de datos de
diferentes tipos.
Relacional • Relacional: los datos están segmentados con la ayuda de tablas.
Se emplea Structured Query Language (SQL) como su lenguaje
canónico de base de datos.
ERD, Dic
• Modelo de entidades-relación: describe la relación entre cosas
de interés en un dominio de conocimiento. Un modelo básico ER
está compuesto por tipo de entidades y especifica las relaciones
que pueden existir entre estas entidades.
• Modelo de datos relacional extendido (ERDM) es un híbri-
do del modelo relacional añadiendo funcionalidades de modelos
orientados a objetos.
Basado en objetos • Modelos orientados a objetos: consiste de objetos que poseen
sus características y métodos. Estos modelos se pueden conside-
rar que son post relacionales debido a que no se limitan a tablas
aunque las empleen.
UML ER
• Modelo dato por contexto: este modelo incorpora varios mo-
delos de datos según se necesitan, como relacional, orientado a
objetos, semi estructurado entre otros. Este modelo permite va-
rios tipos de usuarios que se diferencia en el modo de interactuar
con la base de datos
NoSQL • Modelo de grafo. Se emplea una estructura de grafo con nodos,
aristas y propiedades para representar los datos almacenados.
Diccionar
• Modelo dato multievaludado: Este modelo permite respecto al
modelo relacional que cada atributo en lugar de contener un dato
unitario almacene una lista de datos.
• Modelo de datos documento: este tipo permite almacenar y
gestionar documento o dato semi-estructurados mas que datos
atómicos.
Tabla 1.4: Taxonomía de modelos de datos
[15]
• Regresión. En este problema se desea predecir el valor de una variable con-
tinua y conocido el valor de la variable x.
• Clasificación. En este problema se debe predecir el valor de la variable cua-
litativa y a partir de la variable x.
Las técnicas de aprendizaje automático se aplican tanto a datos estructurados
como no estructurados. La diferencia esencial es que en los datos estructurados las
características x están completamente definidas a partir de los datos iniciales mien-
tras que en los datos no estructurados hay que recurrir a procedimientos para extraer
automáticamente estas características. Por ejemplo una fotografía en formato RGB
se almacena en tres matrices, las cuales deben ser sometidas a operaciones mate-
máticas, como la de convolución, para poder extraer las diferentes características a
emplear.
Estos tres modelos matemáticos, en función del tipo específico de dato, re-
presentan una tipología de problema. Figura 1.5 sintetiza los principales tipos de
extracción de información obtenidos de datos no estructurados. Estas técnicas se
clasifican en función del tipo de dato usado: texto, imágenes, audio y vídeo. El aná-
lisis de cada tipo de dato no estructurado es en sí una disciplina distinta aparecien-
do el denominado procesamiento del lenguaje natural o minería de texto (texto),
reconocimiento del habla (audio), reconocimiento de imágenes y procesamiento de
vídeos.
• Aplicación en el análisis de texto incluyen:
1. Análisis de sentimientos. Estas técnicas analizan automáticamente el texto
en busca del sentimiento de quien lo escribe (positivo, negativo, neutro, etc.)
Estas técnicas permiten a las empresas analizar miles de reseñas en línea o
comentarios en las redes sociales sobre ciertos productos en cuestión de mi-
nutos. En un primer paso clasifican los productos/servicios por categorías
(características, envío, servicio de atención al cliente, etc.) y luego determi-
nan si las opiniones de los clientes son positivas o negativas.
2. El reconocimiento de entidades con nombre. En esta tarea se busca locali-
zar e identificar las entidades con nombre dentro de un texto en categorías
predefinidas como organizaciones, lugares, valores monetarios, abreviaturas,
etc.
3. Extracción de eventos. Ejemplos de estas tareas son detectar si los eventos
del mundo real han sido reportados en artículos y posts o el seguimiento de
acontecimientos similares en diferentes textos.
4. Extracción de relaciones. Aplicaciones de este problema es la construcción
de una base de datos con las interacciones entre fármacos a partir del del
análisis de texto bruto, o la determinación de relaciones entre personas con
el objetivo de construir una base de conocimiento.
• En el análisis de imágenes algunos de los problemas estudiados son:
[16]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
1. Extracción de textos y objetos, como la matrícula de un vehículo o determinar
la existencias de células cancerígenas en una imagen médica.
2. Entendimiento de imágenes. Ejemplos en esta categoría son la clasificación
semántica de las imágenes.
3. Análisis de imágenes geoespaciales que van desde la distribución de cultivos
a la localización de la pobreza.
4. Reconocimiento facial, permite identificar la persona de una fotografía.
• Respecto al audio:
1. Sistemas de reconocimiento de audio que transforme el audio a formato de
texto. Sistemas como Google Assistant, Siri, Alexa, Cortana, etc. implemen-
tan este tipo de sistemas.
2. Extracción de características. El habla contiene características prosódicas co-
mo el tono, velocidad, calidad, etc y su extracción suministra información
sobre el emisor del mensaje. Hay sistemas que extraen estas características
de las conversaciones en tiempo real.
• En el análisis de videos destacan:
1. Creación de resúmenes automáticos en formato de texto o de imágenes en los
que se identifican los momentos más destacados, por ejemplo, momentos en
los el público aplaude o se pronuncian ciertas palabras clave. Estas técnicas
permiten la navegación sobre los vídeos como si se trataran de colecciones
de documentos escritos. También permiten la generación automática de sub-
títulos.
2. Reconocimiento de lugares, objeto o acciones. Ejemplos de esta categoría
son el reconocimiento automático de una infracción de tráfico o el allana-
miento de la morada en un sistema de videovigilancia.
Texto
• Análisis de sentimientos
• Entidades con nombre
• Extracción eventos
• Extracción de relaciones
Imagénes
• Extracción de textos y
objetos
• Entendimiento de
imágenes
• Análisis de imágenes
geoespaciales
• Reconocimiento facial
Audio
• Reconocimiento de
audio
• Extracción de
características
Video
• Creación de resúmenes
automáticos
• Reconocimiento de
lugares, objetos o
acciones
Extracción de información
Figura 1.5: Clasificación de técnicas de extracción de información en datos no estructurados.
[17]
1.3.4. Visualización
En el proceso de obtener información de los datos, la última etapa es la llamada
visualización, esta debe se entendida como una capa entre los resultados obteni-
dos y el decisor de modo que se facilite la interpretación y evaluación de los
resultados.
La visualización es mucho más que una herramienta para comunicar resultados
de una forma rápida y objetiva, esta permite además descubrir y comprender los
patrones que se encuentra detrás de un conjunto de datos.
Los métodos de visualización fueron originalmente usados en datos estructu-
rados, correspondiendo cada dato a un único punto a visualizar. Muchos de estos
conjuntos de datos eran el resultado de realización de encuestas las cuales eran rea-
lizadas para estudiar un determinado fenómeno. La visualización de datos era una
parte más del proceso para corroborar hipótesis sobre fenómeno a estudiar, bus-
cando fundamentalmente explicar los datos existentes y realizar predicciones sobre
nuevos datos. Con la irrupción de BD, se ha expandido estos propósitos introdu-
ciendo aspectos exploratorios y descubrimiento de patones, apareciendo aspectos
como:
- Resumir bases de datos masivas para facilitar la toma de decisiones.
- Identificación interactiva de patrones, extrayendo de datos altamente di-
mensionales estructura simplificadas.
- Identificación de datos relevantes para un determinado fenómeno.
La aparición de los datos no estructurados en la era de BD ha conducido a que
las técnicas de visualización deban abordar las características de las 3 Vs inherentes
en su definición:
1. Volumen. La gran cantidad de datos requiere a los métodos tener la posi-
bilidad de la identificación de datos relevantes al fenómeno en cuestión. Un
aspecto esencial es determinar el nivel adecuado de agregación que visualice
las aspectos esenciales.
2. Variedad. Debido a la existencia de datos no estructurados provenientes de
múltiples fuentes se requiere la integración de los mismos en una visión de
análisis.
3. Velocidad. Exige la recolección y análisis en tiempo real, exigiéndoles a los
métodos las inmediatez pero a la vez generando información útil a la organi-
zación.
[18]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN
Los cuadros de mando integrales son visualizaciones que permiten monito-
rizar los parámetros esenciales de la empresa y disponer de una imagen en tiempo
real de lo que ocurre dentro y fuera de la misma. Realmente son más que herramien-
tas de visualización de datos, es una metodología de gestión estratégica utilizada
para definir y hacer seguimiento a la estrategia de una organización, de tal forma
que permita describir, comunicar y medir la estrategia y evaluar los resultados.
El método más sencillo para personalizar un cuadro de mando es el uso de
asistentes de configuración que utilizan interfaces gráficas de usuario que facilitan
la selección de los widgets y de los datos a mostrar, ver figura 1.6, de tal forma que
mejor ajusten a las necesidades de los usuarios finales. Se podría llegar a pensar
incluir los cuadros de mandos integrales como una herramienta de visualización de
datos pero realmente la implementación de un cuadro de mando integral requiere
seguir el proceso completo mostrado en la Figura 1.4. Una vez que la dirección de
la organización traduce la estrategia en objetivos relacionados (factores clave del
éxito), medidos a través de indicadores KPI y ligados a unos planes de acción, se
comenzaría el análisis de todo el sistema informático para el diseño y construcción
del cuadro de mando.
Las características esenciales para el diseño de un cuadro de mando son:
1. KPIs: se debe seleccionar los KPIs esenciales (entre 7 y 10) para el negocio.
2. Visualización: deben ser fácilmente interpretables, hablar el mismo lenguaje
del decisor y su representación gráfica la adecuada para los datos que repre-
senta y visualmente atractivos.
3. Análisis: además de las KPIs el cuadro de mando debe acompañar de un
análisis sobre lo ocurrido, recomendaciones y su potencial impacto sobre el
negocio.
70 %
Cuadro de mando final
5.7 %
Usuario final
Requisitos
del usuario
Cuadro de mando
personalizable
Tipo visualizaciones
Fuentes datos
Diseño visual
Figura 1.6: Flujo de trabajo para la elaboración de cuadros de mando
Bibliografía
[HFG+
19] Dirk Helbing, Bruno S Frey, Gerd Gigerenzer, Ernst Hafen, Michael
Hagner, Yvonne Hofstetter, Jeroen van den Hoven, Roberto V Zicari,
and Andrej Zwitter. Will Democracy Survive Big Data and Artificial
Intelligence?, pages 73–98. Springer International Publishing, Cham,
2019.
[McD09] John H. McDonald. Handbook of Biological Statistics. Sparky House
Publishing, 2009.
[WSM20] Martin Wiener, Carol Saunders, and Marco Marabelli. Big-data busi-
ness models: A critical literature review and multiperspective research
framework. Journal of Information Technology, 35(1):66–91, 2020.

Más contenido relacionado

Similar a M4 sbd s01

Big Data en la Gestión de Registros de Auditoría
 Big Data en la Gestión de Registros de Auditoría Big Data en la Gestión de Registros de Auditoría
Big Data en la Gestión de Registros de AuditoríaRicardo Cañizares Sales
 
Big-Data-aplicado-a-los-Negocios (1).pptx
Big-Data-aplicado-a-los-Negocios (1).pptxBig-Data-aplicado-a-los-Negocios (1).pptx
Big-Data-aplicado-a-los-Negocios (1).pptxJavierNavarrete43
 
BIG DATA COMPLETO ISBN.pdf
BIG DATA COMPLETO ISBN.pdfBIG DATA COMPLETO ISBN.pdf
BIG DATA COMPLETO ISBN.pdfDr.Ing. Uriel
 
Propuesta de un modelo de analítica de datos
Propuesta de un modelo de analítica de datosPropuesta de un modelo de analítica de datos
Propuesta de un modelo de analítica de datosivanbouchain
 
SQL Saturday Bogota - Big Data HDInsight Server
SQL Saturday Bogota - Big Data HDInsight ServerSQL Saturday Bogota - Big Data HDInsight Server
SQL Saturday Bogota - Big Data HDInsight ServerEduardo Castro
 
Desmitificando el Big Data
Desmitificando el Big DataDesmitificando el Big Data
Desmitificando el Big DataStratebi
 
base de datos power point
base de datos power pointbase de datos power point
base de datos power pointscaitechnonolgy
 
Data set module 1 - spanish
Data set   module 1 - spanishData set   module 1 - spanish
Data set module 1 - spanishData-Set
 
Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)Carlos Cuesta
 
Lisintuña christian (cloud computing and data)
Lisintuña christian (cloud computing and data)Lisintuña christian (cloud computing and data)
Lisintuña christian (cloud computing and data)christian lisintuña
 

Similar a M4 sbd s01 (20)

Big Data en la Gestión de Registros de Auditoría
 Big Data en la Gestión de Registros de Auditoría Big Data en la Gestión de Registros de Auditoría
Big Data en la Gestión de Registros de Auditoría
 
Big-Data-aplicado-a-los-Negocios (1).pptx
Big-Data-aplicado-a-los-Negocios (1).pptxBig-Data-aplicado-a-los-Negocios (1).pptx
Big-Data-aplicado-a-los-Negocios (1).pptx
 
BIG DATA COMPLETO ISBN.pdf
BIG DATA COMPLETO ISBN.pdfBIG DATA COMPLETO ISBN.pdf
BIG DATA COMPLETO ISBN.pdf
 
Propuesta de un modelo de analítica de datos
Propuesta de un modelo de analítica de datosPropuesta de un modelo de analítica de datos
Propuesta de un modelo de analítica de datos
 
Fundamentos.pptx
Fundamentos.pptxFundamentos.pptx
Fundamentos.pptx
 
SQL Saturday Bogota - Big Data HDInsight Server
SQL Saturday Bogota - Big Data HDInsight ServerSQL Saturday Bogota - Big Data HDInsight Server
SQL Saturday Bogota - Big Data HDInsight Server
 
B dtrab4
B dtrab4B dtrab4
B dtrab4
 
Desmitificando el Big Data
Desmitificando el Big DataDesmitificando el Big Data
Desmitificando el Big Data
 
Base de Datos - Daniela Monsalve
Base de Datos - Daniela MonsalveBase de Datos - Daniela Monsalve
Base de Datos - Daniela Monsalve
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Wilson bases de datos
Wilson bases de datosWilson bases de datos
Wilson bases de datos
 
base de datos power point
base de datos power pointbase de datos power point
base de datos power point
 
Data set module 1 - spanish
Data set   module 1 - spanishData set   module 1 - spanish
Data set module 1 - spanish
 
Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)
 
Guia de Base de Datos Unidad 1. Lissette T
Guia de Base de Datos Unidad 1. Lissette TGuia de Base de Datos Unidad 1. Lissette T
Guia de Base de Datos Unidad 1. Lissette T
 
Guia de base de datos unidad 1 por lissette
Guia de base de datos unidad 1 por lissetteGuia de base de datos unidad 1 por lissette
Guia de base de datos unidad 1 por lissette
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Lisintuña christian (cloud computing and data)
Lisintuña christian (cloud computing and data)Lisintuña christian (cloud computing and data)
Lisintuña christian (cloud computing and data)
 
123
123123
123
 
Nancy Adilene Gonzalez Sifuentes
Nancy Adilene Gonzalez Sifuentes Nancy Adilene Gonzalez Sifuentes
Nancy Adilene Gonzalez Sifuentes
 

Más de russellmrr

M04 09 13_v04_actvidad_complejidad_computacional
M04 09 13_v04_actvidad_complejidad_computacionalM04 09 13_v04_actvidad_complejidad_computacional
M04 09 13_v04_actvidad_complejidad_computacionalrussellmrr
 
M04 09 13_v03_complejidad computacional
M04 09 13_v03_complejidad computacionalM04 09 13_v03_complejidad computacional
M04 09 13_v03_complejidad computacionalrussellmrr
 
M04 09 20_v07_proyectos_bd
M04 09 20_v07_proyectos_bdM04 09 20_v07_proyectos_bd
M04 09 20_v07_proyectos_bdrussellmrr
 
M04 09 13_v08_visualizacion
M04 09 13_v08_visualizacionM04 09 13_v08_visualizacion
M04 09 13_v08_visualizacionrussellmrr
 
M04 09 13_v07_extracción_informacion_datos_no_si_estructurados
M04 09 13_v07_extracción_informacion_datos_no_si_estructuradosM04 09 13_v07_extracción_informacion_datos_no_si_estructurados
M04 09 13_v07_extracción_informacion_datos_no_si_estructuradosrussellmrr
 
M04 09 13_v06_proceso_extracción_información
M04 09 13_v06_proceso_extracción_informaciónM04 09 13_v06_proceso_extracción_información
M04 09 13_v06_proceso_extracción_informaciónrussellmrr
 
M04 09 13_v05_actividad_divides y venceras
M04 09 13_v05_actividad_divides y vencerasM04 09 13_v05_actividad_divides y venceras
M04 09 13_v05_actividad_divides y vencerasrussellmrr
 
M04 09 20_v02_sistemas bd batch
M04 09 20_v02_sistemas bd batchM04 09 20_v02_sistemas bd batch
M04 09 20_v02_sistemas bd batchrussellmrr
 
M04 09 20_v03_ejemplo_map_reduce
M04 09 20_v03_ejemplo_map_reduceM04 09 20_v03_ejemplo_map_reduce
M04 09 20_v03_ejemplo_map_reducerussellmrr
 
M04 09 20_v04_procesamiento_streaming_tiempo_real
M04 09 20_v04_procesamiento_streaming_tiempo_realM04 09 20_v04_procesamiento_streaming_tiempo_real
M04 09 20_v04_procesamiento_streaming_tiempo_realrussellmrr
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdrussellmrr
 
M04 09 20_v06_aplicaciones_bd
M04 09 20_v06_aplicaciones_bdM04 09 20_v06_aplicaciones_bd
M04 09 20_v06_aplicaciones_bdrussellmrr
 
M04 09 20_v01_arquitectura_sbd
M04 09 20_v01_arquitectura_sbdM04 09 20_v01_arquitectura_sbd
M04 09 20_v01_arquitectura_sbdrussellmrr
 

Más de russellmrr (14)

M04 09 13_v04_actvidad_complejidad_computacional
M04 09 13_v04_actvidad_complejidad_computacionalM04 09 13_v04_actvidad_complejidad_computacional
M04 09 13_v04_actvidad_complejidad_computacional
 
M04 09 13_v03_complejidad computacional
M04 09 13_v03_complejidad computacionalM04 09 13_v03_complejidad computacional
M04 09 13_v03_complejidad computacional
 
M04 09 20_v07_proyectos_bd
M04 09 20_v07_proyectos_bdM04 09 20_v07_proyectos_bd
M04 09 20_v07_proyectos_bd
 
M4 sbd s01
M4 sbd s01M4 sbd s01
M4 sbd s01
 
M04 09 13_v08_visualizacion
M04 09 13_v08_visualizacionM04 09 13_v08_visualizacion
M04 09 13_v08_visualizacion
 
M04 09 13_v07_extracción_informacion_datos_no_si_estructurados
M04 09 13_v07_extracción_informacion_datos_no_si_estructuradosM04 09 13_v07_extracción_informacion_datos_no_si_estructurados
M04 09 13_v07_extracción_informacion_datos_no_si_estructurados
 
M04 09 13_v06_proceso_extracción_información
M04 09 13_v06_proceso_extracción_informaciónM04 09 13_v06_proceso_extracción_información
M04 09 13_v06_proceso_extracción_información
 
M04 09 13_v05_actividad_divides y venceras
M04 09 13_v05_actividad_divides y vencerasM04 09 13_v05_actividad_divides y venceras
M04 09 13_v05_actividad_divides y venceras
 
M04 09 20_v02_sistemas bd batch
M04 09 20_v02_sistemas bd batchM04 09 20_v02_sistemas bd batch
M04 09 20_v02_sistemas bd batch
 
M04 09 20_v03_ejemplo_map_reduce
M04 09 20_v03_ejemplo_map_reduceM04 09 20_v03_ejemplo_map_reduce
M04 09 20_v03_ejemplo_map_reduce
 
M04 09 20_v04_procesamiento_streaming_tiempo_real
M04 09 20_v04_procesamiento_streaming_tiempo_realM04 09 20_v04_procesamiento_streaming_tiempo_real
M04 09 20_v04_procesamiento_streaming_tiempo_real
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bd
 
M04 09 20_v06_aplicaciones_bd
M04 09 20_v06_aplicaciones_bdM04 09 20_v06_aplicaciones_bd
M04 09 20_v06_aplicaciones_bd
 
M04 09 20_v01_arquitectura_sbd
M04 09 20_v01_arquitectura_sbdM04 09 20_v01_arquitectura_sbd
M04 09 20_v01_arquitectura_sbd
 

Último

El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdfAnaBelindaArmellonHi
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 

Último (20)

El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 

M4 sbd s01

  • 1. Sistemas de Big Data Conforme a contenidos del «Curso de Especialización en Inteligencia Artificial y Big Data» Universidad de Castilla-La Mancha Escuela Superior de Informática Ciudad Real
  • 2. Presentación del módulo Sistemas de Big Data La creciente digitalización de nuestras sociedades está generando grandes vo- lúmenes de datos. Los sistemas de Big Data (BD) están diseñados para procesar estos datos y obtener información relevante de ellos. Hoy en día existen aplicacio- nes de los sistemas BD en todos los sectores económicos y es por tanto un sector en continuo auge en el mercado laboral. Este módulo profesional contiene la for- mación necesaria para desempeñar las funciones de integrar, procesar y analizar la información de grandes volúmenes de datos, aplicando herramientas y técnicas de BD para su visualización, valoración y presentación de resultados en la toma de decisiones de las empresas y organizaciones. Las funciones antes citadas incluye aspectos como: 1. Determinar herramientas necesarias de los sistemas Big Data. 2. Configurar cuadros de mando en diferentes entornos computacionales. 3. Gestionar y almacenar grandes volúmenes de datos para facilitar la búsqueda de respuesta. 4. Aplicar técnicas Big Data para integrar, procesar y analizar la información. 5. Visualizar datos para distintos escenarios. Los contenidos básicos del curso y su planificación temporal se muestra en la tabla 1.1. El módulo se desarrollará sobre varios tipos de herramientas. Para el proce- samiento se emplearan Google colab y Spark, para las tareas de almacenamiento Mongo DB y Flume y para las tareas de visualización Tableau, Data Studio y Qlik. Todos los módulos del curso de especialización en Inteligencia Artificial y Big Data comparten la misma metodología docente. La carga docente de cada semana del módulo es de 0,5 ECTS, desarrollándose los siguientes recursos/actividades didácticas: 1
  • 3. [2] PRESENTACIÓN DEL MÓDULO SISTEMAS DE BIG DATA Semana Contenidos SEMANA 1. Complejidad computacional. Procesamiento de la información. SEMANA 2. Introducción a los sistemas Big Data. SEMANAS 3. 4. y 5. Minería de datos y cuadros de mando en entornos compu- tacionales. SEMANA 6. Metaheurísticos. SEMANAS 7. y 8. Gestión y Almacenamiento de datos. SEMANAS 9. y 10. Aplicación de herramientas para el análisis de datos. SEMANA 11. y 12. Aplicación de herramientas para la visualización de da- tos. Tabla 1.1: Planificación temporal de los contenidos - Clases teóricas y prácticas mediante 8 vídeos de unos 5 minutos en los que se impartirán de forma no concurrente los contenidos básicos y ejemplos prácticos, con el código fuente para realizar las actividades. - Documentación. Los contenidos de estos vídeos serán recogidos y comple- mentados en un material escritos de aproximadamente 15 páginas/semana. - Ejercicios de autoevaluación H5P. Cada semana los alumnos contendrán unos 4 ejercicios de autoevaluación. - Ejercicios propuestos complementarios. - Tutorías. Todas las semanas se dispondrá de una hora de tutorías para resol- ver las dudas sobre los materiales desarrollados en dicha semana. Empleamos como principio metodológico para el módulo el de aprender a hacer se aprende haciendo. La evaluación se alinea a esta visión y se realiza a través de tres actividades relativas a: i) configuración de un cuadro de mando, ii) almacenamiento de grandes volumenes de datos y iii) visualización y análisis de datos.
  • 4. Complejidad computacional. Procesamiento de la información 1.1. Introducción El objetivo de este capítulo es dar una visión general de las técnicas de integra- ción, procesamiento y análisis de información en sistemas Big Data. El punto de partida es dar la definición más extendida de Big Data basada en las 3 Vs. Se con- tinua introduciendo el concepto de complejidad computacional y mostrando que las limitaciones actuales (y futuras) en las capacidades computacionales están ori- ginadas por la gran cantidad de datos (volumen) y por la complejidad algorítmica. Finalizaremos con un esquema conceptual para obtener información a partir de los datos que se implementa en los sistemas BD. 1.1.1. ¿Que es el Big Data? (3 Vs) Los datos están adquiriendo un papel central en la toma de decisiones tanto en empresas como en instituciones públicas. La creciente digitalización de nuestras sociedades están generando grandes cantidades de datos, apareciendo el concepto de Big Data. No hay un consenso en la definición de este concepto, pero la más extendida es la definición de las 3 Vs dada en 2001 por Doug Laney, de la empresa de análisis Gartner, que define las dimensiones y propiedades de BD. Las Vs en- capsulan la verdadera definición de BD y marcan el comienzo de un nuevo periodo en el que los BD puede considerarse una característica dominante del siglo XXI. Desde entonces se han añadido a la lista otras Vs, como veracidad, valor y varia- bilidad pero la definición original de las 3Vs sintetiza las características esenciales del concepto BD. 1. Volumen. La primera característica de estos sistemas es la inmensa cantida- des de datos que pude variar de terabytes a petabytes, o incluso mayor (Ver la tabla 1.2 para tener en cuenta el orden de magnitud, notar que el número de átomos de hidrógeno en el universo es de 4∗1079 ). Por ejemplo Facebook 3
  • 5. [4]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN Tabla 1.2: Unidades de almacenamiento Unidad Cantidad de bytes Gigabytes 109 bytes Terabytes 1012 bytes Petabytes 1015 bytes Exabytes 1018 bytes Zettabytes 1021 bytes Yotttabytes 1024 bytes almacenó 100 petabytes de fotos y videos en 2012 que fue almacenado por 845 millones de usuarios. La siguiente tabla recoge unidades de almacena- miento que son necesario usar en estos contextos. El World Economic Forum estima que en 44 zettabytes los datos disponibles en el año 2020. 2. Velocidad. Esta característica hace referencia a cómo el flujo de datos se está generando. Además, se impone en ciertos contextos ventanas temporales breves para procesar dichos datos. Por ejemplo, en Facebook se suben 900 millones de fotos cada día. 3. Variedad. Los datos son generados de una amplia cantidad de fuentes y for- matos. Por ejemplo se emplean formatos como ficheros log, bases de datos, ficheros XML o pueden consistir en imágenes, vídeos, audio, etc. Esta definición ha ido expandiéndose par incorporar nuevas dimensiones a la definición de BD como veracidad, valor, variabilidad, visualización, etc. Es gra- cioso el empeño forzado de encontrar palabras que empiecen por V, llegando a proponer viscosidad y volatilidad. Todos estos datos, debido a técnicas de aprendizaje automático y de minería de datos tienen un valor comercial. El objetivo de estos sistemas no es solo el almacenamiento, sino aplicar técnicas analíticas que permitan extraer información relevante de los datos. 1.1.2. Modelos de negocio basado en datos El modelo de negocio (BM, sus siglas en inglés) se refiere a como una organi- zación crea y captura valor. Los modelos de negocios basados en Big Data (BDBM, su siglas en inglés) están en la infancia y están en un proceso de creación. [WSM20] hace una taxonomía de las empresas en función de su BDBM clasificándolas en: i) usuarias de datos, ii) proveedoras de datos y iii) facilitadoras de BD. El primer gru- po son las empresas que capturan el valor de las aplicaciones de BD. Por ejemplo mejorando sus procesos internos a partir de aplicaciones de BD. El segundo grupo venden sus datos a terceros. Estas empresas van desde vendedoras de Massive Open Online Course (MOOC) hasta vendedores de indicadores de salud personal. El ter- cer tipo de empresas son las que facilitan la realización de las aplicaciones de BD alquilando la infraestructura (hardwware y software) para implementar soluciones
  • 6. [5] Tabla 1.3: Tipología de BDBM (fuente [WSM20]) Tipo Fuente de valor (ejemplo) Usuarios de datos • Analisis BD para apoyar la toma de decisiones estratégicas • Uso de BD para mejorar los procesos internos • Enriquecer productos, servicios y experiencia de clientes mediante BD • Desarrollo de nuevos productos y servicios mediante BD Proveedoras de da- tos • Recopilando datos primarios y vendiéndolos a terceros • Agregando datos y empaquetando datos internos para la venta Facilitadores de BD • Ofreciendo la infraestructura a las anteriores tipos de empresa nece- saria para realizar BD • Consultoría relativa a BD • Subcontratación de técnicas analíticas para BD (ejemplo en la nube) BD o prestando consultoría y servicios en BD. En la tabla 1.3 se muestran ejemplos de creación de valor. Las destrezas de un profesional de BD difieren del modelo de negocio de la empresa y este hecho se debe tener presente en la formación de los profesionales. 1.2. Complejidad computacional para el análisis de datos [HFG+ 19] mostró un modelo de crecimiento digital (ver Figura 1.1) donde el crecimiento del volumen de datos y la capacidad computacional para procesarlos sigue un crecimiento exponencial pero con la diferencia esencial que el volumen de datos se duplica cada 12 meses mientras que los recursos computacionales cada 18 meses (Ley de Moore). Estos autores postulan que el crecimiento del coste de los procesos para analizar datos, aspecto que incluyen los algoritmos, tiene un creci- miento factorial cuyo consecuencia inmediata es una gran cantidad de datos que no podrán ser analizados. Esta complejidad explosiva impone un modelo de inteligen- cia distribuida para poder afrontar los retos del mundo y de nuestras sociedades. El objetivo de esta sección es evaluar la severidad del efecto de la complejidad algorítmica en la implantación y desarrollo de sistemas BD. El coste computacional de la ejecución de un algoritmo es un factor limitante incluso cuando no se está ante grandes volúmenes de datos. Esto es lo que vamos a mostrar en esta sección. Supongamos que el número de datos disponibles es n. Es evidente que si el número de datos n aumenta entonces el tiempo de ejecución de un
  • 7. [6]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN Dobla cada 18 meses Dobla cada 12 meses No hay suficientes datos para tomar buenas decisiones Big Data permite la toma de decisiones basada en evidencias Volumen de datos Potencia de procesamiento Complejidad sistémica Inteligencia colectiva reemplaza control centralizado Años Figura 1.1: Modelo de crecimiento digital, fuente [HFG+19]. algoritmo para procesarlos también aumente. Por tanto cualquier algoritmo tiene la propiedad que si n crece hacia infinito su coste computacional también crece hacia infinito. La cuestión esencial es que existen varias velocidades de crecer a infinito, unas significativamente más rápidas que otras. La relación matemática lı́m n→+∞ P(n) an = 0 (1.1) para cualquier a > 1 y para cualquier polinomio P(n) indica que aunque tanto el numerador como el denominador tienden a infinito el denominador crece muchísi- mos mas rápido que el numerador Se dice que un algoritmo tiene un tiempo de ejecución polinomial si el número de operaciones máximo que realiza para resolver un problema está acotado por un polinomio en el tamaño del problema. Para ciertos problemas el tamaño del mismo es el número de datos. Por ejemplo si queremos ordenar un vector mediante el algoritmo de la burbuja, lo denotamos por A el número de operaciones que realiza el algoritmo A está acotado por un polinomio cuadrático en función del número de datos n, diremos que el algoritmo A es polinomial. Mas concretamente diremos que la complejidad de A es O(n2 ). Según esta definición el problema de ordenar un vector es un problema de la clase P. Se dice que un problema está en la clase de complejidad P si existe un algo- ritmo para resolver el problema que tiene un tiempo de ejecución polinomial. Si no se conoce ningún algoritmo que lo resuelva en tiempo polinomial (porque no exista o porque en este momento no se haya desarrollado) se dice que el problema está en la clase de complejidad NP. Dentro de los problema NP existen un subcon- junto de problemas llamados NP−completos. Si uno de estos problemas tuviera
  • 8. [7] un algoritmo de resolución polinomial entonces todos los problemas de la clase NP también tendrían un algoritmo polinomial y en dicho caso P = NP. El Clay Mathematics Institute ® Link: http://https://www.claymath.org/ ofrece un millón de dólares a quien sea capaz de responder a la pregunta ¿P = NP? ACTIVIDAD: La siguiente actividad pone de manifiesto que cualquier problema que no esté en la clase P es intratable de forma exacta sean cuales sean los recursos compu- tacionales disponibles. El RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de clave públi- ca que permite firmar digitalmente documentos. Su seguridad se basa en el elevado coste computacional de factorizar en números primos un número dado. Uno de los algoritmos más rápidos para factorizar un entero de n cifras requiere del orden de fA(n) = 10 √ n·log10(n) operaciones. (El logaritmo es en base 10). (1.2) Si deseamos analizar la complejidad de un algoritmo se puede recurrir a una forma visual consistente en representar la función fA(n). En el eje OY se considera una escala logarítmica y en el eje OX se representa la variable n. En la Figura 1.2 hemos representado fA(n) y la función polinomial y = n10 . Se observa que el aspecto de la gráfica polinomial coincide con una función cóncava, mientras que un comportamiento lineal (o incluso estríctamente convexa) representa crecimiento exponencial. 0 100 200 300 400 500 600 700 800 900 1000 n 100 10 10 1020 10 30 1040 1050 10 60 Operaciones (escala logarítmica) CRECIMIENTO EXPONENCIAL CRECIMIENTO POLINOMIAL Figura 1.2: Crecimiento polinomial vs exponencial.
  • 9. [8]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN Supongamos que disponemos del ordenador de IBM Roadrunner que es capaz de superar un petaflop de operaciones por segundo. Es capaz de realizar 1,105∗1015 operaciones por segundo. ¿Cuánto tiempo emplearía en factorizar un número de 50 cifras? VelocidadCPU = 1,105 ∗ 1015 operaciones / segundos fA(50) VelocidadCPU = 1,4907 ∗ 10−6 segundos El resultado muestra que tardaría menos de una milésima de segundo. Y si nos preguntamos cual es el máximo número de cifras n que Roadrunner puede facto- rizar durante un año. Planteamos el siguiente código (ver Listado 1.1) en Python para resolver la cuestión. Listado 1.1: Código en python para calcular el máximo número de cifras de una clave RSA que se puede romper con el ordenador Roadrunner 1 # Carga de la libreria math para calcular log10 2 from math import * 3 # Operaciones/segundo realizadas por Roadrunner 4 VelocidadCPU = 1.105 * 10 ** 15 5 # número de dígitos 6 n=1 7 # número de operaciones 8 fA=1 9 # ¿ nº operaciones requeridas <nº operaciones en un año? 10 while fA <= (VelocidadCPU *24 * 60 * 60 *365): 11 n = n+1 12 fA = 10 ** ( pow( n * log(n,10) , 0.5 ) ) 13 14 print(’Numero maximo de cifras =’ , n-1) El resultado de ejecutarlo es n = 217. Hemos pasado de factorizar un número de 50 cifras en una millonésima de segundo a necesitar un año para factorizar un número con un poco mas del cuádruple de cifras. Nos podemos plantear la cuestión de que pasaría si se duplicase la capacidad de cómputo de Roadrunner, esto es, la nueva capacidad de cómputo es 2 ∗ V elocidadCPU. ¿Se duplicaría el la longi- tud de cifras de los números que son factorizables en un año? ¿Cuantas cifras más se podrían abordar? Volviendo a ejecutar el código para esta nueva capacidad de cómputo comprobamos que el resultado ahora es de n = 222 cifras, la duplicación de la capacidad de cómputo ha aumentando solamente 5 nuevas cifras. La duplica- ción de los recursos computacionales no es una estrategia por si sola que sea capaz de abordar el coste computacional de los problemas. Este ejemplo muestra que el un tiempo de ejecución exponencial es inaborda- ble para cualquier máquina actual. De hecho a efectos prácticos una complejidad computacional superior a n3 es dramática.
  • 10. [9] Actividad. Divide y vencerás. En esta actividad vamos a motivar como abor- dar los sistemas BD usando computación distribuida. Este enfoque es la base de tecnologías como MapReduce. Supongamos que tenemos un algoritmo A de complejidad O(n3 ). Este algoritmo para un tamaño del problema n = 1000 (asumimos que n representa el número de datos) realizará una cantidad pro- porcional a 10003 operaciones, esto es, 1000 millones de operaciones. Supon- gamos que particionamos la base de datos en k = 100 grupos de 10 datos cada uno y aplicamos el algoritmo a cada uno de estos grupos. Este proceso se puede realizar de modo distribuido, como el mostrado en la Figura 1.3. Obtene- mos como resultado de este proceso k salidas parciales que deben combinarse para obtener el resultado final. Obviamente en esta desagregación se pierde exactitud en el proceso. Si analizamos ahora el coste computacional tenemos que cada subtarea se realiza ahora del orden de 103 operaciones, además es- tas operaciones se realiza de forma paralela. En una siguiente fase se deben combinar los resultados y estas operaciones supondrían un coste adicional de f(k) operaciones. Pongamos un ejemplo sencillo para ilustrar este procedi- miento de cálculo distribuido. Vamos a calcular la media de un conjunto de números x̄ = x1+...+xn n . Esta operación tiene un coste computacional O(n). Si particionamos los datos en grupos iguales de m elementos tal que n = mk y calculamos la media en dichos grupos, el coste por subgrupo es O(m). El proceso para combinar medias es la media de la medias x̄ = x̄1+...+x̄k k , que tiene un coste O(k), por tanto, el resultado final es O(m) + O(k). Además como los grupos son de igual tamaño el resultado es exacto. Como conclu- sión este esquema distribuido pasa de un coste computacional O(m.k) a uno O(m) + O(k). Datos (Particionamiento) Resultados Intermedios Resultados Finales Figura 1.3: Computación distribuida.
  • 11. [10]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN 1.3. Técnicas y procesos de extracción de la informa- ción de los datos Supongamos que en en una primera fase se ha adquirido un conocimiento pre- vio del caso de estudio y se han establecido unos objetivos para el proyecto (Big Data). Este análisis inicial marcará los puntos desde donde se parte (datos) a donde se quiere llegar (información). El proceso mostrado en la Figura 1.4 establece las etapas a seguir para extraer la información a partir de los datos. Este proceso consta de las siguientes etapas: 1. Identificación de datos: En esta fase se identifican todas las fuentes gene- radoras de datos que están disponibles y son de utilidad para el objetivo del proyecto. 2. Modelo de datos y Almacenamiento. En la primera etapa de preparación o pre-procesamiento los datos se almacenan en crudo. Esto permite crear repositorios con grandes volúmenes de información sin invertir mucho tiem- po en la definición de su estructura e implementación. El objetivo de esta etapa es mejorar la calidad de los datos. Se establecen modelos predictivos para los datos poco fiables, defectuosos, ausentes o desajustados en cuanto a atribuciones válidas. En la siguiente etapa se define un modelo de datos con el objetivo de organi- zar, clasificar y especificar como se relacionan los datos existentes. También se establecen las condiciones que deben cumplir los datos para reflejar la realidad modelada y considerarlos válidos. También se definen las transfor- maciones necesarias que se deben realizar para poder ser utilizados. En la fase de almacenamiento se procede a la implementación del modelo en una base de datos. 3. Proceso analítico. En esta etapa mediante técnicas de aprendizaje automáti- co se buscan patrones de interés, determinación de tendencias, identificación de anomalías, etc. 4. Visualización. En esta fase final se entregan los resultados obtenidos para su interpretación y documentación. En este punto, los datos finales han sido limpiados, convertidos, seleccionados en base a atributos relevantes y enmar- cados en representaciones visuales para ayudar a los humanos en su toma de decisiones. Un ejemplo notable de visualización son los cuadros de mando integrales que monitorizan en tiempo real la actividad de una empresa u organización y permiten tomar decisiones a corto plazo adecuadas a la estrategia marco adoptada. Estas herramientas emplean el uso de los KPI o Indicadores Cla- ve de Desempeño (Key Performance Indicators, para las siglas en inglés) para cuantificar y evaluar el rendimiento de una estrategia de negocio en ba- se a la consecución de los objetivos fijados por la misma. En esta sección vamos a introducir estos elementos.
  • 12. [11] Identificación datos Preparación de datos Recolección, depuración, Limpiado y normalización Modelo de de datos Almacenamiento Analytics Machine Learning Visualización CAPA DE VISULIZACIÓN: Cuadro de mando, alertas, predicciones CAPA DE ANÁLISIS Y PROCESAMIENTO Procesamiento batch, on-line CAPA DE ALMACENAMIENTO DE DATOS Bases de dato relacional, NoSQL CAPA DE DATOS Sensores, redes sociales, CRM, móviles (a) PROCESO (b) ARQUITECTURA DE SISTEM Figura 1.4: Proceso de extracción de información de los datos. 1.3.1. Identificación de datos y sus tipologías El primer paso es determinar la fuentes de datos que pueden ser útiles. Estas fuentes abarcan los datos generados en el propio entorno empresarial (datos inter- nos) como aquellas que son ajenas a la organización (datos externos), como redes sociales, web, bases de datos compradas a otras compañías, datos geográficos, da- tos económicos sectoriales, etc. Tras este proceso se dispondrá de un conjunto de datos que abarcarán una o varias de las siguientes tipologías: • Estructurados. Los datos estructurado son aquellos que están bien defini- dos en cuanto su formato, longitud y significado. Ejemplos de este tipo de datos son magnitudes, fechas, cadenas de caracteres. Sus almacenamiento se registran en tablas. Si el volumen es grande se almacenan en Data Warehou- se, en otros casos se emplean bases de datos relacionales o simples hojas de cálculo. En los modelos de bases de datos relacionales toda la información se almacena en tablas en las que se especifican el tipo de campos que tienen y cómo se relacionan entre ellas. • No estructurados. Los datos no estructurados no tienen un formato ni un ta- maño predefinido. Ejemplos de este tipo de datos son el texto, vídeo, audio e imágenes. Este tipo de datos se generan por múltiples fuentes como sensores, satélites, ordenadores, teléfonos inteligentes, redes sociales, por actividades en sitios webs, etc. Hoy en día este tipo de datos constituyen una fuente muy
  • 13. [12]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN importante para las empresas para obtener información de sus clientes, de sus procesos, de sus productos, etc. El almacenamiento de este tipo de datos de- be realizarse de forma organizada a través de una base de datos no relacional (NoSQL). • Semi estructurados. Este tipo de datos combinan datos estructurados y no estructurados. Estos datos tienen un esqueleto o estructura que organiza los inputs que deben contener y define las relaciones entre los textos y objetos que contienen. Este esqueleto puede evolucionar en el tiempo y convertirse en un protocolo aceptado. Este esqueleto se define en forma de árbol, con etiquetas para facilitarte el manejo. Ejemplos de este tipo de datos son las páginas web o servicios de correos electrónicos donde se almacén los mensajes y ficheros adjuntos. Los meta- datos permiten clasificarlos y realizar búsquedas por palabras clave. 1.3.2. Modelos de datos y almacenamiento El primer paso consiste en una recopilación en bruto de los datos y su pre- procesamiento. En la preparación de los datos se deben eliminar el mayor número posible de datos erróneos o inconsistentes (limpieza o depuración) e irrelevantes (criba). En esta fase se pueden emplear métodos estadísticos para detectar outliers o seleccionar registros problemáticos. Con estos datos se ignorarán, se filtrarán (eliminar o reemplazar el valor). También en esta fase se deben analizar los valores faltantes (missing value). Se puede reemplazar por la media, eliminar el registro, estimar a partir de otros datos, etc. El modelo de datos puede ser visto como el lenguaje para describir el modo de almacenar los datos en una base de datos. El modelo de datos juega el papel de puente entre las áreas funcionales de la empresa y la parte de tecnologías de la información de la misma. El modelo de datos es un conjunto de herramientas teóricas para describir las propiedades relevantes de los datos del sistema en consideración. Este contiene tres elementos: • Una notación para la descripción de la estructura de los datos, el tipo de datos y cómo se relacionan. • El conjunto de restricciones de integridad que deben cumplir los valores de los datos para ser considerados válidos, y • Un conjunto de operaciones para la actualización y recuperación de los datos. Existe tres niveles de abstracción a la hora de analizar un modelo de datos: 1. Modelo de datos conceptual. Es el nivel más alto de abstracción y en este nivel se define lo que el sistema contiene, estableciendo su organización, finalidad y reglas y conceptos del negocio.
  • 14. [13] 2. Modelo de datos lógico. Está situado en el nivel intermedio de abstracción y define cómo el sistema debería estar implementado, independiente del tipo de base de datos que se empleará. El objetivo es desarrollar un mapa técnico para las reglas y la estructura de los datos. 3. Modelo de datos físico. Es el nivel más bajo de abstracción y describe como el sistema será implementado usando una base de datos específica. La tabla 1.4 muestra una taxonomía de modelos de datos y ejemplos de la mis- ma, así como las técnicas de modelización de datos empleadas. Estas técnicas de modelización son aplicables tanto a modelos relacionales como no relacionales, y se describe a continuación: 1. Diagrama de entidades-relaciones (ERD, en su acrónimo en inglés). Esta técnica visual es la opción por defecto empleada en la modelización y dise- ño de bases de datos relacionales. Incorpora el uso de entidades, atributos, relaciones, cardinalidades, restricciones entre otros elementos, así como no- tación simbólica. 2. Diagramas de clase Unified Modeling Language (UML). Este es una nota- ción standard para modelizar y diseñar sistemas de información empresarial. 3. Diccionario de datos. Es una representación tabular de los conjuntos de datos y sus atributos, que contienen elementos como la descripción de los elemento, relaciones entre tablas, restricciones (unicidad, valores por defec- to, valores válidos). no funciona el entorno beginturn. Parece como si no cargara el paquetete rota- ting 1.3.3. Técnicas de aprendizaje automático para la extracción de información de los datos estructurados y no estructura- dos Las técnicas de aprendizaje automático o machine learning se aplican al análisis de los datos. Las variables a analizar se clasifican en atributos (o también llamadas características) x y en variable respuesta (o también llamada etiqueta) y, que re- presenta el fenómeno a analizar. Si la variable y aparece en los datos del estudio estamos ante un problema de aprendizaje supervisado y en caso de que no dispo- ner de ella ante uno de aprendizaje no supervisado. Los tres tipos de problemas que aparecen son: • Clustering. En este problema se busca patrones dentro de los datos. Esto es, encontrar subconjuntos de observaciones que son similares entre sí. Mate- máticamente se formularía como determinar las etiquetas y de los datos de modo que si dos observaciones i y j son similares le asociemos la misma etiqueta, yi = yj. Una dificultad de este problema es que no se parte de un conjunto previo de etiquetas del cual aprender.
  • 15. [14]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN Tipo Modelo de datos Técnica d Basada en registros •Jerárquico: Los datos se almacenan en registros. Los registros tienen estructura de árbol donde cada registro tiene un único pa- dre (nodo superior) ERD, Dic • Red: Elaborado sobre un modelo jeráquico pero permitiendo que los registros tengan múltiples padres • Registros: Se especifica la estructura de toda la base de datos, definiendo los tipos de registros. Tienen un número determinado de campos con una longitud fijada. • Multidimensional: la estructura de datos contenida en la base de datos está mezclada con los propios datos. Es útil para fuentes de datos basadas en la web y para relacionar bases de datos de diferentes tipos. Relacional • Relacional: los datos están segmentados con la ayuda de tablas. Se emplea Structured Query Language (SQL) como su lenguaje canónico de base de datos. ERD, Dic • Modelo de entidades-relación: describe la relación entre cosas de interés en un dominio de conocimiento. Un modelo básico ER está compuesto por tipo de entidades y especifica las relaciones que pueden existir entre estas entidades. • Modelo de datos relacional extendido (ERDM) es un híbri- do del modelo relacional añadiendo funcionalidades de modelos orientados a objetos. Basado en objetos • Modelos orientados a objetos: consiste de objetos que poseen sus características y métodos. Estos modelos se pueden conside- rar que son post relacionales debido a que no se limitan a tablas aunque las empleen. UML ER • Modelo dato por contexto: este modelo incorpora varios mo- delos de datos según se necesitan, como relacional, orientado a objetos, semi estructurado entre otros. Este modelo permite va- rios tipos de usuarios que se diferencia en el modo de interactuar con la base de datos NoSQL • Modelo de grafo. Se emplea una estructura de grafo con nodos, aristas y propiedades para representar los datos almacenados. Diccionar • Modelo dato multievaludado: Este modelo permite respecto al modelo relacional que cada atributo en lugar de contener un dato unitario almacene una lista de datos. • Modelo de datos documento: este tipo permite almacenar y gestionar documento o dato semi-estructurados mas que datos atómicos. Tabla 1.4: Taxonomía de modelos de datos
  • 16. [15] • Regresión. En este problema se desea predecir el valor de una variable con- tinua y conocido el valor de la variable x. • Clasificación. En este problema se debe predecir el valor de la variable cua- litativa y a partir de la variable x. Las técnicas de aprendizaje automático se aplican tanto a datos estructurados como no estructurados. La diferencia esencial es que en los datos estructurados las características x están completamente definidas a partir de los datos iniciales mien- tras que en los datos no estructurados hay que recurrir a procedimientos para extraer automáticamente estas características. Por ejemplo una fotografía en formato RGB se almacena en tres matrices, las cuales deben ser sometidas a operaciones mate- máticas, como la de convolución, para poder extraer las diferentes características a emplear. Estos tres modelos matemáticos, en función del tipo específico de dato, re- presentan una tipología de problema. Figura 1.5 sintetiza los principales tipos de extracción de información obtenidos de datos no estructurados. Estas técnicas se clasifican en función del tipo de dato usado: texto, imágenes, audio y vídeo. El aná- lisis de cada tipo de dato no estructurado es en sí una disciplina distinta aparecien- do el denominado procesamiento del lenguaje natural o minería de texto (texto), reconocimiento del habla (audio), reconocimiento de imágenes y procesamiento de vídeos. • Aplicación en el análisis de texto incluyen: 1. Análisis de sentimientos. Estas técnicas analizan automáticamente el texto en busca del sentimiento de quien lo escribe (positivo, negativo, neutro, etc.) Estas técnicas permiten a las empresas analizar miles de reseñas en línea o comentarios en las redes sociales sobre ciertos productos en cuestión de mi- nutos. En un primer paso clasifican los productos/servicios por categorías (características, envío, servicio de atención al cliente, etc.) y luego determi- nan si las opiniones de los clientes son positivas o negativas. 2. El reconocimiento de entidades con nombre. En esta tarea se busca locali- zar e identificar las entidades con nombre dentro de un texto en categorías predefinidas como organizaciones, lugares, valores monetarios, abreviaturas, etc. 3. Extracción de eventos. Ejemplos de estas tareas son detectar si los eventos del mundo real han sido reportados en artículos y posts o el seguimiento de acontecimientos similares en diferentes textos. 4. Extracción de relaciones. Aplicaciones de este problema es la construcción de una base de datos con las interacciones entre fármacos a partir del del análisis de texto bruto, o la determinación de relaciones entre personas con el objetivo de construir una base de conocimiento. • En el análisis de imágenes algunos de los problemas estudiados son:
  • 17. [16]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN 1. Extracción de textos y objetos, como la matrícula de un vehículo o determinar la existencias de células cancerígenas en una imagen médica. 2. Entendimiento de imágenes. Ejemplos en esta categoría son la clasificación semántica de las imágenes. 3. Análisis de imágenes geoespaciales que van desde la distribución de cultivos a la localización de la pobreza. 4. Reconocimiento facial, permite identificar la persona de una fotografía. • Respecto al audio: 1. Sistemas de reconocimiento de audio que transforme el audio a formato de texto. Sistemas como Google Assistant, Siri, Alexa, Cortana, etc. implemen- tan este tipo de sistemas. 2. Extracción de características. El habla contiene características prosódicas co- mo el tono, velocidad, calidad, etc y su extracción suministra información sobre el emisor del mensaje. Hay sistemas que extraen estas características de las conversaciones en tiempo real. • En el análisis de videos destacan: 1. Creación de resúmenes automáticos en formato de texto o de imágenes en los que se identifican los momentos más destacados, por ejemplo, momentos en los el público aplaude o se pronuncian ciertas palabras clave. Estas técnicas permiten la navegación sobre los vídeos como si se trataran de colecciones de documentos escritos. También permiten la generación automática de sub- títulos. 2. Reconocimiento de lugares, objeto o acciones. Ejemplos de esta categoría son el reconocimiento automático de una infracción de tráfico o el allana- miento de la morada en un sistema de videovigilancia. Texto • Análisis de sentimientos • Entidades con nombre • Extracción eventos • Extracción de relaciones Imagénes • Extracción de textos y objetos • Entendimiento de imágenes • Análisis de imágenes geoespaciales • Reconocimiento facial Audio • Reconocimiento de audio • Extracción de características Video • Creación de resúmenes automáticos • Reconocimiento de lugares, objetos o acciones Extracción de información Figura 1.5: Clasificación de técnicas de extracción de información en datos no estructurados.
  • 18. [17] 1.3.4. Visualización En el proceso de obtener información de los datos, la última etapa es la llamada visualización, esta debe se entendida como una capa entre los resultados obteni- dos y el decisor de modo que se facilite la interpretación y evaluación de los resultados. La visualización es mucho más que una herramienta para comunicar resultados de una forma rápida y objetiva, esta permite además descubrir y comprender los patrones que se encuentra detrás de un conjunto de datos. Los métodos de visualización fueron originalmente usados en datos estructu- rados, correspondiendo cada dato a un único punto a visualizar. Muchos de estos conjuntos de datos eran el resultado de realización de encuestas las cuales eran rea- lizadas para estudiar un determinado fenómeno. La visualización de datos era una parte más del proceso para corroborar hipótesis sobre fenómeno a estudiar, bus- cando fundamentalmente explicar los datos existentes y realizar predicciones sobre nuevos datos. Con la irrupción de BD, se ha expandido estos propósitos introdu- ciendo aspectos exploratorios y descubrimiento de patones, apareciendo aspectos como: - Resumir bases de datos masivas para facilitar la toma de decisiones. - Identificación interactiva de patrones, extrayendo de datos altamente di- mensionales estructura simplificadas. - Identificación de datos relevantes para un determinado fenómeno. La aparición de los datos no estructurados en la era de BD ha conducido a que las técnicas de visualización deban abordar las características de las 3 Vs inherentes en su definición: 1. Volumen. La gran cantidad de datos requiere a los métodos tener la posi- bilidad de la identificación de datos relevantes al fenómeno en cuestión. Un aspecto esencial es determinar el nivel adecuado de agregación que visualice las aspectos esenciales. 2. Variedad. Debido a la existencia de datos no estructurados provenientes de múltiples fuentes se requiere la integración de los mismos en una visión de análisis. 3. Velocidad. Exige la recolección y análisis en tiempo real, exigiéndoles a los métodos las inmediatez pero a la vez generando información útil a la organi- zación.
  • 19. [18]COMPLEJIDAD COMPUTACIONAL. PROCESAMIENTO DE LA INFORMACIÓN Los cuadros de mando integrales son visualizaciones que permiten monito- rizar los parámetros esenciales de la empresa y disponer de una imagen en tiempo real de lo que ocurre dentro y fuera de la misma. Realmente son más que herramien- tas de visualización de datos, es una metodología de gestión estratégica utilizada para definir y hacer seguimiento a la estrategia de una organización, de tal forma que permita describir, comunicar y medir la estrategia y evaluar los resultados. El método más sencillo para personalizar un cuadro de mando es el uso de asistentes de configuración que utilizan interfaces gráficas de usuario que facilitan la selección de los widgets y de los datos a mostrar, ver figura 1.6, de tal forma que mejor ajusten a las necesidades de los usuarios finales. Se podría llegar a pensar incluir los cuadros de mandos integrales como una herramienta de visualización de datos pero realmente la implementación de un cuadro de mando integral requiere seguir el proceso completo mostrado en la Figura 1.4. Una vez que la dirección de la organización traduce la estrategia en objetivos relacionados (factores clave del éxito), medidos a través de indicadores KPI y ligados a unos planes de acción, se comenzaría el análisis de todo el sistema informático para el diseño y construcción del cuadro de mando. Las características esenciales para el diseño de un cuadro de mando son: 1. KPIs: se debe seleccionar los KPIs esenciales (entre 7 y 10) para el negocio. 2. Visualización: deben ser fácilmente interpretables, hablar el mismo lenguaje del decisor y su representación gráfica la adecuada para los datos que repre- senta y visualmente atractivos. 3. Análisis: además de las KPIs el cuadro de mando debe acompañar de un análisis sobre lo ocurrido, recomendaciones y su potencial impacto sobre el negocio. 70 % Cuadro de mando final 5.7 % Usuario final Requisitos del usuario Cuadro de mando personalizable Tipo visualizaciones Fuentes datos Diseño visual Figura 1.6: Flujo de trabajo para la elaboración de cuadros de mando
  • 20. Bibliografía [HFG+ 19] Dirk Helbing, Bruno S Frey, Gerd Gigerenzer, Ernst Hafen, Michael Hagner, Yvonne Hofstetter, Jeroen van den Hoven, Roberto V Zicari, and Andrej Zwitter. Will Democracy Survive Big Data and Artificial Intelligence?, pages 73–98. Springer International Publishing, Cham, 2019. [McD09] John H. McDonald. Handbook of Biological Statistics. Sparky House Publishing, 2009. [WSM20] Martin Wiener, Carol Saunders, and Marco Marabelli. Big-data busi- ness models: A critical literature review and multiperspective research framework. Journal of Information Technology, 35(1):66–91, 2020.