时间序列预测方法总结

article/2025/8/18 21:01:00

前言

对时间序列数据预测模型做个简单的分类,方便日后对其进一步研究,理清楚技术更新发展方向。
时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征。

预测场景

  • 单步预测
    • 单步单变量预测 :在时间序列预测中的标准做法是使用前一个的观测值,作为输入变量来预测当前的时间的观测值。
    • 多步单变量预测 : 前几个观测值,预测下一个观测值
  • 多步预测
    • 单变量多步预测:前几个观测值数据,预测下几个观测值
    • 多变量多步预测:几组不同维度的前几个观测值数据,预测下几个观测值

本文只是列举同方法中的几个模型作为介绍,还有很多的模型可以采用。

一、统计学方法 :

二、 传统时序方法:

2.1 AR

具有如下结构的模型称为p阶自回归模型,简记为AR:
在这里插入图片描述
随机变量Xt的取值Xt是前p期xt−1,xt−2,…,xt−pxt−1,xt−2,…,xt−p的多元线性回归,认为xt主 要受过去p期的序列值影响。误差项是当前的随机干扰,为零均值白噪声序列

2.2 ARMA

自回归滑动平均模型(英语:Autoregressive moving average model,简称:ARMA模型)。是研究时间序列的重要方法,由自回归模型(简称AR模型)与移动平均模型(简称MA模型)为基础“混合”构成。
在市场研究中常用于长期追踪资料的研究,如:Panel研究中,用于消费行为模式变迁研究;在零售研究中,用于具有季节变动特征的销售量、市场规模的预测等。

2.3 ARIMA

ARIMA模型(英语:Autoregressive Integrated Moving Average model),差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),是时间序列预测分析方法之一。
ARIMA(p,d,q)中,AR是“自回归”,p为自回归项数;MA为“滑动平均”,q为滑动平均项数,d为使之成为平稳序列所做的差分次数(阶数)。“差分”一词虽未出现在ARIMA的英文名称中,却是关键步骤。

总的来说,基于此类方法的建模步骤是,

  • 首先需要对观测值序列进行平稳性检测,如果不平稳,则对其进行差分运算直到差分后的数据平稳;
  • 在数据平稳后则对其进行白噪声检验,白噪声是指零均值常方差的随机平稳序列;如果是平稳非白噪声序列就计算ACF(自相关系数)、PACF(偏自相关系数),进行ARMA等模型识别,
  • 对已识别好的模型,确定模型参数,
  • 最后应用预测并进行误差分析。

三 、时间序列分解

时间序列分解法是数年来一直非常有用的方法,一个时间序列往往是一下几类变化形式的叠加或耦合

3.1 常见加法和乘法模型

数据分解为

  • 长期趋势
  • 季节变动 :显式周期,固定幅度、长度的周期波动
  • 循环波动 :隐式周期,周期长不具严格规则的波动
  • 不规则波动

分解之后的数据进行加法、乘法或者二者混合的方式进行组合。

3.2 经验模态分解

经验模态分解(Empirical Mode Decomposition,缩写EMD)是由黄锷(N. E. Huang)在美国国家宇航局与其他人于1998年创造性地提出的一种新型自适应信号时频处理方法,特别适用于非线性非平稳信号的分析处理。

实例介绍: 数字信号处理技术(一)经验模态分解(EMD)- Python代码

3.3 变分模态分解

在信号处理中,变分模态分解是一种信号分解估计方法。 该方法在获取分解分量的过程中通过迭代搜寻变分模型最优解来确定每个分量的频率中心和带宽,从而能够自适应地实现信号的频域剖分及各分量的有效分离。

实例介绍 : 数字信号处理技术(二)变分模态分解(VMD)-Python代码

四、 机器学习模型

4.1 XGBoost

XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了GBDT算法并进行了算法和工程上的许多改进,被广泛应用在Kaggle竞赛及其他许多机器学习竞赛中并取得了不错的成绩。

4.2 RF

在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 而 “Random Forests” 是他们的商标。
这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合 Breimans 的 “Bootstrap aggregating” 想法和 Ho 的"random subspace method"以建造决策树的集合。

4.3 SVR

SVR全称是support vector regression,是SVM(支持向量机support vector machine)对回归问题的一种运用

五、 深度学习模型

5.1 LSTM

Long Short Term Memory(LSTM):长短时记忆神经网络,是一种特殊的循环神经网络(RNN),优势在于解决RNN的梯度消失和梯度爆炸的问题,目前广泛应用于序列数据处理和预测,比如文本上下文感情分析,股票预测等;

5.2 Transformer

Transformer是2017年的一篇论文《Attention is All You Need》提出的一种模型架构,这篇论文里只针对机器翻译这一种场景做了实验,全面击败了当时的SOTA,并且由于encoder端是并行计算的,训练的时间被大大缩短了。
它开创性的思想,颠覆了以往序列建模和RNN划等号的思路,现在被广泛应用于NLP的各个领域。目前在NLP各业务全面开花的语言模型如GPT, BERT等,都是基于Transformer模型。

5.3 Bert

BERT是2018年10月由Google AI研究院提出的一种预训练模型。
BERT的全称是Bidirectional Encoder Representation from Transformers。BERT在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩: 全部两个衡量指标上全面超越人类,并且在11种不同NLP测试中创出SOTA表现,包括将GLUE基准推高至80.4% (绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进5.6%),成为NLP发展史上的里程碑式的模型成就。

六、 时序研究新思路

6.1 将时间序列转化为图像,再应用基于卷积神经网络的模型做分析


http://chatgpt.dhexx.cn/article/0fW7bAxo.shtml

相关文章

时间序列的聚类方法

时间序列的聚类方法 时间序列是按照时间排序的一组随机变量,它通常是在相等间隔的时间段内,依照给定的采样率,对某种潜在过程进行观测的结果。 时间序列数据是实值型的序列数据,具有数据量大、数据维度高以及数据是不断更新的等…

【时间序列预测】Autoformer 长时间序列预测

论文链接:http://xxx.itp.ac.cn/pdf/2106.13008.pdf Abstract 延长预测时间是极端天气预警和长期能源消耗规划等实际应用的关键需求。本文研究时间序列的长期预测问题。先前的基于 Transformer 的模型采用各种 self-attention 机制来发现长期依赖关系。然而&…

时间序列分析预测

全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 时间序列中常用预测技术,一个时间序列是一组对于某一变量连续时间点或连续时段上的观测值。参考:https://blog.csdn.net/u010414589/article/details/49622625…

时间序列预测

问题简介 简单来说,时间序列是按照时间顺序,按照一定的时间间隔取得的一系列观测值,比如我们上边提到的国内生产总值,消费者物价指数,利率,汇率,股票价格等等。时间间隔可以是日,周…

时间序列分析

http://blog.csdn.net/pipisorry/article/details/62053938 时间序列简介 时间序列是时间间隔不变的情况下收集的时间点集合。这些集合被分析用来了解长期发展趋势,为了预测未来或者表现分析的其他形式。但是什么时间序列?与常见的回归问题的不同&…

时间序列模型调查

RNN 模型 Recurrent Neural Network (回流神经网络,有的译做递归神经网络) 时间序列模型最常用最强大的的工具就是递归神经网络(recurrent neural network, RNN)。相比与普通神经网络的各计算结果之间相互独立的特点,RNN的每一次隐含层的计算结果都与当前输入以及上一次的…

时间序列模型

1. 时间序列分析方法概述 一个时间序列往往是一下几类变化形式的叠加或耦合。 (1)长期趋势变动:反映主要变化趋势; (2)季节变动 (3)循环变动 (4)不规则变动 使…

python创建时间序列_python 时间序列

将dataframe的列转化为时间序列 #https://www.cnblogs.com/bolgbjg/p/14013300.html #datetime.now()获取现在的时间,now.year,获取现在的年份,其他以此类推 #timedelta()表示两个datetime之间的时间差,默认单位是天 strftime()参数, strftim…

时间序列(数据分析)

目录 第11章 时间序列 11.1 日期和时间数据的类型及工具 11.1.1 字符串与datetime互相转换 11.2 时间序列基础 11.2.1 索引、选择、子集 11.2.2 含有重复索引的时间序列 11.3 日期范围、频率和移位 11.3.1 生成日期范围 11.3.2 频率和日期偏置 11.3.3 移位&#xff0…

时间序列介绍

什么是时间序列? 时间序列是按照一定时间顺序,按照一定的时间间隔取得的一系列观测值。 怎样做时间序列分析? 时间序列分析尝试找出序列值在过去所呈现的特征模式,假定这种模式在未来能够持续,进而对未来进行预测 时…

时间序列

时间序列 一、时间序列是什么?二、时间序列分类1.白噪声序列2.平稳非白噪声序列3.非平稳序列 三. 时间序列主要模型1. ARIMA如何挑选模型参数:Example and application: 总结 一、时间序列是什么? 时间序列是指某种现象某一指标在不同时间上…

经典时间序列的学习(一)简单的认识时间序列

1. 什么是时间序列 同一统计指标数值按照时间先后顺序排列而成的数据。本质上是反映一个变量随时间序列变化的趋势。 简单的例子就像是学生每一年的身高数据,这个也是一个时间序列。变量是我们的身高;每一年都不一样。我们支付宝或者微信的零钱,每一天…

【时间序列】时间序列基本概念总结

最近一直在接触时间序列,所以打算写一些有关时间序列的文章,预测部分会从规则开始、到传统模型、到机器学习、再到深度学习,此外也会介绍一些时间序列的基本概念,包括自相关、平稳性、滞后性、季节性等。 1.基本概念 1.1 时间序列…

备战数学建模35-时间序列预测模型

目录 一、时间序列概念与分解模型 1-时间序列数据与基本概念 2-时间序列分解 二、SPSS中七种指数平滑模型 1-七种指数平滑模型简介 2-七种指数平滑模型具体分析 三、ARIMA模型相关的知识点 四、时间序列模型经典案例 1-时间序列建模思路介绍 2-案例1销售数据预测 3-…

【时间序列】最完整的时间序列分析和预测(含实例及代码)

时间序列 在生产和科学研究中,对某一个或者一组变量 进行观察测量,将在一系列时刻所得到的离散数字组成的序列集合,称之为时间序列。 pandas生成时间序列过滤数据重采样插值滑窗数据平稳性与差分法 pandas生成时间序列 时间戳(ti…

UCF 2021 Qualifying - H . Time to Eat + UCF HSPT 2020 - E . Use Giant Fans to Deal With Hurricanes?

题目: H . Time to Eat [ 问题 8933 ] [ 讨论 ] Description The UCF Programming Team has made it to the World Contest Finals (WF), thanks to the great team members and coaches. Fortunately for Dr. Orooji (Team Faculty Advisor), WF is in a city wit…

MTU

MTU 是出接口方向的MTU值,跟入接口方向无关。 MTU 是双方向的,也就是说两个方向的数据流可以有不同的MTU值。 在实施中遇到这么个问题: 用户在BigIP的VLAN设置中修改了MTU值,并保存。但系统重启后,这个值又恢复为原来的默认值了。 有兄弟遇到过么?望指点一二。 [ 本帖最…

Mahout学习

Mahout学习 Mahout学习(主要学习内容是Mahout中推荐部分的ItemCF、UserCF、Hadoop集群部署运行) 1、Mahout是什么? Mahout是一个算法库,集成了很多算法。 Apache Mahout 是 Apache Software Foundation(ASF)旗下的…

metahuman 简介

目录 metahuman 简介 metahuman是什么登陆metahuman人物导出 metahuman 简介 metahuman是什么 是一个像游戏的捏脸软件,是云端的。在开始之前我们需要注册一个epic的账号 epic是一个白嫖游戏的网页,引擎,商城,metahuman都是他们做…

CTFHub | .htaccess

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。 0x01 题目描述…