Cursillo Básico sobre bigdata y machine learning. Parte 2: ]: Se hace un recorrido por lo que se denomina la plataforma hadoop; posteriormente se muestran temas de visualización. El big data no sería nada si no se pueden explotar las masas de información a ser analizadas, y la estadistica/probabilidad son una parte que fundamenta este tipo de análisis, por lo cual retomamos algunos temas de estas áreas de conocimiento en pro de generar modelos de relevancia para la búsqueda de insights. MinTIC bdguidance arcitura 2016.
3. PLATAFORMA HADOOP
• Framework Open source para storage+procesamiento a gran escala
• Puede ser montado sobre commodity hardware
ALGUNOS CONCEPTOS
• CLUSTER: colección de nodos, típicamente con las mismas especificaciones de
hardware y conectados conjuntamente como una sola unidad
• DISTRIBUTED FILESYSTEM: mecanismos para poder replicar y almacenar
información en un cluster. Hacia el cliente paraece que se accediera de una sola
ubicaci´no.
• NOSQL: base de datos no-relacional, para almacenar data estructurada o
semiestructurada, con algunas prestaciones no funcionales como CAP (Consistency
Availability Partitioning)
• PARALLEL DATA PROCESSING: ejecutar una tarea dividiéndola en partes pequeñas y
usando multiples cores o procesadores al tiempo para cumplir con la tarea grande
• DISTRiButeD DATA PROCESSING: usar maquinas diferentes par el procesameinto.
• WORKLOAD: BATCH O STREAM: forma de procesamiento de los datos enviados
• CLOUD COMPUTING: forma especializada de computació distribuida, en la cual
repotamente se provisionan y se escalan recursos de IT. Se paga por el uso de esta
3
4. infraesrcutrura.
ALGUNOS COMPONENTES DE HADOOP
• StorageDevice (HDFS): Provee el storage para la solución de bigdata. También
bases de datos NoSQL pueden ser usadas como repositorio
• ProcessingEngine (MapReduce/Spark): responsable de procesar una lógica
predefinida y obtener un resultado, en batch o realtime (lambda/kappa
architecture).
• ResourceManager (YARN2): Administracion de recursos del cluster de hadoop,
para priorizar peticiones de procesamiento y distribuirlas.
• DataTransfer Engine (Sqoop): Habilita que la data se pueda mover hacia y desde la
solución de storage (ingress-egress: eventos, archivos, datos relacionales)
• QueryEngine (HIVE): permite una interfaz de consulta de los datos de la plataforma
• AnalyticsEngine (Mahout): procear la data con algoritmos de machine learning y
estadísitcas avanzadas
• WorkflowEngne (Oozie,Pig): diseñar secuencias de operaciones a ser procesadas
por la infraestructura bigdata.
• CoordinationEngine (Zookeeper): permitir consistencia oepracional entre los
servidores
• Ambari: Panel de control de Hadoop: Adicion / Eliminacion de nodos
------
Tipos de Procesamiento: Batch / Realtime
------
Otros: Jupyter / Tableau-Qlik-Spotfire / Cloudera-MapR-Hortonworks
3
5. DATA SCIENCE
• A partir de grandes cantidades de datos, se trata de extraer conocimiento
(INSIGHTS), tratando de ganarlo mediante patrones generalizables y correlaciones
• El nivel de entendimiento es capturado en forma de un modelo y posteriormente
implementado y desplegado en forma de DATA-PRODUCT.
• Con este modelo se busca algo así como contar una historia sobre lo que pasa o lo
que puede pasar basado en los datos.
• Tipos de modelo:
• DESCRIPTIVO: describir el comportamiento actual (causal understanding:
causa y efecto)
• PREDICTIVO: describir comportamiento futuro (valioso si produce
resultados accurate), puede que no sea comprensible
• Forma de realizarlo:
• MODELOS ESTADÍSTICOS: pretenden entender el proceso de generación de
los datos
• MODELOS DE MACHINE-LEARNING: el interés es producir las salidas
correctas (el modelo interior no necesariametne es comprensible)
• VISUALIZACIONES
• ANÁLISIS CONFIRMATORIO
4
6. CONCEPTOS
INSTANCE/OBJECT/FEATURE-VECTOR/OBSERVACION: cada muestra; un registro, un
conjunto de atributos relacionado con un objeto de muestra.
ATTRIBUTE/VARIABLE: característica de una muestra
DATASET: colección de datos donde coinciden los mismos atributos
DATA ANALYSIS: examinar la data para encontrar relaciones, patrones, tendencias
ANALYTICS: hacer data analysis con herramientas
POPULATION: conjunto de instancias que conforman el dataset completo o el
universo de muestras sobre el cual se trabaja.
SAMPLE: un subconjunto de muestras extraidas de la población
- Normalmente con muestras se hacen estimaciones de hipótesis sobre la población -
- En el caso de Bigdata se tiende a que el tamaño del dataset sea igual a los miembros
de la población, pero no en todos los casos esto se tiene; por ejemplo, al hacer
técnicas de calidad no es posible medir un elemento de la muestra sin alterarlo -
TEOREMA DEL LIMITE CENTRAL: ver video. Básicamente indica que al agregar
muestras progresivas a una distribución aleatoria, esto tiende a una desviación
5
7. estándar con media μ y varianza σ2. Ver también [LAB: p0201_limcentral.r ]
LEY DE LOS GRANDES NUMEROS: para pocos casos, con una variable aleatoria hay
gran variabilidad; sin embargo, cuando hay basantes muestras, el comportamiento es
más predecible.
CROSS VALIDATION:
CATEGORICO / CUANTITATIVO
- Categorico hace referencia a categorías bien marcadas, mientras que cuantitativo
hace referencia a números
NOMINAL-ORDINAL
- Hacen referencia a variables categóricas, pero las primeras no tienen relación de
orden mientras que las otras sí (ejemplo: -nominal: budistas/católicos/cristianos -
ordinal: pequeño/mediano/grande)
DISCRETO / CONTINUO
- Hace referencia a valores específicos (ej: numero de goles) mientras que en el otro
caso se permiten valores intermedios en una escala continua (ej: estatura de un
jugador)
5
8. • BIAS ~ exactitud: La muestra que se toma no es una representación verdadera de
la población / puede deberse a errores en el instrumento de medida.
• VARIANCE ~ variability/precisión:
6
9. ESTADÍSTICA BÁSICA
• Estadísitca y probabilidad son denominadas técnicas de caja blanca, pues con una
serie de parámetros podremos conocer atributos de la generación de los datos,
contrario a las técnicas de machine learning que se denominan técncias de caja
negra, pues sólo importa mapear hacia un conjunto de salidas y desde un conjunto
de entradas sin importar cómo funciona internamente el sistema de generación de
losd atos.
• Estos modelos permiten iniciar con un análisis descriptivo y a través de métodos
de inferencia poder derivar conclusiones sobre los datos, asumiendo que son
generados bajo un proceso aleatorio.
• La estadística se puede encontrar en modelos que nos rodean y no tiene que ser
un ladrillo para poder aplicarla en el mundo real.
• La estadística normalmente es usada para modelos de tipo descriptivo usando
modelos de visualización, mientras que la probabilidad se usa para hacer
inferencia sobre el comportamiento de determinado modelo y sacar conclusiones
sobre su comportamiento..
7
10. Tipos de Análisis
• Cuantitativo (comparaciones numéricas: 5 grados de mayor temperatura amplian
las ventas en un 15%) /
• Cualitativas (Describir cualidades de datos en palabras )
• En r los datos categóricos se conocen como “factors”
Medidas de Tendencia Central : encontrar cómo los datos se distribuyen sobre el
centro y cuáles son los valores que más ocurren. Esto sirve para hacer comparaciones
entre valores
• Mean: suma de valores sobre numero de muestras
• Median: el valor que está en la mitad de las muestras luego de ordenar
• Mode: el valor que mas se repite
Medidas de Dispersión: qué tan dispersos están los datos del centro
Se usa el dataset faithfull, que modela la duración de erupciones volcánicas
• Variance: mide la proporción de las variaciones respecto a la media de los valores;
la desviación estándar es la raíz de este valor
• Range: Valor Maximo – Valor minimo
8
11. • Z-score (siguiente slide)
Medidas de Asociación: buscan relación entre variables
• Correlación
8
12. Con el z-score podremos comparar diferentes distribuciones entre sí, dado que las
estandarizamos.
El z-score nos permite tener una idea de la variabilidad de forma estandarizada.
9
13. CORRELACION
Los valores en azul corresponden a un nivel de correlacion positivo mientras ue el
rojo es un valor negativo.
EJEMPLOS
A alguien le gusta el chocolate, pero se la pasa tragándolo y ha incrementado de
peso. Tiene alguna relación el consumo de chocolate con el incremento de peso?.
LABORATORIO
Para este experimento se tiene encuenta un datast denominado motortrend,
relacionado con una revista de autos, una edición antigua que se pueden encontrar
impliciarmente al instalar R.
Se quiere observar un conjunto de variables que muestran relación causal entre el
consumo de millas por galon (mpg)
10
14. VISUALIZACIÓN
Es la forma de comunicar resultados analíticos en forma de charts, mapas, grids,
infographics y alertas
Son más que todo técnicas usadas para realizar análisis exploratprio, con el fin de
observar distribucines de los datos
Tradicionalmente el despliegue de estas soluciones era estático, pero actualmente se
busca algo más interactivo y dinámico. Muchas herramientas de visualización han
cambiado el enfoque para subir los datos a memoria y desde allí realizar la
visualización.
CONCEPTOS
Aggregation: Permitir resúmenes de datos agrupándolos acorde a una medida
Filtering: Omitir datos que no son de interés
Drilldown: Ir al detalle, enfocando un resúmen específico de los datos navegados
RollUp: Agrular datos para mostrar totales o subtotales
11
16. HEATMAPS
Facilitar la identificación de valores bajos y altos de forma visual
LABORATORIO
El laboratrio usa el dataset MOTORCARS (mtcars) de R.
DATASET MTCARS
Extraido de la revista MotorTrend US en la edición 1974, incluye varios aspectos
medidos sobre una serie de automóviles de ese año.
Algunos de sus atributos son
• mpg : MilesPerGallon (consumo de combustible
• wt: Weight (peso del auto, en 1000-libras)
• am: TransmissionType (automatic=0, manual=1)
GRAFICAS EN R
Dentro de r existen varias formas de hacer graficos, una de las mas conocidas es el
sistema ggplot2 donde se pueden componenr diversos tipso de grafico.
13
17. Para el laboratprio se sigue usando el dataset de mtcars, pero ahora se comparan las
variables mpg agrupadas por cylinders
14
18. CROSS-TABULATION
No es propiamente una grafica; se trata de una especie de tabla donde se consolidan
datos sobre los ejes x,y.
El dataset usado es UCBAdmissions, que muestra las admisiones a la universidad de
Berkeley en 1970 por carrera y por genero
15
19. SCATTERPLOT
Para este ejemplo se usa el dataset CARS, que ilustra las distancias de frenado acorde
a la velocidad que lelva un automovi.
La velocidad está en millas/hora y la distancia en pies. Los autos son de 1920
16
20. LATTICE PLOT
Básicamente es la composición de varios charts en una misma figura.
LAB
Para el laboratorio se usa el dataset state.77 que contiene algunos hechos
demográficos de la población de estados unodos de 1977. En este caso se grafican los
ingresos de cada uno de los estados y se dividen en la región a la que pertenecen.
17
22. HISTOGRAM
Es como un diagrama de barras, pero las barras van juntas, no hay espacios entre sí, y
los intervalos normalmente son del mismo tamaño.
Cuando se quieren ver distribuciones discretas, se visualizan sobre un histograma.
También vemos una distribución sobre el histograma, sesgada a la izquierda.
19
24. CONCEPTOS
Imagine que está en la playa y le da por recoger conchitas; pronto encuentra que hay
4 clases de ellas (Q,R,S,T). Cuando es pequeña la muestra le puede salir casi que
cualquiera; eso se llama un EXPERIMENTO,; cuando la concha le sale del tipo Q, eso
se llama un EVENTO y el acto de seleccionar una concha se llama RANDOM-EVENT;
sacar una concha en este momento o unos minutos después se asume independiente
(INDEPENDENT-TRIAL). Cuando se pone a seleccionar varias conchas, eso se llama un
EXPERIMENTO.
La suma de las probabilidades de sacar conchas de determinados tipso suman 1 entre
todas.
Con la muestra usted quiere hacer suposiciones (ASSUMPTIONS) sobre la POBLACIÓN
dada la muestra (SAMPLE) que está tomando, y suponiendo que la muestra tomada
es representativa, como una especie de MICRO-VERSION de la población.
Ahora digamos que se fue a otra playa y que le da por tomar 3 conchas, entonces son
3 pruebas (TRIALS) las que tiene que correr. En esa playa sólo hay concas de tipo Q y
tipo R. El ESPACIO DE EVENTOS ya es diferente; en este espacio de eventos están las
posibles salidas, que no son más que la combinación entre los tipos de conchas que
21
25. le pudieron salir (QQQ,QQR,QRQ, QRR, RQQ, RQR; RRQ; RRR). En este caso le puede
interesar los casos en los cuales escogió al menos dos conchas del tipo Q (evento A).
Si resulta que la concha tipo Q es menos frecuente que la concha tipo R, en la parte
inferior derecha tenemos un ejemplo del cálculo.
Bien podríamos haber calculado la probabildiad de ocurrencia de otro evento B, que
consiste en la probabilidad de obtener al menos 2 conchas de tipo R, o bien la
ocurrencia de alguno de los 2 eventos P(AUB)=P(A)+P(B)-P(A∩B)
21
26. Probabilidad condicional
Digamos que ud se encuentra en la playa y hay mas gente como usted en la playa,(A)
unos están descansando, (B) otros construyendo castillos de arena y (C) otros
nadando. Ahora ud sabe que hay hombres o mujeres haciendo esta actividad y no
con la misma probabilidad. En este caso, ud puede calcular la probabilidad de que la
persona esté descansando dado que es hombre (P(A|M)) = P(A∩M)/P(M). Para
simplificar lso cálculos, normalmente se asume independencia entre los eventos.
Ahora, poder conocer la probabilidad P(M|A) se puede derivar desde esta regla,
usando lo que se denomina la Ley de Bayes.
22
27. NAIVE-BAYES
• Basado en la probabilidad condicional de bayes, usa este mecanismo para realizar
la predicción de que se presente o no un evento dada determinada medida de
probabilidad.
• Es eficiente el computo,
• trabaja con datasets pequeños también.
Dataset (del video):
• Tenemos un conjunto de medidas sobre el ambiente y queremos saber si es
recomendable ir o no a jugar golf.
Variables:
• Outlook:{Rainy|Overcast:nublado|Sunny}
• Temp: {Hot|Mild:Templado|Cold}
• Humidty: {High|Normal}
• Windy: {False|True}
• PlayGolf: {Yes|No}
TARGET VARIABLE: es la variable que se intenta predecir, dada la información
23
29. CONFUSION MATRIX
• Tabla resumen de valores predichos vs los valores actuales clasificados.
• True-Positive: cuántos que dijo que eran positivos realmente lo eran
• True-negative:
• False-negative: [ErrorTipo-ii (β): HipotesisNula == falsa y decide aceptarla]
• False-positive: cuántos que dijo que eran positivos no lo eran realmente
[ErrorTipo-i (α): HipotesisNula == verdadera y decide rechazarla]
------
• Accuracy: [ (TP+TN)/All ] correctamente identificados de todas las instancias
• Precision: [ TP / (TP*FP) ] cuántos clasificados como positivos son relevantes
• Sensitivity: [ TP / RealPositive = TP / (TP+FN) ] qué tan bien detecta los positivos
• Specificity: [ TN / RealNegative = TN / (FP+TN) ] qué tan bien evita falsas alarmas
Errores Tipo i y Tipo ii
24
30. MODELOS DE DISTRIBUCIÓN DE PROBABILIDAD
• Una Distribución muestra que tan frecuente ocurre un evento o la oportunidad de
que un evento suceda
SAMPLING DISTRIBUTION
• Distribución de probabilidad de las muestras; normalmente se toman varias
muestra para ver cuál es por ejemplo la media.
• Cuando se sabe la distribución de probabilidad, se tratan de extraer “summary
statistics”
• Si se sabe la distribución de probabilidad (de qué tipo es y sus parámetros), es
posible obtener la probabilidad de que una variable caiga en determinado rango.
• Con esta información se hace inferencia sobre la población, pues casi nunca se
conoce la distribución original y por esto tiene que hacer INFERENCIAS. Por
ejemplo, si se quiere calcular la duración promedio de un lote de bombillos, no se
podría hacer el experimento con todos los bombillos porque el proceso en sí los
destruiría.
• Por esto estimamos que el valor de la estadística caiga en determinado INTERVALO
en lugar de indicar un solo punto, e indicamos un nivel de confianza para a
distribución de esta medida (68%,95%, 99.5%). En el caso de los bombillos, el
25
31. número de muestras usadas nos permiten construir el intervalo de confianza. El
numero de muestras incrementadas mejorará el intervalo de confianza, pero en
este caso, hay que hacer un balance para no destruir el lote completo.
EJERCICIO
• (1) Digamos que en promedio ud se gasta 40 minutos en un día de la semana para
llegar al trabajo, con una desviación de ±10 minutos, y quiere saber un rango de
tiempo que se gastará el 95% de las veces. El 95% de una distribución normal es el
área comprendida entre 2 desviaciones estándar de la media [μ-2σ, μ+2σ], por lo
cual el rango es entre [20 y 60 minutos].
• (2) Ahora, ud quiere calcular la probabilidad de que se gaste 50 minutos o mas
viajando. 50 minutos en este caso es la media μ más 1 desviación (μ+1σ). Para
calcular esto, ud puede tener en cuenta que el área de la curva es 1, y que el área
entre 1 desviación estándar es 0.68. El área de la mitad de la curva será 0.5 y de la
mitad del rango mostrado en rojo es de 0.34, lo que suma 0.84, pero como a ud le
importa es la probabilidad que se gaste más de 50 minutos, esto es un porcentaje
de 1-0.84 = 0.16, es decir que hay una probabilidad de 16% de que ud llegue tarde.
• Ahora; Hay valores empíricos que se usan para calcular la distribución (68%, 95% y
99.6%), pero qué pasa para las demás distribuciones?. Pues existen tablas según la
distribución que se quiere calcular; para el caso de la distribución normal, lo que se
hace entonces es calcular el valor z y buscar el correspondiente valor en una de
esas tablas de distribución (tabulated dataset distribution).
Funcion de densidad de probabilidad se camcula el área debajo de la curva, que da 1
25
32. Por un lado se trata de usar una muestra para extraer características de la población;
por el otro, dada una hipótesis se trta de confirmar que sea verdadera.
26
33. Es la expectativa sobre una población, en forma de proposición y para explicar un
fenómeno, por ejemplo que menos del 3% de los americanos han tenido una
experiencia de buceo. [Esto lo hacemos basados en un parametro de la población.
• Normalmente se crea algo denominado NULL-HYPOTHESIS (H0), que indica que no
hay una conclusión verdadera respecto a lo observado, y las observaciones hechas
son sólo basadas en la suerte. Por defecto es considerada verdadera (a menos que
haya completa evidencia de lo contrario). Lo que se tratará de hacer es rechazar
H0 si se quiere probar lo contrario.
• Supongamos que se toma una muestra de n=1000 y resulta ser que el valor que da
en promedio de las personas que han practicado buceo es de 0.02. Primero
tenemos que estandarizar estos valores para comparar. El valor estandarizado da
z= -1.85. Si lo buscamos en la tabla, este valor da 0.0322 de probabilidad (p-value)
• Pero si nos encontramos con este valor debemos o no rechazar la hipótesis nula?.
Depende del nivel de tolerancia que tengamos (α-significance). El valor común de
significancia es de 0.05 (rectángulo amarillo punteado de la tabla), lo que significa
que a valores menores de este, rechazaremos la hipótesis nula (H0). Ello no
significa que de inmediato H1 sea cierta, pero tenemos un valor de hipótesis
donde estos hechos se confirman.
• En este caso el test es del extremo izquierdo, pero se puede manejar de los 2 lados
27