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?


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.)


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)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.