时间序列预测:Prophet模型

目录

1. 简介

2. 适用条件

3. 安装教程

4. 使用详解

5. 参考内容


1. 简介

        Prophet是FaceBook开源的时序框架,目前支持R语言和python语言。托管在github上。

        Prophet的原理是分析各种时间序列特征:周期性、趋势性、节假日效应,以及部分异常值。Prophet充分的将业务背景知识和统计知识融合起来,它让我们可以用简单直观的参数进行高精度的时间序列预测,并且支持自定义季节和节假日的影响。

        趋势性方面,它支持加入变化点,实现分段线性拟合;周期方面,它使用傅里叶级数(Fourier series)来建立周期模型(sin+cos);在节假和突发事件方面,用户可以通过表的方式指定节假日,及其前后相关的N天。可将Prophet视为一种针对时序的集成解决方案。

       时间序列模型可分解为三个主要组成部分:趋势,季节性和节假日。它们按如下公式组合:

                                    

  • g(t):用于拟合时间序列中的分段线性增长或逻辑增长等非周期变化。
  • s(t):周期变化(如:每周/每年的季节性)。
  • h(t):非规律性的节假日效应(用户造成)。
  • et:误差项用来反映未在模型中体现的异常变动。

    事实上,这是generalized additive model(GAM)模型的特例,但我们这里只用到了时间作为拟合的参数。

2. 适用条件

       并非所有的预测问题都可以通过同一种程序(procedure)解决。Prophet 是为我们在 Facebook 所遇到的业务预测任务而优化的,这些任务通常具有以下特点:

  • 有至少几个月(最好是一年)的每小时、每天或每周观察的历史数据;
  • 有多种人类规模级别的较强的季节性趋势:每周的一些天和每年的一些时间;
  • 有事先知道的以不定期的间隔发生的重要节假日(比如国庆节)。
  • 缺失的历史数据或较大的异常数据的数量在合理范围内;
  • 有历史趋势的变化;
  • 对于数据中蕴含的非线性增长的趋势都有一个自然极限或饱和状态。

3. 安装教程

 windows环境

  1. Python 3.5或更高版本(推荐使用anaconda)
  2. 更新Microsoft .NET Framework到4.5.1以上版本(C++ 编译器需要)
  3. 安装C++编译器Visual C++ Build Tools2015(在安装 PyStan前需要安装C++编译器)
  4. 安装 pystan库(pip install pystan)
  5. 安装fbprophet库(conda install -c conda-forge fbprophet)

 Linux环境
      在Ubuntu系统中可通过以下命令安装prophet:

       $ sudo apt-get install fbprophet

4. 使用详解

       时间序列模型Prophet使用详细讲解

时间序列预测其他方法: GBDT

5. 参考内容

(1)Prophet官方文档

(2)Prophet()参数说明、调参经验、优点

(3)Windows下安装Python版本的prophet

你可能感兴趣的:(统计分析)