Melhor método para séries temporais curtas


35

Tenho uma pergunta relacionada à modelagem de séries temporais curtas. Não é uma questão se modelá-los , mas como. Que método você recomendaria para modelar séries temporais (muito) curtas (por exemplo, comprimento )? Por "melhor", quero dizer aqui o mais robusto, que é o menos propenso a erros devido ao fato de um número limitado de observações. Com séries curtas, observações únicas podem influenciar a previsão; portanto, o método deve fornecer uma estimativa cautelosa dos erros e uma possível variabilidade relacionada à previsão. Em geral, estou interessado em séries temporais univariadas, mas também seria interessante conhecer outros métodos.T20


Qual é a unidade de tempo? Você pode postar os dados?
Dimitriy V. Masterov 26/01

8
Quaisquer que sejam as suposições que você faz - com relação à sazonalidade, estacionariedade, etc. - uma série temporal curta lhe dará a chance de detectar apenas as violações mais flagrantes; portanto, as suposições devem ser bem fundamentadas no conhecimento do domínio. Você precisa modelar ou apenas fazer previsões? A competição M3 comparou vários métodos de previsão "automáticos" em séries de vários domínios, alguns tão curtos quanto 20.
Scortchi - Reinstate Monica

5
+1 no comentário de @ Scortchi. Aliás, das 3.003 séries M3 (disponíveis no Mcomppacote para R), 504 têm 20 ou menos observações, especificamente 55% das séries anuais. Assim, você pode procurar a publicação original e ver o que funcionou bem para dados anuais. Ou até mesmo vasculhe as previsões originais enviadas para a competição M3, que estão disponíveis no Mcomppacote (lista M3Forecast).
S. Kolassa - Restabelece Monica

Olá, não vou acrescentar nada à resposta, mas apenas compartilhe algo sobre a pergunta, que espero que ajude outras pessoas a entender o problema aqui: quando você diz uma que é robusta, é a menos propensa a erros devido ao fato de ser limitada. número de observações . Acredito que robustez é um conceito importante nas estatísticas e aqui é crucial, pois, com tão poucos dados, qualquer ajuste de modelagem dependerá fortemente das suposições do próprio modelo ou de valores extremos. Com robustez, você torna essas restrições menos fortes, não permitindo que suposições limitem seus resultados. Eu espero que isso ajude.
Tommaso Guerrini

2
Os métodos robustos da @TommasoGuerrini não fazem menos suposições, eles fazem suposições diferentes.
Tim

Respostas:


31

É muito comum métodos de previsão extremamente simples, como "prever a média histórica", para superar os métodos mais complexos. Isso é ainda mais provável em séries temporais curtas. Sim, em princípio, você pode ajustar um modelo ARIMA ou ainda mais complexo a 20 ou menos observações, mas é provável que você se ajuste demais e obtenha previsões muito ruins.

Então: comece com uma referência simples, por exemplo,

  • a média histórica
  • a mediana histórica para maior robustez
  • a caminhada aleatória (preveja a última observação)

Avalie-os em dados fora da amostra. Compare qualquer modelo mais complexo com esses benchmarks. Você pode se surpreender ao ver como é difícil superar esses métodos simples. Além disso, compare a robustez de diferentes métodos com esses métodos simples, por exemplo, avaliando não apenas a precisão média fora da amostra, mas também a variação do erro , usando sua medida de erro favorita .

Sim, como Rob Hyndman escreve em seu post ao qual Aleksandr se vincula , o teste fora da amostra é um problema em si para pequenas séries - mas não há realmente nenhuma boa alternativa. ( Não use o ajuste dentro da amostra, o que não é um guia para a precisão da previsão .) A AIC não ajudará na mediana e na caminhada aleatória. No entanto, você pode usar a validação cruzada de série temporal , que a AIC aproxima, de qualquer maneira.


Acabei de descobrir sua resposta (+1). Fiz outro comentário, caso você esteja interessado e queira esclarecer.
Aleksandr Blekh

17

Estou novamente usando uma pergunta como uma oportunidade para aprender mais sobre séries temporais - um dos (muitos) tópicos de meu interesse. Após uma breve pesquisa, parece-me que existem várias abordagens para o problema da modelagem de pequenas séries temporais.

A primeira abordagem é usar modelos de séries temporais lineares / padrão (AR, MA, ARMA etc.), mas prestar atenção a determinados parâmetros, conforme descrito neste post [1] por Rob Hyndman, que não precisa de introdução em séries temporais e previsão mundial. A segunda abordagem, referida pela maioria da literatura relacionada que eu vi, sugere o uso de modelos de séries temporais não lineares , em particular os modelos de limiares [2], que incluem o modelo autoregressivo de limiar (TAR) , o TAR auto-existente ( SETAR) , modelo de média móvel autoregressiva de limiar (TARMA) e modelo TARMAX , que estende o TARmodelo a séries temporais exógenas. Excelentes visões gerais dos modelos de séries temporais não lineares, incluindo modelos de limiar, podem ser encontrados neste artigo [3] e neste artigo [4].

Finalmente, outro trabalho de pesquisa relacionado ao IMHO [5] descreve uma abordagem interessante, baseada na representação de Volterra-Weiner de sistemas não lineares - veja isto [6] e isso [7]. Argumenta-se que essa abordagem é superior a outras técnicas no contexto de séries temporais curtas e barulhentas .

Referências

  1. Hyndman, R. (4 de março de 2014). Modelos adequados para séries temporais curtas. [Postagem no blog]. Obtido em http://robjhyndman.com/hyndsight/short-time-series
  2. Universidade Estadual da Pensilvânia. (2015). Modelos de limite. [Materiais do curso online]. STAT 510, Análise de Séries Temporais Aplicadas. Obtido em https://onlinecourses.science.psu.edu/stat510/node/82
  3. Zivot, E. (2006). Modelos de séries temporais não lineares. [Notas da aula]. ECON 584, Econometria de Séries Temporais. Universidade de Washington. Disponível em http://faculty.washington.edu/ezivot/econ584/notes/nonlinear.pdf
  4. Chen, CWS, So, MKP e Liu, F.-C. (2011). Uma revisão dos modelos de séries temporais limiares em finanças. Estatística e sua interface, 4 , 167-181. Recuperado em http://intlpress.com/site/pub/files/_fulltext/journals/sii/2011/0004/0002/SII-2011-0004-0002-a012.pdf
  5. Barahona, M., & Poon, C.-S. (1996). Detecção de dinâmica não linear de séries temporais curtas e ruidosas. Nature, 381 , 215-217. Disponível em http://www.bg.ic.ac.uk/research/m.barahona/nonlin_detec_nature.PDF
  6. Franz, MO (2011). Séries Volterra e Wiener. Scholarpedia, 6 (10): 11307. Recuperado em http://www.scholarpedia.org/article/Volterra_and_Wiener_series
  7. Franz, MO e Scholkopf, B. (nd). Uma visão unificadora da teoria de Wiener e Volterra e regressão polinomial do núcleo. Recuperado em http://www.is.tuebingen.mpg.de/fileadmin/user_upload/files/publications/nc05_%5B0%5D.pdf

4
+1 Você se importaria de escrever as referências para esses trabalhos em sua resposta? Recentemente, descobrimos que muitos links para artigos apodrecem depois de um tempo, tornando-os quase inúteis, a menos que os autores, títulos etc. também sejam mencionados no texto.
whuber

2
@ whuber: Obrigado. Não tem problema, atualizarei minha resposta com referências esta noite.
Aleksandr Blekh

2
+1 no link para a postagem de Rob Hyndman. (No entanto, estou tentado a -1 para os modelos complexos. Eu ficaria extremamente cauteloso de usar limiar ou quaisquer outros métodos de séries temporais não-lineares em séries temporais de menos de 20 observações. Você está quase certo para overfit, que vai diretamente contra para o requisito do OP de um método robusto .)
S. Kolassa - Restabelece Monica

3
[2,3,4] não mencionam séries temporais curtas e examinam as parcelas em [2]:> 120 observações. [4] concentra-se em finanças, onde você tem enormemente mais de 20 observações. [5] escreve sobre "séries temporais curtas, geralmente com 1.000 pontos" (p. 216). Não vejo como encaixar de forma confiável e robusta um TAR ou modelo similar, ou qualquer um dos mais complexos aos quais você vincula, com <20 observações. (BTW: Eu também faço algumas estatísticas inferenciais ao lado, e com menos de 20 observações, você realmente não pode estimar mais do que a média e mais um parâmetro.)
S. Kolassa - Restabelecer Monica em

5
De nada ;-) Acho que o argumento é que "curto" depende muito do contexto: para séries de leitura de sensores ou em finanças, 1000 pontos de dados são "curtos" - mas no gerenciamento da cadeia de suprimentos, 20 observações mensais são quase normais , e "abreviado" começará apenas com 12 ou menos observações.
S. Kolassa - Restabelece Monica

11

T20

Os seguintes métodos qualitativos funcionam bem na prática para dados muito curtos ou inexistentes:

  • Previsões compostas
  • pesquisas
  • Método Delphi
  • Construção de cenário
  • Previsão por analogia
  • Opinião executiva

Um dos melhores métodos que eu sei que funciona muito bem é o uso de analogias estruturadas (quinta na lista acima), onde você procura produtos similares / análogos na categoria que você está tentando prever e usa-os para prever previsões de curto prazo . Veja este artigo para obter exemplos e o artigo do SAS sobre "como fazer isso" usando, é claro, o SAS. Uma limitação é que a previsão por analogias funcionará apenas se você tiver boas analogias, caso contrário, poderá confiar na previsão de julgamento. Aqui está outro vídeo do software Forecastpro sobre como usar uma ferramenta como o Forecastpro para fazer previsões por analogia. Escolher uma analogia é mais arte do que ciência e você precisa de conhecimentos de domínio para selecionar produtos / situações análogas.

Dois excelentes recursos para previsão de produtos novos ou curtos:

  • Princípio da Previsão por Armstrong
  • Previsão de novos produtos por Kahn

O seguinte é para fins ilustrativos. Acabei de ler o sinal e o ruídopor Nate Silver, na medida em que há um bom exemplo da bolha e da previsão do mercado imobiliário dos EUA e do Japão (mercado análogo ao dos EUA). No gráfico abaixo, se você parar em 10 pontos de dados e usar um dos métodos de extrapolação (smooting exponencial / ets / arima ...) e ver para onde isso o levará e onde o real terminou. Novamente, o exemplo que apresentei é muito mais complexo que a simples extrapolação de tendências. Isso é apenas para destacar os riscos da extrapolação de tendências usando pontos de dados limitados. Além disso, se o seu produto tiver um padrão sazonal, você deverá usar algum tipo de situação análoga ao produto para prever. Li um artigo que penso na pesquisa do Journal of Business que, se você tiver 13 semanas de vendas de produtos farmacêuticos, poderá prever dados com maior precisão usando produtos análogos.

insira a descrição da imagem aqui


Obrigado por apontar uma abordagem diferente! E eu concordo, o livro de Nate Silvers é ótimo.
Tim

5

A suposição de que o número de observações é crítica veio de um comentário ofensivo do GEP Box sobre o tamanho mínimo da amostra para identificar um modelo. Uma resposta mais sutil, no que me diz respeito, é que o problema / qualidade da identificação do modelo não se baseia apenas no tamanho da amostra, mas na proporção entre sinal e ruído nos dados. Se você tiver uma forte relação sinal / ruído, precisará de menos observações. Se você tem baixo s / n, precisará de mais amostras para identificar. Se o seu conjunto de dados for mensal e você tiver 20 valores, não será possível identificar empiricamente um modelo sazonal NO ENTANTO, se você acha que os dados podem ser sazonais, você poderá iniciar o processo de modelagem especificando um ar (12) e, em seguida, fazer o diagnóstico do modelo ( testes de significância) para reduzir ou aumentar seu modelo estruturalmente deficiente


5

Com dados muito limitados, eu estaria mais inclinado a ajustar os dados usando técnicas bayesianas.

A estacionariedade pode ser um pouco complicada quando se lida com modelos de séries temporais bayesianas. Uma opção é impor restrições aos parâmetros. Ou, você não poderia. Isso é bom se você quiser apenas observar a distribuição dos parâmetros. No entanto, se você quiser gerar a previsão preditiva posterior, poderá ter muitas previsões que explodem.

A documentação do Stan fornece alguns exemplos em que eles colocam restrições nos parâmetros dos modelos de séries temporais para garantir a estacionariedade. Isso é possível para os modelos relativamente simples que eles usam, mas pode ser praticamente impossível em modelos de séries temporais mais complicados. Se você realmente deseja impor a estacionariedade, pode usar um algoritmo Metropolis-Hastings e eliminar quaisquer coeficientes inadequados. No entanto, isso exige que muitos valores próprios sejam calculados, o que tornará as coisas mais lentas.


0

O problema, como você sabiamente apontou, é o "excesso de ajuste" causado por procedimentos fixos baseados em listas. Uma maneira inteligente é tentar manter a equação simples quando você tem uma quantidade insignificante de dados. Depois de muitas luas, descobri que, se você simplesmente usa um modelo AR (1) e deixa a taxa de adaptação (o coeficiente de ar) aos dados, as coisas podem funcionar razoavelmente bem. Por exemplo, se o coeficiente de ar estimado for próximo de zero, isso significa que a média geral seria apropriada. se o coeficiente estiver próximo de +1,0, significa que o último valor (ajustado por uma constante é mais apropriado. Se o coeficiente estiver próximo de -1,0, o negativo do último valor (ajustado por uma constante) seria a melhor previsão. Se o coeficiente for diferente, significa que uma média ponderada do passado recente é apropriada.

É exatamente com isso que o AUTOBOX começa e descarta anomalias, pois ajusta o parâmetro estimado quando um "pequeno número de observações" é encontrado.

Este é um exemplo da "arte da previsão" quando uma abordagem orientada a dados puros pode ser inaplicável.

A seguir, é apresentado um modelo automático para os 12 pontos de dados, sem preocupação com anomalias. insira a descrição da imagem aquicom Real / Ajuste e Previsão aqui insira a descrição da imagem aquie plot residual aquiinsira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.