Title: Introducción a series temporales en analítica de datos
Author: Marcos Sobrino, Data Analyst en Keepler Data Tech; Axel Blanco, Cloud Engineer & Data Analyst en Keepler Data Tech.
2. HELLO!WHAT?
HOW?
WHERE?
TRANSFORMACIÓN AGILE
METODOLOGÍA / FRAMEWORK DEVOPS
ENFOQUE DATA PRODUCT
EXCELENCIA TÉCNICA
Cloud Computing
Big Data
Artificial Intelligence
Marcos Sobrino
Data Analyst
marcos.sobrino@keepler.io
Axel Blanco
Data and cloud engineer
axel.blanco@keepler.io / @drimmark
6. ¿QUÉ ES UNA SERIE TEMPORAL?
Sucesión de observaciones (datos o valores) de una
variable tomadas en diferentes instantes temporales y
ordenadas en base a los mismos
7. DEFINICIÓN
Observación = T + E + Ca
Tendencia (T): refleja la evolución o el comportamiento de las observaciones a largo plazo. No es
necesariamente lineal y puede ser creciente o decreciente. En ocasiones incluye variaciones cíclicas
(componente que recoge oscilaciones irregulares periódicas de más de un año de duración).
Estacionalidad (E): movimiento de oscilación a corto plazo (las estaciones, los meses). Siempre es un
periodo de repetición conocido y fijo (no como los ciclos).
Componente aleatoria(Ca
): Componentes con carácter aleatorio en torno a las dos anteriores: aleatoria
(o residuo, suele ser ruido debido a fenómenos ocasionales externos) o transiente (producto de
fenómenos aislados que no impactan en la tendencia).
10. CARACTERÍSTICAS PRINCIPALES: PERIODICIDAD
PERIODICIDAD
Una característica fundamental de los datos de series temporales es la frecuencia con la que las observaciones están espaciadas en el tiempo. La periodicidad
puede quedar definida a nivel minuto, hora, día, trimestre, mes, año...
Fuente: Renta4banco
MINUTO
DIA
MES
Fuente: AEMET
Fuente: tinsa
11. CARACTERÍSTICAS PRINCIPALES: ESTACIONARIEDAD
ESTACIONARIEDAD
Desde un punto de vista matemático, un proceso estacionario (o proceso estrictamente estacionario) es un proceso estocástico cuya distribución de
probabilidad en un instante de tiempo fijo o una posición fija es la misma para todos los instantes de tiempo o posiciones
Fuente: https://people.duke.edu/
SERIE TEMPORAL ESTACIONARIA SERIE TEMPORAL NO ESTACIONARIA
Una serie es estacionaria si la media y la variabilidad se mantienen
constantes a lo largo del tiempo. Esto se refleja gráficamente en que
los valores de la serie tienden a oscilar alrededor de una media
constante y la variabilidad con respecto a esa media también
permanece constante en el tiempo
Con series estacionarias podemos obtener predicciones fácilmente.
Como la media es constante, podemos estimarla con todos los datos,
y utilizar este valor para predecir una nueva observación.
Una serie es no estacionaria si la media y/o la variabilidad cambian a
lo largo del tiempo
● Pueden mostrar cambios de varianza.
● Pueden mostrar una tendencia, es decir que la media crece o
baja a lo largo del tiempo.
● Pueden presentar efectos estacionales, es decir que el
comportamiento de la serie es parecido en ciertos tiempos
periódicos en el tiempo.
12. CARACTERÍSTICAS PRINCIPALES: TENDENCIA Y ESTACIONALIDAD
TENDENCIA
CON TENDENCIA
Las series temporales pueden mostrar tendencia o no. La tendencia es un comportamiento a largo plazo.
SIN TENDENCIA
ESTACIONALIDAD
La estacionalidad de una serie temporal es la variación periódica y predecible de la misma con un periodo inferior o igual a un año.
13. CARACTERÍSTICAS PRINCIPALES: COMP. CÍCLICO Y VARIABILIDAD
COMPONENTE CÍCLICO
Componente de la serie que recoge las oscilaciones periódicas de amplitud superior a un año. Sus movimientos normalmente irregulares alrededor de la
tendencia, en las que a diferencia de las variaciones estacionales, tiene un período y amplitud variables
VARIABILIDAD (volatilidad)
Fuente:INE
SERIE HOMOCEDÁSTICA
La variabilidad se refiere al “grosor” de la serie; una serie puede tener varianza constante aunque sea muy “gruesa”
La variabilidad (volatilidad) es
constante a lo largo del tiempo
SERIE HETEROCEDÁSTICA
La volatilidad varía a lo
largo del tiempo
15. CASOS DE USO
ANÁLISIS DESCRIPTIVO
ANÁLISIS PREDICTIVO (FORECASTING)
DETECCIÓN DE ANOMALÍAS
16. CASOS DE USO: ANÁLISIS EXPLORATORIO Y DESCRIPTIVO I
Análisis evolutivo del histórico diario de ventas
Análisis evolutivo del histórico diario de ventas por categoría
17. CASOS DE USO: ANÁLISIS EXPLORATORIO Y DESCRIPTIVO II
Análisis evolutivo del histórico mensual de ventas
Análisis evolutivo del histórico mensual de ventas por categoría
Análisis evolutivo del histórico trimestral de ventas por categoría
18. CASOS DE USO: ANÁLISIS EXPLORATORIO Y DESCRIPTIVO III
Análisis evolutivo del histórico diario de ventas: días laborables vs fines de semana
Análisis evolutivo del histórico diario de ventas: unidades vendidas vs facturación
19. CASOS DE USO: FORECASTING
CASO DE USO
Tenemos una serie temporal cuyos valores a futuro queremos conocer
¿CÓMO LO HACEMOS?
Aplicamos técnicas que predicen el siguiente valor de la serie en base a las características vistas anteriormente
https://www.etoro.com/es/markets/btc/stats
20. CASOS DE USO: RELLENO DE HISTÓRICO
CASO DE USO
Tenemos una serie temporal con escalones o huecos.
¿CÓMO LO HACEMOS?
Rellenar los huecos por medio de predicciones
21. CASOS DE USO: DETECCIÓN DE ANOMALÍAS
CASO DE USO
Buscamos encontrar patrones en los datos que se salgan de lo esperado
¿CÓMO LO HACEMOS?
● Intentamos predecir el comportamiento de la serie y comparamos
Generamos dos problemas: detección de anomalías y forecasting
ó
● Utilizamos técnicas que generan umbrales de confianza sobre la serie
Media móvil y desviación típica, umbrales fijos
ó
● Modelos de ML
PCA (Principal Component Analysis), RPCA (Robust Principal Component Analysis),
Isolation forest, KNN
22. CASOS DE USO: DETECCIÓN DE ANOMALÍAS
https://github.com/yzhao062/pyod
25. SIN TENDENCIA, SIN ESTACIONALIDAD
SIN TENDENCIA, ESTACIONALIDAD CONSTANTE
SIN TENDENCIA, ESTACIONALIDAD INCREMENTAL
TENDENCIA LINEAL, SIN ESTACIONALIDAD
TENDENCIA LINEAL, ESTACIONALIDAD CONSTANTE
TENDENCIA LINEAL, ESTACIONALIDAD INCREMENTAL
TENDENCIA EXPONENCIAL, SIN ESTACIONALIDAD
TENDENCIA EXPONENCIAL, ESTACIONALIDAD CONSTANTE
TENDENCIA EXPONENCIAL, ESTACIONALIDAD INCREMENTAL
TÉCNICAS HABITUALES: ETS | CARACTERIZACIÓN SERIE
ANALIZAMOS TRES VARIABLES PARA CARACTERIZAR UNA SERIE Y APLICAR UN MODELO DE
FORECASTING
● ERROR
● TENDENCIA
● ESTACIONALIDAD
TENIENDO EN CUENTA SI TIENEN UN COMPORTAMIENTO
● ADITIVO: la variación de la tendencia/estacionalidad son relativamente constantes a lo largo
del tiempo
● MULTIPLICATIVO: la variación de la tendencia/estacionalidad de la serie aumentan o
disminuyen a lo largo del tiempo
● CONSTANTE Descomposición de la serie. Fuente: anomaly.io
9 ESCENARIOS PRINCIPALES
SUAVIZAMIENTO EXPONENCIAL: TENDENCIA Y ESTACIONALIDAD
26. TÉCNICAS HABITUALES: ETS | MODELOS SUAVIZAMIENTO EXPONENCIAL
Si la serie no tiene tendencia ni estacionalidad
SIMPLE EXPONENTIAL SMOOTHING (SES)
Iteramos sobre alpha
para reducir el error error
Fuente: otext.com
Si la serie tiene tendencia lineal sin estacionalidad
HOLT LINEAR TREND
Si la serie tiene tendencia exponencial sin estacionalidad
EXPONENTIAL TREND METHOD
Si la serie tiene tendencia lineal con estacionalidad constante o incremental
HOLT-WINTERS SEASONAL
27. TÉCNICAS HABITUALES: ETS | ERROR, TREND AND SEASONALITY
Considerando el error, que puede ser aditivo (A) o multiplicativo (M), y aplicando los métodos de suavizado
exponencial, realizamos forecasting con modelos ETS.
Serie Temporal turistas Australia ETS(M,A,M)
● ERROR: Multiplicativo (M)
● TENDENCIA: Tendencia lineal/aditiva (A)
● ESTACIONALIDAD: Multiplicativa (M)
El modelo a utilizar sería
HOLT-WINTERS SEASONAL
28. TÉCNICAS HABITUALES: ARIMA | CONCEPTOS
Los modelos de suavizado exponencial (ETS) se basan en una descripción de la tendencia y la estacionalidad
en los datos
Los modelos ARIMA (Auto Regressive Integrated Moving Average) tienen como objetivo describir las
autocorrelaciones en los datos
ARIMA(p,d,q)(P, D, Q)m
(p,d,q)
(P, D, Q)m
Componente estacional del modelo
Componente no estacional del modelo
Autorregresivo. P es el número de órdenes autorregresivos del modelo. Los
órdenes autorregresivos especifican los valores previos de la serie utilizados para
predecir los valores actuales. Por ejemplo, un orden autorregresivo igual a 2
especifica que se van a utilizar los valores de la serie correspondientes a dos
períodos de tiempo del pasado para predecir el valor actual.
Diferenciación. En un modelo ARIMA transformamos una serie temporal en
una estacionaria (serie sin tendencia o estacionalidad) utilizando la
diferenciación (Diferencia entre el tiempo actual y el anterior). D se refiere
al número de transformaciones de diferenciación requeridas por las series
de tiempo para volverse estacionarias (media y varianza constantes en el
tiempo)
Media móvil. Es el número de órdenes de media móvil presentes en el modelo
(asociado a errores). Por ejemplo, los órdenes de media móvil de 1 y 2 especifican
que las desviaciones del valor medio de la serie de cada uno de los dos últimos
períodos de tiempo se tienen en cuenta al predecir los valores actuales de la serie
Número de periodos en cada estación
P
D
Q
m
29. TÉCNICAS HABITUALES: ARIMA | STEP BY STEP
1 - Verificar la estacionariedad
Si una serie de temporal tiene un componente de tendencia o estacionalidad, debe hacerse estacionaria antes de que podamos usar ARIMA para pronosticar
Serie Temporal Comercio Minorista Europeo (trimestral)
● TENDENCIA: Tendencia lineal/aditiva
● ESTACIONALIDAD: Cierto grado de estacionalidad
Media y varianza no son constantes: SERIE NO ESTACIONARIA
2 - Estacionar mediante diferenciación (D)
Si la serie temporal no es estacionaria, debe estacionarse mediante diferenciación. Tomamos la primera diferencia y verificamos la estacionariedad. Tomar tantas
diferencias como sea necesario.
Diferenciación
estacional
Doble diferenciación
estacional
D = 2
30. TÉCNICAS HABITUALES: ARIMA | STEP BY STEP
3 - Seleccionar los términos AR (p) y MA (q)
A través del ACF y PACF
Núm. términos Autorregresivo (p)AR
MA Núm. términos Media Móvil (q)
ACF es una función de autocorrelación (completa) que nos
proporciona valores de autocorrelación de cualquier serie con sus
valores anteriores (lag)
ACF
PACF PACF es una función de autocorrelación parcial. Encuentra la
correlación de los valores residuales con el anterior valor de lag.
Uso AR (No estacional)
● Los plots de ACF muestran que la autocorrelación tiende hacia cero
● El PACF tiende rápidamente hacia cero
● ACF de una serie estacionaria muestra positivo en el lag 1
Uso MA (No estacional)
● Autocorrelacionado negativo en lag 1
● ACF que cae bruscamente después de algunos Lags
● PACF disminuye más gradualmente
AR 0, MA 1 AR 1, MA 0
31. TÉCNICAS HABITUALES: ARIMA | STEP BY STEP
4 - Construir el modelo y validarlo (no estacional)
Una vez obtenidos los valores p, d y q construimos nuestro modelo
ARIMA(p,d,q)
ARIMA(3,1,1)
4 bis - Arima con componente estacional
Si nuestra serie tiene estacionalidad, añadiremos en el modelo el componente de estacionalidad. El proceso es parecido al base tanto para AR como MA (aunque con
criterios diferentes), siendo la base para el cálculo de los lag y diferenciación el número de periodos que contiene un ciclo. Si los ciclos son anuales y mis observaciones
mensuales, nuestros cálculos se basarán en 12 observaciones anteriores.
ARIMA(p,d,q)(P, D, Q)m
ARIMA(0,1,3)(0, 1, 1)[4]
32. TÉCNICAS HABITUALES: REDES DE NEURONAS
CONCEPTOS BÁSICOS (fully connected)
Entrada: matriz con los patrones de entrada. Deben ser
numéricos.
Capa: Conjunto de neuronas conectadas entre sí.
Pesos: matriz de pesos que multiplican a las entradas o
activaciones. Estos pesos se actualizan durante el
backpropagation.
Función de activación: Función que determina la salida de
cada neurona. Su entrada es la combinación lineal de salidas
de la capa anterior y los pesos.
Típicamente: sigmoid, tanh, ReLU, softplus
a0
= ƒ(x0
·w00
+ x1
·w10
+ … + xi
·wi0
+ b)
A = ƒ(X · W1
+ b1
) Y = ƒ(A · Wo
+ bo
)
33. TÉCNICAS HABITUALES: REDES DE NEURONAS
CONCEPTOS BÁSICOS (long short-term memory)
Recurrencia: la salida de la red retroalimenta a la misma en
el siguiente instante temporal
Célula: equivalente a neurona en LSTMs. Son entidades más
complejas que las neuronas
Memoria (o contexto): Salida de una célula que alimenta a la
misma en el siguiente instante temporal. No confundir con la
salida. http://colah.github.io/posts/2015-08-Understanding-LSTMs/
34. TÉCNICAS HABITUALES: REDES DE NEURONAS
CONCEPTOS AVANZADOS (long short-term memory)
Forget gate: decide que información del contexto “olvidar”
ƒ = 𝝈(Wƒ
· [ht-1
, x] + bƒ
)
Input gate: genera el nuevo contexto en base al contexto anterior y la
entrada
i = 𝝈(Wi
· [ht-1
, x] + bi
)
c’ = tanh(Wc
· [ht-1
, x] + bc
)
c = ƒ · c + i · c’
Output gate: genera la salida de la red en base al nuevo contexto y la
entrada
o = 𝝈(Wo
· [ht-1
, x] + bo
)
h = o · tanh(c) http://colah.github.io/posts/2015-08-Understanding-LSTMs/
36. CASOS DE USO
EDA Y ANÁLISIS DESCRIPTIVO
ANÁLISIS PREDICTIVO CON ARIMA
ANÁLISIS PREDICTIVO CON NN
https://github.com/KeeplerIO/temporal-series-hands-on-2019
37. www.keepler.io
THANKS!
keepler.io/#empleo
people@keepler.io
The information contained in this document is property of KEEPLER DATA TECH and intended only for
the person or entity to which it is sent. It may contain confidential and / or privileged material, the use
of this information or any disclosure, copying or distribution is prohibited and may be unlawful. If you
received this in error, please contact the sender and delete all copies.