Comment utilisez-vous le lissage exponentiel simple dans R?

9

Je suis débutant en R, pourriez-vous expliquer comment utiliser ses dans le package de prévision de la prévision R ? Je voudrais choisir le nombre de périodes initiales et la constante de lissage.

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)

J'ai 70 périodes, je voudrais utiliser 40 périodes pour l'initiale et 30 pour la sortie de l'échantillon.

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

Est-ce correct?

Roji
la source
J'ai supposé que la fonction à laquelle vous vous référez se trouve dans le package de prévision - si cela est incorrect, veuillez spécifier dans quel package la fonction se trouve.
Andy W
Yst qui est ses dans le package de prévisions
Roji
Il y a quelques exemples ici: otexts.org/fpp/7/1
marbel

Réponses:

15

Cela le fera:

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

avec:

  • h étant le nombre de périodes de prévision.
  • alpha étant le paramètre de lissage de niveau.
  • initial étant la méthode de sélection des valeurs d'état initial

(Voir ?ses.)

Rob Hyndman
la source
Quelle est la différence entre seset etsfonctions? Y en a-t-il un qui est meilleur?
MysteryGuy
3

Vous pouvez également utiliser la fonction HoltWinters, disponible dans la base R:

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

Pour obtenir les prévisions pour les 30 prochaines périodes, utilisez

predict(mod1, n.ahead=30)
Vik
la source