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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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. 趋势


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


  • 饱和增长


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值