Eu tenho um conjunto de dados meteorológicos diários, que surpreendentemente tem um efeito sazonal muito forte.
Adaptei um modelo ARIMA a esse conjunto de dados usando a função auto.arima do pacote de previsão. Para minha surpresa, a função não aplica operações sazonais - diferencial sazonal, componentes sazonais ar ou ma. Aqui está o modelo estimado:
library(forecast)
data<-ts(data,frequency=365)
auto.arima(Berlin)
Series: data
ARIMA(3,0,1) with non-zero mean
Coefficients:
ar1 ar2 ar3 ma1 intercept
1.7722 -0.9166 0.1412 -0.8487 283.0378
s.e. 0.0260 0.0326 0.0177 0.0214 1.7990
sigma^2 estimated as 5.56: log likelihood=-8313.74
AIC=16639.49 AICc=16639.51 BIC=16676.7
E também as previsões usando esse modelo não são realmente satisfatórias. Aqui está o gráfico da previsão:
Alguém pode me dar uma dica do que está errado aqui?
r
time-series
forecasting
arima
arma
Minerador de dados
fonte
fonte
Respostas:
R não se ajustará a um modelo ARIMA com sazonalidade superior a 350. Consulte http://robjhyndman.com/hyndsight/longseasonality/ para obter uma discussão sobre esse problema. A solução é usar termos de Fourier para a sazonalidade e erros de ARMA para a dinâmica de curto prazo.
fonte
A solução para o seu problema é, como Rob aponta, é combinar efeitos determinísticos (semana do ano) e efeitos estocásticos (estrutura ARIMA) enquanto isola dias incomuns e detecta a possível presença de uma ou mais mudanças de nível e / ou um ou mais locais tendências de tempo. O AUTOBOX, o software usado para a análise, foi em parte desenvolvido por mim para fornecer automaticamente uma modelagem robusta para conjuntos de dados como este.
Coloquei seus dados em http://www.autobox.com/weather/weather.txt .
O acf dos dados originais é o que leva a uma seleção automática de modelo do formulário . As estatísticas do modelo estão com um gráfico residual de O gráfico das previsões para os próximos 60 dias é apresentado aqui. O gráfico Real / Ajustado / Previsão é mostrado aqui.
Pode ser interessante para outras pessoas seguirem o conselho do Prof. Hyndaman e reportarem seu modelo final com verificações de diagnóstico em relação a diagnósticos residuais e testes de parâmetros de significância.
Pessoalmente, sinto-me desconfortável com a sugestão de realizar primeiro uma análise de fourier (possivelmente / provavelmente impactada por anomalias) e, em seguida, fazer ARIMA nos resíduos é inaceitável, pois não é uma solução simultânea que leva a 1 equação, mas a uma sequência presuntiva. Minha equação usa a semana do mês e também inclui um AR (1) e remédios para os pontos de dados incomuns.
Todo software tem limitações e é bom conhecê-las. Novamente reitero por que alguém não tenta implementar as sugestões de Rob e mostra os resultados completos.
fonte