Backtesting para X-13ARIMA-SEATS

Ouvimos muitas perguntas dos nossos utilizadores sobre a exatidão das previsões: Como é que o meu modelo de previsão se comporta com os valores futuros reais? Os valores previstos e os valores reais estão muito próximos? Que tipo de erro de rastreio terá?

A técnica de backtesting responde a estas questões, com uma simples diferença: se recuássemos no tempo, poderíamos calibrar o modelo utilizando apenas os dados disponíveis até essa data e efetuar uma previsão fora da amostra. Em seguida, repetimos o procedimento para datas diferentes.

No final do processo de backtesting, geramos uma série temporal dos valores previstos, que podemos depois analisar em relação à série temporal real. Depois, podemos calcular todo o tipo de estatísticas.

Este artigo foi inspirado por um pedido de apoio específico de um dos nossos utilizadores:

“Como posso efetuar um backtesting na previsão X-13ARIMA-SEATS dos valores ajustados sazonalmente e finais (ou seja, não ajustados sazonalmente)?”

Para efetuar o backtesting, precisamos de executar vários cenários X13AS que apenas diferem pelo conjunto de dados de entrada.

Para este tutorial, usaremos os dados mensais de emprego da folha de pagamento não agrícola do Departamento do Trabalho dos EUA (DOL) entre janeiro de 1970 e junho de 2022.

  1. Utilizando o Assistente X13, construa o modelo X13 utilizando o conjunto de dados completo. O assistente escreverá a especificação do modelo (texto JSON) na sua folha de cálculo onde a especificar.
    Utilize o Assistente X13 para construir o modelo X13. O resultado será a especificação do seu modelo em texto JSON.
  2. Em seguida, numa coluna vazia, liste todos os períodos para os quais pretende fazer uma previsão.
    A coluna de dados
  3. Calcular o número de pontos de dados desde o início do conjunto de dados até cada período especificado no passo (2).
    Calcule os pontos de dados desde o início do conjunto de dados até ao período especificado na coluna
  4. Copie a fórmula X13AS(.) em (1) numa coluna separada, adjacente à coluna do passo (3).
    Utilizar a fórmula X13 para cada um dos períodos de previsão.
  5. Substitua o intervalo de células dos dados de entrada por uma chamada a NxSubset(.). A função NxSubset recebe o conjunto de dados completo como 1º argumento, mas o desvio final é calculado na coluna do passo (3).
    Utilizar a função NxSubset (realçada a amarelo) para selecionar o conjunto de dados do 1º argumento para o argumento 612 (F10).

    Nota:

    Consultar o Manual de referência de NxSubset(.) página para saber mais.

  6. Agora, a função X13AS(.) constrói um novo cenário utilizando apenas os dados até este ponto.
  7. Utilizando as funções X13ASCOMP(.) e X13ASFORE(.), consulte o componente ou o valor de previsão para a data nesta linha.
    Utilizar a função X13ASFORE(.) para obter o valor de previsão para a data adjacente.
  8. Utilize a função integrada do Excel VLOOKUP(.) para consultar o valor real de cada linha.
    Utilizar a função VLOOKUP(.) para obter os dados reais para a data adjacente.
  9. Copie as fórmulas da linha superior para o resto da tabela. Isso acionará uma série de cálculos do modelo X13, e pode levar até um minuto para ser concluído.
    A tabela de resultados do backtesting X13 depois de copiar as fórmulas para o resto dos períodos selecionados.
  10. Finalmente, vamos traçar os valores do backtesting juntamente com os valores reais.
    Um gráfico que mostra os valores de previsão backtested vs. os valores reais para os dados do DOL Payroll Employment de Jan-21 a Jun-2022.

Conclusão

No nosso exemplo, calculámos a previsão de um mês ajustada não sazonal para os últimos 24 meses, mas podemos facilmente alargar o período de estudo e/ou calcular resultados diferentes.

Depois de calcularmos a série temporal de resultados do backtesting, devemos descrever quantitativamente o erro de rastreio da previsão utilizando a sua medida de desempenho de previsão favorita (incluída no NumXL), como MAPE, RMSE, MASE, etc.

  Anexos

Comentários

iniciar sessão para comentar.

Este artigo foi útil?
0 de 0 acharam isto útil