Atualização de 2023: Discutimos nossos planos para o futuro do Profeta nesta postagem do blog: Facebook/Profeta em 2023 e além
Profeta é um procedimento para previsão de dados de séries temporais com base em um modelo aditivo onde tendências não lineares são ajustadas à sazonalidade anual, semanal e diária, além dos efeitos dos feriados. Funciona melhor com séries temporais que apresentam fortes efeitos sazonais e várias temporadas de dados históricos. O Prophet é robusto em relação à falta de dados e às mudanças na tendência e normalmente lida bem com valores discrepantes.
Prophet é um software de código aberto lançado pela equipe Core Data Science do Facebook. Está disponível para download em CRAN e PyPI.
Prophet é um pacote CRAN, então você pode usar install.packages
.
install.packages( ' prophet ' )
Após a instalação, você pode começar!
install.packages( ' remotes ' )
remotes :: install_github( ' facebook/prophet@*release ' , subdir = ' R ' )
Você também pode escolher um back-end stan alternativo experimental chamado cmdstanr
. Depois de instalar prophet
, siga estas instruções para usar cmdstanr
em vez de rstan
como back-end:
# R
# We recommend running this in a fresh R session or restarting your current session
install.packages(c( " cmdstanr " , " posterior " ), repos = c( " https://mc-stan.org/r-packages/ " , getOption( " repos " )))
# If you haven't installed cmdstan before, run:
cmdstanr :: install_cmdstan()
# Otherwise, you can point cmdstanr to your cmdstan path:
cmdstanr :: set_cmdstan_path( path = < your existing cmdstan > )
# Set the R_STAN_BACKEND environment variable
Sys.setenv( R_STAN_BACKEND = " CMDSTANR " )
No Windows, R requer um compilador, portanto você precisará seguir as instruções fornecidas por rstan
. A etapa principal é instalar o Rtools antes de tentar instalar o pacote.
Se você tiver configurações personalizadas do compilador Stan, instale a partir do código-fonte em vez do binário CRAN.
O Prophet está no PyPI, então você pode usar pip
para instalá-lo.
python -m pip install prophet
Após a instalação, você pode começar!
O Profeta também pode ser instalado através do conda-forge.
conda install -c conda-forge prophet
Para obter as alterações de código mais recentes à medida que são mescladas, você pode clonar este repositório e compilar a partir do código-fonte manualmente. Não há garantia de que isso seja estável.
git clone https://github.com/facebook/prophet.git
cd prophet/python
python -m pip install -e .
Por padrão, o Prophet usará uma versão fixa do cmdstan
(baixando e instalando se necessário) para compilar os executáveis do modelo. Se isso não for desejado e você quiser usar sua própria instalação existente cmdstan
, poderá definir a variável de ambiente PROPHET_REPACKAGE_CMDSTAN
como False
:
export PROPHET_REPACKAGE_CMDSTAN=False ; python -m pip install -e .
Certifique-se de que os compiladores (gcc, g++, build-essential) e as ferramentas de desenvolvimento Python (python-dev, python3-dev) estejam instalados. Em sistemas Red Hat, instale os pacotes gcc64 e gcc64-c++. Se você estiver usando uma VM, saiba que precisará de pelo menos 4 GB de memória para instalar o Prophet e de pelo menos 2 GB de memória para usar o Prophet.
Usar cmdstanpy
com Windows requer um compilador C compatível com Unix, como mingw-gcc. Se o cmdstanpy for instalado primeiro, um poderá ser instalado por meio do comando cmdstanpy.install_cxx_toolchain
.
y
histórico, erro de divisão zero nas métricas de validação cruzada.NDArray[np.float_]
alterado para NDArray[np.float64]
para ser compatível com numpy 2.0 holidays
atualizados com base na versão 0.57 de feriados.scaling
de argumento à instanciação Prophet()
. Permite o escalonamento minmax
em y
em vez do escalonamento absmax
(dividindo pelo valor máximo). scaling='absmax'
por padrão, preservando o comportamento das versões anteriores.holidays_mode
à instanciação do Prophet()
. Permite que os regressores de feriados tenham um modo diferente dos regressores de sazonalidade. holidays_mode
assume o mesmo valor que seasonality_mode
se não for especificado, preservando o comportamento das versões anteriores.Prophet
: preprocess()
e calculate_initial_params()
. Eles não precisam ser chamados e não alterarão o processo de ajuste do modelo. Seu objetivo é fornecer clareza sobre as etapas de pré-processamento executadas (escalonamento y
, criação de séries de Fourier, escalonamento de regressores, definição de pontos de mudança, etc.) antes que os dados sejam passados para o modelo stan.extra_output_columns
a cross_validation()
. O usuário pode especificar colunas adicionais de predict()
para incluir na saída final junto com ds
e yhat
, por exemplo extra_output_columns=['trend']
.hdays
personalizado do profeta foi descontinuado na última versão e agora foi removido. holidays
atualizados com base na versão 0.34 de feriados.holidays
para férias no campo.holidays
atualizados com base na versão 0.25 de feriados..predict()
em até 10x removendo criações intermediárias de DataFrame.train()
e predict()
.construct_holiday_dataframe()
holidays
atualizados com base na versão 0.18 de feriados.pystan2
substituída por cmdstan
+ cmdstanpy
.stan
, cálculos de métricas de validação cruzada, feriados.holidays
e pandas
holidays
e pandas
.cmdstanpy
agora disponível em PythonProfeta é licenciado sob a licença do MIT.