A previsão de séries temporais é uma tarefa crítica em muitas áreas, incluindo economia, finanças e negócios. Neste artigo, exploraremos o uso do Modelo Prophet para prever o consumo das famílias, uma métrica chave usada para avaliar o comportamento econômico. Desenvolvido pelo Facebook, o Prophet é um modelo robusto e fácil de usar, especialmente para séries temporais com componentes sazonais, feriados e tendências.
O Que é o Modelo Prophet?
O Prophet é um modelo de séries temporais baseado em decomposição aditiva, onde a série temporal é modelada como a soma de três componentes principais:
- Tendência: Representa a evolução a longo prazo da série.
- Sazonalidade: Captura variações sazonais recorrentes (ex: padrões mensais ou anuais).
- Feriados/Eventos: Captura o impacto de eventos especiais que afetam a série.
O Prophet é projetado para lidar com dados que possuem sazonalidade múltipla, valores ausentes, e mudanças na tendência.
Implementação do Modelo Prophet para Prever o Consumo das Famílias
- Configuração do Ambiente
Antes de começarmos, precisamos instalar e carregar a biblioteca Prophet:
bash
Copiar código
pip install prophet
python
Copiar código
import pandas as pd from prophet import Prophet import matplotlib.pyplot as plt
- Carregamento dos Dados
Neste exemplo, vamos assumir que temos uma série temporal representando o consumo das famílias ao longo dos últimos anos. Para simplificação, utilizaremos um conjunto de dados hipotético:
python
Copiar código
# Criando um conjunto de dados simulado de consumo das famílias data = { 'ds': pd.date_range(start='2018-01-01', periods=48, freq='M'), 'y': [250, 260, 270, 265, 275, 290, 300, 310, 320, 330, 335, 345, 350, 355, 360, 370, 380, 390, 395, 400, 405, 410, 420, 425, 430, 435, 440, 445, 455, 460, 465, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630] } df = pd.DataFrame(data)
- Ajuste do Modelo
Com os dados prontos, podemos agora ajustar o modelo Prophet:
python
Copiar código
# Inicializando e ajustando o modelo Prophet model = Prophet() model.fit(df)
- Previsão
Vamos agora realizar a previsão para os próximos 12 meses:
python
Copiar código
# Criando um DataFrame para 12 meses futuros future = model.make_future_dataframe(periods=12, freq='M') # Realizando a previsão forecast = model.predict(future) # Exibindo as últimas previsões forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail(12)
- Visualização dos Resultados
Podemos visualizar as previsões em conjunto com os dados históricos:
python
Copiar código
# Plotando as previsões junto com os dados históricos fig = model.plot(forecast) plt.title('Previsão de Consumo das Famílias') plt.xlabel('Data') plt.ylabel('Consumo') plt.show()
Além disso, podemos analisar os componentes da previsão, como tendência e sazonalidade:
python
Copiar código
# Plotando os componentes da previsão fig2 = model.plot_components(forecast) plt.show()
Interpretação dos Resultados
- Previsão: A linha azul no gráfico representa a previsão do consumo das famílias para os próximos 12 meses. As bandas sombreadas mostram os intervalos de confiança (superior e inferior) para essas previsões.
- Tendência: A análise dos componentes do modelo mostrará a tendência subjacente ao longo do tempo, permitindo identificar períodos de crescimento ou declínio.
- Sazonalidade: A sazonalidade capturada pelo modelo pode indicar variações no consumo ao longo do ano, como picos durante as festas de fim de ano ou quedas em meses específicos.
O Modelo Prophet oferece uma maneira poderosa e intuitiva de prever séries temporais com sazonalidade e tendência complexas. Neste artigo, aplicamos o Prophet para prever o consumo das famílias, um indicador econômico crucial. As previsões geradas pelo Prophet são valiosas para a tomada de decisões estratégicas em várias áreas, como planejamento financeiro, marketing e política econômica. O uso do Prophet em Python, como mostrado, é direto e pode ser adaptado a diversos tipos de séries temporais.
Quer saber mais sobre Modelo Prophet?
https://colab.research.google.com/drive/1J4W7-oLk69ktu_ZcApPXeTGY23VGWzQo?usp=sharing
Entre em contato comigo através do link:
#estatistica #inovacao #exame #natxtat #popstat #aulaparticular