1. Big Data
Seminario BIG DATA
Maestría en Ciencias de la Información y las Comunicaciones
Universidad Distrital Francisco José de Caldas
Bogotá[, Colombia
Por: Edgar Garrido and Julio Baracaldo
2. ¿Que es Big Data?
Es el termino dado a una colección de datos tan grandes y complejos que es difícil
procesarlos usando herramientas de gestión de bases de datos convencionales o
utilizando aplicaciones tradicionales para procesamiento de datos.
Los datos tienen tamaños muy grandes; se mueven muy rápido o no encajan dentro de
las restricciones de las arquitecturas tradicionales de bases de datos. Para ganar valor
con estos datos, se debe seleccionar una manera alternativa de procesarlos.
(tratamiento y análisis)
El tratamiento de un mayor número de datos puede conducir a un más adecuado
análisis, lo cual puede conducir a una toma de decisiones más acertada. Mejores
decisiones pueden significar mayor eficiencia operacional, reducción de costos y de
riesgos.
Big Data puede llegar a ser tan importante para los negocios y para la sociedad como
ha llegado a serlo la Internet.
3. ¿Por qué y para qué usar Big Data?
Ha emergido como el principal ingrediente para el éxito de muchos
negocios
Esta empezando a ser usado por científicos, ingenieros, todo tipo de
profesionales y por todos los entes gubernamentales.
Se puede capturar y analizar cualquier tipo de dato, sin requerirse
una estructura especifica.
Es posible extraer de dentro de estos datos, patrones valiosos e
información previamente escondida, que no ha sido usada debido a la
gran cantidad de trabajo requerido para su extracción.
Permite análisis oportunos y rentables de datos y creación de nuevos
productos.
4. Características Big
Data: Volumen,
Velocidad y Variedad
Volumen
Muchos factores contribuyen a incrementar el
volumen de los datos:
Datos de transacciones han sido almacenados a
través de años.
Datos no estructurados son transmitidos a través de
medios sociales.
se ha incrementado la cantidad de sensores que son
almacenados por diferentes dispositivos
Se pueden almacenar más datos por que los
dispositivos de almacenamiento son menos costosos.
Permite la creación de mejores modelos al tener
mayor cantidad de datos y mejora en la toma de
decisiones.
Se almacena cualquier cosa: datos ambientales,
financieros, médicos, de vigilancia, y muchos más.
5. Características Big Data:
Volumen, Velocidad y Variedad
Velocidad
Variedad
Tasa de crecimiento a la cual fluyen los
datos en la organización.
Datos estructurados, semiestructurados y no
estructurados
La velocidad en que los datos son
desaminados o los datos cambian o son
refrescados.
La naturaleza dinámica de los datos
demanda mayor cantidad de potencia
de computación, diseños específicos y
veloz interoperabilidad entre redes, que
se puede ver reflejado en la toma de
decisiones.
Variedad de fuentes de datos sensores,
dispositivos inteligentes, redes sociales,
paginas web, logs, índices de búsqueda,
email, documentos, GPS, etc.
Variedad representa todos los tipos de datos
Mas del 80% de los datos alrededor del mundo
son no estructurados o semiestructurados.
Para capitalizar la oportunidad de Big Data,
las empresas deben ser capaces de analizar
todo tipo de dato, estructurado o no
estructurado.
Se pasa de procesamientos en bach a
streaming data
7. ¿Cuando considerar una Solución de
Big Data?
Big Data es una solución ideal no solamente datos estructurados, sino
también semiestructurados y no estructurados desde una variedad de
fuentes.
Big Data es una solución ideal cuando todos, o la mayoría, de datos
necesitan ser analizados versus un muestreo de datos; o un muestreo de
datos no es casi tan efectivo como un conjunto de datos grande desde los
cuales el análisis se obtiene.
Big Data es una solución ideal para análisis iterativo y exploratorio
cuando mediciones del negocio en los datos no es predeterminado.
8. Not Only SQL - NoSQL
NoSQL se refiere a sistemas de gestión de datos no relacionales.
Las bases de NoSQL no son construidas con tablas.
Generalmente no utilizan SQL para la manipulación de datos.
Utilizadas cuando se trabaja con gran cantidad de datos, cuando la naturaleza de
los datos no requiere un modelo relacional.
Los sistemas NoSQL son distribuidos, diseñados para bases de datos no relacionales,
que altamente escalables y para procesamiento en paralelo a través de muchos
servidores.
Soportan múltiples actividades como analítica predictiva y exploratoria.
No utilizadas en sistemas de misión critica OLTP
Almacenamiento de datos orientados a columna y arquitecturas distribuidas o a
través del empleo de tecnologías como procesamiento en memoria,
multiprocesamiento simétrico (SMP) y procesamiento paralelo masivo (MPP).
9. Quienes usan DB
NoSQL
Organizaciones que manejan
grandes volumenes de datos no
estructurados se están moviendo
hacia bases de datos no
relacionales.
Quienes se enfocan en
procesamiento analítico. De
grandes conjuntos de datos.
Quienes requieren de
aplicaciones tales como Big Data
Analytics.
Redes sociales, Cassandra,
BigTable y Hbase son tipos de
base de datos NoSQL.
10. Características de las Bases de datos NoSQL
Fuerte consistencia: Todos los clientes
ves la misma versión de los datos, aún es
actualizaciones de conjunto de datos.
Alta Disponibilidad: todos los clientes
pueden siempre hallar al menos una copia
de los datos requeridos.
Tolerancia-Partición: El total del sistema
mantiene sus características aun cuando
estén desplegados en diferentes
servidores, trasparente al cliente.
El teorema de CAP postula que solamente
dos de los tres diferentes aspectos de
escalamiento pueden ser obtenidos
completamente.
11. Clasificación de las Bases de Datos NoSQL
Se
clasifican en tres tipos: (Según Leavitt)
Almacenamiento
Bases
Key-value (ej. SimpleDB)
de datos orientadas a la columna (ej. Cassandra, Hbase, Big
Table)
Almacenamiento
basado en documentos (ej: CouchDB, MongoDB)
Se
clasifican en cuatro categorías: (según otros
autores)
Almacenamiento
Key –Value
Almacenamiento
Documentos
Wide-Column
Bases
(column Family)
de Datos Grafo
12. Base de datos Almacenamiento key-Value
Estos ítems usan identificadores
alfanuméricos (keys) y un valor
asociado. Son tablas stadalone
referidas como (“hash tables”). Los
valores pueden ser simple string de
text o listas y conjuntos.
La búsqueda de datos usualmente es
ejecutada contra las llaves (keys) esta
búsqueda es muy rápida.
Ejemplos de uso: Por Amazon en sus
sistema K-V, Dynamo en su carrito de
compras y por LinkedIn con Voldemort,
Redis, BerkeleyDB.
13. Bases de Datos Documentales
Diseñado por Lotus Notes para almacenar
documentos
Documentos codificados en formatos XML, JSON o
BSON.
En la columna valor (value) de esta base de datos
„Document” contiene datos semiestructurados
(pareja name/value), especialmente la pareja
corresponde un documento, a diferencia del
almacenamiento Key-Value.
En una columna se pueden almacenar miles de
atributos y el numero de atributos grabado puede
variar de una fila a otra.
Ejemplos de uso: almacenamiento documentos de
texto, mensajes de corre electrónico, documentos
XML, etc.
CouchDB (JSON) y MongoDB (BSON) son proyectos de
código abierto que utilizan estos tipos de base de
datos.
14. Bases de datos Columnares (Wide-Column)
Una estructura de datos orientada a la columna que
acumula múltiples atributos por llave.
Es una dase de datos para almacenamiento distribuido,
altamente escalable, procesamiento de datos orientada a
bach: clasificación, el análisis sintáctico, conversión
(entre Hexadecimal, binario y decimal) algoritmos
crunching, etc.
Usada para analítica predictiva y exploratoria.
MapReduce es un método de procesamiento en bach, por
el cual Google redujo el rol de MapReduce moverse más
cerca índices streaming/real-time in Caffeine, la ultima
infraestructura de búsqueda.
Ejemplo de uso: BigTable (Google), Hypertable, Cassandra
(Facebook, twitter), SimpleDB (Amazon), DynamoDB.
15. Base de Datos Grafo (Graph)
Remplaza tablas relacionales, grafos relacional
estructurados de pareja de valores: key-value.
Es similar a las bases de datos orientada a objetos ya que
los grafos son representados como una red de nodos
orientado a objetos (objetos conceptuales), relación de
nodos („edges”) y propiedades (atributos objeto
expresados como una pareja key-value).
Esta base de datos es útil cuando se esta interesado en
relaciones de datos que están en datos de ella misma.
(ej: generar recomendaciones en redes sociales).
No están optimizadas para consultas sino para hallar
relaciones.
Ejemplo de uso: Neo4j. InfoGrid, Sones GraphDB,
allegroGhaph, InfinityGraph.
17. ¿Que es MapReduce?
Es un modelo de programación para
distribuida (desarrollada por Google).
computación
La aplicaciones que dentro del framework de MapReduce
pueden automáticamente ser distribuidas a través de
múltiple computadores sin necesidad de que el
desarrollador
escriba
código
personalizado
para
sincronización y paralelismo.
Es usada para ejecutar tares sobre grandes conjuntos de
datos, los cuales podrían ser demasiado grandes para ser
manejados por una sola maquina.
18. ¿Cómo trabaja MapReduce?
En el framewok MapReduce, el desarrollador tiene que especificar una
función de mapeo (map) y otra de reducción (reduce).
La función de mapeo es invocada con un par de llaves de tipo {key:value}
para cada dato almacenado y retorna un valor intermedio {key:value}, el
cual es usado par la función de reducción para unir todos los valores
intermedios con la misma llave intermedia.
Cada invocación de reducción tendrá una llave intermedia y una lista de
valores que pertenecen a la llave y retorna un conjunto de datos más
pequeño o un solo valor como resultado final.
map(key, value)
reduce(ikey, list(ivalue))
list(ikey, ivalue)
list(fvalue)
21. Ejemplo MapReduce (continuación)
La función de mapeo map(), es llamada para cada documento y emite un
para {key:value} para cada palabra en el documento. Este resultado es
enviado a la función reduce(), la cual es llamada para cada palabra en
este ejemplo y se obtiene una lista de ocurrencias, los cuales son
sumados y después retornados como un sola valor.
Un aplicación en línea que implementa MapReduce se puede usar para
pruebas www.jsmapreduce.com
23. Arquitectura MapReduce (Google)
El framework trabaja con GFS – Google
Distribuido Storage System
A cada nodo le es asignado una tarea de mapeo
El resultado de la función de mapeo es
almacenada en el disco local, del nodo de
mapeo y ordenado por las llaves intermedias
La intermedia Key-space es también dividido
por el maestro y distribuido sobre los nodos de
reducción.
Para conseguir los datos intermedios, cada nodo
de reducción tiene que preguntar al maestro
por la ubicación de los datos intermedios con
sus llaves intermedias asignadas y leerlos desde
el nodo de mapeo responsable.
25. Procesamiento de Lenguaje Natural - PNL
Subsistema de inteligencia Artificial, que se ocupa de la formulación e
investigación de mecanismos eficaces computacionalmente para la
comunicación entre personas o entre personas y máquinas por medio de
lenguajes naturales. Que es el lenguaje o idioma hablado o escrito por
los humanos.
El PNL crea mecanismos para comunicarse, que sean eficaces
computacionalmente. (programas que simulen la comunicación)
la ciencia que se encarga de habilitar a las computadoras a entender el
texto. Se trata de procesar texto por su sentido y no como un archivo
binario.
26. Aplicaciones del Programación del
Lenguaje Natural -PNL
Comprensión del lenguaje
Recuperación de la información
Extracción de la información
Búsqueda de respuestas
Generación de discurso
Traducción automática
Reconstrucción de discurso
Reconocimiento del habla
Síntesis de voz
27. Método para Procesamiento del
lenguaje Natural - PNL
1.
El texto no se procesa directamente sino se transforma en una
representación formal que preserva sus características relevantes para
la tarea o el método específico (por ejemplo, un conjunto de cadenas
de letras, una tabla de base de datos, un conjunto de predicados
lógicos, etc.).
2.
El programa principal manipula esta representación, transformándola
según la tarea, buscando en ella las subestructuras necesarias, etc.
3.
Si es necesario, los cambios hechos a la representación formal (o la
respuesta generada en esta forma) se transforman en el lenguaje
natural.
28. Que hacer con la Programación del Lenguaje Natural
Recuperar (búsqueda) información
Búsqueda de cuerdo con la mayor relevancia, por palabra clave, coincidencia de acuerdo
con la morfológica de las palabras (busca piensa, encuentra piénsalo), coincidencia de
sinónimos (busca cerdo, encuentra puerco, mascota, animal)
En internet o bibliotecas digitales
Tomar en cuenta las relaciones entre las palabras (busca estudio de planes, rechaza planes
de estudio)
Interfaces de Lenguaje Natural
Permiten interactuar entre el hombre y la maquina (ej: TRAINS, desarrollado por la
Universidad de Rochester)
Traducción automática
El texto en el lenguaje fuente se transforma a una representación intermedia
De ser necesario, se hacen algunos cambios a esta representación,
Luego, esta representación intermedia se transforma al texto en el lenguaje final.
29. Arquitectura de un sistema de Recuperación de
información Textual.
Indexación de la colección de documentos
mediante técnicas de PNL, se genera un índice
que contiene las descripciones de los
documentos. Normalmente, cada documento es
descrito mediante el conjunto de términos que,
hipotéticamente, mejor representa su
contenido.
Usuario consulta, sistema analiza y trasforma la
consulta.
Se compara la descripción de cada documento
con lo solicitado en la consulta y se presenta al
usuarios las opciones encontradas
Resultados mostrados en función de la
relevancia.
30. Procesamiento Estadístico del Lenguaje Natural
Es el modelo clásico de los sistemas de recuperación de información, y se
caracteriza porque cada documento está descrito por un conjunto de palabras clave
denominadas términos índice.
Este enfoque se basa en lo que se ha denominado como "bolsa de palabras" (o "bag
of words").
Todas las palabras de un documento se tratan como términos índices para ese
documento. y se asigna un peso a cada término en función de su importancia,
determinada normalmente por su frecuencia de aparición en el documento. De este
modo, no se toma en consideración el orden, la estructura, el significado, etc. de
las palabras.
Etapas de procesamiento del documento
Se eliminan del documento elementos considerados superfluos
Parametrización: Se identifican términos relevantes , se realiza una
cuantificación de los términos del documento
31. Ejemplo: procesamiento documento en
formato XML - Usando PNL
Documento a procesar
Documento procesado
1.
Eliminar elementos del
documento que no son objeto de
indexación (o stripping), en este
caso etiquetas y cabecera XML
32. Ejemplo: procesamiento documento
en formato XML - Usando PNL
Documento a procesar
Documento procesado
1.
Eliminar elementos del
documento que no son objeto de
indexación (o stripping), en este
caso etiquetas XML
33. Ejemplo: procesamiento documento en
formato XML - Usando PNL (continuación)
Normalizado del texto
Quitar mayúsculas del texto y
dejar todo en minúsculas
Control de fechas,
cantidades, abreviaturas y
acrónicos,
Eliminación de espacios vacíos
y signos de puntuación
Identificación de N-Gramas:
subrayados, términos
compuestos, etc.
2. Texto Normalizado
34. Ejemplo: procesamiento documento en
formato XML - Usando PNL (continuación)
Lematización de términos
Determina el lema de cada palabra
del documento: Reducir una
palabra a su raíz, de manera que
las palabras de una consulta se
presenten en su raíz y en lugar de
su palabra original (“informa”
podría ser el lema de
“informaciones” e “informar”
Se utilizan algoritmos de radiación
de (Stemming) para representar de
un mismo modo las distintas
variantes de un termino, reducen
el vocabulario y reducen la
cantidad de datos a almacenar
3. Texto con términos lematizados
35. Ejemplo: procesamiento documento en
formato XML - Usando PNL (continuación)
La parametrización de un documento consiste en asignar un peso a cada
término relevante, el peso de un termino se calcula normalmente en
función de su aparición el documento e indica la importancia de dicho
término.
36. Aprendizaje Automático o de Maquinas
- Machine Learning
Una Rama de la Inteligencia Artificial. Permite la construcción y estudio
de sistemas que pueden aprender desde los datos.
El objetivo es desarrollar técnicas que permitan a las computadoras
aprender o hacer evaluaciones con base en la experiencia, para realizar
una tares determinada cada vez mejor.
Se enfoca en la predicción, basado propiedades conocidas aprendidas
desde los datos de enrenamiento
Tiene una amplia gama de aplicaciones, incluyendo motores de
búsqueda, diagnósticos médicos, detección de fraude en el uso de
tarjetas de crédito, análisis del mercado de valores, clasificación de
secuencias de ADN, reconocimiento del habla y del lenguaje escrito,
juegos y robótica.
37. Aprendizaje Automático
Diferentes definiciones históricas
Aprender es construir o modificar representaciones de aquello
con lo que se está experimentando (McCarthy, 1968)
El aprendizaje denota cambios en el sistema que permiten que
se realice la misma tarea más eficiente y eficazmente la
próxima vez (Simon,1983)
El problema de definir aprendizaje se reduce a definir
conocimiento. Aprendizaje sería el aumento de conocimiento
(Dietterich,1986)
38. Clasificación de los Métodos de
Aprendizaje
Según sea el método usado podemos clasificar los métodos de aprendizaje
en:
Aprendizaje inductivo o Aprendizaje basado en ejemplos (Michalski)
- generalización.
Aprendizaje deductivo o aprendizaje basado en la explicación, EBL
(Mitchell) - demostración de teoremas
Aprendizaje por analogía (Carbonell, Russell)
Aprendizaje abductivo (de los efectos a las causas)
Aprendizaje multiestrategia o combinación de diferentes tipos
deestrategias y/o diferentes tipos de aprendizaje.
39. Aprendizaje Automático - Tipos de Algoritmos
Aprendizaje suavizado
Aprendizaje no suavizado
Prende observando el mundo que lo rodea, Su información de entrada es la retroalimentación que obtiene del
mundo exterior como respuesta a sus acciones. Por lo tanto, el sistema aprende a base de ensayo-error
Transducción
Combina los dos anteriores para producir una función apropiada o clasificador
Aprendizaje por refuerzo
El objetivo es descubrir la estructura en los datos, no generalizar un mapeo entre la entrada y la salida.
Aprendizaje semi-supervisado
El algoritmo intenta generalizar una función que establece una correspondencia entre las entradas y las salidas
deseadas del sistema
Trata de predecir nuevas salidas especificas desde los casos observados, para casos específicos de entrada
Aprendizaje multi-tarea
Similar al aprendizaje supervisado, pero no construye de forma explícita una función
40. Aprendizaje Automático – Genera conocimiento
Se pueden obtener 3 tipos de conocimiento del Aprendizaje
Automático:
Crecimiento:
Es el que se adquiere de lo que nos rodea, el cual
guarda la información en la memoria como si dejara huellas.
Reestructuración
: Al interpretar los conocimientos el individuo
razona y genera nuevo conocimiento al cual se le llama de
reestructuración.
Ajuste:
Es el que se obtiene al generalizar varios conceptos o
generando los propios.
41. ¿Que características debe tener un sistema
para análisis de big data (big data analytics)
Debe permitir todas las fuentes de datos, independientemente de
asuntos como la posible presencia de valores atípicos, desconocidos,
esquemas o falta de estructura, valores perdidos que mantienen las
fuentes de datos convencionales.
Debe adaptarse en sincronía con la rápida evolución de los datos
Apoya las necesidades de análisis de datos que va mas allá de
convencional desgloses a complejos análisis estadísticos y de Machine
Learning.
Debe proporcionar la inteligencia que permita a la sitios web, hacer
recomendaciones, predicciones , etc.
42. Hadoop:un sistema para análisis de big data (big data analytics)
Componentes de Hadoop
Una maquina de ejecución de MapReduce
Un filesystem distribuido (HDFS – Hadoop Disteibutid File System)
Hacer Análisis con Hadoop (Analytics)
Carga de datos como archivos dentro del sistema de archivos distribuido (HDFS) – almacena
datos.
Correr paralelamente cálculos de datos con MapReduce ( coore trabajos MapReduce) –
framework procesamiento
Procesos Hadoop
Copiar los archivos dentro de sistema de archivos distribuidos, esto lo que hay que hacer para
colocar los datos en Hadoop.
La tecnología MapReduce es usada para interpretar datos en tiempo de procesamiento y no en
el momento de la carga.
Los cálculos de MapReduce pueden expresarse directamente en lenguajes de programación de
propósito general como Java y Python, lenguajes específicos de dominio como R o generado
automáticamente desde lenguajes declarativos SQL como HiveQL y Pig Latin.
45. Example: Analytics Workload to be run on
Amazon Elastic MapReduce
La carga de trabajo de una corrida Hadoop puede ser considerada a diferentes niveles.
al más bajo nivel Handoop corren los trabajos MapReduce.
Un trabajo puede ser generado directamente desde un programa escrito en un lenguaje
de programación como Java o Python , o generado desde una consulta en un lenguaje
de alto nivel como HiveQL o Pig Latin, o enviado como parte de un flujo de trabajo de
un trabajo MapReduce a través de sistemas tales como Azkaban, Cascading, Elastic
MapReduce, y Oozie.
La plan de ejecución generado por una consulta de HiveQL o Pig Latin es usualmente
un flujo de trabajo, los flujos de trabajo pueden ser ad-hoc (a pedido), controlados por
tiempo (ej: cada hora) o por los datos.
La figura, es una representación visual de un ejemplo de carga de trabajo que un
analista de datos puede querer correr a pedido o periódicamente usando Elastic
MapReduce.
46. Example: analytics workload to be run on
Amazon Elastic MapReduce (continuación…)
La entrada de datos procesada por esta carga de trabajo residen como archivos en
Amazon S3. Los resultados finales producidos por la carga de trabajo son
también salidas para S3. La entrada de datos consiste en archivos que son
recolectados a través de un website personalizado como my.yahoo.com
La carga del ejemplo (figura 2) consiste de flujos de trabajo que cargan los
archivos desde S3, como tres conjuntos de datos: Usuarios, GeoInfo y clicks.
Los flujos de trabajo de procesar estos conjuntos de datos generan 6 resultados I a
VI de interés al analista. Por ejemplo, el resultado I en la figura 2, es un conteo de
todos los usuarios con edades menores a 20 anos. Para todos los usarios con
edades mayor que 25 anos el conteo II se refiere al numero de usuarios por región
geográfica.
Por cada flujo de trabajo, uno o más trabajos MapReduce son generados para ser
corridos los flujos de trabajo en Amazon Elastic MapReduce o en cluster local
Hadoop. Por ejemplo un join entre Users y GeoInfo es necesario para llegar al
resultado II. Esta operación lógica (join) puede ser procesada usando un solo
trabajo MapReduce.
47. La Ciencia de los Datos (o business Analytics)
Es ciencia encargada de extraer significado a los datos y crear
productos basados en ellos.
Se apoya en una variedad de áreas del conocimiento como la
matemática, estadística, ingeniería de los datos, reconocimiento
de patrones y aprendizaje, computación avanzada, visualización,
modelos de incertidumbre, almacenamiento de datos y
computación de alto rendimiento.
Busca usar todos los datos disponibles y relevantes para contar
con eficacia una historia que puede ser fácilmente entendida por
los no practicantes de esta ciencia.
48. Big Data and Analystics
Analytics (Analítica): es descubrimiento y comunicación de patrones valiosos
en los datos. Especialmente valiosos en información grabada.
La analítica se basa en la aplicación simultanea de las estadísticas, la
programación de computadores y la investigación de operaciones para
cuantificar el rendimiento.
La analítica frecuentemente favorece la visualización de los datos, para
comunicar una visión.
Las empresas, pueden aplicar analítica a los datos del negocio para describir,
predecir y mejorar el rendimiento del empresarial.
Ya que la analítica puede requerir una amplio usos de capacidades de
cómputo, los algoritmos y software utilizados para el análisis deben aprovechar
los métodos más actuales de la informática, la estadística y las matemáticas.
49. Análisis que se pueden hacer con Analítica
Dentro de los ámbitos de análisis se incluyen:
La gestión de decisiones empresariales
Análisis de venta
Surtido del almacén y la optimización de la unidad de mantenimiento de
inventario
Optimización de marketing y análisis de la mezcla de marketing,
Análisis web
Fuerza de ventas dimensionamiento y optimización
Precio y promoción de modelos
La ciencia de la predicción
Análisis de riesgo de créditos
Análisis de fraudes
50. Analítica vs Análisis – Analytics vs Analysis
La analítica es como una moneda con dos caras. Por un lado,
utiliza modelos descriptivos y predictivos para obtener valiosos
conocimientos a partir de datos - Análisis de datos.
Por otro lado, la analítica utiliza este conocimiento para
recomendar acciones o para guiar en la toma de decisiones Comunicación.
Por lo tanto, la analítica no tiene que ver tanto con análisis
individuales o pasos de análisis, sino con toda la metodología.
Hay una tendencia pronunciada a utilizar el termino analítica
en entornos de negocios, por ejemplo, analítica de texto frente
a la más genérica minería de texto, para enfatizar esta
perspectiva más amplia.
51. Ejemplo analítica: Web site Analítica
Con la Analítica: se puede obtener informaciones a nivel de sesión sobre
de las interacciones de un usuario sobre el sitio web.
Las interacciones, proporciona la analítica de la web a los sistemas de
información para es seguimiento de la referencia, búsqueda de palabras
claves, dirección IP, y las actividades del visitante.
Con esta información un vendedor puede mejorar las campañas de
mercadeo, creando un sitio con contenido más creativo.
Las técnicas de análisis mas comúnmente usadas en mercadeo incluyen
un modelo mixto mercadeo, análisis de precios y promociones,
optimización de fuerzas de venta, analítica del cliente ej: segmentación.
La analítica de la Web y la optimización de los sitios web y las campañas
en línea ahora trabajan frecuentemente mano a mano con las técnicas de
análisis del mercado tradicionales.
52. Visualización de los Datos
Es la creación y estudio de una representación visual de los datos
La principal meta de al visualización de los datos es comunicar la
información claramente y efectivamente a través de gráficos.
Para transmitir ideas de manera efectiva, tanto la forma estética y
la funcionalidad necesitan ir de la mano, proporcionando
información en conjunto mediante la comunicación de sus aspectos
claves en una manera mas intuitiva.
Se debe dar un balance entre forma y función para resaltar
propósito principal que es comunicar la información y estimular la
participación del espectador.
53. Técnicas de Visualización de Datos
Hay 4 conceptos que ayudan a generar mejor visualización de datos:
Comprender
los datos que se quiere visualizar, incluyendo su
tamaño y cardinalidad.
Determinar
que se esta tratando de visualizar y que clase de
información se quiere comunicar
Conocer
la audiencia y entender como ellos procesan la información
visual.
Utilice
una visual que transmita la información de la mejor manera
y de la forma más sencilla a la audiencia.
54. Application Big Data - Problema
Dado los altos índices de delincuencia que afectan a la ciudadanía de Bogotá en la
actualidad, los cuales son causantes de intranquilidad e inseguridad y efectos socioeconómicos negativos para la ciudad, se requieren la implementación de medidas por
parte de las fuerzas de seguridad y el gobierno la capital en el sentido de garantizar la
reducción del delito. La reducción de los índices de violencia en la ciudad se debe
enfrentar a través de acciones reactivas, pero también a través de políticas de
prevención y predicción del delito.
Con base en el uso de la tecnología y de técnicas de análisis de datos existentes en
actualidad, es posible crear un modelo que ayude en la predicción del delito y apoye
las fuerzas de seguridad en este objetivo de predecir y reducir el delito y garantizar la
seguridad de los ciudadanos.
Con la disminución de delito producido por la predicción, el siguiente paso es la
optimización de recursos utilizados por las fuerzas de seguridad para hacer un uso más
eficiente de los mismos y ubicarlos de tal forma que ciudanía puede acceder a ellos en
menor tiempo.
55. Objetivos
Diseñar un modelo general predicción de delito que permita simular
focos de inseguridad y mejore la calidad de vida de los ciudadanos.
Apoyarse en herramientas para el Procesamiento de Lenguaje Natural
– PNL, Inteligencia Artificial, estadística, predicción, Machine
Learning, visualización para predecir y mostrar focos de inseguridad
en Bogotá
Identificar los parámetros y variables que pueden influir
directamente en la reducción del delito en Bogotá.
Presentar el modelo mediante un prototipo que demuestre la
funcionalidad utilizada para hallar el objetivo principal propuesto.
56. Antecedentes del Problema
Desde el año 1998 la Cámara de Comercio de Bogotá viene realizando un
estudio semestral sobre el comportamiento la seguridad en la ciudad de
Bogotá llamado “Encuesta de percepción y Victimización” que analiza y los
distintos aspectos que afectan la seguridad ciudadana.
Se
analizan los siguientes indicadores:
Victimización
Denuncia
Percepción
de seguridad
Conocimiento
y calificación de las líneas de trabajo de la
Administración
Calificación
de los servicios de la policía
57. Antecedentes del Problema (continuación)
La encuesta señala en el muestreo del primer semestre de 2013, 38% de
los encuestados señala que el o alguno de los miembros de su familia han
sido víctimas de un delito.
58. Antecedentes del Problema (continuación..)
EL indicador de victimización desde el año 1998 al 2013 muestra una
media del 34%.
La localidad de la ciudad que presenta un mayor índice victimización es
la candelaria con el 24% y la menor es la localidad de Barrios unidos con
el 8%.
60. Percepción Inseguridad por localidades de Bogotá
El indicador que se ha tenido más en cuenta para propuesta de este proyecto de
Big Data o es la percepción de seguridad, que evalúa los factores relacionados a la
sensación de seguridad o inseguridad de los ciudadanos.
Este indicador muestra que inseguridad para el primer semestre del 2013 es de
47%, con una media del 52% para el periodo 1998 a 2013. El indicador de
percepción de inseguridad por localidades muestra que las localidades de
Candelaria, Santafé, Antonio Nariño, Chapinero y Rafael Uribe son las más críticas
en seguridad
Según la encuesta la inseguridad es alta, debido a mayor presencia de grupos
delincuenciales, como pandillas, habitantes de la calle, y a condiciones socio
económicas como desempleo, bajos salarios y mala calidad de la educación. La
inseguridad ha aumentado en el transporte público 46%, en la calles 34%, le siguen
potreros y puentes peatonales
62. Fuentes de Información
Big Data permite actuar en escenarios de alta complejidad como es el de
la seguridad en la ciudad de Bogotá donde el análisis de fuentes e
información como las llamadas al sistema de emergencia 123
(aproximadamente 42.000 llamadas diarias), cámaras públicas, privadas,
en el medio de transporte de Tansmilenio, y la información recolectada
por entidades gubernamentales como la secretaria de gobierno, policía,
alcaldías locales, así como la información compartida entre diferentes
agencias del estado y redes sociales, como Facebook y twitter, que
permiten monitorear comportamientos sospechosos. Toda esta información
genera grandes cantidades de datos que hacen casi imposible de procesar
a través de la arquitectura de datos tradicional de bases de datos
relacionales.
63. Modelo Características
Para resolver el problema se propone el desarrollo de un modelo
basado en Big Data, para la detección de focos de inseguridad en la
ciudad de Bogotá, que permita encontrar patrones para la
predicción de delitos en las diferentes localidades de la ciudad, así
como el uso más eficiente de los recursos localizándolos de tal
manera que se pueda prevenir el delito y se reduzcan los tiempos de
asistencia a los usuarios. Esto a través del análisis de la información
producida especialmente por las llamadas generadas al sistema de
Emergencia de Bogotá y de cámaras públicas que monitorean algunos
sitios de la ciudad.
64. Implementación Problema
La data a analizar proveniente del sistema del sistema de
emergencia se debe normalizar ya que data a analizar
corresponde a archivos de voz los cuales hay que convertir a
documentos de texto para después aplicar técnicas de PNL, que
nos permitirá extractar data para determinar patrones o
tendencias a través de análisis estadístico y analítica (analytics).
El modelo a diseñar nos debe permitir elaboración de escenarios
para pronosticar o predecir focos de inseguridad y con base en
esto aplicar políticas que nos permita reducir los índices de
violencia en Bogotá.
66. Problema
La mesa de ayuda de una reconocida Entidad genera mas de 250 tickets
diarios que en primera instancia sirven de soporte a la gestión de
incidencias. La trazabilidad de cada Ticket es reportada a la Entidad
mediante correo electrónico generado automáticamente por la
herramienta de Soporte, sin embargo, para su análisis se requiere de su
lectura, análisis manual y definición de eventos a considerar
Sin embargo, la data contenida en ellos pudiera ser mejor analizada a
fin de determinar patrones de conducta de la Plataforma tecnológica
asociada, o la determinación que un evento masivo se pudiera estar
presentando y la oportunidad de la información no pudiera ser
explotable por carecer de dicho análisis.
Es por esto que a manera de ejemplo se presenta este caso de estudio
utilizando herramientas de la BigData para su solución.
68. Extracción
Usando opciones de Outlook, se exportó un archivo tipo CSV (del inglés
Comma-Separated Values) con la totalidad de los correos electrónicos
provenientes de la gestión de mesa de ayuda.
69. Transformación
Utilizando el lenguaje de programación Python v 3.3,
se realizó un sencillo programa que pudiera leer el
archivo CSV extractado de Outlook y transformado
para en análisis de los datos.
Para ello fue necesario investigar acerca del uso de la
librería CSV que permitiera transformar la data
extraída de Outlook y sin manipulación manual
70. El código completo
# -*- coding: utf-8 -*-
rownum = 0
import csv
for row in reader:
import sys
texto_file = sys.argv[1]
# -*- texto_file = 'Correos_Soporte.TXT' -*-
term_frequency = {}
if rownum == 0:
frequency = term_frequency[term] /
occurrences_of_all_terms_in_all_textos
print ("<term:%s> <frequency:%f>" %
(term.encode('ascii', 'ignore'), frequency))
header = row
# -*-
print (header)
else:
colnum = 0
for col in row:
def add_frequency_terms(t):
# -*-
print (t)
add_frequency_terms(col)
terms = t.split(" ")
for term in terms:
# -*print ("<Campo:%8s> :
<Valor:l%s" % (header[colnum], col))
try:
term_frequency[term] += 1
except:
term_frequency[term] = 1
colnum += 1
rownum += 1
f = open(texto_file)
reader = csv.reader(f)
load_texts()
eval_frequencys()
def load_texts():
def main():
if __name__ == '__main__':
def eval_frequencys():
for term in term_frequency.keys():
occurrences_of_all_terms_in_all_textos = 0
for term in term_frequency.keys():
occurrences_of_all_terms_in_all_textos +=
term_frequency[term]
main()
72. Análisis
De este sencillo ejercicio se pudieron determinar algunos
patrones de comportamiento que permitieron revelar que:
Se presentan múltiples caídas en al Conectividad de sitios
como: MAICAO, GUANIA, CAQUETA, GUAVAIRE
Se presentan reinicios frecuentes de máquinas por fallas
en el fluido eléctrico en las sedes
Algunas aplicaciones presentan un mayor número de
incidentes a los esperados
Algunos sitios y usuarios particulares reportan incidentes
mas a menudo
73. Conclusiones de caso práctivo
Es importante conocer la data a manipular para poder
realizar buenos pronósticos
Analizar data no estructurada resulta mas complejo que
analizar data estructurada y por ende se demanda mayor
esfuerzo humano y de máquina
Fue posible demostrar con un sencillo ejemplo la
aplicabilidad de la ciencia de los datos en el entorno de la
Big Data
El éxito de las web startup en la década pasada son los primero ejemplos de debig data usada como un habilitador de nuevos productos y servicios. Y proporciona agilidad a las empresas.
En el pasado, el excesivo volumen de datos fue un problema de almacenamiento, debido a lo costoso de estos dispositivos de almacenamiento. Esto dejo de ser un problema debido a loscostos de los sistemas de almacenamiento, otros problemas surgieron, como la determinación de la relevancia de datos, con volúmenes de datos tan grandes y como analizarlos para crear valor a partir de datos relevantes. En el año 2020 la cantidad de datos almacenados será de 35 Zettabytes en el año 2000 era de 800.000 petabytes, facebook almacena 10TB diarios y twitter 7 TB.
Datos en Twitter son formateados en formato JSON., pero el texto no es estructurado.