TESMTH - Suavizado triple exponencial de Holt-Winters

Devuelve el pronóstico estimado fuera de la muestra del suavizado exponencial triple (Holt-Winters)

 

Sintaxis

TESMTH(X, Orden, alfa, Beta, Gama, L, Optimizar, T, Tipo de retorno)

X es la serie univariada de tiempo de datos (un despliegue de celdas unidimensional (e.g. fila o columna).

Orden es el orden del tiempo en la serie de datos (i.e. la primera fecha correspondiente del punto de datos (la fecha más reciente=1 (aleatoria), la fecha más tardía=0)).

Orden Descripción
1 ascendente (el primer punto de datos corresponde a la fecha más temprana) (defecto)
0 descendente (el primer punto de datos corresponde a la ultima fecha)

alfa es el factor del nivel de suavizado (alfa debe estar entre cero(0) y uno(1) (exclusivamente)). Si este valor faltara o se omitiera, se usaría 0,333.

Beta es el factor de suavizado de tendencia (beta debe estar entre cero (0) y uno(1) (exclusivamente)). Si este valor faltara o se omitiera, se usaría 0,333.

Gama es el factor de suavizado de cambio de temporada (gama debe estar entre cero(0) y uno (1) (exclusivamente)). Si este valor faltara o se omitiera, se usaría 0,50.

L es la longitude de la estación o duración en unidades de pasos.

Optimizar es una bandera de (Veradero/Falso) para buscar y usar el valor óptimo del factor de suavizado. Si el valor faltara o se omitiera, la optimización se asumiría como falsa.

T Es el pronóstico del tiempo/horizonte que va más allá del final de X. Si el valor faltara, un valor aleatorio de 0 (más reciente o al final de X) se asumiría.

Tipo de retornoes un número que determina el valor del tipo de retorno: 0 (o faltante) = pronóstico, 1=Alfa, 2=Beta, 3=Gama, 4= componente de nivel (serie), 5=componente de tendencia (serie), 6=componente de temporada (serie), 7=pronóstico de un paso (serie).

TIPO DE RETORNO NUMERO RETORNADO O DEVUELTO
0 or omitted Pronóstico
1 Coeficiente del suavizado de nivel (alfa)
2 Coeficiente del suavizado de tendencia (beta)
3 Coeficente de suavizado estacional (gama)
4 Componente de nivel (serie)
5 Componente de tendencia (serie)
6 componente de índice de temporada (serie)
7 Pronóstico de un paso (serie)
 

Observaciones

  1. La serie de tiempo es homogenea o igualmente espaciada.
  2. La serie de tiempo puede incluir los valores faltantes (e.g. #N/A) sólo en cada extremo.
  3. Las series de tiempo deben tener solamente observaciones de valores positivos, de lo contrario la función TESMTH se devuelve a #VALUE!.
  4. El método de suavizado exponencial multiplicativo Holt-Winters es un método de pronóstico robusto para series de tiempo estacionales con tendencia aditiva.
  5. El modelo multiplicativo estacional Holt-Winters es apropiado para una serie de tiempo en que la amplitud del patrón de las temporadas sea proporcional al nivel promedio de las series, i.e. una serie de tiempo exhibiendo temporadas multiplicativas.
  6. La forma recursiva de la ecuación de suavizado exponencial triple Holt-Winters se expresa así:

    $$ \begin{array}{l} \hat{F}_t(m)=(S_t + m\times b_t)\times C_{t-L+m}\\ \\ S_{t\succ L}=\alpha (X_t / C_{t-L})+ (1-\alpha)(S_{t-1}+b_{t-1})\\ b_{t\succ L}=\beta (S_t - S_{t-1})+(1-\beta)b_{t-1}\\ C_{t\succ L}=\gamma (X_t / S_t)+ (1-\gamma)C_{t-L} \end{array} $$
    Where:
    • $X_t$ es el valor de la serie de tiempo en el tiempo t.
    • $L$ es la longitude de la estación o duración.
    • $S_{t}$ es un estimado del suavizado del componente de nivel.
    • $b_{t}$ es un estimado del suavizado del componente de tendencia.
    • $C_{t}$ es un estimado del suavizado del componente de índice de temporada.
    • $\alpha$ es el nivel de coeficiente de suavizado.
    • $\beta$ es la tendencia del coeficiente de suavizado.
    • $\gamma$ es el coeficente de suavizado estacional.
    • $\hat{F}_t(m)$ es el valor pronóstico de suavizado en el paso adelantado m para X en el tiempo t..
  7. Los factores de temporada se definen para que se sumen a la longitud de la temporada, i.e.

    $$\sum_{i=1}^L C_i = L$$
  8. En TESMTH, calculamos tres series exponenciales simples pero independientes: de nivel, de tendencia e índices estacionales. Son inter-dependientes en el sentido de que los tres componentes deben actualizarse cada período.
  9. El coeficiente de suavizado $\alpha$ se usa de nuevo para controlar la velocidad de adaptación a nivel local pero una segunda constante de suavizado $\beta$ es usada para controlar el grado de la tendencia y, finalmente, una tercera constante de suavizado $\gamma$ se presenta para controlar el grado de índices estacionales locales llevados a cabo en períodos de pronóstico de múltiples pasos adelante.
  10. Para $\gamma=0$ y los valores iniciales de índices estacionales ($C_{1,2\cdots L}$) también se asigna el uno (1), el suavizado exponencial triple de Holt-Winters produce los mismos pronósticos que el suavizado exponencial doble de Holt(DESMTH).
  11. El TESMTH calcula un pronóstico de puntos. No hay modelo de probabilidad que se pueda asumir para el suavizado exponencial simple, así que no podemos derivar un intervalo confiable para los valores calculados.
  12. En la práctica, el error cuadrático medio (MSE, por sus siglas en inglés) para valores previos fuera de la muestra se usa, con frecuencia, como un indicador de incertidumbre (i.e. varianza) en el más reciente valor de pronóstico.
  13. El método exponencial triple Holt-Winters requiere unos valores iniciales de L+2 ($S_1,b_1,C_{1,2\cdots L}$) para empezar la actualización recursiva de las ecuaciones. Como una regla general, se necesita un mínimo de dos temporadas completas (o períodos 2L) de histórico de datos para empezar un grupo de factores de temporada ($C_{1,2\cdots L}$)
  14. En la literatura académica, el método común para estimar los índices estacionales es un radio de la observación actual a los valores ajustados del promedio estacional para esa estación. En NumXL hemos adoptado los mejores procedimientos de Hyndman R basados en decomposición, los cuales requieren de menos observaciones y producen mejores estimados.
    • Si el número de observaciones disponible es menor que dos temporadas completas pero mayor que una temporada.
      1. Use un modelo simple lineal con tendencia de tiempo y una aproximación Fourier de primer orden para la estacionalidad multiplicativa (e.g. Holt-Winters)

        $$\hat{X}_t=(a+b\times t)\times (1+k \times cos(\frac{2\pi}{L}t+\phi))$$
        Where:
        • $(a+b\times t)$ es la tendencia lineal..
        • $a,b,k,\phi$ son parámetros con valores desconocidos.
      2. Luego, encuentre los valores óptimos de los parámetros minimizando el SSE general para $X_t,\hat{X}_t$
      3. Divida $X_t$ por la tendencia lineal estimada ($(a+b\times t)$)
      4. Calcule los índices estacionales promediando las series de tiempo sin tendencia para cada mes en cada temporada:

        $$C_k = \frac{\sum_{i=0}^{m_k-1} C_{k+i\times L}}{m_k}$$
      5. Escale los índices estacionales calculados de manera que su sumatoria sea igual a L.

        $$C_k^{'} = \frac{C_k}{\sum_{i=1}^{L} C_i}\times L$$
      6. Establezca $S_1 = a$, y $b_1 = b$.
    • Si el número de observaciones disponibles es mayor a dos temporadas completas usamos un procedimiento basado en la decomposición móvil doble con base en el promedio:
      1. Calcule una 2xL (centrada) móvil promedio para las primeras 2-3 temporadas de datos. Esto nos dará una buena aproximación al componente (nivel + tendencia).
      2. Réstele tendencia a los datos dividiendo $X_t$ por el suavizado de datos estimado en (1)
      3. Calcule los índices estacionales promediando las series de tiempo sin tendencia (2) para cada mes en todas las temporadas disponibles.

        $$C_k = \frac{\sum_{i=0}^{m_k-1} C_{k+i\times L}}{m_k}$$
      4. Escale los índices estacionales calculados de manera que su sumatoria sea igual a L.
      5. Finalmente, divida $X_t$ por los índices estacionales en (iv) para obtener datos estacionales ajustados.
      6. Ajuste una tendencia linear con los datos estacionales ajustados para obtener el estimado incial de $S_1$ y $b_1$.
  15. Empenzando desde la version 1.63 de NumXL, el TESMTH tiene un optimizador incorporado para encontrar el mejor valor de ($\alpha, \beta, \gamma$) que minimice el SSE (función de pérdida ($U(.)$)) para el pronóstico de un paso calculado dentro de la muestra.

    $$ \begin{array}{l} U(\alpha,\beta,\gamma)=\mathrm{SSE}=\sum_{t=1}^{N-1}(X_{t+1}-\hat{F}_t(1))^2\\ \\ \min_{\alpha,\beta,\gamma \in (0,1)} U(\alpha,\beta,\gamma) \end{array} $$
  16. Para los valores iniciales, el optimizador de NumXL utilizará el valor de ingreso de ($\alpha,\beta,\gamma$) (si está disponible) en el problema de minimización, y los valores iniciales para el nivel, la tendencia y las series de índices estacionales ($S_1,b_1, C_{1,2\cdots L}$) serán calculados con los datos de ingreso.
  17. Empezando desde la version 1.65 de NumXL, la función TESMTH devuelve el valor óptimo encontrado de ($\alpha,\beta,\gamma$), y la correspondiente serie de suavizado en un paso de nivel, tendencia, índices estacionales y pronóstico calculado dentro de la muestra.
  18. Las series de tiempo deben tener al menos dos temporadas completas de observaciones para usar el optimizador incorporado.
  19. NumXL implementa el método espectral de pendiente (SPG, por sus siglas en inglés) para encontrar el mínimo con una frontera dentro del cuadro.
    • El SPG requiere un valor de función de pérdida y la pendiente ($\nabla$). NumXL implementa la exacta formula derivativa (vs. aproximación numérica) para propósitos de desempeño.

      $$ \begin{array}{l} \nabla U = \frac{\partial U}{\partial \alpha} \vec{e_\alpha} + \frac{\partial U}{\partial \beta} \vec{e_\beta} + \frac{\partial U}{\partial \gamma} \vec{e_\gamma}\\ \\ \frac{\partial U}{\partial \alpha} = -2\times\sum_{t=1}^{N-1}(X_{t+1}-\hat{F}_t(1))\times \frac{\partial \hat{F}_t}{\partial \alpha}\\ \frac{\partial U}{\partial \beta} = -2\times\sum_{t=1}^{N-1}(X_{t+1}-\hat{F}_t(1))\times \frac{\partial \hat{F}_t}{\partial \beta}\\ \frac{\partial U}{\partial \gamma} = -2\times\sum_{t=1}^{N-1}(X_{t+1}-\hat{F}_t(1))\times \frac{\partial \hat{F}_t}{\partial \gamma}\\ \\ \frac{\partial \hat{F}_t}{\partial \alpha}=(\frac{\partial S_t}{\partial \alpha}+\frac{\partial b_t}{\partial \alpha})C_{t-L+1}+(S_t+b_t)\frac{\partial C_{t-L+1}}{\partial \alpha}\\ \frac{\partial \hat{F}_t}{\partial \beta}=(\frac{\partial S_t}{\partial \beta}+\frac{\partial b_t}{\partial \beta})C_{t-L+1}+(S_t+b_t)\frac{\partial C_{t-L+1}}{\partial \beta}\\ \frac{\partial \hat{F}_t}{\partial \gamma}=(\frac{\partial S_t}{\partial \gamma}+\frac{\partial b_t}{\partial \gamma})C_{t-L+1}+(S_t+b_t)\frac{\partial C_{t-L+1}}{\partial \gamma}\\ \\ \frac{\partial S_t}{\partial \alpha}=\frac{X_t}{C_{t-L}}-\frac{\alpha X_t}{C_{t-L}^2}\frac{\partial C_{t-L}}{\partial \alpha}+(1-\alpha)(\frac{\partial S_{t-1}}{\partial \alpha}+\frac{\partial b_{t-1}}{\partial \alpha})-(S_{t-1}+b_{t-1})\\ \frac{\partial S_t}{\partial \beta}=-\frac{\alpha X_t}{C_{t-L}^2}\frac{\partial C_{t-L}}{\partial \beta}+(1-\alpha)(\frac{\partial S_{t-1}}{\partial \beta}+\frac{\partial b_{t-1}}{\partial \beta})\\ \frac{\partial S_t}{\partial \gamma}=-\frac{\alpha X_t}{C_{t-L}^2}\frac{\partial C_{t-L}}{\partial \gamma}+(1-\alpha)(\frac{\partial S_{t-1}}{\partial \gamma}+\frac{\partial b_{t-1}}{\partial \gamma})\\ \\ \frac{\partial b_t}{\partial \alpha}=\beta (\frac{\partial S_t}{\partial \alpha} - \frac{\partial S_{t-1}}{\partial \alpha})+(1-\beta)\frac{\partial b_{t-1}}{\partial \alpha}\\ \frac{\partial b_t}{\partial \beta}=(S_t-S_{t-1})+\beta (\frac{\partial S_t}{\partial \beta} - \frac{\partial S_{t-1}}{\partial \beta})+(1-\beta)\frac{\partial b_{t-1}}{\partial \beta}-b_{t-1}\\ \frac{\partial b_t}{\partial \gamma}=\beta (\frac{\partial S_t}{\partial \gamma} - \frac{\partial S_{t-1}}{\partial \gamma})+(1-\beta)\frac{\partial b_{t-1}}{\partial \gamma}\\ \\ \frac{\partial C_t}{\partial \alpha}=-\frac{\gamma X_t}{S_t^2}\frac{\partial S_t}{\partial \alpha}+(1-\gamma)\frac{\partial C_{t-L}}{\partial \alpha}\\ \frac{\partial C_t}{\partial \beta}=-\frac{\gamma X_t}{S_t^2}\frac{\partial S_t}{\partial \beta}+(1-\gamma)\frac{\partial C_{t-L}}{\partial \beta}\\ \frac{\partial C_t}{\partial \gamma}=\frac{X_t}{S_t}-\frac{\gamma X_t}{S_t^2}\frac{\partial S_t}{\partial \gamma}+(1-\gamma)\frac{\partial C_{t-L}}{\partial \gamma} - C_{t-L}\\ \\ \end{array} $$
    • Internamente, durante la optimización, NumXL calcula de manera recursiva tanto el suavizado de series de tiempo, niveles, tendencias, índices estacionales como todos los derivados dentro de la muestra, que son usados para la función de pérdida y su derivado.
    • El SPG es un método reiterativo (recursivo), y es posible que el mínimo no se pueda encontrar dentro del número de reiteraciones permitidas y/o toleradas. En este caso, NumXL no fallará, al contrario, utilizará el mejor valor de alfa encontrado hasta el momento.
    • El SPG no tiene provisión para detectar o evadir la trampa minima local. No existe garantía del mínimo global.
  20. En general, la función SSE en TESMTH cede el paso a una curva de suavizado continua no monótona, ese minimizador SPG casi siempre encuentra una solución óptima en muy pocas reiteraciones.

Ejemplos de archivos

Referencias

¿Tiene más preguntas? Enviar una solicitud

0 Comentarios