Boas práticas ao fazer previsões de séries temporais

10

Trabalho há meses na previsão de carga de curto prazo e no uso de dados climáticos / climáticos para melhorar a precisão. Eu tenho formação em ciência da computação e, por esse motivo, estou tentando não cometer grandes erros e comparações injustas trabalhando com ferramentas de estatística como os modelos ARIMA. Gostaria de saber sua opinião sobre algumas coisas:

  1. Estou usando os modelos (S) ARIMA e (S) ARIMAX para investigar o efeito dos dados climáticos na previsão. Você acha que seria necessário usar também os métodos de suavização exponencial?

  2. Tendo uma série temporal de 300 amostras diárias, estou começando nas duas primeiras semanas e realizo uma previsão de 5 dias usando modelos criados com a função auto.arima R (pacote de previsão). Em seguida, adiciono outra amostra ao meu conjunto de dados e calibro novamente os modelos e realizo mais 5 dias de previsão e assim por diante até o final dos dados disponíveis. Você acha que essa maneira de operar está correta?

Obrigado por suas sugestões, embora o objetivo de nosso trabalho seja um artigo de periódico de engenharia, eu gostaria de fazer um trabalho o mais rigoroso possível do ponto de vista estatístico.

Matteo De Felice
fonte
11
Esta questão parece estar intimamente relacionada: stats.stackexchange.com/questions/16915/…
whuber
11
Aqui está uma resposta antiga stats.stackexchange.com/questions/6513/…
bill_080

Respostas:

9
  1. Eu acho que valeria a pena explorar modelos de suavização exponencial também. Os modelos de suavização exponencial são uma classe de modelos fundamentalmente diferente dos modelos ARIMA e podem gerar resultados diferentes em seus dados.

  2. Isso soa como uma abordagem válida e é muito semelhante ao método de validação cruzada de séries temporais proposto por Rob Hyndman .

Agregaria o erro de validação cruzada de cada previsão (suavização exponencial, ARIMA, ARMAX) e usaria o erro geral para comparar os três métodos.

Você também pode considerar uma "pesquisa em grade" para parâmetros ARIMA, em vez de usar o auto.arima. Em uma pesquisa em grade, você exploraria cada parâmetro possível para um modelo de arima e, em seguida, selecionava os "melhores" usando a precisão da previsão.

Zach
fonte
Obrigado pela resposta, estou usando o auto.arima com a pesquisa STEPWISE desativada e acho que dessa maneira ele explorará todos os parâmetros entre o intervalo min-max (ainda não li o artigo de Hyndman & Kandahar 2008)
Matteo De Felice
@ Matteo De Felice: o problema é que está otimizando esses parâmetros com base na AIC. Sugeri que valeria a pena otimizar esses parâmetros pelo desempenho fora da amostra, que você poderia avaliar por validação cruzada. Além disso, se você deseja comparar outros modelos (como o ETS), precisará de uma métrica de desempenho fora da amostra, pois não é possível comparar o AIC entre diferentes tipos de modelos (como auto.arima e ets).
Zach
nesse momento, realizei uma pesquisa na grade (usando auto.arima com stepwise = FALSE) e depois tentei os modelos mais frequentes para avaliar seu desempenho.
Matteo De Felice
@ Matteo De Felice: Se você está tendo problemas para implementar a validação cruzada de séries temporais, esta postagem no blog pode ajudar: robjhyndman.com/researchtips/tscvexample
Zach
Note-se que os modelos ARIMA e ETS não são fundamentalmente diferentes. De fato, os modelos de suavização exponencial linear são casos especiais dos modelos ARIMA. Veja aqui: otexts.org/fpp/8/10 .
Wart