时间序列预测
基本概念
什么是时间序列预测
- 时间序列预测时一种根据历史时间序列数据来预测未来值的方法
- 任务比较好理解,但是预测未来并非易事
应用场景

环境
- 大气环境预测:空气质量(PM2.5、PM10、二氧化硫、氮氧化物等污染物浓度)预测、气象(气温、气压、风速、风向、湿度等)预测
- 水环境预测:水质变化(化学需氧量、生化需氧量、氨氮、溶解氧等)预测、河流水文(流量、水位、流速)预测
时序预测任务分类
- 单变量单步:根据一个时间序列变量的历史数据来预测该变量未来的一个时间步的值
- 单变量多步:根据一个时间序列变量的历史数据来预测该变量未来多个时间步的值
- 多变量单步:根据多个时间序列变量的历史数据来预测该变量未来的一个时间步的值
- 多变量多步:根据多个时间序列变量的历史数据来预测该变量未来的多个时间步的值
| 任务分类 | 时序变量数量 | 预测时间步 | 实现方案 |
|---|---|---|---|
| 单变量单步 | 1个 | 1个 | 直接建模预测(一个特征) |
| 单变量多步 | 1个 | 多个 | 方案1:建模+滚动预测(将预测值作为特征) 方案2:不同时间步分别建模 |
| 多变量单步 | 多个 | 1个 | 直接建模预测(多个特征) |
| 多变量多步 | 多个 | 多个 | 方案1:建模(多个特征)+滚动预测(将预测值作为特征) 方案2:不同时间步分别建模(多个特征) 方案3:直接建模(深度学习中可以实现序列→序列建模) |
时序预测算法
传统机器学习算法和深度学习算法通常需要先把时序数据转化为二维的结构化数据集(每一行是一个样本,每一列是一个特征),然后才能训练模型进行预测。
传统统计方法
朴素法(Naive Method)
用最简单的方式预测未来:假设下一个时间步的值等于当前时间步的观测值。也称为:随机游走模型(Random Walk)、朴素预测(Naive Forecast)、一阶滞后预测
- :对未来第 个时间步的预测值
- :当前第 个时间步的实际观测值
- :当前时间索引
简单移动平均(Simple Moving Average, SMA)
用历史数据的算术平均值作为下一个时间步的预测值。也称为:朴素平均法(Naive Average)、简单移动平均(SMA)、均值预测模型
- :对未来第 个时间步的预测值
- :历史数据的总时间步数(样本量)
- :第 个时间步的历史观测值
移动平均法(Moving Average, MA)
用最近 个历史观测值的算术平均作为下一个时间步的预测值,适用于平稳、无明显趋势或季节性的序列。也称为:p阶滑动平均预测。
⚠️ 注意:此为预测方法(非模型),与下方 MA(q) 模型不同。
- :对未来第 个时间步的预测值
- :滑动窗口长度(滞后阶数)
- :第 个时间步的实际观测值( )
简单指数平滑法(Simple Exponential Smoothing, SES)
对历史观测值赋予指数衰减权重,近期数据影响更大;适用于无趋势、无季节性的平稳序列。
等价递推形式(更常用):
- :基于截至时间 的信息,对 的一步预测
- :平滑系数( 越大,越重视近期观测)
- :当前实际值; :上一时刻的预测值
✅ 实际实现中通常用递推式,避免无限求和。
霍尔特线性趋势法(Holt’s Linear Trend Method)
在简单指数平滑基础上引入 水平(level)与 趋势(trend)两个分量,适用于含线性趋势但无季节性的序列。
预测公式:
其中状态更新方程为:
- :从时间 向前 步的预测值
- :时间 的估计水平(即“基线值”)
- :时间 的估计趋势(单位时间的变化率)
- :水平平滑系数
- :趋势平滑系数
📌 注:你提供的公式中 应为 (标准记法),此处按通用符号修正。
AR(p) 自回归模型(Autoregressive Model of Order p)
假设当前值是其过去 个值的线性组合加上白噪声,适用于自相关性强的平稳序列。
- :时间 的观测值
- :序列均值(常数项)
- :第 阶自回归系数( )
- :独立同分布白噪声
- :自回归阶数
🔍 预测时,将已知历史值代入即可得 。
MA(q) 移动平均模型(Moving Average Model of Order q)
假设当前值由当前及过去 个白噪声项的线性组合构成,反映短期冲击的持续影响。
- :时间 的观测值
- :序列均值
- :当前白噪声(不可观测)
- :第 阶移动平均系数( )
- :移动平均阶数
ARIMA 差分自回归移动平均模型(ARIMA(p, d, q))
ARIMA 模型通过 d 阶差分 将非平稳序列转化为平稳序列,再对差分后序列拟合 ARMA(p, q) 模型。其核心公式为:
其中 为 阶差分序列。
- :原始时间序列
- :差分阶数(通常 )
- :自回归阶数; 为 AR 系数
- :移动平均阶数; 为 MA 系数
- :白噪声项
💡 当 时,ARIMA(p,0,q) 退化为 ARMA(p,q);当 时为 AR(p) 模型;当 时为 IMA(d,q)。
机器学习
线性回归、决策树、随机森林、XGBoost、LightGBM、SVM
- 第一步:加载数据集
- 第二步:数据分析
- 第三步:特征工程(主要工作量),处理成机器学习模型可以学习的二维结构化数据集,并进行特征工程处理
- 第四步:模型训练(回归模型均可,如线性回归、决策树、随机森林、XGBoost、LightGBM、SVM等)
- 第五步:模型评价
- 第六步:模型预测
将时序数据处理成二维的结构化数据集,训练机器学习模型进行预测。
深度学习
RNN类算法、基于大模型的 iTransformer
时间序列预测本质上也是时序建模类任务,所以自然地想到用RNN类算法(LSTM、GRU等)进行时间序列预测,另外还有基于大模型的iTransformer等
通常使用编解码结构(也称seq2seq)