Page 321 - 数学建模算法与应用
P. 321
第十一章 时间序列分析研究
ARIMA(1,1,1) 模型,并估计其参数,
mdl = arima(1, 1, 1);
estMdl = estimate(mdl, y);
其中,y 是时间序列数据。
二、模型诊断
模型诊断是指在模型估计完成后,检查模型的有效性和适用性。Matlab 提
供了多种工具来帮助进行模型诊断,如 infer 函数可以用来计算模型的残差,
residualplot 函数可以绘制残差图来检查残差是否符合预期的模式。
三、预测
一旦模型通过了诊断,下一步就是利用该模型对未来进行预测。Matlab 提供
了 forecast 函数来生成未来的预测值。通过输入已有的模型和历史数据,forecast
函数能够预测未来一段时间内的数据点。例如,预测未来 10 个时间点的数据,
可以使用如下命令:
[YF, YMSE] = forecast(estMdl, 10, y);
这里,YF 表示预测值,YMSE 表示预测误差的均方根。
考虑一个实际的例子,有一组股票价格的历史数据,数据记录了每天收盘价
的变化情况。目标是利用这些数据来构建一个时间序列模型,并尝试预测未来股
价的变动。
% 假设数据已经加载到名为 price 的向量中
% 去除缺失值
price = fillmissing(price, ‘previous’);
% 数据标准化
price = zscore(price);
% 假设我们决定使用 ARIMA(1,1,1) 模型
mdl = arima(‘ARLags’,1,’D’,1,’MALags’,1);
% 使用数据拟合模型
estMdl = estimate(mdl, price);
% 生成残差
311

