enquanto passo para a previsão com os modelos ARIMA, estou tentando entender como posso melhorar uma previsão com base no ajuste do ARIMA à sazonalidade e à deriva.
Meus dados são as seguintes séries temporais (mais de 3 anos, com clara tendência ascendente e sazonalidade visível, o que parece não ser suportado pela autocorrelação nos intervalos 12, 24, 36 ??).
> bal2sum3years.ts
Jan Feb Mar Apr May Jun Jul Aug
2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729
2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888
2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416
Sep Oct Nov Dec
2010 2232261 2394644 2468479 2816287
2011 2480940 2699780 2760268 3206372
2012 2951516 3119176 3032960 3738256
O modelo sugerido por auto.arima(bal2sum3years.ts)
mim me deu o seguinte modelo:
Series: bal2sum3years.ts
ARIMA(0,0,0)(0,1,0)[12] with drift
Coefficients:
drift
31725.567
s.e. 2651.693
sigma^2 estimated as 2.43e+10: log likelihood=-321.02
AIC=646.04 AICc=646.61 BIC=648.39
No entanto, o acf(bal2sum3years.ts,max.lag=35)
não mostra coeficientes de ACF superiores a 0,3. A sazonalidade dos dados é, no entanto, bastante óbvia - pico no início de cada ano. É assim que a série se parece no gráfico:
A previsão usando fit=Arima(bal2sum3years.ts,seasonal=list(order=c(0,1,0),period=12),include.drift=TRUE)
, chamada por função forecast(fit)
, resulta nas médias dos próximos 12 meses iguais aos últimos 12 meses dos dados mais constantes. Isso pode ser visto chamando plot(forecast(fit))
,
Também verifiquei os resíduos, que não são autocorrelacionados, mas têm média positiva (diferente de zero).
O ajuste não modela a série cronológica original com precisão, na minha opinião (azul a série cronológica original, vermelho é o fitted(fit)
:
A opinião é: o modelo está incorreto? Estou esquecendo de algo? Como posso melhorar o modelo? Parece que o modelo leva literalmente os últimos 12 meses e adiciona uma constante para atingir os próximos 12 meses.
Sou iniciante em modelos e estatísticas de previsão de séries temporais.
Respostas:
Sim, de fato, o modelo sugerido é "Este junho = junho passado + constante + erro" e da mesma forma para os outros meses.
O que há de errado com isso exatamente? Parece ser uma excelente descrição dos seus dados.
Você pode achar uma decomposição de séries temporais mais intuitiva e fácil de explicar, talvez até algo baseado em um Modelo Estrutural Básico - um com sazonalidade - mas que não implique necessariamente um modelo que funcione melhor do que o que você possui. Ainda vale a pena tentar uma ou mais das técnicas de decomposição padrão - há muito a ser dito sobre um modelo que você compreende bem.
fonte
Acredito que nosso problema é que estamos pulando diretamente para o modelo ARIMA sem experimentar os modelos tradicionais. por esse motivo, você pode descobrir que o modelo não está fornecendo os resultados necessários. No seu caso, testei seus dados, descobri que há uma sazonalidade a cada 12 meses, o que é claro para você, mas também descobri que uma média móvel simples de 3 termos Ajuste sazonal: Multiplicativo é o melhor modelo. Na minha opinião, temos que tentar os algoritmos tradicionais de previsão antes de pular para qualquer técnica avançada.
fonte