auto.arima não reconhece padrão sazonal

8

Eu tenho um conjunto de dados meteorológicos diários, que surpreendentemente tem um efeito sazonal muito forte.

insira a descrição da imagem aqui

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: insira a descrição da imagem aqui

Alguém pode me dar uma dica do que está errado aqui?

Minerador de dados
fonte
Você pode postar o código (ou exemplo semelhante) usado para obter a saída?
Rbatt
Olá rbat, postei o código que usei. Os dados brutos são salvos em 'dados'. I converteu-o para ts objeto primeiro
DataMiner
Seu coeficiente MA (1) (-.84) é suspeito perto de -1 do limite de invertibilidade, sugerindo (para mim) que você impôs uma especificação de modelo incorreta aos dados não suspeitos. Forneça um link para os dados brutos reais e tentarei ajudá-lo a usar uma abordagem mais sofisticada do que a que você tem acesso atual. Pode lançar luz sobre a solução necessária.
IrishStat
Obrigado IrishStat pela oferta! Estou confuso por que 'auto.arima' não estima aqui um modelo sazonal, embora a sazonalidade seja óbvia. Se eu tivesse que estimar um modelo aqui, provavelmente removeria a sazonalidade com o método de Fourier ou apenas diferiria sazonalmente (neste caso, com atraso = 365) os dados. Mas 'auto.arima' não deveria fazer a diferenciação apropriada? Tentei anexar os dados, mas não encontrei a possibilidade de fazê-lo. Como se pode inserir os dados na pergunta?
DataMiner
Se desejar, pode me enviar um e-mail. Anexe um arquivo do Excel com informações da data de início e eu o publicarei no grupo. Por favor, veja minhas informações de contato para obter meu endereço de e-mail.
IrishStat

Respostas:

11

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.

Rob Hyndman
fonte
7

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 insira a descrição da imagem aquique leva a uma seleção automática de modelo do formulário insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui. As estatísticas do modelo estão insira a descrição da imagem aquicom um gráfico residual de insira a descrição da imagem aquiO gráfico das previsões para os próximos 60 dias é apresentado aqui. insira a descrição da imagem aqui O gráfico Real / Ajustado / Previsão é mostrado aqui.insira a descrição da imagem 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.

IrishStat
fonte