Lidando com dados ausentes em um modelo de suavização exponencial

14

Não parece haver uma maneira padrão de lidar com dados ausentes no contexto da família de modelos de suavização exponencial. Em particular, a implementação R chamada ets no pacote de previsão parece levar a subsequência mais longa sem a falta de dados, e o livro "Forecasting with Exponential Smoothing" de Hyndman et al. parece não falar sobre dados ausentes.

Eu gostaria de fazer um pouco mais, se meus usuários me pedirem explicitamente (e se os dados ausentes não ocorrerem muito próximos ou em muitos períodos com exatamente uma temporada de diferença). Em particular, o que tenho em mente é o seguinte. Durante a simulação, sempre que eu iria encontrar uma falta de valor , eu iria substituir a previsão ponto atual ~ y t para y t , de modo que ε t = 0 . Isso, por exemplo, faria com que o ponto de dados não fosse considerado no processo de otimização de parâmetros.yty~tytεt=0 0

Uma vez que têm um ajuste razoável para os parâmetros, que pode estimar o desvio padrão dos erros (assumido como sendo normal com média ) e verificar que o uso de valores para ε t gerado a partir de que a distribuição não diminuem a probabilidade por um factor de grande. Eu usaria esses valores para previsão (usando simulação) também.0 0ϵt

Existem armadilhas conhecidas com este método?

Erik P.
fonte
Você já pensou em usar um processo gaussiano com um núcleo de covariância exponencial? Parece uma maneira natural de lidar com dados ausentes e obter intervalos de confiança. R tem o pacote GPFit que você pode procurar.
precisa

Respostas:

2

Sua abordagem faz sentido. Um software comercial ao qual me associei por alguns anos fez exatamente isso.

Seu esquema se aplica à suavização exponencial única (SES), mas é claro que você pode aplicar o mesmo tratamento a componentes sazonais ou de tendência. Para as sazonais, você precisaria voltar um ciclo sazonal completo, assim como para a atualização.

Outra alternativa seria, obviamente, simplesmente interpolar valores ausentes. Esta é uma opção nas versões mais recentes do ets(..., na.action="na.interp").

Pelo pouco que sei sobre modelos de espaço de estado, não deve ser excessivamente difícil simplesmente tratar os dados ausentes como não observados. Não sei por que isso não foi implementado no forecastpacote. Uma rápida pesquisa no blog de Rob Hyndman não resultou em nada útil.

Stephan Kolassa
fonte