先知:自动预测程序
PROPHET是一个基于加性模型预测时间序列数据的过程,其中非线性趋势符合年度、每周和每日季节性,加上假日影响。它最适用于具有强烈季节性影响的时间序列和几个季节的历史数据。Prophet对丢失的数据和趋势中的变化很健壮,通常能很好地处理离群值
先知是open source software由Facebook‘s发布Core Data Science team该软件可在以下网址下载CRAN和PyPI
重要链接
- 主页:https://facebook.github.io/prophet/
- HTML文档:https://facebook.github.io/prophet/docs/quick_start.html
- 问题跟踪器:https://github.com/facebook/prophet/issues
- 源代码存储库:https://github.com/facebook/prophet
- 贡献:https://facebook.github.io/prophet/docs/contributing.html
- Prophet R包:https://cran.r-project.org/package=prophet
- Prophet Python包:https://pypi.python.org/pypi/prophet/
- 发布博客帖子:https://research.fb.com/prophet-forecasting-at-scale/
- 先知论文:肖恩·J·泰勒(Sean J.Taylor),本杰明·莱瑟姆(Benjamin Letham)(2018)规模预测。美国统计学家72(1):37-45(https://peerj.com/preprints/3190.pdf)
在R中安装
先知是一个CRAN package所以你可以使用install.packages
install.packages('prophet')
安装后,您可以get started!
实验后端-cmdstanr
您还可以选择名为Stan Backend的试验性替代方案cmdstanr
一旦您安装了prophet
,请按照以下说明使用cmdstanr
而不是rstan
作为后端:
# R # We recommend running this is 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需要编译器,因此您需要follow the instructions由以下人员提供rstan
关键步骤是安装Rtools在尝试安装软件包之前
如果您有自定义的Stan编译器设置,请从源文件安装,而不是从cran二进制文件安装
在Python中安装
Prophet在PyPI上,所以您可以使用pip
来安装它。从v0.6开始,不再支持Python2。从v1.0开始,pyi上的包名是“prophet”;在v1.0之前,它是“fbprophet”。
# Install pystan with pip before using pip to install prophet # pystan>=3.0 is currently not supported
pip install pystan==2.19.1.1
pip install prophet
Prophet的默认依赖项是pystan
PyStan有自己的installation instructions先用pip安装pystan,然后再使用pip安装prophet
实验后端-cmdstanpy
您还可以选择一个(更具实验性的)替代Stan后端,名为cmdstanpy
它需要CmdStan命令行界面,并且您必须指定环境变量STAN_BACKEND
指向它,例如:
# bash
$ CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=CMDSTANPY pip install prophet
请注意,CMDSTAN
变量直接与cmdstanpy
模块,如果您的CmdStan二进制文件位于$PATH
还可以安装带有两个后端的Prophet:
# bash
$ CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=PYSTAN,CMDSTANPY pip install prophet
安装后,您可以get started!
如果升级系统上安装的PyStan版本,可能需要重新安装Premiet(see here)
python
使用conda install gcc
让GCC下台。安装Prophet的最简单方法是通过Conda-Forge:conda install -c conda-forge prophet
窗口
在Windows上,PyStan需要编译器,因此您需要follow the instructions在Windows中安装Prophet的最简单方法是在python中安装
Linux操作系统
确保安装了编译器(GCC、g++、build-Essential)和Python开发工具(python-dev、python3-dev)。在Red Hat系统中,安装软件包gcc64和gcc64-c++。如果您使用的是虚拟机,请注意安装PROPEET至少需要4 GB内存,使用PROPEET至少需要2 GB内存
更改日志
版本1.0(2021.03.28)
- Python包名称从fbprophet更改为prophet
- 修复了R Windows构建问题,以在CRAN上恢复最新版本
- 改进了序列化、假期和R时区处理
- 打印方面的改进
0.7版(2020.09.05)
- 内置json序列化
- 增加了“持平”增长选项
- 与以下相关的错误修复
holidays
和pandas
- 打印方面的改进
- 交叉验证方面的改进,例如并行化和直接指定截止时间
版本0.6(2020.03.03)
- 修复与上游更改相关的错误
holidays
和pandas
包裹 - 在第一次使用时编译模型,而不是在安装期间(以符合CRAN策略)
cmdstanpy
后端现已在Python中提供- 不再支持Python 2
版本0.5(2019.05.14)
- 条件季节性
- 改进的交叉验证估计
- Python中的绘图
- 错误修复
版本0.4(2018.12.18)
- 添加了假日功能
- 错误修复
0.3版(2018.06.01)
- 乘性季节性
- 交叉验证错误度量和可视化
- 用于设置潜在变化点范围的参数
- 两种趋势类型的统一STAN模型
- 改善了分日数据的未来趋势不确定性
- 错误修复
版本0.2.1(2017.11.08)
- 错误修复
0.2版(2017.09.02)
- 利用分日数据进行预测
- 每日季节性和自定义季节性
- 额外回归变量
- 获得后验预测样本
- 交叉验证函数
- 饱和最小值
- 错误修复
版本0.1.1(2017.04.17)
- 错误修复
- 用于检测年度和每周季节性的新选项(现在是默认设置)
版本0.1(2017.02.23)
- 初始版本
许可证
Prophet是根据MIT license