单变量的时间序列预测有很多模型,如LSTM,GRU,RNN,ANN,RBFNN,AR,MA,ARMA,ARIMA等,还有模型的双向版本(如BiLSTM),这些网上的参考资料很多,不再赘述。今天偶然间发现了fbprophet,顺便弄了一个demo。
IDE:conda+pycharm。
直接使用pip安装fbprophet会报错,因为前置依赖库较多,且版本号要满足,最终我使用清华的镜像安装成功了。
如果缺少Microsoft Visual C++ 14.0,则下载一个visual studio installer,https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019,安装一下visual studio,就可以搞定了。
如果报错是plotly,则install plotly即可。
如果报错Exception ignored in: 'stanfit4anon_model,就把pystan下载了,并把conda下边site-packages里pystan包删干净,同时在用户下边AppData\Local\Temp里,把pystan的缓存删了,然后在重新安装,就可以了。
但是pip install pystan的时候,要注意版本至少是2.19.1.1,把这个库一定安装一下,然后使用pip install fbprophet,应该可以成功。如果失败了,使用conda install -c conda-forge fbprophet来安装,前置库会自动安装,还是比较多的,还可能存在一些库的版本更新(见下图)。如果还有意外,就检查一下镜像和网络,等网络较好的时候在试试。如果报错metric_file或者INFO:numexpr,还是pystan或者MVC库没有装好,卸载了重新安装就行了。
安装好了以后,就可以使用了,下面写了一个非常简单的demo,某地的需水预测。使用的数据是某地的逐日供水量数据,如下。
import pandas as pd
import numpy as np
from fbprophet import Prophet