时序预测之四_Prophet时序模型
时序预测之四 _Prophet 时序模型
1. 说明
Prophet 是 FaceBook 开源的时序框架。非常简单实用,你不需要理解复杂的公式,看图,调参,调用十几行代码即可完成从数据输入到分析的全部工作,可谓懒人之利器。
在效果方面,我在同一项目中尝试了 ARIMA,将星期和节假日作为特征代入 GBDT,Prophet,相对来说,Prophet 效果最好,当然这与数据有关,也不能一概而论。总之,Prophet 效果挺好的,训练速度也挺快。
Prophet 的原理是分析各种时间序列特征:周期性、趋势性、节假日效应,以及部分异常值。在趋势方面,它支持加入变化点,实现分段线性拟合。在周期方面,它使用傅里叶级数(Fourier series)来建立周期模型 (sin+cos),在节假和突发事件方面,用户可以通过表的方式指定节假日,及其前后相关的 N 天。可将 Prophet 视为一种针对时序的集成解决方案。
使用 Prophet 具体使用步骤就是:根据格式要求填入训练数据,节假日数据,指定要预测的时段,然后训练即可。除了预测具体数值,Prophet 还将预测结果拆分成 trend, year, season, week 等成份,并提供了各成份预测区间的上下边界。不仅是预测工具,也是一个很好的统计分析工具。
当然 Prophet 也有它的弱项,比如可调节的参数不多,不支持与其时序特征结合等等,不过这些也可以通过预测处理和模型融合来解决。
2. 安装
在 Ubuntu 系统中可通过以下命令安装 prophet:
1 | $ sudo pip install fbprophet |
通过以下命令下载源码(下面例程中用到了源码中的数据,请先下载源码)
1 | $ git clone https://github.com/facebookincubator/prophet.git |
3. 例程
具体使用可参考源码的 notebook 目录中的例程,很多中文例程都使用了其中的 quick_start.ipynb,代码在下面列出。
1 | import pandas as pd |
趋势,周期分析图
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.