Introducción a Big Data
Las unidades temáticas y ejemplos están motivados mayormente en problemas actuales derivados de la Web, su estructura y en los datos que ésta genera a partir de sitios de noticias, redes sociales, buscadores de internet, sistemas de comercio electrónico, entre otros. Para ello se han diseñado una recopilación de técnicas, algoritmos y problemas agrupado en ejes temáticos.
Se dará énfasis a la problemática conocida como Big Data que trata sobre el tamaño de los datos, el modelo de arquitectura y file systems distribuidos de gran escala.
Introducción a los problemas sobre volúmenes de datos muy grandes (Big Data); arquitectura de datos y file system distribuidos de gran escala y modelo map reduce para diseñar algoritmos paralelos. Principio de Bonferroni, límite estadístico en el data-mining. Paradoja de Rhine, Detección de gente sospechosa
Referencias:
http://7puentes.com
http://datamining.dc.uba.ar
http://www.mmds.org
3. 2
Data expands to
fill the space
available.
Parkinson's Law of Data
4. 3
Modelos analíticos según la complejidad Data inputs
Balances
Filtro
Colaborativo
Social Media
Stream
BI - OLAP
Cart Analysis
Internet of Things
5. 4
Web Buzz!
“…Scientific hindsight shows that Google Flu Trends
far overstated this year's flu season…”
David Wagner, Atlantic Wire,
Feb 13 2013
6. 5
Pobre Whitney…
“La radio pasa Whitney, voy a llorar! Qué canción triste”
“Whitney no murió, qué tristeza, Dios!”
“Realmente Whitney murió? Qué mal”
“Whitney Houston y Michael Jackson, quién tenía más problemas?”
“Cuando canta Whitney me pongo muy triste”
“Te amamos Whitney”
9. 8
Límite estadístico
Un gran riesgo en las tareas de big data reside en descubrir patrones carentes de significado.
• El principio de Bonferroni: (vagamente) si en tu afán de encontrar patrones interesantes
buscas en una cantidad muy superior de la que tus datos soportan, estás frito.
Ejemplo: “Total Information Awareness”
• Supongamos que creemos que existe un grupo de espías secretos que se reúne
ocasionalmente en hoteles para diseñar sus planes.
• Objetivo: Hallar personas que al menos 2 veces estuvieron en el mismo hotel el mismo día.
10. 9
Límite estadístico (cont.)
Ejemplo: “Total Information Awareness” (ejemplo ficticio!)
• 109 personas están alcanzadas por el sistema de monitoreo.
• Se toma un período de 1000 días.
• Cada persona reside en un hotel el 1% del período: 10 días de los 1000.
• Los hoteles tienen capacidad para 100 personas.
• Existen 105 hoteles.
¿Si todas las personas se comportan de manera normal (no espía),
acaso el data mining detectará a los espías?
11. 10
Límite estadístico (cont.)
La probabilidad que dada las personas p y q compartan el mismo hotel el día d:
1/100 x 1/100 x 10-5 = 10-9
La probabilidad que p y q esten en el mismo hotel en los días d1 y d2
10-9 x 10−9
= 10-18
Pares de días
5x105
12. 11
Límite estadístico (cont.)
La probabilidad que p y q compartan el mismo hotel algún par de días d1 y d2
5x105 x 10-18 = 5x10-13
Pares de personas
5x1017
Número esperado de espías candidatos
5x1017 x 5x10-13 = 250000
13. 12
Límite estadístico (cont.)
Conclusión
Debemos interrogar a 250mil personas para poder hallar a 10,100 espías secretos.
Cuando busquemos una propiedad (por ejemplo que 2 personas coincidan 2 veces en el mismo
hotel), estemos seguros que esa propiedad no se encuentre de manera aleatoria en los casos
16. 15
Qué es Big Data?
Big Data means "a collection
of data sets so large and
complex that it becomes
difficult to process using on-hand
database management
tools or traditional data
processing applications."
18. 17
Volumen ¿Cuánto es mucho?
"Big data sizes are a constantly moving target"
"Hoy en 2 días generamos tanta información como toda la que se
generó en la historia de la civilización hasta el año 2003"
Los exabytes (mucho más que mega, giga, tera o peta) que
generan a diario nuestras máquinas en red exceden ampliamente
toda la información junta generada hasta el siglo XXI
Escalabilidad
19. 18
Velocidad - Análisis del Stream de datos
- Los autos modernos tienen más de 100 sensores que generan
datosd desde nivel de combustible, presión de neumáticos, etc.
- La NY Stock Exchange captura 1 TB de información de trading
durante cada sesión.
- Para el 2016 se esperan tener 19900 Millones de aparatos
conectados. 2.5 aparatos por persona en el planeta.
Nuevos requerimientos a las DB Transaccionales. Consistencia
eventual
22. 21
Variedad – Información en distintos formatos
- En 2011, la industria de la Salud generó +150 Exabytes (1000 Millones de Gigabytes) de
documentación médica, tratamientos e historias clínicas.
- 30Mil Millones de contenido compartido en Facebook por mes.
- En 2014 se esperan vender 420 Millones de Health Monitors portátiles
- 4Mil Millones de horas de video en YouTube vistas por mes y 400 Millones de tuits por día.
23. 22
Veracidad – Incerteza en los datos
- múltiples fuentes que compiten por la verdad,
- inconsistencia,
- ambigüedad,
- modelos aproximados
Cómo manejarse en un mundo de incertezas
25. 24
Qué es Data Science?
“El futuro le pertenece a las compañías y a las personas que
convierten datos en productos.”
Mike Loukides, O’Reilly Radar 2010
Data science is a discipline that incorporates varying degrees of
Data Engineering, Scientific Method, Math, Statistics, Advanced
Computing, Visualization, Hacker mindset, and Domain Expertise.
A practitioner of Data Science is called a Data Scientist. Data
Scientists solve complex data analysis problems.
Wikipedia, 2014
26. 25
Data Scientist: The sexiest job of 21st century!
“…on any given day, a team member could author a multistage
processing pipeline in Python, design a hypothesis test, perform a
regression analysis over data samples with R, design and
implement an algorithm for some data-intensive product or
service in Hadoop, or communicate the results of our analyses to
other members of the organization”
Information Platforms as Dataspaces,
by Jeff Hammerbacher
Data Scientist: The Sexiest Job of the 21st Century
Harvard Business Review article
by Thomas H. Davenport and D.J. Patil
28. 27
Diseño de Data-Products
El diseño de nuevos productos es en sí una aventura ya que
debemos ampliar las fronteras del negocio conocido.
Tomémos el caso de los logs de acceso: anteriormente
descartados, archivados o relegados a una función de monitor
de actividad; hoy en día son la base para realizar análisis de
click-stream, mejorar la usabilidad y experiencia de usuario,
inducir patrones de consumo, personalización, etc.
A R2D2 blueprint Lucasfilm Image Archives
30. 29
¿Qué información
derivada de nuestro
negocio puede
interesarles a nuestros
clientes o proveedores?
31. 30
Los skills de LinkedIn
Un tiempo atrás LinkedIn agregó la sección de skills
permitiendo definir nuestras habilidades
profesionales de manera más precisa y a la vez
nuestros colegas nos las validan y sugieren nuevas.
¿Qué skills tienen mis colegas que aún yo no tengo?
¿Qué otros skills pueden llegar a interesarme
adquirir? o bien, visto en red ¿qué capacidades está
demandando el mercado laboral en Latinoamérica?
¿Esas demandas estarán cubiertas en los próximos
años?
32. 31
Tu información puede ser valiosa para algún
vecino de tu ecosistema productivo,
¿cómo podrías productizar esa información?
¿Qué datos genera tu core business a los que
aún no les has encontrado valor?
Reserva Nacional Esteros del Ibera, Argentina, por Joshua Stone
33. 32
The Climate Corporation
Monsanto
Trilla del trigo en el Antiguo Egipto, By Carlos E. Solivérez
36. 35
High dim.
data
Locality
sensi-ve
hashing
Clustering
Dimension.
reduc-on
Graph
data
PageRank,
SimRank
Community
Detec-on
Spam
Detec-on
Infinite
data
Filtering
data
streams
Web
adver-sing
Queries
on
streams
Machine
learning
SVM
Decision
Trees
Perceptron,
kNN
Apps
Recom.
systems
Associa-on
Rules
Duplicate
document
detec-on
37. 36
Casos de Uso Big Data
1. Gestión de Riesgo, fraude, lavado de dinero, deuda-mora de cliente, vigilancia activa
2. Branding y sentiment-analysis: Social media analytics, buzz monitoring.
3. Customer life-cycle analytics.
4. Personalización & Mayor engagement
5. Análisis de logs: Detección de Intrusiones, UX,
6. Salud: Detección de epidemias, eHealh
38. 37
Customer life-cycle analytics
- Churn analysis
- Behavioral model del customer
- Programa de descuentos / loyalty
- Abandono de Carrito
- Sistemas de recomendación
- Up-Sell, Cross-Sell
- Personalización & Mayor engagement
40. 39
CPU
Memory
Disk
Machine Learning, Statistics
“Classical” Data Mining
Arquitectura single-node
41. 40
Arquitectura cluster
CPU
Mem
Disk
2-10 Gbps backbone between racks
CPU
Mem
Disk
Switch
…
Each rack contains 16-64 nodes
CPU
Mem
Disk
CPU
Mem
Disk
Switch
…
1 Gbps between Switch
any pair of nodes
in a rack
42. 41
Large-scale computing para problemas de data mining sobre
hardware commodity
Desafío
– ¿Cómo distribuimos el cómputo?
– ¿Cómo escribimos software fácilmente distribuible?
– Machines fail!:
• Un server está vivo sin fallas ~3años (1000 días)
• Si tenés 1000 servers, la esperanza es que falle 1 server por día
• Google tiene ~1M servers en 2011 (?¿?¿)
– 1000 servers fallan todos los días!!!
41
43. 42
Idea & Solución
Transmitir datos sobre la red es costoso è Llevemos la computación cerca de los datos
Las máquinas se caen è múltiples partes&copias para garantizar reliability
Infraestructura de Storage + File system
Google: GFS. Hadoop: HDFS
Huge files (100s of GB to TB). Rarely updated in place. Reads & appends
Modelo de programación distribuida
Map-Reduce
45. 44
• Chunk servers
– El file se parte en chunks contiguos
– ~cada chunk es de 16-64MB
– Cada chunk se replica ~2x ó 3x
– La idea es mantener las réplicas en diferentes racks
• Master node
– a.k.a. Name Node en Hadoop’s HDFS
– Almacena la metadata donde se cada persiste cada file
– Puede ser replicado también
– En Hadoop 2 el Master Node es distribuido
• Client library for file access
– Pregunta al Master la ubicación de los chunk servers
– Se conecta directamente con los chunks servers para acceder a los datos
46. 45
File system Distribuido y Confiable
• Data se persiste en “chunks” distribuidos sobre el cluster de máquinas
• Cada chunk se replica en diferentes máquinas
• La recuperación ante caídas del server o fallas de disco es transparente
C0 C1
C5 C2
Chunk server 1
C5
D1
Chunk server 3
C1
C5 C3
Chunk server 2
…
D0 C2
D0
Llevar el cómputo hacia los datos!
C0 C5
C2 D0
Chunk server N
Chunk servers son también servers de cómputo
47. Ejemplo de programa map-reduce
Contar palabras distintas
Tenemos un documento de texto muy grande (por ej. un logfile de nuestro webserver access.log)
Debemos contar la cantidad de ocurrencias de cada palabra
46
Aplicación
Analizar los URLs más populares de nuestro site analizando los logs del webserver.
wordsplit(doc.txt) | sort | uniq -c
48. 47
Escencia map-reduce
Leer de manera secuencial todo el file
1. Map: Extraer algo interente y asociarle una key. Genera pares <key, value>
2. Group by key: Clasificar, sort & shuffle (no se programa)
3. Reduce: Sumarizar, filtrar, transformar, otras aggregate func., sobre todos los pares de la
misma key.
Escribir el resultado
51. 50
Críticas a Hadoop & map-reduce
• Ideal para procesamiento datawarehouse
• Grandes logfiles, textfiles
• Orientado a batch
• Traducción casi inmediata a HiveQL, SQL sobre textfiles para Hadoop & HDFS
• Muy robusto. Poco performante.
• No se ajusta a tareas realtime.
• Las tareas O(n2) o superior, obligatoriamente son separadas del procesamiento.
A esta altura parece una verdad de perogrullo: "Las compañías que mejor utilicen la información, serán las más preparadas para afrontar los desafíos de la competitividad en el futuro". Hemos escuchado frases como estas muchas veces. Tenemos plena convicción de que existe valor en los datos que genera nuestra compañía, sentimos que tenemos que hacer algo pronto o pereceremos. Datos emergen a borbotones, la pregunta es: ¿dónde empezamos a buscar el tan prometido valor?
Sesgado e intervenido por la media
Sesgado e intervenido por la media
OM voz del pueblo
Por qué fallan:
- They don't work well at more than a very basic level
They mainly use dictionary lookup for positive and negative words
They classify the tweets as positive or negative, but not with respect to the keyword you're searching for
- First, the keyword search just retrieves any tweet mentioning it, but not necessarily about it as a topic
- Second, there is no correlation between the keyword and the sentiment: the sentiment refers to the tweet as a whole
- Sometimes this is fine, but it can also go horribly wrong
If you want a general overview about public sentiment on a topic like the Olympic Games or Justin Bieber, it'll probably work out OK
Piratas y calentamiento global
Quienes hablan muchos idiomas, viven más
(quienes hablan muchos idiomas, tuvieron acceso a mejor educación, viaje, salud => mejor salud)
El principio de Bonferroni nos ayuda a distinguir estas ocurrencias aleatorias y evitar tratarlas como eventos reales. Para esto necesitamos primero calcular el número esperado de ocurrencias de los eventos que se están buscando suponiendo que los datos son completamente aleatorios. Si este número es claramente mayor al número de ocurrencias reales que se espera encontrar, entonces podemos concluir que cualquier cosa que encontremos será poco concluyente.
Example:
We want to find (unrelated) people who at least twice have stayed at the same hotel on the same day
109 people being tracked
1,000 days
Each person stays in a hotel 1% of time (1 day out of 100)
Hotels hold 100 people (so 105 hotels)
If everyone behaves randomly (i.e., no terrorists) will the data mining detect anything suspicious?
Expected number of “suspicious” pairs of people:
250,000
… too many combinations to check – we need to have some additional evidence to find “suspicious” pairs of people in some more efficient way
EXPLICARLO MEJOR!
Normal = no regulada por el fenómeno ulterior de reunirse para desarollar los planes
Joseph Rhine was a parapsychologist in the 1950?s who hypothesized that some people had Extra-Sensory Perception.
* He devised (something like) an experiment where subjects were asked to guess 10 hidden cards ? red or blue.
* He discovered that almost 1 in 1000 had ESP ? they were able to get all 10 right!
==
He told these people they had ESP and called them in for another test of the same type.
Alas, he discovered that almost all of them had lost their ESP.
What did he conclude?
==
He concluded that you shouldn’t tell people they have ESP; it causes them to lose it.
Understanding Bonferroni?s Principle will help you look a little less stupid than a parapsychologist.
What is Big Data?
Big Data means "a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications."
Información poco estructurada
Distribuida
Muchas fuentes de información
Incompleta / No-perfecta
En la búsqueda del valor se distinguen 2 caminos: la optimización y la innovación.
El primero -la optimización- consiste en utilizar los datos generados por los sistemas que soportan la operatoria del core business para hacer que éste funcione de manera más óptima, es decir, los datos nos ayudarán a vender más de lo que ya veníamos vendiendo y a un menor costo.
La innovación, el tema que nos ocupa hoy, se enfocará en resignificar los datos en un nuevo modelo de negocio. Se tratará, entonces, de diseñar un nuevo producto basado en nuestros propios datos: lo que llamaremos data-product.
Convertir datos en productos!
One of the earlier data products on the Web was the CDDB database.
15000% job post
Sueldos de +100.000 USD
We've just released an infographic showing the characteristics of a good data scientist—what a Harvard Business Review article called the "sexiest job of the 21st century." For more on this topic, check out the recent blog post by FICO's Andrew Jennings: How to Hire a Data Scientist.
En este aspecto las áreas de IT han cumplido un rol protagonista en la innovación dada su posición privilegiada en la gestión de los datos y su cercanía a las herramientas.
Y en una visión más macro, este mismo ver-más-allá se materializa al analizar la cadena de valor del sector donde pertenecemos. ¿Qué información derivada de nuestro negocio puede interesarles a nuestros clientes o proveedores?
Una buena forma de explorar maneras de expandir la frontera es interrogarnos dónde nos ubicamos dentro del ciclo de vida del consumidor y quienes son nuestros vecinos en esa cadena. Por ejemplo: las compañías de seguros están interesadas en conocer quiénes compraron una heladera hace poco menos de 2 años, ya que se les está por vencer la garantía que ofrece el fabricante. Las mujeres que se suscribieron a sitios de información de embarazo y maternidad, luego de unos meses, comprarán pañales, libros infantiles, incluso autos familiares. Los comerciantes de antigüedades leen los avisos fúnebres.
LinkedIn es la red profesional más grande del mundo. Originalmente una red de conexiones entre profesionales, da su salto de innovación al incluir una línea de Talent Solutions a su modelo de revenue. Hace un tiempo se agregó la sección de skills permitiendo definir nuestras habilidades profesionales de manera más precisa y a la vez nuestros colegas nos las validan y sugieren nuevas. Nuestros skills son una descripción de nuestra capacidad en un momento dado.
Pero si vemos la película podemos inferir carreras profesionales y luego poder interrogarnos: ¿Qué skills tienen mis colegas que aún yo no tengo? ¿Qué otros skills pueden llegar a interesarme adquirir? o bien, visto en red ¿qué capacidades está demandando el mercado laboral en Latinoamérica? ¿Esas demandas estarán cubiertas en los próximos años? Esa información se transforma en insumo para los centros de capacitación profesional, maestrías y hasta incluso puede ayudar a confeccionar políticas de educación regionales.
Hace unas semanas se anunció la adquisición de la empresa The Climate Corporation por parte de Monsanto por más de 1000 Millones de dólares en efectivo, hecho que revolucionó el mundo de Big Data.
Climate ofrece seguros climáticos para agricultores. Recopila datos de monitoreo climático hiper-locales y la compone con información de los cultivos del cliente para desarrollar un modelo de riesgo personalizado y automatizado. Con esta adquisición, Monsanto, amplía su portfolio de productos al sumar servicios inteligente de datos a los productores agropecuarios que ya le compran semillas y agroquímicos.
Según su gacetilla de prensa, Monsanto declara que:
La adquisición combinará la experiencia de The Climate Corporation en ciencia de datos y risk-management con las capacidades de I+D de Monsanto, para ofrecer a los agricultores mayor información sobre los factores del éxito de sus cultivos
Según Monsanto, el desarrollo de Data Products Agrícolas es donde se encontrarán los mayores desafíos en agronegocios en el futuro cercano. Existen oportunidades de optimización en cada uno de las componentes del ciclo de vida de los cultivos, desde la pre-siembra hasta la cosecha. Y, como hemos visto en el post anterior, los datos generados en un eslabón pueden resignificarse en productos de información dando sinergia a todo el ecosistema productivo.
Cuanto compró NEST?
1. RISK
comprehensive data picture
build comprehensive data picture of customer-side risk
publish a consolidated set of attributes for analysis
add additional context, both internal and external
parse and aggregate data from different sources
credit and debit cards, product payments, deposits and savings
banking activity, browsing behavior, call logs, e-mails and chats
merge data into a single view
a “fuzzy join” among data sources
structure and normalize attributes
sentiment analysis, pattern recognition
2. activity records in a central repository
centralized logging across all execution platforms
structured and raw log data from multiple applications
pattern recognition to detect anomalies/harmful behavior
feature set and timeline vector are very dynamic
“schema on read” provides flexibility for analysis
data is primarily served and processed in HDFS with MapReduce
data filtering and projection in Pig and Hive
statistical modeling of data sets in R or SAS
the internet generates a lot of chatter about brands
understanding what’s said is key to protecting brand value
facebook & twitter generate a flood of data for large brands
capturing and processing direct feedback
better engagement and alerting via sentiment analysis
integration with other customer service systems
hadoop handles the diverse data types and processing
sources of data changing and semantics continuously evolving
sophistication of algorithms is iteratively improving
In 2011 it was guestimated that Google had 1M machines
20+ billion web pages x 20KB = 400+ TB
1 computer reads 30-35 MB/sec from disk
~4 months to read the web
~1,000 hard drives to store the web
Takes even more to do something useful with the data!
Today, a standard architecture for such problems is emerging:
Cluster of commodity Linux nodes
Commodity network (ethernet) to connect them
45
where words takes a file and outputs the words in it, one per a line
where words takes a file and outputs the words in it, one per a line
where words takes a file and outputs the words in it, one per a line
All data entering the system is dispatched to both the batch layer and the speed layer for processing.
The batch layer has two functions: (i) managing the master dataset (an immutable, append-only set of raw data), and (ii) to pre-compute the batch views.
The serving layer indexes the batch views so that they can be queried in low-latency, ad-hoc way.
The speed layer compensates for the high latency of updates to the serving layer and deals with recent data only.
Any incoming query can be answered by merging results from batch views and real-time views.