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

Análise de Criptomoedas com Python

Aprenda a estruturar um pipeline de dados financeiros com Python. Ensinamos a construção de um dashboard automatizado para coleta, tratamento e visualização de criptomoedas via API.

Como Construir um Monitor de Política Monetária Automatizado com Python?

Descubra como transformar dados do Banco Central em inteligência de mercado com um Monitor de Política Monetária Automatizado. Neste artigo, exploramos o desenvolvimento de uma solução híbrida (Python + R) que integra análise de sentimento das atas do COPOM, cálculo da Regra de Taylor e monitoramento da taxa Selic. Aprenda a estruturar pipelines ETL eficientes e a visualizar insights econômicos em tempo real através de um dashboard interativo criado com Shiny, elevando o nível das suas decisões de investimento.

Qual o efeito de um choque de juros sobre a inadimplência?

Neste exercício, exploramos a relação dinâmica entre o custo do crédito (juros na ponta) e o risco realizado (taxa de inadimplência) através de uma análise exploratória de dados e modelagem econométrica utilizando a linguagem de programação R.

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.