时间序列预测(五)—— Prophet模型

时间序列预测(五)—— Prophet模型

欢迎大家来我的个人博客网站观看原文:https://xkw168.github.io/2019/05/20/时间序列预测-五-Prophet模型.html

文章链接

(一)数据预处理

(二)AR模型(自回归模型)

(三)Xgboost模型

(四)LSTM模型

(五)Prophet模型(自回归模型)


模型原理

  Prophet模型,是Facebook公司开源的一个专门用于大规模时间序列分析的模型,基于加性模型(Additive Model),利用年月日等的周期性再加上假期影响去拟合非线性的趋势。具体内容可以在这里找到。该模型最适合用于拟合那些具有较强周期性并且拥有几个周期的数据,并且对缺失值,趋势偏移和异常值都有着较好的支持。Prophet采用一种独特的策略(如图所示),在保证当需要的时候可以完全自动化整个流程的前提下,允许数据分析学家通过一组关键的模型参数和选项来在预测中加入自己的判断。
Prophet模型策略
  Prophet原理图Prophet的大致原理如下,它将一个时间序列看成是三部分的组合:趋势,季节和假日。 y ( t ) = g ( t ) + s ( t ) + h ( t ) + ϵ t y(t)=g(t)+s(t)+h(t)+\epsilon_t y(t)=g(t)+s(t)

### 如何在MATLAB中实现和使用Prophet时间序列预测模型 尽管原始资料主要讨论了Python和R语言中的Prophet实现[^1],对于希望在MATLAB环境中利用Prophet进行时间序列分析的研究者来说,可以采取间接的方法来达成目标。 #### 方法一:调用外部脚本 由于官方并没有提供MATLAB版本的Prophet库,最直接的方式是通过MATLAB内置的功能去调用其他编程环境下的代码。具体而言: - 使用`system()`函数执行命令行指令启动Python解释器并运行包含Prophet逻辑的.py文件; - 或者借助MATLAB提供的接口如`py.`前缀操作符,在MATLAB内部加载已安装好的Python模块,并传递数据给这些模块处理后再取回结果。 这种方法允许研究者继续留在熟悉的MATLAB工作流内,同时享受Prophet带来的便利。 ```matlab % 假设有一个名为prophet_predict.py 的Python脚本实现了Prophet预测功能 command = 'python prophet_predict.py'; [status, result] = system(command); disp(result); % 显示来自Python程序的结果 ``` #### 方法二:自定义MATLAB实现 另一种选择是从零开始构建一个基于MATLAB的时间序列分解框架,模仿Prophet的核心理念——即识别趋势、季节性和节假日效应等因素的影响。这可能涉及编写复杂的统计回归方程组以及优化求解过程。虽然这条路更加艰难且耗时较长,但对于那些无法依赖第三方工具链的应用场景或许值得一试。 然而值得注意的是,考虑到开发成本和技术难度,通常推荐优先尝试方法一。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值