Sazonalidade Múltipla - Entendendo a sazonalidade do consumo de energia elétrica

É comum encontrar em dados de Séries Temporais o componente de sazonalidade, entretanto, é possível haja mais de um ponto sazonal na série. Para tanto, é possível capturar as múltiplas sazonalidades de uma série por meio do uso de um MSTL. No post de hoje, iremos usar o Python para obter as múltiplas sazonalidades da série de consumo de energia do Brasil.

O primeiro passo é capturar os dados  de carga de energia, em MWmed, referente ao Consumo de Energia por meio do site da ONS. Realizamos o procedimento de forma manual, baixando o arquivo .csv. A seguir, importamos o arquivo no Python.


import pandas as pd



from datetime import datetime

dateparse = lambda x: datetime.strptime(x, '%d/%m/%Y')
df = (
    pd.read_csv("/content/energia.csv",
                      sep = ';',
                      index_col = False,
                      decimal = ',',
                      dtype = {'carga' : 'float'},
                      parse_dates = ['date'],
                      date_parser=dateparse)
    .rename(columns = {'carga' : 'y',
                       'date' : 'ds'})
    .assign(unique_id = 'carga')
    )



import seaborn as sns
from matplotlib import pyplot as plt
sns.set()
plt.figure(figsize = (15,7))
sns.lineplot(x = 'ds', y = 'y', data = df)

A partir do entendimento da série e do consumo de energia no país, vamos extrair a sazonalidade semanal e anual por meio de um MSTL (Multiple Seasonal-Trend decompositions with LOESS). Para implementar o modelo, utilizaremos a biblioteca statsforecast, que possibilita não somente a criar o modelo, mas obter a decomposição e até mesmo realizar uma previsão da série.
Todo o código criado no Python,  que possibilita obter a sazonalidade e os gráficos abaixo, você pode obter através do Clube AM, o repositório especial da Análise Macro, no qual compartilhamos códigos de R e Python comentados com vídeo aulas.
Vamos analisar a decomposição por meio de três janelas, uma série inteira, outra de 3 anos da série e outra de somente 1 ano. Isso possibilita entender todos os componentes.

Série Completa

A partir da série completa, é possível entender que a tendência obviamente segue o crescimento do consumo de energia elétrica no país devido ao crescimento econômico, bem como populacional. Em relação a sazonalidade, é possível compreender que de fato há um efeito anual visualizando a sazonalidade em 365 dias, já a sazonalidade em 7 dias é difícil de compreender visualmente devido a frequência da série.

Série em 3 anos

Visualmente é mais fácil compreender a sazonalidade em uma janela menor, podendo entender a sazonalidade em 7 dias, devido ao fato de possuir menos observações na série. Em relação a sazonalidade em 365 dias, já possível enxergar o efeito dos meses (o que pode ser inclusive uma justificativa para adicionar mais sazonalidades no modelo MSTL).

Série em 1 ano

Por fim, no último ano da série analisada (2019), é possível de fato compreender a sazonalidade em 7 dias, bem como o efeito do meio do ano na série.

________________________________________________

Quer se aprofundar no assunto?

Alunos da trilha de Ciência de dados para Economia e Finanças  possuem acesso o curso Analise de dados Macroeconômicos e Financeiros e podem aprender a como construir projetos que envolvem dados reais usando modelos econométricos e de Machine Learning com o R.

Referências
Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts: Melbourne, Australia. OTexts.com/fpp3.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

PIB do terceiro trimestre surpreende a todos

Os resultados do PIB divulgado pelo IBGE para o terceiro trimestre do ano mostraram que a economia permanece bem aquecida, mas menos do que o mercado esperava. Internamente na Análise Macro, nossos modelos projetavam um crescimento menor do que o ocorrido. O hiato do produto positivo ajuda a explicar as surpresas.

Como gerar cenários para modelos de previsão no Python?

Gerar cenários para as variáveis exógenas é uma etapa crucial da modelagem preditiva, pois é o que define a trajetória projetada da variável de interesse. Diferentemente dos modelos univariados, aqui precisamos informar os valores futuros das variáveis independentes para prever a variável dependente. Há diversas formas de fazer isso e neste exercício mostramos algumas possibilidades aplicadas à previsão do IPCA usando Python.

Resultado PIMPF - Novembro/2024

A Análise Macro apresenta os resultados da PIMPF de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.