Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abril, 2023
Agradezco a mi amigo el Dr.
Fernando Romero la invitación para
estar aquí con ustedes.
Contenido del taller
1. Introducción a las series de tiempo
1. Enfoque clásico
2. Descomposición con lst
3. Pronóstico con el filtro de Holt-Winters
2. Series de tiempo estacionarias
1. Procesos estocásticos
2. Estacionariedad
3. Análisis exploratorio de series de tiempo
3. Modelos para series de tiempo
1. Modelos AR
2. Modelos MA
3. Modelos ARMA
4. Modelos ARIMA
5. Modelos SARIMA
4. Pronóstico para series de tiempo
1. Introducción a las Series de
Tiempo
¿Qué es una series de tiempo?
• Una serie de tiempo (discreta) es un objeto que resulta de observar una
variable 𝑌 en 𝑛 puntos del tiempo 𝑡1 , 𝑡2 , … , 𝑡𝑛 .
• Si los puntos del tiempo en los que se observa a la variable están
espaciados igualmente, por ejemplo observaciones diarias, la serie de
tiempo se denotará por 𝑌1 , 𝑌2 , … , 𝑌𝑛 o 𝑌𝑡 .
• Por ejemplo, la siguiente gráfica muestra la producción total mensual en
México de energía hidroeléctrica en GW h. (giga watts/hora), a partir de
enero del 2000 a mayo del 2017. Los datos están en el archivo
hidro.txt.
Producción bruta mensual de energía hidroeléctrica en México de
enero 2000 a mayo 2017.
Fuente:
http://egob2.energia.gob.mx/portal/electricidad.html
hidro <-
read.table("hidro.txt",he
ader=T)
hidroGWh <- ts(hidro$GWh,
start=c(2000, 1),
end=c(2017,5),
frequency=12)
plot(hidroGWh,
xlab="mes",ylab="GW.
h",col="red")
Objetivo del análisis de series de
tiempo
𝑌𝑡 = 𝑓 𝑇𝑡 , 𝑆𝑡 , 𝑍𝑡 , 𝑡 = 1, … , 𝑛,
donde
• 𝑌𝑡 es la variable en el tiempo 𝑡, la cual se considera variable aleatoria.
• 𝑓 es una función que puede ser conocida o desconocida.
• 𝑇𝑡 se llama tendencia-ciclo y se entiende como los movimientos determinísticos a
largo plazo que hace la serie de tiempo, los cuales pueden incluir ciclos.
• 𝑆𝑡 se llama variación estacional, la cual consiste de fluctuaciones aleatorias de la
serie de tiempo en períodos de tiempo conocidos, por ejemplo períodos
cuatrimestrales.
• 𝑍𝑡 son variables aleatorias con media cero que pueden estar correlacionadas entre
ellas. Se llama error a este componente.
Dos formas del modelo anterior
• Modelo aditivo:
𝑌𝑡 = 𝑇𝑡 + 𝑆𝑡 + 𝑍𝑡
• Modelo multiplicativo:
𝑌𝑡 = 𝑇𝑡 × 𝑆𝑡 × 𝑍𝑡
Análisis automático con stl
• Existen muchos métodos estadísticos para extraer estos
componentes de una serie de tiempo.
• La función stl de R realiza esta extracción de estos componentes
bajo el modelo aditivo con un método (avanzado) que se llama loess.
• Este método fue propuesto por Cleveland et al. (1990).
• Los comandos
𝑌𝑡 = 𝜇 + 𝑍𝑡 , 𝑡 = 1, … , 𝑛,
• Su tendencia es constante
• No presenta variación estacional
• No presenta homocedasticidad
Dicho de otra forma:
• Dada una serie de tiempo, consideraremos que fue generada por algún proceso estocástico
discreto. Es decir, consideraremos que la serie de tiempo es una observación de algún proceso
estocástico 𝑌𝑡 : 𝑡 = 0,1,2, … . La serie de tiempo observada es una muestra de tamaño 1
proveniente del proceso estocástico.
• Nos enfocaremos en las series de tiempo que tienen los puntos del tiempo espaciados
igualmente. A estas series de tiempo las denotaremos con la notación 𝑦1 , 𝑦2 , … , 𝑦𝑇 o bien con la
notación abreviada 𝑦𝑡 .
¿Es estacionaria la producción bruta mensual de energía hidroeléctrica en México de
enero 2000 a mayo 2017?
Descomposición aditiva con lts de la producción bruta mensual de
energía hidroeléctrica en México de enero 2000 a mayo 2017
Interpretación
Respuesta
Media y varianza de una serie de tiempo estacionaria
• La media de la serie
1 𝑛
𝑌ത = 𝑌𝑡
𝑛 𝑡=1
• La varianza de la serie
1 𝑛
𝑆2 = ത 2
(𝑌𝑡 − 𝑌)
𝑛 − 1 𝑡=1
Autocorrelaciones de una serie de tiempo estacionaria
1 𝑛
𝐶𝑑 = ത 𝑡−𝑠 − 𝑌)
(𝑌𝑡 − 𝑌)(𝑌 ത
𝑛 𝑡=𝑑+1
ത 𝑡−𝑠 − 𝑌)
σ𝑛𝑡=𝑑+1(𝑌𝑡 − 𝑌)(𝑌 ത
𝑟𝑑 =
ത 2
σ𝑛𝑡=1(𝑌𝑡 − 𝑌)
Función de autocorrelación
El conjunto de autocorrelaciones {𝑟0 , 𝑟1 , 𝑟2 , … } se llama función de
autocorrelación muestral (facm). Notemos que:
𝑆 2 = 𝐶0 ,
𝑟0 = 1
𝐶𝑑
𝑟𝑑 = , 𝑑 = 0,1,2, …
𝐶0
Observación en 𝑡 − 1 Observación en 𝑡
𝑌1 𝑌2
𝑌2 𝑌3
𝑌3 𝑌4
𝑌4 𝑌5
⋮ ⋮
𝑌𝑛−1 𝑌𝑛
Autocorrelación de orden 2
• Tabla 1. La autocorrelación de orden 𝑑 = 2, 𝑟2 , es el coeficiente de
correlación entre las siguientes dos columnas.
Observación en 𝑡 − 2 Observación en 𝑡
𝑌1 𝑌3
𝑌2 𝑌4
𝑌3 𝑌5
𝑌4 𝑌6
⋮ ⋮
𝑌𝑛−2 𝑌𝑛
Autocorrelaciones parciales
La autocorrelación parcial de orden 𝑑 es la correlación entre las
observaciones separadas por 𝑑 períodos dada toda la información
entre estas observaciones.
# Generamos una onda senoidal
x <- seq(1,60,1)
Serie senoidal y <- sin(x)
par(mfrow=c(1,1))
plot(y,type="b",col="blue")
# Calculamos la fac y la facp
FAC y FACP de la onda par(mfrow=c(1,2))
senoidal acf(y,lag.max=30)
pacf(y,lag.max=30)
FAC vs FACP
1, 𝑡=0
𝜌𝑡 = ቊ
0, 𝑡≠0
𝑌𝑡 = 𝑌𝑡−1 + 𝑍𝑡
𝑌𝑡 = 𝑍1 + 𝑍2 + ⋯ + 𝑍𝑡−1 + 𝑍𝑡 .
Entonces
E 𝑌𝑡 = E 𝑍1 + 𝑍2 + ⋯ + 𝑍𝑡 = E 𝑍1 ) + E(𝑍2 ) + ⋯ + E(𝑍𝑡 = 0
𝑌𝑡 = 𝑍1 + 𝑍2 + ⋯ + 𝑍𝑡−1 + 𝑍𝑡 ,
entonces
𝑡 𝑡+𝑑
𝛾𝑑 𝑡 = Cov 𝑌𝑡 , 𝑌𝑡+𝑑 = Cov 𝑍𝑖 , 𝑍𝑗
𝑖=1 𝑗=1
𝑡 𝑡+𝑑 𝑡
= Cov 𝑍𝑖 , 𝑍𝑗 = Var 𝑍𝑖 = 𝑡𝜎 2
𝑖=1 𝑗=1 𝑖=1
Nota:
𝑛 𝑚 𝑛 𝑚
Cov 𝑋𝑖 , 𝑌𝑗 = Cov(𝑋𝑖 , 𝑌𝑗 )
𝑖=1 𝑗=1 𝑖=1 𝑗=1
Función de autocorrelación del ruido blanco
Cov 𝑌𝑡 , 𝑌𝑡+𝑑 𝑡𝜎 2 1
𝜌𝑑 𝑡 = = =
Var 𝑌𝑡 Var 𝑌𝑡+𝑑 𝑡𝜎 2 (𝑡 + 𝑑)𝜎 2 1 + 𝑑/𝑡
Propiedades de la caminata aleatoria
• Tiene media 0.
• La varianza se incrementa linealmente sin límite conforme 𝑡 aumenta.
Por lo tanto, la caminata aleatoria no es estacionaria.
• La función de autocovarianza depende del tiempo 𝑡, por lo que una
caminata aleatoria no es estacionaria.
• Las autocorrelaciones son positivas.
• Para valores grandes de 𝑡 y valores relativamente pequeños de 𝑑,
𝑑/𝑡 ≈ 0, por lo que 𝜌𝑑 (𝑡) ≈ 1. Así que la función de autocorrelación
decae lentamente a partir del 1.
Caminata aleatoria generada con R, ruido blanco Gaussiano y
varianza 1
FAC y FACP de la caminata aleatoria anterior
Varianza de la caminata aleatoria
Comentarios
Vemos que la caminata aleatoria simulada:
• Exhibe una tendencia decreciente. Sin embargo, este
comportamiento de tendencia es estocástico. y se debe a la
fuerte autocorrelación de la serie de tiempo, la cual, como
hemos visto en la Figura 2, decae lentamente.
• Tiene varianza que crece linealmente con el tiempo.
• La no estacionariedad de la caminata aleatoria es evidente.
Ensamble: 100 caminatas aleatorias con ruido blanco Gaussiano
con varianza 1
Modelos para Series de Tiempo
AR
MA
ARMA
ARIMA
SARIMA
Todos los
modelos son
incorrectos pero
algunos son
útiles
George E. P. Box.
El proceso autorregresivo de orden 1, AR(1)
𝑌𝑡 = 𝛿 + 𝜙1 𝑌𝑡−1 + 𝑍𝑡
𝛿
𝜇=
1 − 𝜙1
Varianza del AR(1)
𝜎2
𝜑0 =
1 − 𝜙12
Función de autocorrelación de un AR(1)
𝑌𝑡 = 𝛿 + 𝜙1 𝑌𝑡−1 + 𝑍𝑡
𝜌𝑑 = 𝜙1𝑑 , 𝑑 = 0,1,2, …
Ejemplo:
𝑌𝑡 = 0.7𝑌𝑡−1 + 𝑍𝑡 ,
con Var 𝑍𝑡 = 1
Función de autocorrelación:
𝜌𝑑 = 0.7𝑑 , 𝑑 = 0,1,2, …
Ejemplo:
𝑌𝑡 = −0.7𝑌𝑡−1 + 𝑍𝑡 ,
con Var 𝑍𝑡 = 1
Función de autocorrelación:
𝜌𝑑 = (−0.7)𝑑 , 𝑑 = 0,1,2, …
El proceso autorregresivo de orden 2, AR(2)
𝑌𝑡 = 𝛿 + 𝜙1 𝑌𝑡−1 + 𝜙2 𝑌𝑡−2 + 𝑍𝑡
𝜙1 + 𝜙2 < 1
𝜙2 − 𝜙1 < 1
−1 < 𝜙2 < 1
Media y varianza de un AR(2)
La media de un AR(2) es
𝛿
𝜇=
1 − 𝜙1 − 𝜙2
La varianza de un AR(2) es
1 − 𝜙2 𝜎2
𝛾0 =
1 + 𝜙2 (1 − 𝜙2 )2 −𝜙12
Función de autocorrelación de un AR(2): Ecuaciones de Yule-Walker
𝜙1
𝜌1 =
1 − 𝜙2
𝜙2 1 − 𝜙2 + 𝜙12
𝜌2 =
1 − 𝜙2
1 − 𝜙1 𝑥 −𝜙2 𝑥 2 − ⋯ − 𝜙𝑝 𝑥 𝑝 = 0
𝜌1 = 𝜙1 + 𝜙2 𝜌1 + ⋯ + 𝜙𝑝 𝜌𝑝−1
⋯
𝜌𝑝 = 𝜙1 𝜌𝑝−1 + 𝜙2 𝜌𝑝−2 + ⋯ + 𝜙𝑝 𝜌𝑗−𝑝
𝜌𝑗 = 𝜙1 𝜌𝑗−1 + ⋯ + 𝜙𝑝 𝜌𝑗−𝑝 , 𝑗 = 𝑝 + 1, 𝑝 + 2, …
El Proceso de medias móviles de orden 1, MA(1)
𝑌𝑡 = 𝜇 + 𝑍𝑡 + 𝜃1 𝑍𝑡−1
Media: E 𝑌𝑡 = 𝜇
Varianza: Var 𝑌𝑡 = (1 + 𝜃12 )𝜎 2
Función de autocorrelación:
𝜃1
2 𝑑=1
𝜌𝑑 = ቐ1 + 𝜃1
0 𝑑>1
Notemos que sólo dos autocorrelaciones son diferentes de cero en el proceso MA(2).
Realización de longitud 200 del proceso 𝑌𝑡 = 𝑍𝑡 − 𝑍𝑡−1 + 0.6𝑍𝑡−2 con 𝜎 2 = 1.
Autocorrelaciones teóricas
−1 + (−1)(0.6)
𝜌1 = 2 2
= −0.678
1 + (−1) +(0.6)
0.6
𝜌2 = 2 2
= 0.254
1 + (−1) +(0.6)
Función de autocorrelación de una realización de longitud 200 del proceso
𝑌𝑡 = 𝑍𝑡 − 𝑍𝑡−1 + 0.6𝑍𝑡−2 con 𝜎 2 = 1.
Función de autocorrelación del proceso MA(𝑞)
donde {𝑍𝑡 } es un ruido blanco. Un proceso ARMA(𝑝, 𝑞) tiene un componente AR(𝑝) y un componente MA(𝑞).
El proceso ARMA(𝑝, 𝑞) es estacionario si y solo si las raíces del polinomio
1 − 𝜙1 𝑥 −𝜙2 𝑥 2 − ⋯ − 𝜙𝑝 𝑥 𝑝 = 0
caen fuera del circulo unitario y es invertible si las raíces del polinomio
1 + 𝜃1 𝑥 +𝜃2 𝑥 2 + ⋯ + 𝜃𝑞 𝑥 𝑞 = 0
caen fuera del circulo unitario.
El proceso ARMA(1,1)
𝑌𝑡 = 𝜙1 𝑌𝑡−1 − 𝑍𝑡 − 𝜃1 𝑍𝑡−1
Identificación de Modelos ARMA
RESUMEN:
2. Estimación: Se usa máxima verosimilitud para estimar los parámetros del modelo identificado
tentativamente.
4. ticos para checar lo adecuado del modelo identificado y estimado. Si es necesario el modelo se
modifica.
5. Pronóstico: Una vez que se obtiene un modelo final, se usa para pronosticar valores futuros de
la serie de tiempo.
Ejemplos
Ejemplo: Serie de tiempo observada
FAC y FACP
Identificación: Un proceso MA(2)
# Elegimos un MA(2)
# Ajuste del modelo
ajuste = arima(y,order=c(0,0,2))
ajuste
Call:
arima(x = y, order = c(0, 0, 2))
Coefficients:
ma1 ma2 intercept
0.8063 -0.1243 -0.0792
s.e. 0.0672 0.0667 0.1144
• Tendencia
• Estacionalidad
• Heterocedasticidad
• Variación de ciclos
• Combinación de los elementos anteriores
La serie de tiempo de temperatura en Riobamba no es estacionaria
Tendencia
No estacionariedad debido a tendencia: Transformar con primeras diferencias
𝑊𝑡 = ∇𝑌𝑡 = 𝑌𝑡 − 𝑌𝑡−1
= 𝑌𝑡 − 2𝑌𝑡−1 + 𝑌𝑡−2
Heterocedasticidad
• Si hay homocedasticidad (cambio en la varianza): Transformar con
logaritmo
𝑈𝑡 = log(𝑌𝑡 )
𝑌𝑡𝜆 − 1
𝑋𝑡 = ,λ ≠ 0
𝜆
Estacionalidad
No estacionariedad debido a estacionalidad: Diferencias estacionales, si
el período estacional es 𝑠, la diferencia estacional es
∇𝑠 𝑌𝑡 = 𝑌𝑡 − 𝑌𝑡−𝑠
𝑊𝑡 = ∇12 𝑌𝑡 = 𝑌𝑡 − 𝑌𝑡−12
Tendencia y Estacionalidad
No estacionariedad debido a tendencia y estacionalidad: Combinamos
primera diferencia con diferencia estacional, por ejemplo:
Primera diferencia
𝑊𝑡 = ∇𝑌𝑡 = 𝑌𝑡 − 𝑌𝑡−1
Diferencia estacional
• Tendencia creciente
• Estacionalidad
• Heterocedasticidad de la varianza, pues la varianza
tiende a aumentar a lo largo del tiempo
Logaritmo de la producción total
Componentes de la serie transformada
• Parte estacionaria: p = 0, d = 1, q = 1
• Parte estacional: P = 0, D = 0, Q = 2, s = 12
Modelo:
𝑆𝐴𝑅𝐼𝑀𝐴(0,1,1)(0,0,2)𝑠=12
Modelo ajustado
Call:
arima(x = logEnerg, order = c(0, 1, 1), seasonal = list(order =
c(0, 0, 2),
period = 12))
Coefficients:
ma1 sma1 sma2
-0.2215 0.7180 0.5582
s.e. 0.0598 0.0679 0.0865
Prácticas con R