Wie verwendet man eine einfache exponentielle Glättung in R?

9

Ich bin Anfänger in R, Könnten Sie bitte erklären, wie man ses im Prognosepaket der R- Prognose verwendet ? Ich möchte die Anzahl der Anfangsperioden und die Glättungskonstante wählen.

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)

Ich habe 70 Perioden, ich möchte 40 Perioden für die anfängliche und 30 für die Out-of-Sample verwenden.

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

Ist es richtig?

Roji
quelle
Ich habe angenommen, dass die Funktion, auf die Sie sich beziehen, im Prognosepaket enthalten ist. Wenn dies nicht korrekt ist, geben Sie bitte an, in welchem ​​Paket sich die Funktion befindet.
Andy W
Yst das ist ses im Prognosepaket
Roji
Hier gibt es einige Beispiele: otexts.org/fpp/7/1
Marbel

Antworten:

15

Dies wird es tun:

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

mit:

  • h Dies ist die Anzahl der Prognoseperioden.
  • alpha ist der Parameter für die Pegelglättung.
  • initial Dies ist die Methode zur Auswahl von Anfangszustandswerten

(Siehe ?ses.)

Rob Hyndman
quelle
Was ist der Unterschied zwischen sesund etsFunktionen? Gibt es eine, die besser ist?
MysteryGuy
3

Sie können auch die HoltWinters-Funktion verwenden, die in Basis R verfügbar ist:

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

Verwenden Sie, um die Vorhersagen für die nächsten 30 Perioden zu erhalten

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