bigdata 101 / cursillo (parte2)

35
1

Upload: andres-hurtado

Post on 17-Jan-2017

18 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: BigData 101 / Cursillo (Parte2)

1

Page 2: BigData 101 / Cursillo (Parte2)

PLATAFORMAConceptualmente se plantea una plataforma de bigdata y su mapeo a la plataforma Hadoop.

2

Page 3: BigData 101 / Cursillo (Parte2)

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 (ConsistencyAvailability 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

Page 4: BigData 101 / Cursillo (Parte2)

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

Page 5: BigData 101 / Cursillo (Parte2)

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

Page 6: BigData 101 / Cursillo (Parte2)

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 muestraDATASET: colección de datos donde coinciden los mismos atributosDATA ANALYSIS: examinar la data para encontrar relaciones, patrones, tendenciasANALYTICS: hacer data analysis con herramientasPOPULATION: 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

Page 7: BigData 101 / Cursillo (Parte2)

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úmerosNOMINAL-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

Page 8: BigData 101 / Cursillo (Parte2)

• 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

Page 9: BigData 101 / Cursillo (Parte2)

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

Page 10: BigData 101 / Cursillo (Parte2)

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 centroSe 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

Page 11: BigData 101 / Cursillo (Parte2)

• Z-score (siguiente slide)Medidas de Asociación: buscan relación entre variables• Correlación

8

Page 12: BigData 101 / Cursillo (Parte2)

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

Page 13: BigData 101 / Cursillo (Parte2)

CORRELACIONLos valores en azul corresponden a un nivel de correlacion positivo mientras ue el rojo es un valor negativo.

EJEMPLOSA 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?.

LABORATORIOPara 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

Page 14: BigData 101 / Cursillo (Parte2)

VISUALIZACIÓNEs la forma de comunicar resultados analíticos en forma de charts, mapas, grids, infographics y alertasSon más que todo técnicas usadas para realizar análisis exploratprio, con el fin de observar distribucines de los datosTradicionalmente 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 medidaFiltering: Omitir datos que no son de interésDrilldown: Ir al detalle, enfocando un resúmen específico de los datos navegadosRollUp: Agrular datos para mostrar totales o subtotales

11

Page 15: BigData 101 / Cursillo (Parte2)

12

Page 16: BigData 101 / Cursillo (Parte2)

HEATMAPSFacilitar la identificación de valores bajos y altos de forma visual

LABORATORIOEl laboratrio usa el dataset MOTORCARS (mtcars) de R.

DATASET MTCARSExtraido 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 RDentro 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

Page 17: BigData 101 / Cursillo (Parte2)

Para el laboratprio se sigue usando el dataset de mtcars, pero ahora se comparan las variables mpg agrupadas por cylinders

14

Page 18: BigData 101 / Cursillo (Parte2)

CROSS-TABULATIONNo 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

Page 19: BigData 101 / Cursillo (Parte2)

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

Page 20: BigData 101 / Cursillo (Parte2)

LATTICE PLOTBásicamente es la composición de varios charts en una misma figura.

LABPara 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

Page 21: BigData 101 / Cursillo (Parte2)

18

Page 22: BigData 101 / Cursillo (Parte2)

HISTOGRAMEs 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

Page 23: BigData 101 / Cursillo (Parte2)

20

Page 24: BigData 101 / Cursillo (Parte2)

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

Page 25: BigData 101 / Cursillo (Parte2)

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

Page 26: BigData 101 / Cursillo (Parte2)

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

Page 27: BigData 101 / Cursillo (Parte2)

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

Page 28: BigData 101 / Cursillo (Parte2)

histórica, en este caso es PlayGolf.

23

Page 29: BigData 101 / Cursillo (Parte2)

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

Page 30: BigData 101 / Cursillo (Parte2)

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

Page 31: BigData 101 / Cursillo (Parte2)

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

Page 32: BigData 101 / Cursillo (Parte2)

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

Page 33: BigData 101 / Cursillo (Parte2)

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

Page 34: BigData 101 / Cursillo (Parte2)

(two-tailed).

27

Page 35: BigData 101 / Cursillo (Parte2)

28