手把手教你用Prophet快速进行时间序列预测(附Prophet和R代码)

本文详细介绍了Facebook的Prophet库,一个用于时间序列预测的开源工具。通过拆解Prophet的原理和Python/R代码实例,展示了如何利用其趋势、季节性和节假日组件进行预测。Prophet的创新之处在于提供直观易调的参数,适合初学者和专业人士进行时间序列分析。文章还提供了一个实际案例,预测公共交通服务的客运量。
摘要由CSDN通过智能技术生成

640?wx_fmt=png

作者:ANKIT CHOUDHARY

翻译:王雨桐

校对:丁楠雅

本文约3000字,建议阅读12分钟。

本文将通过拆解Prophet的原理及代码实例来讲解如何运用Prophet进行时间序列预测。


简介


对于任何业务而言,基于时间进行分析都是至关重要的。库存量应该保持在多少?你希望商店的客流量是多少?多少人会乘坐飞机旅游?类似这样待解决的问题都是重要的时间序列问题。


这就是时间序列预测被看作数据科学家必备技能的原因。从预测天气到预测产品的销售情况,时间序列是数据科学体系的一部分,并且是成为一个数据科学家必须要补充的技能。


如果你是菜鸟,时间序列为你提供了一个很好的途径去实践项目。你可以非常轻易地应用时间序列,它会带领你进入更大的机器学习世界。


640?wx_fmt=jpeg


Prophet是Facebook发布的基于可分解(趋势+季节+节假日)模型的开源库。它让我们可以用简单直观的参数进行高精度的时间序列预测,并且支持自定义季节和节假日的影响。


本文中,我们将介绍Prophet如何产生快速可靠的预测,并通过Python进行演示。最终结果将会让你大吃一惊!


本文目录


1. Prophet有什么创新点?

2. Prophet预测模型

  • 趋势

    • 饱和增长

    • 突变点

  • 季节性

  • 节假日及大事件

3. Prophet实战(附Python和R代码)

  • 趋势参数

  • 季节和节假日参数

  • 通过Prophet预测客运量


Prophet有什么创新点?


当预测模型没有按预期运行时,我们希望针对问题来调整模型的参数。调整参数需要对时间序列的工作原理有全面的理解。例如automated ARIMA首先输入的参数是差分的最大阶数,自回归分量和移动平均分量。普通分析师不知道如何调整顺序来避免这种表现,这是一种很难掌握积累的专业知识。


640?wx_fmt=png


Prophet包提供了直观易调的参数,即使是对缺乏模型知识的人来说,也可以据此对各种商业问题做出有意义的预测。


Prophet预测模型


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


640?wx_fmt=jpeg


  • g(t):用于拟合时间序列中的分段线性增长或逻辑增长等非周期变化。

  • s(t):周期变化(如:每周/每年的季节性)。

  • h(t):非规律性的节假日效应(用户造成)。

  • et误差项用来反映未在模型中体现的异常变动。


Prophet使用时间为回归元,尝试拟合线性和非线性的时间函数项,采取类似霍尔特-温特斯( Holt-Winters )指数平滑的方法,将季节作为额外的成分来建模。事实上,我们将预测问题类比为拟合曲线模型,而不是精确地去看时间序列中每个时点上的观测值。


1. 趋势


趋势是对时间序列中的非周期部分或趋势部分拟合分段线性函数,线性拟合会将特殊点和缺失数据的影响降到最小。


  • 饱和增长


Prophet时间序***时间序列预测。该模型适用于各种具有特殊特征的预测问题,并且在检测时间序列趋势变化点、处理季节性、节假日以及突发事件方面具有较好的拟合效果。 Prophet模型的优点包括: 1. 灵活性:Prophet模型能够适应各种具有潜在特殊特征的时间序列数据,包括非线性趋势、季节性和节假日效应等。 2. 可解释性:该模型提供了对时间序列趋势变化点的检测,使用户能够更好地理解数据的变化规律。 3. 简单易用:Prophet模型的使用相对简单,用户不需要对时间序列分析有深入的专业知识。 4. 开源框架:该模型是开源的,意味着用户可以免费使用并进行自定义修改。 然而,Prophet模型也存在一些局限性: 1. 无法进行滚动预测:Prophet模型的训练和预测是分开进行的,如果要更新模型,就需要重新进行训练,无法实现滚动预测的功能。 2. 模型表达能力相对简单:Prophet模型的表达能力相对简单,对于复杂的模式可能无法进行准确的学习,导致模型在训练时可能存在拟合不足的问题。 3. 长时间预测不可靠:由于Prophet模型的简化表达能力,其在进行长时间预测时可能会出现不可靠的情况。 综上所述,Prophet时间序列模型具有灵活性、可解释性和简单易用的优点,但也存在无法进行滚动预测、模型表达能力相对简单和长时间预测不可靠的局限性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值