Jak korzystać z prostego wygładzania wykładniczego w języku R?

9

Jestem początkującym w R. Czy możesz wyjaśnić, jak używać ses w pakiecie prognozy R prognozy ? Chciałbym wybrać liczbę początkowych okresów i stałą wygładzania.

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)

Mam 70 okresów, chciałbym użyć 40 okresów dla początkowego i 30 dla poza próbką.

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

Czy to jest poprawne?

Roji
źródło
Przyjąłem, że funkcja, do której się odwołujesz, znajduje się w pakiecie prognozy - jeśli jest niepoprawna, określ, w jakim pakiecie znajduje się ta funkcja.
Andy W
To jest ses w pakiecie prognozy
Roji,
Istnieje kilka przykładów tutaj: otexts.org/fpp/7/1
marbel

Odpowiedzi:

15

To zrobi to:

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

z:

  • h będący liczbą okresów prognozowania.
  • alpha będący parametrem wygładzania poziomu.
  • initial będący metodą wyboru wartości stanu początkowego

(Patrz ?ses.)

Rob Hyndman
źródło
Jaka jest różnica między sesi etsfunkcjami? Czy jest taki, który jest lepszy?
MysteryGuy
3

Możesz także użyć funkcji HoltWinters, która jest dostępna w bazie R:

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

Aby uzyskać prognozy na kolejne 30 okresów, użyj

predict(mod1, n.ahead=30)
Vik
źródło