5 votos

Fórmula de alisamiento exponencial de Holt-Winters

Estoy intentando implementar el suavizado exponencial de Holt-Winters en un programa Java (tengo entendido que R y Python tienen implementaciones de estos algoritmos, pero no puedo usarlas por otros motivos, así que quedan descartadas).

He estado revisando El libro y la fórmula de Rob J. Hyndman . Estoy intentando ejecutar manualmente la siguiente fórmula en mis datos de muestra, pero me cuesta entender algunas de las notaciones. Si puedo ejecutarla manualmente, puedo empezar a implementarla en código:

Digamos que tenemos 12 puntos de datos (datos mensuales de un año): 8,9,10,7,9,10,9,8,9,8

El último 8 de estos datos representa los datos del mes actual, y Quiero prever los próximos 3 meses (que será algo así como 9,9,8 supongo). Cómo puedo utilizar la fórmula que aparece en el enlace anterior para obtener estos valores es la parte con la que estoy luchando.

Especialmente no tengo claras dos cosas:

  1. ¿Qué hace $\hat{y}_{t+h|t}$ representar? ¿Es el valor del próximo mes (o) el próximo valor desde el punto de partida?

  2. ¿Cómo puedo calcular el $s_{t-m+h_m^+}$ ¿valor?

Se agradecería cualquier indicación para empezar a calcular manualmente. Gracias por su tiempo y ayuda.

0 votos

$\hat{y}_{t+h|t}$ significa "la previsión en el momento $t+h$ , dados los datos hasta el momento $t$ ". Así que no, no es la previsión del próximo período (a menos que $h=1$ ), es la previsión de $h$ periodos por delante del tiempo $t$ utilizando la información disponible en el momento $t$ .

0 votos

@Glen_b: ¡Gracias! Voy a trabajar en esto mañana. Espero poder terminar esta vez.

0 votos

Yo utilizaría la fórmula de corrección de errores y los valores de partida de la tabla 7.9. El $s$ El término es más fácil de entender si se sigue el ejemplo.

1voto

ccsv Puntos 506

Hice un código para python que se puede encontrar aquí si quieres comprobarlo. Es bastante fácil de entender.

y(t+h) es el último punto de datos que tiene con la adición de h pasos por delante. Por ejemplo, si se pronostica con 3 meses de antelación, se situaría en el punto t +3

Lo que utilicé para hacer mi código fue el Sitio del NIST .

Para su segunda pregunta creo que está calculando los datos estacionales. No estoy seguro de lo que quiere decir con s((t-m)+hm+).

Si no quiere aplicarlo usted mismo aquí es una implementación de java que encontré

1 votos

s((t-m)+hm+) referido a $s_{t-m+h_m^+}$ en $\hat{y}_{t+h|t} = \ell_{t} + hb_{t} + s_{t-m+h_m^+}$ .

0 votos

@ccsv: Gracias por el enlace de la implementación en java, he encontrado algunas otras implementaciones también. Para ser franco quiero hacerlo manualmente en papel antes de entender el algoritmo antes de elegir en cualquier implementación, que me da flexibilidad para modificar el código como sea necesario. Sin embargo, gracias por tus enlaces. Si hay algún otro enlace que explique el algoritmo paso a paso, sería muy útil.

0 votos

@Nambari Entonces básicamente sigue el sitio del NIST Aquí: itl.nist.gov/div898/handbook/pmc/section4/pmc435.htm

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X