Como você usa a suavização exponencial simples em R?

9

Eu sou iniciante em R. Você poderia explicar como usar ses no pacote de previsão de previsão R ? Eu gostaria de escolher o número de períodos iniciais e a constante de suavização.

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)

Tenho 70 períodos, gostaria de usar 40 períodos para o inicial e 30 para fora da amostra.

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

Está correto?

Roji
fonte
Eu assumi que a função à qual você está se referindo está no pacote de previsão - se isso estiver incorreto, especifique em qual pacote a função está localizada.
Andy W
Yst que é ses no pacote de previsão
Roji
Existem alguns exemplos aqui: otexts.org/fpp/7/1
marbel

Respostas:

15

Isso fará isso:

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

com:

  • h sendo o número de períodos para previsão.
  • alpha sendo o parâmetro de nivelamento de nível.
  • initial sendo o método para selecionar valores iniciais de estado

(Veja ?ses.)

Rob Hyndman
fonte
Qual é a diferença entre sesand etsfunctions? Existe alguém que é melhor?
usar o seguinte
3

Você também pode usar a função HoltWinters, disponível na base R:

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

Para obter as previsões para os próximos 30 períodos, use

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