Espetando Series Temporales desde Zacaba
Antonio Vilches
Disfruto en mi día a día desarrollando sistemas distribuido y optimizando códigos para el análisis de time-series. Actualmente trabajo en Shapelets (www.shapalets.io) donde estamos desarrollando una plataforma big-data para almacenar y computar análisis sobre series temporales.
No video of the event yet, sorry!
Durante las últimas décadas del siglo XX, tanto en la industria como en la academia se han llevado a cabo numerosas aportaciones y desarrollos relacionados con el análisis de series temporales (Time series). Sin embargo, no es hasta estos últimos años en los que la industria se ha lanzado al análisis y cómputo masivo de este tipo de datos. El auge del Internet de la Cosas y la necesidad de analizar y monitorizar datos en los que el tiempo no es una simple métrica más, sino el eje principal sobre el que versan otras variables es lo que ha puesto el foco de atención en el análisis de series temporales. Esta creciente demanda de cómputo debe ser acompasada por las últimas generaciones de procesadores, (multicore y GPUs), así como en el desarrollo de tecnologías de Big Data y de computación distribuida, las cuales proporcionan los medios para tratar estos grandes volúmenes de datos en tiempo real suave.
A pesar de la existencia de librerías que tratan time series, observamos principalmente dos limitaciones: 1) La funcionalidad que ofrecen estas librerías se encuentra muy fragmentada en librerías inconexas y 2) la mayoría de estas librerías son secuenciales, es decir, no explotan las ventajas de las nuevas arquitecturas de procesador, por lo que no son capaces de aprovechar los recursos que ofrecen los procesadores paralelos como GPUs o CPUs multicores.
Para superar las dos limitaciones anteriores, presentamos Khiva (https://github.com/shapelets/khiva), una librería open source que permite la ejecución de una larga lista de algoritmos de análisis de series temporales sobre GPUs. Khiva incorpora algoritmos de reducción de dimensionalidad, cálculo de distancias, normalización, regresión, regularización, extracción de características, clustering y búsqueda de patrones, etc. Para la implementación de todos los algoritmos hemos usado la librería Arrayfire como capa de abstracción de las principales APIs de GPUs para cómputo, OpenCL y Nvidia CUDA. De esta forma, somos capaces de asegurar que la librería Khiva se puede ejecutar en cualquier plataforma independientemente de la GPU que se encuentre disponible. Además de la aceleración del tiempo de ejecución, otra de las principales ventajas que proporciona Khiva, es que la mayoría de los algoritmos mencionados son concatenables. Debido a que implementamos una estrategia lazy para las transferencias de memoria entre CPU y GPU, así solo se transfieren datos entre CPU y GPU si es estrictamente necesario, por lo que evitamos todas aquellas transferencias que son innecesarias.
En esta charla, nos centraremos en el análisis y búsqueda de patrones de series temporales, analizaremos en profundidad los algoritmos más avanzados y observaremos como estos algoritmos nos pueden servir para encontrar motifs, discords y anomalías. Para mostrar la potencia de análisis de Khiva se usarán varios casos de uso (https://github.com/shapelets/khiva-use-cases) y validaremos como podemos extraer nuevas conclusiones de este tipo de datos.
- Date:
- 2019 May 25 - 16:30
- Duration:
- 45 min
- Room:
- Sala 1 - Flightgear
- Conference:
- Opensouthcode 2019
- Language:
- Spanish; Castilian
- Track:
- Difficulty:
- NLTK, Scikit and Damegender (a gender detection tool)
- Start Time:
- 2019 May 25 15:30
- Room:
- Aula 1 - Minetest
- Drupal & GatsbyJS
- Start Time:
- 2019 May 25 15:30
- Room:
- Aula 2 -Wesnoth
- Trackula
- Start Time:
- 2019 May 25 16:30
- Room:
- Sala 3 - Freeciv
- Gestionando aplicaciones con operadores
- Start Time:
- 2019 May 25 16:30
- Room:
- Sala 2 - 0 A.D.