Preciso automatizar a previsão de séries temporais e não conheço antecipadamente os recursos dessas séries (sazonalidade, tendência, ruído etc.).
Meu objetivo não é obter o melhor modelo possível para cada série, mas evitar modelos muito ruins. Em outras palavras, obter pequenos erros toda vez não é um problema, mas obter grandes erros de vez em quando é.
Eu pensei que poderia conseguir isso combinando modelos calculados com diferentes técnicas.
Ou seja, embora o ARIMA seja a melhor abordagem para uma série específica, ele pode não ser o melhor para outra série; o mesmo para suavização exponencial.
No entanto, se eu combinar um modelo de cada técnica, mesmo que um modelo não seja tão bom, o outro aproximará a estimativa do valor real.
É sabido que o ARIMA funciona melhor em séries bem comportadas de longo prazo, enquanto a suavização exponencial se destaca nas séries ruidosas de curto prazo.
- Minha idéia é combinar modelos gerados pelas duas técnicas para obter previsões mais robustas, faz sentido?
Pode haver muitas maneiras de combinar esses modelos.
- Se essa é uma boa abordagem, como devo combiná-las?
Uma média simples de previsões é uma opção, mas talvez eu possa obter melhores previsões se ponderar a média de acordo com alguma medida de bondade do modelo.
- Qual seria o tratamento da variância ao combinar modelos?
fonte
Respostas:
Combinar previsões é uma excelente ideia. (Eu acho que não é exagero dizer que essa é uma das poucas coisas que os analistas acadêmicos concordam.)
Por algum tempo, escrevi um artigo analisando diferentes maneiras de ponderar as previsões ao combiná-las: http://www.sciencedirect.com/science/article/pii/S0169207010001032 Basicamente, o uso de pesos (Akaike) não melhorava consistentemente as combinações sobre meios ou medianas simples ou aparadas / com tamanho de vitórias, então eu pessoalmente pensaria duas vezes antes de implementar um procedimento complexo que pode não gerar um benefício definido (lembre-se, porém, que as combinações superaram consistentemente os métodos únicos de seleção por critérios de informação). Isso pode depender da série temporal específica que você possui, é claro.
Eu olhei para combinar intervalos de previsão no artigo acima, mas não para combinar variação como tal. Parece que me lembro de um artigo não muito tempo atrás na IJF com esse foco; portanto, você pode procurar por "combinação" ou "combinação" nas edições anteriores da IJF.
Alguns outros artigos que analisaram a combinação de previsões estão aqui (desde 1989, mas uma revisão) e aqui e aqui (também analisam as densidades) e aqui e aqui. Muitos deles observam que ainda é pouco compreendido por que as combinações de previsão frequentemente superam os modelos selecionados únicos. O penúltimo artigo é sobre a competição de previsão do M3; uma de suas principais descobertas foi (número (3) na p. 458) que "A precisão da combinação de vários métodos supera, em média, os métodos específicos que estão sendo combinados e se sai bem em comparação com outros métodos". O último desses trabalhos conclui que as combinações não têm necessariamente um desempenho melhor que os modelos únicos, mas podem reduzir consideravelmente o risco de falha catastrófica (que é um dos seus objetivos). Mais literatura deve ser encontrada facilmente no International Journal of Forecasting , o Journal of Forecasting e para aplicações mais específicas na literatura sobre econometria ou cadeia de suprimentos.
fonte
Por que não especificar mais? Eu não acho que qualquer modelo que você produza poderia ser melhor ou bom o suficiente do que uma escolha específica.
Com isso dito, se você pode restringir um pouco suas escolhas àquelas para as quais pode testar e a entrada de dados pode ser padronizada, por que não escrever um procedimento de teste automatizado em R?
Digamos que você decida que seus dados estarão dentro de um intervalo a ser estimado por cinco modelos, além de um "fallback". Digamos que você possa caracterizar a entrada por diferentes testes. Então vá em frente e escreva um algoritmo R (ou um programa como esse) que execute isso para você. Isso funciona se você puder produzir um fluxograma cujo modelo seja executado com base nos dados de teste, ou seja, se algum ponto da árvore de decisão for binário.
Se isso não for uma opção porque a decisão pode não ser binária, sugiro que você implemente um sistema de classificação com base nos testes aplicáveis e execute alguns dados simulados de "casos extremos" em sua grade para ver se os resultados são o que você está procurando.
Você pode combinar essas coisas obviamente, por exemplo, o teste de não estacionariedade pode dar um definitivo sim-não, enquanto outros atributos podem cair em um intervalo, como multicolinearidade.
Você pode desenhar isso no papel primeiro e depois construí-lo, simulá-lo com distribuições conhecidas que você espera ter.
Em seguida, basta executar o programa R sempre que novos dados chegarem. Não vejo necessidade de combinar vários modelos com os recursos computacionais que você provavelmente tem em mãos.
fonte
Há uma fórmula simples e agradável para combinar dois métodos de previsão, basta ponderá-los multiplicando o primeiro por um e o outro por (1 - a), onde a é encontrado minimizando a variação dessa previsão combinada. Como você conhece os erros dos dois métodos de previsão, é possível calcular os erros da combinação que dependerão de "a". O cálculo é simples quando a média de cada método é = 0. Para combinar mais de 2 métodos, as fórmulas ainda são "simples" no sentido de que você pode calculá-lo analiticamente "manualmente" ou também usar a opção Solver do EXCEL
fonte