基于ARIMA差分自回归移动平均的时间序列预测模型
在数据科学和定量分析领域,时间序列预测始终是一个核心课题。无论是金融市场的波动、气象指标的演变,还是资源需求的变动,时间序列数据都蕴含着随时间演进的规律。在众多经典预测算法中,ARIMA(AutoRegressive Integrated Moving Average) 模型凭借其严谨的数学基础和卓越的解释性,成为了预测领域的“常青树”。
一、 ARIMA 模型的理论核心
ARIMA 模型,全称为差分自回归移动平均模型,其核心理念是将非平稳的时间序列通过差分转化为平稳序列,再结合历史观测值与预测误差进行综合建模。
一个典型的 ARIMA(p,d,q)模型由三个关键部分组成:
- 自回归项 (AR, p):反映了当前时刻的值与其过去 p个时刻的历史值之间的线性关系。
- 差分项 (I, d):为了使原始数据达到平稳状态,需要进行减法运算的次数。
- 移动平均项 (MA, q):描述了当前值与过去 q 个时刻的预测误差之间的线性关系,用于平滑序列中的随机波动。
二、 建模的关键流程
构建一个高性能的 ARIMA 模型并非简单的公式套用,而是一个严谨的统计实验过程。
1. 数据平稳性检验
ARIMA 模型建立在序列平稳的假设之上。所谓平稳性,是指序列的均值、方差不随时间显著改变。
在实际应用中,通常采用“双重检验”机制:
- ADF(单位根检验):用于判断序列是否存在单位根,即是否具有随机趋势。
- KPSS 检验:一种互补检验,用于验证序列的平稳性假设。
若原始序列不平稳,则需引入差分运算(即用后一时刻值减去前一时刻值)。差分的过程会反复进行,直到序列通过平稳性检验,此时的累计差分次数即为模型参数 d
2. 模型定阶:寻找最优组合
在确定了差分阶数 d 后,如何选择最优的 p(自回归阶数)和 q(移动平均阶数)是模型成功的关键。这一过程通常依赖于信息准则:
- AIC(赤池信息准则):衡量模型对数据的拟合程度。
- BIC(贝叶斯信息准则):在拟合度的基础上,对模型参数的数量施加更严格的惩罚。
最优的模型往往是在拟合精度与模型简洁度之间取得平衡的组合,即寻找使 AIC 和 BIC 综合得分最小的 p 与 q
3. 滚动预测机制
为了提高预测的实战意义,模型通常采用**滚动预测(Rolling Forecast)**策略。
逻辑如下:在预测未来的每一个点位时,模型都会动态地吸收前一时刻的真实观测值。这意味着模型在每一个预测步骤中都会重新估计参数,从而确保预测逻辑始终与最新的趋势保持同步,有效防止长短期预测中常见的误差累积效应。
三、 模型评估与诊断
一个稳健的模型不仅需要良好的预测值,更需要通过严格的“体检”。
1. 误差评估指标
我们通过以下指标来量化预测精度:
- RMSE(均方根误差):对大幅度的偏离非常敏感,反映了预测的稳定性。
- MAE(平均绝对误差):直观地展示了预测值与真实值之间的平均差距。
- R2(决定系数):衡量模型对原始数据波动的解释比例,越接近 1 说明模型捕捉趋势的能力越强。
2. 残差诊断:模型是否“榨干”了信息?
模型的本质是从数据中提取规律,剩下的部分(残差)理应是纯粹的随机噪声。
- ACF/PACF 图像分析:通过观察自相关函数和偏自相关函数图,检查残差中是否还残留未被利用的规律。
- QQ 图(分位数图):用于验证残差是否服从正态分布。如果残差点基本沿着 45 度直线排列,说明模型对数据特征的提取非常完整。
四、 部分代码
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据(时间序列的单列数据)
result = xlsread('data.xlsx');
%% 数据集分析
num_size = 0.7; % 训练集占数据集比例
num_samples = length(result); % 样本个数
num_train_s = round(num_size * num_samples); % 训练集样本个数
%% 参数设置
result_org1 = result(1 : num_train_s); % 划分的用于平稳性分析数据
result_org=result_org1 ;
p_train = result_org; % 和用于选择阶数
M = length(result_org); % 训练集样本个数
N = num_samples - M; % 测试集样本个数
五、 运行结果


六、 总结与展望
ARIMA 模型以其深厚的统计学底蕴,为时间序列预测提供了一套标准的分析范式。它不仅能输出预测结果,还能通过参数解释数据内在的惯性与波动逻辑。
然而,ARIMA 也有其局限性。它主要处理的是线性规律,且对长期的非线性波动捕捉能力有限。在处理高度复杂、具有强季节性(需使用 SARIMA)或多变量影响的场景时,ARIMA 往往作为基础基准模型,与深度学习(如 LSTM)或集成学习(如 XGBoost)结合使用,以发挥各自的优势。
对于任何想要深入了解时间序列分析的学者或开发者来说,掌握 ARIMA 的理论精髓,是通往高级预测算法领域的必经之路。