Introdução
Historicamente, métodos estatísticos como ARIMA, ETS, MSTL, Theta e CES têm sido confiavelmente empregados em diversos domínios. Na última década, modelos de aprendizado de máquina como XGBoost e LightGBM ganharam popularidade. Agora, podemos entrar em uma nova fase na era da previsão: o uso da IA Generativa para a previsão de séries temporais. Neste exercício, demonstramos de forma introdutória o TimeGPT e criamos um exemplo usando o IPCA.
Previsão e IA Generativa
A previsão é um processo vital em diversos campos, desde o mundo dos negócios até estudos ambientais, permitindo antecipar resultados futuros com base em dados do passado. Nesse processo, utilizam-se dados históricos para identificar padrões, tendências ou regularidades, e então projetar esses padrões para o futuro. Por exemplo, um varejista pode analisar dados de vendas passadas para prever a demanda futura por um produto, um economista pode utilizar indicadores econômicos anteriores para antecipar as condições econômicas futuras e um meteorologista pode usar dados meteorológicos passados para prever padrões climáticos futuros.
Ao longo das décadas, a área de previsão tem sido objeto de estudo intenso, resultando na construção de diversos modelos estatísticos. Nas últimas décadas, os modelos de aprendizado de máquina também têm apresentado resultados satisfatórios. No entanto, em um mundo dinâmico, nenhum tipo único de modelo pode ser considerado dominante em todas as situações.
Recentemente, a área da inteligência artificial generativa ganhou destaque com o lançamento de diversos sistemas de linguagem baseados em Large Language Models (LLM). Esses sistemas oferecem a capacidade de melhorar a produtividade em uma variedade de tarefas. Não obstante, a possibilidade de aplicar esses avanços na entrega de previsões não está distante da realidade. Com o desenvolvimento contínuo nessa área, é possível vislumbrar um futuro onde a inteligência artificial generativa desempenhe um papel significativo na produção de previsões precisas e úteis em diversos domínios.
TimeGPT
TimeGPT é uma ferramenta avançada de previsão de séries temporais, capaz de identificar padrões e tendências relevantes, capacitando-o a realizar previsões precisas sobre o futuro. Sua flexibilidade permite adaptar-se a uma variedade de séries temporais, independentemente de sua complexidade ou características específicas. Em contraste com modelos de linguagem, como o LLM, o TimeGPT é otimizado exclusivamente para tarefas de previsão, o que significa que é treinado especificamente para minimizar erros nesse contexto.
Além disso, sua capacidade de lidar com diferentes frequências e características das séries temporais o torna altamente versátil em uma variedade de cenários de previsão. Isso porque foi treinado em uma coleção de séries temporais publicamente disponíveis, abrangendo coletivamente mais de 100 bilhões de pontos de dados.
Esse conjunto de treinamento incorpora séries temporais de uma ampla variedade de domínios, incluindo finanças, economia, demografia, saúde, clima, dados de sensores IoT, energia, tráfego na web, vendas, transporte e bancos. Devido a essa ampla variedade de domínios, o conjunto de dados de treinamento contém séries temporais com uma ampla gama de características.
Com base nesse amplo conjunto de dados, o TimeGPT adquire uma compreensão abrangente de uma variedade de séries temporais não vistas, capacitando-o a realizar projeções precisas para o futuro. Isso é possível através da assimilação da série temporal no código, permitindo que o modelo extrapole com confiança para pontos futuros.
Para ver mais informações sobre a biblioteca veja aqui e aqui.
Exemplo simples: Air Passengers
Aprenda a coletar, processar e analisar dados no Workshop Do Zero à Análise de Dados Econômicos e Financeiros usando Python, se inscreva aqui!
Aplicação: IPCA
Agora, vamos usar um exemplo mais desafiador para o TimeGPT, a série do IPCA mensal e do IPCA acumulado em 12 meses. Usamos uma amostra do período de Jan/2002 até Dez/2023.
IPCA Mensal
Date | TimeGPT | |
---|---|---|
0 | 2024-01-01 | 0.506728 |
1 | 2024-02-01 | 0.701016 |
2 | 2024-03-01 | 0.672563 |
3 | 2024-04-01 | 0.608944 |
4 | 2024-05-01 | 0.405193 |
5 | 2024-06-01 | 0.272311 |
6 | 2024-07-01 | 0.051202 |
7 | 2024-08-01 | 0.105975 |
8 | 2024-09-01 | 0.207205 |
9 | 2024-10-01 | 0.388627 |
10 | 2024-11-01 | 0.466003 |
11 | 2024-12-01 | 0.552872 |
IPCA Acumulado em 12 meses
Cross validation
Um desafio fundamental na previsão de séries temporais é a incerteza ao longo do tempo, tornando crucial validar a precisão dos modelos. A validação cruzada é uma técnica robusta que proporciona insights sobre o desempenho esperado do modelo em dados não vistos, garantindo a confiabilidade das previsões antes da implementação em cenários reais. O TimeGPT incorpora a validação cruzada para simplificar esse processo, permitindo que possamos testar os modelos rigorosamente em dados históricos, ajustando-os para um desempenho ideal.
Este método emprega um esquema de janela deslizante para avaliar meticulosamente o desempenho do modelo em diferentes períodos de tempo, garantindo assim a confiabilidade e estabilidade do modelo ao longo do tempo.
Abaixo, definimos o seguintes parâmetros: horizonte de previsão igual a 6 meses, número de passos em 6 meses e número de janelas igual a 6. Como target temos o IPCA mensal e colocamos como feature adicional a variável que representa os meses da série.
Considerações
Quer aprender mais?
Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.