Actualización de 2023: Discutimos nuestros planes para el futuro de Prophet en esta publicación de blog: facebook/profhet en 2023 y más allá
Prophet es un procedimiento para pronosticar datos de series temporales basado en un modelo aditivo donde las tendencias no lineales se ajustan a la estacionalidad anual, semanal y diaria, además de los efectos de las vacaciones. Funciona mejor con series temporales que tienen fuertes efectos estacionales y varias temporadas de datos históricos. Prophet es resistente a los datos faltantes y a los cambios en la tendencia y, por lo general, maneja bien los valores atípicos.
Prophet es un software de código abierto lanzado por el equipo Core Data Science de Facebook. Está disponible para descargar en CRAN y PyPI.
Prophet es un paquete CRAN, por lo que puedes usar install.packages
.
install.packages( ' prophet ' )
Después de la instalación, ¡puedes comenzar!
install.packages( ' remotes ' )
remotes :: install_github( ' facebook/prophet@*release ' , subdir = ' R ' )
También puede elegir un backend experimental alternativo llamado cmdstanr
. Una vez que haya instalado prophet
, siga estas instrucciones para usar cmdstanr
en lugar de rstan
como backend:
# 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 " )
En Windows, R requiere un compilador, por lo que deberás seguir las instrucciones proporcionadas por rstan
. El paso clave es instalar Rtools antes de intentar instalar el paquete.
Si tiene una configuración personalizada del compilador Stan, instálelo desde el código fuente en lugar del binario CRAN.
Prophet está en PyPI, por lo que puedes usar pip
para instalarlo.
python -m pip install prophet
Después de la instalación, ¡puedes comenzar!
Prophet también se puede instalar a través de conda-forge.
conda install -c conda-forge prophet
Para obtener los últimos cambios de código a medida que se fusionan, puede clonar este repositorio y compilarlo desde el código fuente manualmente. No se garantiza que esto sea estable.
git clone https://github.com/facebook/prophet.git
cd prophet/python
python -m pip install -e .
De forma predeterminada, Prophet utilizará una versión fija de cmdstan
(descargándola e instalándola si es necesario) para compilar los ejecutables del modelo. Si esto no es lo deseado y desea utilizar su propia instalación cmdstan
existente, puede configurar la variable de entorno PROPHET_REPACKAGE_CMDSTAN
en False
:
export PROPHET_REPACKAGE_CMDSTAN=False ; python -m pip install -e .
Asegúrese de que los compiladores (gcc, g++, build-essential) y las herramientas de desarrollo de Python (python-dev, python3-dev) estén instalados. En sistemas Red Hat, instale los paquetes gcc64 y gcc64-c++. Si está utilizando una máquina virtual, tenga en cuenta que necesitará al menos 4 GB de memoria para instalar Prophet y al menos 2 GB de memoria para utilizar Prophet.
El uso de cmdstanpy
con Windows requiere un compilador de C compatible con Unix, como mingw-gcc. Si cmdstanpy se instala primero, se puede instalar uno mediante el comando cmdstanpy.install_cxx_toolchain
.
y
historial, error de división cero en métricas de validación cruzada.NDArray[np.float_]
a NDArray[np.float64]
para que sea compatible con numpy 2.0 holidays
actualizados basados en la versión 0.57 de vacaciones.scaling
de argumentos a la creación de instancias Prophet()
. Permite la escala minmax
en y
en lugar de la escala absmax
(dividiendo por el valor máximo). scaling='absmax'
de forma predeterminada, preservando el comportamiento de versiones anteriores.holidays_mode
a la creación de instancias Prophet()
. Permite que los regresores de vacaciones tengan un modo diferente al de los regresores de estacionalidad. holidays_mode
toma el mismo valor que seasonality_mode
si no se especifica, preservando el comportamiento de versiones anteriores.Prophet
: preprocess()
y calculate_initial_params()
. No es necesario llamarlos y no cambiarán el proceso de ajuste del modelo. Su propósito es proporcionar claridad sobre los pasos previos al procesamiento realizados (escalado y
, creación de series de Fourier, escalado de regresor, establecimiento de puntos de cambio, etc.) antes de que los datos pasen al modelo stan.extra_output_columns
a cross_validation()
. El usuario puede especificar columnas adicionales de predict()
para incluirlas en el resultado final junto con ds
y yhat
, por ejemplo extra_output_columns=['trend']
.hdays
personalizado de Prophet quedó obsoleto en la última versión y ahora se eliminó. holidays
actualizados basados en la versión 0.34 de vacaciones.holidays
para las vacaciones en el campo.holidays
actualizados basados en la versión 0.25 de vacaciones..predict()
hasta 10 veces eliminando las creaciones intermedias de DataFrame.train()
y predict()
.construct_holiday_dataframe()
holidays
actualizados basados en la versión 0.18 de vacaciones.pystan2
con cmdstan
+ cmdstanpy
.stan
, cálculos de métricas de validación cruzada, días festivos.holidays
y pandas
holidays
y pandas
.cmdstanpy
ahora está disponible en PythonProphet tiene licencia del MIT.