¿Cómo se usa el suavizado exponencial simple en R?

9

Soy principiante en R, ¿Podría explicar cómo utilizar ses en el paquete de previsión de R pronóstico ? Me gustaría elegir el número de períodos iniciales y la constante de suavizado.

d <- c(3,4,41,10,9,86,56,20,18,36,24,59,82,51,31,29,13,7,26,19,20,103,141,145,24,99,40,51,72,58,94,78,11,15,17,53,44,34,12,15,32,14,15,26,75,110,56,43,19,17,33,26,40,42,18,24,69,18,18,25,86,106,104,35,43,12,4,20,16,8)

Tengo 70 períodos, me gustaría usar 40 períodos para inicial y 30 para fuera de muestra.

ses(d, h=30, level=c(80,95), fan=FALSE,initial=c("simple"), alpha=.1)

¿Es correcto?

Roji
fuente
He asumido que la función a la que se refiere está en el paquete de pronóstico; si eso es incorrecto, especifique en qué paquete se encuentra la función.
Andy W
Yst eso es ses en el paquete de pronóstico
Roji
Aquí hay algunos ejemplos: otexts.org/fpp/7/1
marbel

Respuestas:

15

Esto lo hará:

ses(d[1:40], h=30, alpha=0.1, initial="simple")

con:

  • h siendo el número de períodos para pronosticar.
  • alpha siendo el parámetro de nivelación de nivel.
  • initial siendo el método para seleccionar valores de estado iniciales

(Ver ?ses)

Rob Hyndman
fuente
¿Cuál es la diferencia entre sesy etsfunciones? ¿Hay uno que sea mejor?
MysteryGuy
3

También puede usar la función HoltWinters, que está disponible en la base R:

mod1 <- HoltWinters(d[1:40], alpha=0.1, beta=FALSE, gamma=FALSE)

Para obtener las predicciones para los próximos 30 períodos, use

predict(mod1, n.ahead=30)
Vik
fuente