Prophet: previsão de séries temporais do Facebook

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Prophet – previsão de séries temporais do Facebook: guia completo de análise de dados

Introdução ao Prophet

Prophet é uma poderosa biblioteca de código aberto desenvolvida pela equipe do Facebook (Meta) para previsão de séries temporais. A biblioteca foi criada para resolver problemas práticos de previsão em cenários reais de negócios, onde os dados podem conter lacunas, outliers e padrões sazonais complexos.

A principal vantagem do Prophet está na sua capacidade de identificar e modelar automaticamente padrões temporais complexos, sem a necessidade de um conhecimento profundo de métodos estatísticos. Isso torna a biblioteca acessível a uma ampla gama de analistas e profissionais de dados.

História de criação e desenvolvimento da biblioteca

O Prophet foi apresentado pela primeira vez em 2017 por pesquisadores do Facebook Core Data Science Team. A biblioteca foi criada para resolver problemas específicos da empresa na previsão de várias métricas, desde a atividade dos usuários até o planejamento de infraestrutura.

Os principais desenvolvedores foram Sean Taylor e Ben Letham, que buscaram criar uma ferramenta que combinasse rigor estatístico com aplicabilidade prática. Em 2018, foi lançada a versão para R e, posteriormente, a biblioteca foi portada para Python.

Fundamentos matemáticos e princípios de funcionamento

Modelo aditivo do Prophet

Modelagem da tendência

O Prophet suporta dois tipos de tendências:

Tendência linear: [ g(t) = (k + a(t)^T \delta) \cdot t + (m + a(t)^T \gamma) ]

Tendência logística: [ g(t) = \frac{C(t)}{1 + \exp(-(k + a(t)^T \delta)(t - (m + a(t)^T \gamma)))} ]

onde [ C(t) ] é a capacidade máxima (carrying capacity), [ k ] é a taxa de crescimento base, [ \delta ] são as mudanças na taxa de crescimento nos pontos de mudança de tendência.

Componente sazonal

A sazonalidade é modelada usando séries de Fourier:

onde [ P ] é o período de sazonalidade, [ N ] é o número de harmônicos (fourier_order).

Instalação e configuração do ambiente

Instalação básica

pip install prophet

Instalação com dependências adicionais

pip install prophet[plot]
pip install plotly  # para visualização interativa

Instalação para diferentes sistemas operacionais

Windows:

pip install pystan
pip install prophet

macOS:

brew install gcc
pip install prophet

Linux (Ubuntu/Debian):

sudo apt-get install build-essential
pip install prophet

Importando a biblioteca

from prophet import Prophet
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from prophet.plot import plot_plotly, plot_components_plotly

Recommendations