Facebook时间序列预测算法Prophet的研究

栏目: 编程工具 · 发布时间: 5年前

内容简介:这次小编给各位读者带来一篇关于Facebook 去年开源的时间序列预测算法fbprophet的文章,并和大家一起学习这个算法的原理、数据的输入和输出。Facebook 去年开源了一个时间序列预测的算法,叫做 fbprophet,它的官方网址与基本介绍来自于以下几个网站:

Facebook时间序列预测算法Prophet的研究

编者按:

这次小编给各位读者带来一篇关于Facebook 去年开源的时间序列预测算法fbprophet的文章,并和大家一起学习这个算法的原理、数据的输入和输出。

Prophet 简介

Facebook 去年开源了一个时间序列预测的算法,叫做 fbprophet,它的官方网址与基本介绍来自于以下几个网站:

  1. Github:

    https://github.com/facebook/prophet

  2. 官方网址:

    https://facebook.github.io/prophet/

  3. 论文名字与网址:

    Forecasting at scale,https://peerj.com/preprints/3190/

从官网的介绍来看,Facebook 所提供的 prophet 算法不仅可以处理时间序列存在一些异常值的情况,也可以处理部分缺失值的情形,还能够几乎全自动地预测时间序列未来的走势。从论文上的描述来看,这个 prophet 算法是基于时间序列分解和机器学习的拟合来做的,其中在拟合模型的时候使用了 pyStan 这个开源工具,因此能够在较快的时间内得到需要预测的结果。除此之外,为了方便统计学家,机器学习从业者等人群的使用,prophet 同时提供了 R 语言和 Python 语言的接口。从整体的介绍来看,如果是一般的商业分析或者数据分析的需求,都可以尝试使用这个开源算法来预测未来时间序列的走势。

Prophet 的算法原理

Prophet 数据的输入和输出

Facebook时间序列预测算法Prophet的研究

首先让我们来看一个常见的时间序列场景,黑色表示原始的时间序列离散点,深蓝色的线表示使用时间序列来拟合所得到的取值,而浅蓝色的线表示时间序列的一个置信区间,也就是所谓的合理的上界和下界。prophet 所做的事情就是:

  1. 输入已知的时间序列的时间戳和相应的值;

  2. 输入需要预测的时间序列的长度;

  3. 输出未来的时间序列走势。

  4. 输出结果可以提供必要的统计指标,包括拟合曲线,上界和下界等。

就一般情况而言,时间序列的离线存储格式为时间戳和值这种格式,更多的话可以提供时间序列的 ID,标签等内容。因此,离线存储的时间序列通常都是以下的形式。其中 date 指的是具体的时间戳,category 指的是某条特定的时间序列 id,value 指的是在 date 下这个 category 时间序列的取值,label 指的是人工标记的标签('0' 表示异常,'1' 表示正常,'unknown' 表示没有标记或者人工判断不清)。

Facebook时间序列预测算法Prophet的研究

而 fbprophet 所需要的时间序列也是这种格式的,根据官网的描述,只要用 csv 文件存储两列即可,第一列的名字是 'ds', 第二列的名称是 'y'。第一列表示时间序列的时间戳,第二列表示时间序列的取值。通过 prophet 的计算,可以计算出 yhat,yhat_lower,yhat_upper,分别表示时间序列的预测值,预测值的下界,预测值的上界。两份表格如下面的两幅图表示。

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

Facebook时间序列预测算法Prophet的研究

结束语

对于商业分析等领域的时间序列,Prophet 可以进行很好的拟合和预测,但是对于一些周期性或者趋势性不是很强的时间序列,用 Prophet 可能就不合适了。但是,Prophet 提供了一种时序预测的方法,在用户不是很懂时间序列的前提下都可以使用这个 工具 得到一个能接受的结果。具体是否用 Prophet 则需要根据具体的时间序列来确定。

参考文献:

  1. https://otexts.org/fpp2/components.html

  2. https://en.wikipedia.org/wiki/Decomposition_of_time_series

  3. A review of change point detection methods, CTruong, L. Oudre, N.Vayatis

  4. https://github.com/facebook/prophet

  5. https://facebook.github.io/prophet/


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

智能家居:商业模式+案例分析+应用实战

智能家居:商业模式+案例分析+应用实战

陈国嘉 / 人民邮电出版社 / 2016-4 / 49.80元

作为万物互联的关键一环,智能家居的出现和普及已经势不可当,以移动互联网为核心的新技术正在重构智能家居。只有成为智能家居行业的先行者,才能抢占“风口”。 《智能家居:商业模式+案例分析+应用实战》紧扣“智能家居”,从3个方面进行专业、深层次的讲解。首要方面是基础篇,从智能家居的发展现状、产业链、商业分析、抢占入口等方面进行阐述,让读者对智能家居有个初步的认识;第二个方面是技术篇,从智能家居的控......一起来看看 《智能家居:商业模式+案例分析+应用实战》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码