时间序列预测——Prophet模型

2023-05-16

文章链接:

                        时间序列预测——ARIMA模型https://blog.csdn.net/beiye_/article/details/123317316?spm=1001.2014.3001.5502

1、Propht模型概述

Prophet模型是Facebook于2017年发布开源的时间序列预测框架。Prophet适用于各种具有潜在特殊特征的预测问题包括广泛的业务时间序列问题,并且其对时间序列趋势变化点的检测季节性节假日以及突发事件具有更好的拟合效果。

Prophet模型内部由循环中的分析师与自动化两部分构成一个循环体系。Prophet的预测过程是根据预测问题建立时间序列模型,对历史数据进行仿真,评估模型的效果,根据出现的问题,进一步进行调整和建模,最终以可视化方式反馈整个预测结果。

Prophet模型循环结构图

Prophet模型是一个加法回归模型,它由三个核心部分trend(趋势项)seasonality(季节项)holidays(假期项)构成。

Prophet模型基本组成公式:y(t)=g(t)+s(t)+h(t)+εt

2、Prophet的算法原理

常见的时间序列场景

黑色表示原始的时间序列散点;深蓝色的线表示使用时间序列来拟合所得到的取值;浅蓝色的线表示时间序列的一个置信区间,也就是所谓的合理的上界和下界。

prophet工作机制:

  1. 输入已知的时间序列的时间戳和相应的值
  2. 输入需要预测的时间序列的长度
  3. 输出未来的时间序列走势
  4. 输出结果可以提供必要的统计指针,包括拟合曲线、上界、下界等

prophet所需时间序列的存储格式:

只需要用CSV文件存储两列,第一列为时间序列的时间戳(ds),第二列为时间序列的取值(y)。

prophet所需时间序列的存储格式

通过prophet的计算,可以计算出时间序列的预测值(yhat)、预测值的下界(yhat_lower)、预测值的上界(yhat_upper)。

 

prophet的计算结果

Prophet预测结果

深色线拟合了黑色圆点所代表的实际值,并且给出了未来6个月的预测值,浅色区域表示了预测的合理范围yhat upperyhat lower

3、Prophet的算法实现

在时间序列分析领域,有一种常见的分析方法叫做时间序列的分解(Decomposition of Time Series,它把时间序列分成几个部分,分别是季节项,趋势项,剩余项

 加法形式:

乘法形式: 

Prophet基于这种方法进行了必要的改进和优化。在实际生活和生产环节中,除了季节项趋势项剩余项之外,通常还有节假日的效应。所以,在Prophet算法中,作者同时考虑了以上四项,即:

g(t)表示趋势项,表示时间序列在非周期上面的变化趋势;

s(t)表示周期项,或者称为季节项,一般以周者年为单位;

h(t)表示节假日项,表示在当天是否存在节假日;

表示误差项或者称为剩余项;

Prophet算法就是通过拟合这几项,最后把它们累加起来就得到时间序列的预测值。

4、趋势项g(t)

趋势项是Prophet的核心组件,它用于分析和拟合时间序列的非周期变化,提供了两种趋势模型:饱和增长模型分段线性模型

饱和增长模型不是无限上涨趋势的,当趋势达到一定的程度就会呈现饱和状态,饱和值随着时间动态变化;分段线性模型是不可限定趋势的,但是这两种模型都包含了不同程度的假设和调节光滑度的参数,以辅助优化模型。

饱和增长趋势函数公式:

分段线性趋势函数公式:

其中:v表示模型承载量;r表示增长率;δ、γ表示适应度;a(t)表示t时刻前突变点发生变化的次数;d表示偏移量。

5、季节项s(t)

s(t)代表时间序列的周期性变化,可用于模拟周、月、年等各种周期变化趋势,由傅立叶级数表达,如式所示:

其中:N表示模型中使用该周期的个数;T表示期望时间序列的周期长度;2n表示拟合季节性需要估计的参数个数。

N的设定需要结合T进行考虑,对于年的周期性,设定T=365.25,N为10;对于每周的季节性,T设置为7,N则设置为3,N越大,拟合复杂的季节性越好。

6、假期项h(t)

节假日和重要事件会对时间序列预测产生较大的影响,这些作用通常是可以预测的,将这些影响因素作为先验知识纳入模型,对模型准确率的提升具有主要意义。

h(t)表示非周期性的不规律的假期影响。模型通过自定义假期列表实现节假日或突发事件场景下的预测。

模型原理:h(t)=Z(t)k

其中:Z(t)为指示函数;k表示节假日的影响范围。

7、误差项εt

误差项:εt表示模型中未反映的噪声部分并假设噪声因子服从正态分布。

8、Prophet模型的优缺点

优点:

  1. 可拓展:曲线拟合问题可以很轻松的引入季节和周期性的影响,可以应用于多种数据类型。
  2. 数据灵活:与ARIM模型不同,曲线拟合问题不需要数据等步长,所以不需要对数据进行一些特殊操作(如插值)。
  3. 速度快:相比于传统的训练模型,曲线拟合的速度更快,有助于数据迭代。
  4. 能够自动处理所研究序列中的缺失值和异常值,能够对时间序列的未来趋势进行自动分解和预测。

局限性:

  1. 无法做到rolling forecasting,prophet训练和模型是分开的,要想更新模型,必须重新训练。
  2. 模型过于简单,模型的表达能力比较简单。导致训练模型时under-fitting,也就是对于复杂的模式,常常无法学到,预测精度有所折扣。
  3. 长时间预测不可靠。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时间序列预测——Prophet模型 的相关文章

  • LSTM 时间序列预测+股票预测案例(Pytorch版)

    文章目录 LSTM 时间序列预测股票预测案例数据特征对收盘价 Close 单特征进行预测1 导入数据2 将股票数据收盘价 Close 进行可视化展示3 特征工程4 数据集制作5 模型构建6 模型训练7 模型结果可视化8 模型验证 完整代码
  • 时间序列预测——ARIMA模型

    文章链接 xff1a 时间序列预测 Prophet模型 https blog csdn net beiye article details 123353123 spm 61 1001 2014 3001 5502 SPSS软件实操 ARIM
  • 组合预测模型

    组合预测模型 LSTM XGBoost长短期记忆神经网络结合极限梯度提升树时间序列预测 Matlab程序 目录 组合预测模型 LSTM XGBoost长短期记忆神经网络结合极限梯度提升树时间序列预测 Matlab程序 预测结果 评价指标 基
  • 时序预测

    时序预测 Matlab实现CNN XGBoost卷积神经网络结合极限梯度提升树时间序列预测 目录 时序预测 Matlab实现CNN XGBoost卷积神经网络结合极限梯度提升树时间序列预测 效果一览 基本描述 程序设计 参考资料 效果一览
  • 时序预测

    时序预测 MATLAB实现基于BP神经网络的时间序列预测 递归预测未来 多指标评价 目录 时序预测 MATLAB实现基于BP神经网络的时间序列预测 递归预测未来 多指标评价 预测结果 基本介绍 程序设计 参考资料 预测结果 基本介绍 Mat
  • 时间序列预测任务,预测值相对比真实值趋势滞后问题

    1 问题描述 我们在采用LSTM GRU等深度模型进行时间序列预测任务时 通常会采用滑动窗口策略 即将训练集和测试集划分为若干个滑动时间窗口 在每次训练迭代过程中 利用N个历史时间窗口的数据 x t N x t x t N x t xt N
  • 使用ARIMA算法进行时间序列预测。

    本文以行健宏扬中国为例 提取数据 使用ARIMA算法进行时间序列预测 爬取数据 抓取行健宏扬中国基金 from bs4 import BeautifulSoup import requests headers Accept text jav
  • 时序预测

    时序预测 MATLAB实现SSA CNN GRU麻雀算法优化卷积门控循环单元时间序列预测 目录 时序预测 MATLAB实现SSA CNN GRU麻雀算法优化卷积门控循环单元时间序列预测 预测效果 基本介绍 模型描述 程序设计 参考资料 预测
  • 时序预测

    时序预测 MATLAB实现基于QPSO LSTM PSO LSTM LSTM时间序列预测 目录 时序预测 MATLAB实现基于QPSO LSTM PSO LSTM LSTM时间序列预测 效果一览 基本描述 程序设计 参考资料 效果一览 基本
  • 时序预测

    时序预测 MATLAB实现CNN BiLSTM卷积双向长短期记忆神经网络时间序列预测 风电功率预测 目录 时序预测 MATLAB实现CNN BiLSTM卷积双向长短期记忆神经网络时间序列预测 风电功率预测 预测效果 基本介绍 程序设计 参考
  • 时序预测

    时序预测 MATLAB实现GWO LSTM灰狼算法优化长短期记忆神经网络时间序列预测 目录 时序预测 MATLAB实现GWO LSTM灰狼算法优化长短期记忆神经网络时间序列预测 预测效果 基本介绍 模型描述 程序设计 参考资料 预测效果 基
  • 时序预测

    时序预测 MATLAB实现PSO LSTM 粒子群优化长短期记忆神经网络 时间序列预测 目录 时序预测 MATLAB实现PSO LSTM 粒子群优化长短期记忆神经网络 时间序列预测 预测效果 基本介绍 模型介绍 PSO模型 LSTM模型 P
  • 时序预测

    时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 目录 时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 基本描述 模型描述 程序设计 参考资料 基本描述 Python实现CNN SVM卷积支持向量机时间
  • 时序预测

    MATLAB实现贝叶斯优化CNN GRU时间序列预测 股票价格预测 目录 MATLAB实现贝叶斯优化CNN GRU时间序列预测 股票价格预测 效果一览 基本介绍 模型搭建 程序设计 学习总结 往期精彩 参考资料 效果一览 基本介绍 MATL
  • 时间序列模型Prophet使用详细讲解

    之前我们已经讲过了如何在Windows系统下安装Python版本的Prophet 详细见这里 接下来的几个部分 我们说下如何使用Prophet 以此来体验下Prophet的丰富内容 内容会比较多 主要翻译自官方文档 教程中使用的数据集可在
  • 时序预测

    时序预测 MATLAB实现NARX非线性自回归外生模型时间序列预测 目录 时序预测 MATLAB实现NARX非线性自回归外生模型时间序列预测 效果一览 基本介绍 程序设计 参考资料 效果一览 基本介绍 时序预测 MATLAB实现NARX非线
  • 时序预测

    时序预测 MATLAB实现ARIMA时间序列预测 GDP预测 目录 时序预测 MATLAB实现ARIMA时间序列预测 GDP预测 预测效果 基本介绍 模型设计 模型分析 学习总结 参考资料 预测效果 基本介绍 GDP是英文Gross Dom
  • 第十届“泰迪杯”B题论文及代码

    正在为您运送作品详情 点击以上链接即可 想看思路可看我另一篇博客
  • 时序预测

    时序预测 MATLAB实现趋势外推时间序列预测 含移动平均 指数平滑对比 目录 时序预测 MATLAB实现趋势外推时间序列预测 含移动平均 指数平滑对比 基本介绍 程序设计 学习总结 参考资料 基本介绍 MATLAB实现趋势外推时间序列预测
  • 时序预测

    时序预测 MATLAB实现DBN深度置信网络时间序列预测 目录 时序预测 MATLAB实现DBN深度置信网络时间序列预测 预测效果 基本介绍 模型描述 程序设计 参考资料 预测效果 基本介绍 BP神经网络是1968年由Rumelhart和M

随机推荐

  • 一种解耦非线性优化的高效VI-SLAM系统-Snake-SLAM

    摘要 Snake SLAM 是一种可在低功率航空设备上稳定运行的VI SLAM 自主导航系统 跟踪前端具有地图复用 闭环 重定位功能 xff0c 并支持单目 立体和 RGBD 输入 该系统通过图论算法来减少关键帧并提出一种 延时地图 的方法
  • 关于视觉三维重建colmap 一期课程,我想说点什么

    为什么开colmap这门课 2019年硕士毕业进入驭势科技从事高精度地图算法职位 xff0c 闲暇时间便开启自己在B站上分享技术的历程 xff0c 如下早期视频 xff1a 但是发完这几次视频后 xff0c 发现每次录制的时候总会遗漏自己想
  • 关于视觉重定位(VPS)的工作经验分享

    在AR领域也呆了不短时间了 xff0c 也一直在做视觉定位相关的工作 xff0c 这里分享一下有意思的工作方向 xff0c 感兴趣的可以讨论或者联系我即可 首先简单区分AR和VR的区别 xff0c VR 属于虚拟现实 xff0c 即是由实入
  • python调用百度地图API 实现单点沿线轨迹运动

    百度地图API 可以做很多好玩的事情 xff0c 自己闲来无事 xff0c 先是照着一些资料做了热力图 xff0c 然后借助pyqt5做了一个简单的界面 xff0c 实现gps单点沿线 xff08 行车 xff09 的轨迹 先上程序界面和效
  • python 在测绘作业中的一些小应用(与cad交互)-1

    虽然笔者已经基本上告别了本科的测绘工程专业 xff0c 但是笔者的本科同学他们在实际作业中难免会遇到一些批量化 重复性劳动问题 xff0c 如果会编程 xff0c 写上一个小脚本 xff0c 无疑会提高工作效率 下面是笔者本科同学处理测量数
  • 阴影检测(shadow detect)

    不管是无人机影像或者其它方式摄取的图像 xff0c 由于光照 xff0c 难免会存在阴影 xff0c 笔者这篇文章介绍检测阴影一种简单的方式 参考论文 xff1a 1 Damaged Building Detection in Aerial
  • Scipy 和opencv 计算凸包(convexHull)

    凸包 xff1a 在数学中 xff0c 在实向量空间 V 中的一组点 X 的凸包或凸包络是包含 X 的最小凸集 来自 Wikipedia 通俗的来说就是包围一组散点的最小凸边形 在 scipy spatial 和 opencv 分别有计算凸
  • python 两个小技巧将字典写入txt或者json 文件

    1 不用 json 包 先来看一个 Python 的奇淫技巧 i 61 100 s1 61 str i 这样输出的不会是 100 xff0c 毫不疑问 但是 s1 61 43 str i 43 这样输出的结果 61 str i 于是看这一条
  • 时间序列预测——ARIMA模型

    文章链接 xff1a 时间序列预测 Prophet模型 https blog csdn net beiye article details 123353123 spm 61 1001 2014 3001 5502 SPSS软件实操 ARIM
  • 基本矩阵F和本质矩阵E的详细推导

    基本矩阵F E在计算机视觉中是提纯匹配点 恢复相机位姿的一个法宝 但是它是如何得到的 下面笔者做其简单的推导 如图下图 xff0c 两视几何图 其中C和C 分别代表左 右摄影中心 xff0c x和x 代表同名像点 xff0c e和e 代表极
  • [ubuntu]安装并使用python 3.6及与2.7的切换

    当前使用ubuntu14 04 1 添加python3 6安装包 xff0c 并安装 xff08 也可以去官网下载安装包 xff09 linux 报错E Unable To Locate Package Software propertie
  • Python + Requests 模拟登陆(含验证码)

    其实模拟登陆非常简单 xff0c 只要在打开网站的同时提交数据就可以了 下面通过登陆超星网来举例说明如何一步步实现模拟登陆 1 获取需要提交的数据 使用chrome的Network或者fiddler可以很轻易的得到我们想要的数据 xff0c
  • Cmake实现递归cpp和h

    为解决获取编译链所有C 43 43 源文件和头文件 Cmake实现递归目录 编程心得 拾随小笺
  • 鉴权 前后端常见的几种鉴权方式

    https juejin cn post 6844903927100473357 鉴权 xff08 authentication xff09 是指验证用户是否拥有访问系统的权利 传统的鉴权是通过密码来验证的 这种方式的前提是 xff0c 每
  • curl指令模拟postman发json数据,发本地文件

    菜鸟curl指令介绍 xff1a https www coonote com linux linux cmd curl html post formdata多个参数 多个参数可以使用 F进行串接 curl span class token
  • 最全的HTTP(get post)请求示例, 包括post模拟get请求

    public class HttpRequest private static SimpleDateFormat sdf 61 new SimpleDateFormat 34 yyyyMMddHHmmss 34 private static
  • python爬虫——模拟登陆

    参考链接 xff1a https blog csdn net weixin 39875941 article details 109878457 模拟登陆 Python网络爬虫应用十分广泛 xff0c 但是有些网页需要用户登陆后才能获取到信
  • vector数组 传递 引用 指针 参数

    一 一维 span class hljs stl container span class hljs built in vector span lt span class hljs keyword int span gt span vec
  • Oracle # 字符串匹配函数(Oracle、SQLSERVER、Excel)

    引言 xff1a 当数据库设置字段的时候 xff0c 会设置1表XXX xff1b 0表示XXX 查询的时候怎么显示汉字呢 xff1f Oracle数据库 xff1a 普通查询数据 xff1a select from U ORANGEZAT
  • 时间序列预测——Prophet模型

    文章链接 xff1a 时间序列预测 ARIMA模型 https blog csdn net beiye article details 123317316 spm 61 1001 2014 3001 5502 1 Propht模型概述 Pr