Page 320 - 数学建模算法与应用
P. 320
Mathematical Modeling Algorithms and Applications
数学建模算法与应用
% 预测 1986 年和 1987 年的数据
y1986 = a21 + b21;
y1987 = a21 + 2 * b21;
% 显示预测结果
disp([‘ 预测 1986 年的数据 y1986:’, num2str(y1986)]);
disp([‘ 预测 1987 年的数据 y1987:’, num2str(y1987)]);
% 保存处理后的数据
save(‘bdata.mat’, ‘y’, ‘yhat1’, ‘yhat2’, ‘a21’, ‘b21’, ‘y1986’, ‘y1987’);
趋势移动平均法对于同时存在直线趋势与周期波动的序列,是一种既能反映趋势
变化,又可以有效地分离出来周期变动的方法。
第三节 时间序列的 Matlab 工具箱的应用
在进行时间序列分析时,Matlab 作为一个强大的工具,提供了多种内置函数
来处理时间序列数据。无论是数据预处理、模型构建、参数估计还是模型诊断和
预测,Matlab 都拥有相应的工具箱来支持这些工作。
在进行时间序列分析前,数据预处理是必不可少的。这包括缺失值填充、异
常值检测与修正等。Matlab 提供了如 fillmissing 函数来填补缺失值,isoutlier 函
数来检测数据中的异常值。例如,对于一个存在缺失值的时间序列 x,可以使用
如下命令:
x = fillmissing(x, ‘previous’);
这将用前一个值填充缺失值。
一、模型构建与参数估计
时间序列分析的核心在于构建合适的模型来捕捉数据的变化趋势。Matlab 内
置的时间序列分析工具箱支持多种模型构建,如 ARIMA 模型。使用 arima 函数
可以创建 ARIMA 模型,而 estimate 函数则用于估计模型参数。例如,构建一个
310

