Prevendo Demanda de Energia usando TimeGPT no Python

Introdução

Algumas séries temporais são geradas a partir de dados de frequência muito baixa. Esses dados geralmente exibem múltiplas sazonalidades. Por exemplo, dados horários podem exibir padrões repetidos a cada hora (a cada 24 observações) ou a cada dia (a cada 24 * 7, horas por dia, observações). Esse é o caso da carga elétrica. A carga elétrica pode variar por hora, por exemplo, durante as noites, no Brasil, espera-se uma queda no consumo de eletricidade. Mas também, a carga elétrica varia por semana. Talvez no caso brasileiro, fins de semana haja uma queda na atividade elétrica.

Outro aspecto crucial a ser observado em séries temporais de carga de energia é a tendência. No contexto brasileiro, observa-se claramente uma tendência ascendente, em grande parte devido ao contínuo crescimento econômico do país.

Quando lidamos com séries temporais que exibem tais padrões, torna-se imperativo empregar modelos capazes de identificá-los com precisão. Modelos de Machine Learning voltados para análise de Séries Temporais, como LightGBM ou até mesmo Prophet, destacam-se como as opções mais adequadas para abordar esses cenários complexos.

Entretanto, um método novo que podemos utilizar consiste no TimeGPT, um tipo de modelo de Inteligência Artificial do tipo fundacional (foundational model).

O código em Python completo deste exercício está disponível para os membros do  Clube AM.

TimeGPT

TimeGPT é uma ferramenta avançada de previsão de séries temporais, capaz de identificar padrões e tendências, permitindo realizar previsões. 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. Já abordamos na Análise Macro como usar o TimeGPT no Python, para mais detalhes, acesse os exercícios TimeGPT e a previsão automática usando IA no Python e Modelagem preditiva de séries temporais hierárquicas no Python usando TimeGPT ou veja mais sobre a biblioteca em seu site.

Dados

Utilizamos os dados de Carga Horária de Eletricidade Nacional de 4 regiões do Brasil (Norte, Nordeste, Sul e Sudeste) medido pela ONS (em MW). Os valores estão em periodicidade horária, de Jan/2015 até Dez/2023.

Na figura abaixo, observamos as séries de demanda de energia para as quatro regiões em uma subamostra. É evidente a presença de padrões sazonais em cada uma das séries. Se analisássemos uma amostra maior, seria possível identificar com mais clareza a tendência ao longo do tempo.

Previsão usando TimeGPT

Após separar os dados em treino e teste, realizamos a previsão da série utilizando o modelo TimeGPT. Na figura abaixo, comparamos as previsões geradas para o conjunto de treino com os dados reservados para teste.

Para avaliar o desempenho do modelo de forma mais clara, podemos compará-lo com outros modelos. Nesse caso, utilizamos um modelo ingênuo e o LightGBM. A figura a seguir apresenta os resultados obtidos pelo modelo LightGBM.

Por fim, para avaliar a acurácia das previsões, utilizamos as métricas MAE e sMAPE nos diferentes modelos. Com base nesses resultados, podemos afirmar que, em média, para os dados e a amostra utilizados, o TimeGPT apresentou um desempenho superior.

Código
metric
mae      620.826382
smape      0.015314
Name: TimeGPT, dtype: float64
naive lgbm
metric
mae 12777.692218 1492.605282
smape 0.272524 0.047985

Tenha acesso ao código e suporte desse e de mais 500 exercícios no Clube AM!

Quer o código desse e de mais de 500 exercícios de análise de dados com ideias validadas por nossos especialistas em problemas reais de análise de dados do seu dia a dia? Além de acesso a vídeos, materiais extras e todo o suporte necessário para você reproduzir esses exercícios? Então, fale com a gente no Whatsapp e veja como fazer parte do Clube AM, clicando aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como coletar dados para relatórios de câmbio com Python

O monitoramento do mercado cambial permite tomar melhores decisões de consumo e investimento, por sua influência em diversos preços da economia. Neste artigo, mostramos rotinas simples de Python para coleta e análise de dados que são comumente utilizados em relatórios de câmbio.

Sumarizando divulgações trimestrais de empresas usando IA no Python

Neste exercício, iremos utilizar a inteligência artificial no Python para analisar e sumarizar divulgações trimestrais de empresas. Focaremos no uso de ferramentas como Gemini e técnicas de processamento de linguagem natural para extrair informações de documentos PDF relacionados aos relatórios financeiros das empresas.

Prevendo efeitos de mudanças de preços em produtos usando TimeGPT

O exercício explora como prever os efeitos de mudanças nos preços de produtos utilizando o TimeGPT, uma ferramenta de previsão de séries temporais no Python. Usando elasticidade-preço, é possível medir a resposta da demanda a variações de preço. O exemplo prático utiliza dados de vendas de abacates nos EUA.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.