Prophet 时间序列预测工具 这套工具的价值 Prophet 的优点 Prophet 工作原理 总结

Facebook有一套开源的时间序列的预测工具。
Prophet是一个预测时间序列数据的模型。 它基于一个自加性模型,用来拟合年、周、季节以及假期等非线性趋势。 它在至少有一年历史数据的日常周期性数据,效果最好。 Prophet对缺失值,趋势的转变和大量的异常值是有极强的鲁棒性。Prophet中文翻译是:“先知”。

Github:https://github.com/facebook/pro

  1. 官方网址:https://facebook.github.io/prop
  2. 官方网址:https://facebook.github.io/prop

这套工具的价值

预测是一项数据科学任务,是组织内许多活动的核心。 例如,Facebook这样的大型组织必须参与容量规划,以有效分配稀缺资源和目标设置,以便衡量相对于基线的性能。

得到高质量的预测对于任何机器或大多数分析师来说都不是一个简单的问题。 预测任务有两大核心问题:
1 完全自动化的预测技术往往都比较“脆弱”,不是太灵活,对一些问题缺乏有效的假设以及启发式的思路
2 够得到高质量预测的数据科学家是非常罕见的,因为预测需要丰富的经验以及专业的数据科学技能

在现实生活中,对高质量预测的需求往往要远远超过分析人员可以生产的速度。因此Prophet的出现就是为了让专家和非专家能够更轻松地进行高质量的预测。

对于很多商业活动来说,理解和识别基于时间的模式至关重要。比如,企业应当维持多少库存、店铺里应该销售多少足球、多少消费者会乘飞机旅行,这些都是需要我们解决的重要的时序问题。这就是为何时序预测是很多数据科学家的必备技能之一。从预测天气到预测商品销量,时序预测已经融入数据科学体系,已成为数据工作的必知知识。

Prophet 的优点

Prophet通过将全自动预测与在线学习相结合从而保证了该工具能够解决大多数商业业务问题,Prophet工作流程如下图所示:


Prophet主要有以下两点优势:

1 Prophet能够让你更方便直接地创建一个预测任务,而其他的一些工具包(ARMA,指数平滑)等,这些工具每个有自己的优缺点及参数,即使是优秀的数据分析师想要从众多的模型中选择合适的模型及相应的参数也是够让他头皮发麻的。
2 Prophet是为非专家们”量身定制”的。为什么这么说呢?你利用Prophet可以直接通过修改季节参数来拟合季节性,修改趋势参数来拟合趋势信息,指定假期来拟合假期信息等等。

Prophet 工作原理

prophet是一个工业级应用,而不是说在时间序列预测的模型上有非常大的创新。
时间序列预测对大部分公司而言都存在必要的需求,比如电商预测GMV,外卖O2O预测成交量波动以便于运力分配,酒店预测间夜量来调整定价与销售,等等。但通常而言,时间序列预测对不少公司来说是一个难题。

主要原因除了时间序列预测本身就是玄学(大雾)之外,还要求分析师同时具备深厚的专业领域知识(domain knowledge)和时间序列建模的统计学知识。此外,时间序列模型的调参也是一个比较复杂而繁琐的工作。

prophet就是在这样的背景下的产物,将一些时间序列建模常见的流程与参数default化,来使不太懂统计的业务分析师也能够针对需求快速建立一个相对可用的模型。

很多商业行为是存在一定的时间相依的模式的。作者以Facebook上用户创造“事件”(events)来举例:

可以看到用户创造事件的数量有很明显的时间序列特征:多种周期性、趋势性、节假日效应,以及部分异常值。

然后作者用R的forecast包里的几种常见的时间序列预测技术(ARIMA, 指数平滑等等)来建模,效果惨不忍睹:


图1是ARIMA,图2是指数平滑,图3是snaive,图4是tbats。

prophet 对于很多的商业任务都能够比较好的解决。

模型结构

Prophet的本质是一个可加模型,基本形式如下:

其中 [图片上传中...(image-734952-1618238885154-3)]

g是趋势项,s 是周期项,h是节假日项。这就是模型的结构,具体细节就不赘述,感兴趣的查看官方的文档。

模型性能

还是使用上面Facebook的例子,作者给出了Prophet的模型拟合与预测能力:


看起来比前面用R的forecast做的效果好了很多,并且不需要使用者具有很强的统计背景就能够轻松进行建模。

同时prophet支持将模型分解为单独的各项组成部分

适用范围

prophet 适用于有内在规律的商业数据,官方给的例子数据时间是以天为维度的,更小的维度也是支持的。

总结

  1. 官方网址:https://facebook.github.io/prop
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章