Обновление 2023 года. В этом сообщении блога мы обсуждаем наши планы на будущее Prophet: Facebook/Prophet в 2023 году и далее.
Пророк — это процедура прогнозирования данных временных рядов, основанная на аддитивной модели, в которой нелинейные тенденции соответствуют годовой, еженедельной и ежедневной сезонности, а также эффектам праздников. Лучше всего он работает с временными рядами, имеющими сильные сезонные эффекты, и историческими данными за несколько сезонов. Prophet устойчив к отсутствующим данным и изменениям тренда и обычно хорошо справляется с выбросами.
Prophet — это программное обеспечение с открытым исходным кодом, выпущенное командой Facebook Core Data Science. Он доступен для загрузки на CRAN и PyPI.
Prophet — это пакет CRAN, поэтому вы можете использовать install.packages
.
install.packages( ' prophet ' )
После установки можно приступать к работе!
install.packages( ' remotes ' )
remotes :: install_github( ' facebook/prophet@*release ' , subdir = ' R ' )
Вы также можете выбрать экспериментальный альтернативный бэкэнд stan под названием cmdstanr
. После установки prophet
следуйте этим инструкциям, чтобы использовать cmdstanr
вместо rstan
в качестве серверной части:
# 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 " )
В Windows для R требуется компилятор, поэтому вам нужно будет следовать инструкциям rstan
. Ключевым шагом является установка Rtools перед попыткой установки пакета.
Если у вас есть собственные настройки компилятора Stan, устанавливайте его из исходного кода, а не из двоичного файла CRAN.
Prophet работает на PyPI, поэтому для его установки можно использовать pip
.
python -m pip install prophet
После установки можно приступать к работе!
Пророка также можно установить через conda-forge.
conda install -c conda-forge prophet
Чтобы получать последние изменения кода по мере их слияния, вы можете клонировать этот репозиторий и выполнить сборку из исходного кода вручную. Это не гарантирует стабильность.
git clone https://github.com/facebook/prophet.git
cd prophet/python
python -m pip install -e .
По умолчанию Prophet будет использовать фиксированную версию cmdstan
(загрузив и установив ее при необходимости) для компиляции исполняемых файлов модели. Если это нежелательно и вы хотите использовать собственную существующую установку cmdstan
, вы можете установить для переменной среды PROPHET_REPACKAGE_CMDSTAN
значение False
:
export PROPHET_REPACKAGE_CMDSTAN=False ; python -m pip install -e .
Убедитесь, что установлены компиляторы (gcc, g++, build-essential) и инструменты разработки Python (python-dev, python3-dev). В системах Red Hat установите пакеты gcc64 и gcc64-c++. Если вы используете виртуальную машину, имейте в виду, что вам потребуется как минимум 4 ГБ памяти для установки Prophet и как минимум 2 ГБ памяти для использования Prophet.
Для использования cmdstanpy
в Windows требуется Unix-совместимый компилятор C, например mingw-gcc. Если сначала установлен cmdstanpy, его можно установить с помощью команды cmdstanpy.install_cxx_toolchain
.
y
в истории, ошибка деления на ноль в метриках перекрестной проверки.NDArray[np.float_]
на NDArray[np.float64]
для совместимости с numpy 2.0. holidays
на основе версии праздников 0.57.scaling
аргументов для реализации Prophet()
. Позволяет масштабировать minmax
по y
вместо масштабирования absmax
(деление на максимальное значение). scaling='absmax'
по умолчанию, сохраняя поведение предыдущих версий.holidays_mode
в реализацию Prophet()
. Позволяет регрессорам праздников иметь другой режим, чем регрессоры сезонности. holidays_mode
принимает то же значение, что и seasonality_mode
, если оно не указано, сохраняя поведение предыдущих версий.Prophet
добавлены два метода: preprocess()
и calculate_initial_params()
. Их не нужно вызывать, и они не изменят процесс подбора модели. Их цель — обеспечить ясность предпринятых шагов предварительной обработки (масштабирование по y
, создание ряда Фурье, масштабирование регрессора, установка точек изменения и т. д.) перед передачей данных в становую модель.extra_output_columns
в cross_validation()
. Пользователь может указать дополнительные столбцы из predict()
для включения в конечный результат наряду с ds
и yhat
, например extra_output_columns=['trend']
.hdays
устарел в прошлой версии и теперь удален. holidays
на основе версии праздников 0.34.holidays
пакет для загородного отдыха.holidays
на основе версии праздников 0.25..predict()
до 10 раз за счет удаления промежуточных созданий DataFrame.train()
и predict()
.construct_holiday_dataframe()
holidays
на основе версии праздников 0.18.pystan2
заменена на cmdstan
+ cmdstanpy
.stan
, расчете метрик перекрестной проверки, праздниках.holidays
и pandas
holidays
и pandas
.cmdstanpy
теперь доступна на PythonПророк лицензируется по лицензии MIT.