prophet 是facebook 开发的一个时间序列预测算法,基本思路是将时间序列分解并做拟合求解出的,论文forecasting at scale见参考资料1。其拟合用的开原工具是pystan。prophet 提供2种语言的支持:R语言和python 语言。本篇博客主要介绍后者
本文使用的linux发行版为centos8,内核版本 4.18.0-240.15.1.el8_3.x86_64。这里的python 开发环境为anaconda3,具体安装方法可见作者之前博客。
1 找准开发环境
首先centos8 默认是安装python 的,可以使用python --version来查看,其次anaconda3又有自己python执行目录,如果使用anaconda3作开发,则需要在anaconda的python执行目录里安装。centos 下安装anaconda3 同windows 下不一样,window 下安装anaconda后会生成一个快捷方式文件夹,里面有prompt ,打开使用pip 安装或conda 安装便是安装在anaconda里的python 目录。在centos 8下,直接使用pip 安装有可能会安装在默认python 目录(/usr/bin)下,导致anaconda3 无法使用。为了正确的安装在anaconda3下,可以进入anaconda3的安装目录,作者的是/home/xxx/anaconda3/bin,这是anaconda3的安装执行目录,其中xxx代表用户名,然后使用此目录下的可执行文件执行
例如:
./python --version
linux 下. 代表当前目录,此命令即是用当前目录下的python 执行文件查看安装的python 版本。这个版本可能和机子自带版本不同
剩下的就是逐个安装软件包了
2 逐个安装软件包
本篇博客使用pip 安装。安装之前可以先更新以下pip 版本,否则容易
./python -m pip install --upgrade pip
不更新的话,最后安装fbprophet的时候可能会报
ERROR: Failed building wheel for fbprophet
更新后,依次安装:
dnf install gcc
dnf install gcc-c++
./pip install -i https://pypi.doubanio.com/simple/ numpy
./pip install -i https://pypi.doubanio.com/simple/ pandas
./pip install -i https://pypi.doubanio.com/simple/ plotly
./pip install -i https://pypi.doubanio.com/simple/ matplotlib
./pip install -i https://pypi.doubanio.com/simple/ pystan~=2.14
./pip install -i https://pypi.doubanio.com/simple/ fbprophet
安装pystan 的时候如果使用./pip install -i https://pypi.doubanio.com/simple/ pystan 直接安装,可能会报错:
ERROR: Could not find a version that satisfies the requirement httpstan<4.6,>=4.5 (from pystan) (from versions: 0.2.5, 0.3.0, 0.3.1, 0.4.0, 0.5.0, 0.6.0, 0.7.2, 0.7.3, 0.7.5, 0.7.6, 0.8.0, 0.9.0, 0.10.1, 1.1.0, 1.1.1, 1.1.2, 1.1.4, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.1.0, 2.2.0, 2.3.0, 4.0.0, 4.1.0, 4.2.1, 4.3.0, 4.3.1, 4.3.2, 4.4.0, 4.4.1, 4.4.2)
ERROR: No matching distribution found for httpstan<4.6,>=4.5 (from pystan)
看了参考资料2后,可以正确安装
上述的安装也可以在打开的jupyter notebook 中执行,!使用的是系统的shell
!dnf install gcc
!dnf install gcc-c++
pip 的安装同上(注意不能加!),这样的安装也是安装在anaconda3的python 目录下
3 验证
在jupyter notebook 执行
import numpy
import pandas
import mystan
import fbprophet
没有报错,便安装成功
参考资料:
1 forecasting at scale.https://peerj.com/preprints/3190.pdf
2 https://blog.csdn.net/lizzy05/article/details/116280565