class: center, middle, inverse, title-slide .title[ # Tema 3: Técnicas de suavizamiento exponencial ] .subtitle[ ## Curso: Análisis de series temporales ] .author[ ### Prof. Shu Wei Chou Chen ] .institute[ ### Escuela de Estadística, UCR ] --- # Contenido 1. Introducción 2. Suavizamiento exponencial simple 3. Método lineal de Holt 4. Métodos multiplicativo y aditivo de Holt-Winters 5. Representación como modelos Espacio de Estados --- # Introducción - Desarrollados en los años 1950s. - Son aplicados ampliamente debido a su sencillez y bajo costo. - Pueden ser utilizados para pocas observaciones. 1. Suavizamiento exponencial simple (SES) 2. Método lineal de Holt (con tendencia) 3. Métodos multiplicativo y aditivo de Holt-Winters (con estacionalidad) --- # Suavizamiento exponencial simple (SES) - Es apropiada para serie que no tienen patrones estacionales ni de tendencia, y cuya media o nivel cambia lentamente. - Notación: - `\(Z_t\)`: la observación de la serie en el tiempo `\(t\)`. - `\(P_t\)`: el pronóstico del tiempo `\(t\)`. - `\(Z_t-P_t\)`: el error de pronóstico. - El método de SES consiste en: `$$P_{t+1}=P_t+\alpha (Z_t-P_t)$$` donde `\(0<\alpha<1\)` es el parámetro de suavizamiento.<br /> i.e., el pronóstico en el tiempo `\(t+1\)` es una combinación del pronóstico en el tiempo `\(t\)` y una proporción `\(\alpha\)` el error de pronóstico del tiempo `\(t\)`. --- # Suavizamiento exponencial simple (SES) - Note que la ecuación anterior es equivalente a: `$$P_{t+1}=\alpha Z_t + (1-\alpha)~ P_t$$` i.e., el pronóstico en el tiempo `\(t+1\)` es un promedio ponderado de la observación más reciente y el pronóstico en el tiempo `\(t\)`. - Recursivamente se obtienen: `$$P_{t+1}=\alpha Z_t + (1-\alpha) \left[ \alpha Z_{t-1} + (1-\alpha) P_{t-1} \right]$$` `$$=\alpha Z_t + \alpha (1-\alpha) Z_{t-1} + (1-\alpha)^2 P_{t-1}$$` `$$=\alpha Z_t + \alpha (1-\alpha) Z_{t-1}+\alpha (1-\alpha)^2 Z_{t-2}+... + \alpha (1-\alpha)^{t-1} Z_1 + (1-\alpha)^t P_{1}$$` - Los coeficientes `\(\alpha, \alpha (1-\alpha)^2,..., \alpha (1-\alpha)^t\)` decrecen exponencialmente. - El pronóstico `\(P_{t+1}\)` es un promedio ponderado de las observaciones pasadas `\(Z_t,...,Z_1\)` ya que `\((1-\alpha)^t P_{1}\)` es casi nulo. --- # Suavizamiento exponencial simple (SES) - La idea es realizar SES con diferentes valores de `\(\alpha\)` y seleccionar el valor de `\(\alpha\)` que minimiza la suma de los cuadrados de los errores de pronóstico, o el MSE. $$MSE=\frac{\sum\limits_{t=1}^T \left( Z_t-P_t \right)^2}{T} $$ --- # Suavizamiento exponencial simple (SES) - Ejemplo 3.1 de Hernández (2011): Serie mensual de defunciones de Costa Rica de los años 2001 y 2002. <img src="presentacion_files/figure-html/unnamed-chunk-2-1.png" width="35%" style="display: block; margin: auto;" /> - Vamos al excel y el laboratorio. - Consideraciones importantes. - Selección de los valores iniciales. --- # El método lineal de Holt - El método de Holt sirve para series con tendencia. - El suavizamiento exponencial de Holt utiliza 3 ecuaciones y dos parámetros ( `\(\alpha\)` y `\(\beta\)` ): Ecuación del nivel: `\(~~~~~~~~~~~~~l_{t}=\alpha Z_{t} + (1-\alpha)~ (l_{t-1}+b_{t-1})\)` Ecuación de la pendiente: `\(~~~~b_{t}=\beta (l_t-l_{t-1}) + (1-\beta)~ b_{t-1}\)` Ecuación del pronóstico: `\(~~~~~P_{t+m}=l_t+b_t m\)` - `\(l_t\)` es una estimación del nivel promedio de `\(Z_t\)` - es un promedio ponderado del valor de `\(Z_t\)` y una estimación del nivel de la serie en `\(t\)`. - `\(b_t\)` es una estimación de la pendiente de `\(Z_t\)`. - es un promedio ponderado del aumento del nivel de la serie entre `\(t\)` y `\(t-1\)`, y una estimación de la pendiente en el tiempo `\(t-1\)`. - La última ecuación pronostica el valor de `\(Z_{t+m}\)`, i.e., pronóstico a `\(m\)` paso para adelante. - Es conocido como **suavizamiento exponencial doble**. --- # El método lineal de Holt - Al igual que SES, los valores de `\(\alpha\)` y `\(\beta\)` se obtienen minimizando la suma de los cuadrados de los errores de pronóstico, o el MSE. $$MSE=\frac{\sum\limits_{i=1}^T \left( Z_t-P_t \right)^2}{T} $$ --- # El método lineal de Holt - Ejemplo 3.2 de Hernández (2011): Serie de graduados del ITCR de 1975-2002. <img src="presentacion_files/figure-html/unnamed-chunk-3-1.png" width="35%" style="display: block; margin: auto;" /> - Vamos al excel y el laboratorio. - Consideraciones importantes. - Selección de los valores iniciales. --- # El método lineal de Holt amortiguado **Crítica:** - el método lineal de Holt supone una tendencia constante a futuro. - Pronósticos a largo plazo no son prácticos. - [Gardner & McKenzie (1985)](https://doi.org/10.1287/mnsc.31.10.1237) introdujo un parámetro adicional para amortiguar esa tendencia constante. Ecuación del nivel: `\(~~~~~~~~~~~~~l_{t}=\alpha Z_{t} + (1-\alpha)~ (l_{t-1}+\phi b_{t-1})\)` Ecuación de la pendiente: `\(~~~~b_{t}=\beta (l_t-l_{t-1}) + (1-\beta)~ \phi b_{t-1}\)` Ecuación del pronóstico: `\(~~~~~P_{t+m}=l_t+ (\phi+\phi^2+...+\phi^m)~b_t\)` - Si `\(\phi=1\)`, se tiene el método lineal de Holt. - Para `\(0<\phi<1\)`, el pronóstico converge a `\(l_t+ \frac{\phi}{1-\phi}~b_t\)`, cuando `\(m \rightarrow \infty\)`. - Es decir, el pronóstico a corto plazo es con tendencia pero a largo plazo es constante. --- # El método lineal de Holt amortiguado <img src="presentacion_files/figure-html/unnamed-chunk-4-1.png" width="600px" height="400px" style="display: block; margin: auto;" /> --- # El método mult. y adit. de Holt-Winters - [Winters (1960)](https://pubsonline.informs.org/doi/abs/10.1287/mnsc.6.3.324) extendió el método lineal de Holt para tomar en cuenta la estacionalidad, el cual es conocido como Holt-Winters. 1. Método multiplicativo - Variación estacional cambia proporcionalmente con el nivel de la serie. 2. Método aditivo - Variación constante a lo largo de tiempo. --- # El método mult. de Holt-Winters `$$l_t= \alpha \frac{Z_t}{S_{t-s}}+(1-\alpha) (l_{t-1}+b_{t-1})$$` `$$b_t= \beta (l_t-l_{t-1})+(1-\beta) b_{t-1}$$` `$$S_t= \gamma \frac{Z_t}{l_{t-1}+b_{t-1}}+(1-\gamma) S_{t-s}$$` `$$P_{t+m}= (l_{t}+b_t~m) S_{t+m-s}$$` donde <br /> `\(s\)` es la longitud de la estacionalidad, <br /> `\(l_t\)` es el nivel de la serie `\(Z_t\)`, <br /> `\(b_t\)` es la tendencia, <br /> `\(S_t\)` es el componente estacional, <br /> `\(P_{t+m}\)` es el pronóstico `\(m\)` pasos adelante y <br /> `\(0<\alpha<1\)`, `\(0<\beta<1\)`, `\(0<\gamma<1\)`. --- # El método mult. de Holt-Winters **Valores iniciales:** para `\(s\)` periodos,<br /> - El nivel `\(l_t\)` se inicia con: `$$l_s=\frac{Z_1+...+Z_s}{s}$$` como un promedio de los datos de los primeros `\(s\)` datos. - La pendiente `\(b_t\)` se inicia con: `$$b_s=\frac{1}{s}\left[ \frac{Z_{s+1}-Z_1}{s}+\frac{Z_{s+2}-Z_2}{s}+...+\frac{Z_{s+s}-Z_s}{s} \right]$$` `$$=\frac{1}{s}\left[ \frac{Z_{s+1}+...+Z_{s+s}}{s}-\frac{Z_{1}+...+Z_{s}}{s} \right]$$` como un promedio de pendientes de cada periodo en los primeros `\(2s\)` periodos. --- # El método mult. de Holt-Winters - Los índices estacionales se inicializan como cociente de los primeros `\(s\)` valores al promedio de los primeros `\(s\)` datos. `$$S_i=\frac{Z_i}{l_s}, \text{ para } i=1,...,s$$` - Ejemplo 3.3 de Hernández (2011): Serie mensual de turistas de 1991-2000. <img src="presentacion_files/figure-html/unnamed-chunk-5-1.png" width="35%" style="display: block; margin: auto;" /> --- # El método mult. de Holt-Winters <img src="presentacion_files/figure-html/unnamed-chunk-6-1.png" width="600px" height="400px" style="display: block; margin: auto;" /> --- # El método aditivo de Holt-Winters `$$l_t= \alpha (Z_t-S_{t-s})+(1-\alpha) (l_{t-1}+b_{t-1})$$` `$$b_t= \beta (l_t-l_{t-1})+(1-\beta) b_{t-1}$$` `$$S_t= \gamma \left( Z_t-l_{t-1}-b_{t-1} \right)+(1-\gamma) S_{t-s}$$` `$$P_{t+m}= l_{t}+b_t~m + S_{t+m-s}$$` donde <br /> `\(s\)` es la longitud de la estacionalidad, <br /> `\(l_t\)` es el nivel de la serie `\(Z_t\)`, <br /> `\(b_t\)` es la tendencia, <br /> `\(S_t\)` es el componente estacional, <br /> `\(P_{t+m}\)` es el pronóstico `\(m\)` pasos adelante y <br /> `\(0<\alpha<1\)`, `\(0<\beta<1\)`, `\(0<\gamma<1\)`. --- # El método aditivo de Holt-Winters - Los índices estacionales se inicializan como cociente de los primeros `\(s\)` valores al promedio de los primeros `\(s\)` datos. `$$S_i=Z_i-a_s, \text{ para } i=1,...,s$$` - Existen otras inicializaciones como el procedimiento basado en regresión (Bowerman, O’Connell and Koehler, 2005). - asumir tendencia lineal de las primeras observaciones (típicamente 3 o 4 años), y usa el intercepto como `\(l_0\)` y pendiente como `\(b_0\)`. - Hasta los últimos años siguen proponiendo nuevos métodos. --- # El método aditivo y mult. de H-W <img src="presentacion_files/figure-html/unnamed-chunk-7-1.png" width="500px" height="300px" style="display: block; margin: auto;" /> RMSE del método multiplicativo: 3239.92. RMSE del método aditivo: 4297.824. --- # El método mult. de H-W amortiguado `$$l_t= \alpha \frac{Z_t}{S_{t-s}}+(1-\alpha) (l_{t-1}+\phi~b_{t-1})$$` `$$b_t= \beta (l_t-l_{t-1})+(1-\beta)~\phi~ b_{t-1}$$` `$$S_t= \gamma \frac{Z_t}{l_{t-1}+\phi~b_{t-1}}+(1-\gamma) S_{t-s}$$` `$$P_{t+m}= (l_{t}+(\phi+\phi^2+...+\phi^m)~ b_t) S_{t+m-s}$$` --- # El método mult. de H-W amortiguado <img src="presentacion_files/figure-html/unnamed-chunk-8-1.png" width="500px" height="300px" style="display: block; margin: auto;" /> --- # Taxonomía de métodos SE | Tendencia | | Componente estacional | | |------------------------------------|:---------:|:--------------------------:|:--------------------:| | | `\(N\)` (No) | `\(A\)` (Aditivo) | `\(M\)` (Multiplicativo) | | `\(N (\text{No)}\)` | `\((N,N)\)` | `\((N,A)\)` | `\((N,M)\)` | | `\(A (\text{Aditivo})\)` | `\((A,N)\)` | `\((A,A)\)` | `\((A,M)\)` | | `\(A_d\)` `\((\text{Aditivo}_{damped})\)` | `\((A_d,N)\)` | `\((A_d,A)\)` | `\((A_d,M)\)` | Note que algunos de estos ya lo acabamos de ver: - `\((N,N)\)`: SES - `\((A,N)\)`: Método lineal de Holt - `\((A_d,N)\)`: Holt amortiguado - `\((A,A)\)`: HW aditivo - `\((A,M)\)`: H-W Multiplicativo - `\((A_d,M)\)`: H-W multiplicativo amortiguado --- - En `R`, especifica el tipo de error como "aditivo" o "multiplicativo", y se usa la notación del modelo ETS como `(ZZZ)`, donde las 3 `Z`s representan: - El error ("A", "M", "Z"), - La tendencia ("N","A","M" or "Z"), y - El componente estacional ("N","A","M" or "Z"). - `\(N:\)` no, `\(A:\)` aditivo, `\(M:\)` multiplicativo y `\(Z:\)` automático. --- - Por ejemplo, si necesito estimar ```r turistas<-read.csv("turistas.csv",sep=";") y<-ts(turistas$turistas,start=c(1991,1),frequency=12) hw_ad<-ets(y,model="AAA",damped = FALSE) hw_ad_a<-ets(y,model="AAA",damped = TRUE) hw_mul<-ets(y,model="MAM",damped = FALSE) hw_mul_a<-ets(y,model="MAM",damped = TRUE) hw_auto<-ets(y,model="ZZZ") #selecciona el mejor modelo usando AIC. ``` --- ```r plot(hw_auto) ``` <img src="presentacion_files/figure-html/unnamed-chunk-10-1.png" width="500px" height="500px" style="display: block; margin: auto;" /> --- # Representación de SE ## como modelos Espacio de Estados Note que la ecuación del SES: `$$P_{t+1}=\alpha Z_t + (1-\alpha)~ P_t$$` se puede reescribir como: - La ecuación del pronóstico: `\(~~~~~~P_{t+1}=l_t\)` - La ecuación del suavizamiento: `\(~~l_t=\alpha Z_t + (1-\alpha)~ P_t\)` `\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= \alpha Z_t + (1-\alpha)~ l_{t-1}\)` Arreglando la ecuación del suavizamiento: `\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l_t = l_{t-1} + \alpha (Z_t-l_{t-1})\)` `\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= l_{t-1}+ \alpha e_t\)` donde `\(e_t = Z_t - l_{t-1} = Z_t - P_{t}\)` es el error. --- Finalmente, la representación del modelo Espacio de Estados se escribe de la siguiente forma: **Ecuación de observaciones:** `\(~~~~~~~~~Z_t = l_{t-1}+e_t\)` **Ecuación de estados:** `\(~~~~~~~~~~~~~~~l_t = l_{t-1} + \alpha e_t\)` Asumiendo alguna distribución de `\(e_t\)`, se puede realizar inferencias a los parámetros y los pronósticos con intervalo de confianza. --- Ejemplo con Holt-Winter Multiplicativo. <img src="presentacion_files/figure-html/unnamed-chunk-11-1.png" width="350px" height="350px" style="display: block; margin: auto;" /> --- <img src="presentacion_files/figure-html/unnamed-chunk-12-1.png" width="400px" height="400px" style="display: block; margin: auto;" />