登录
首页精彩阅读SAS时间序列模型预测未来航班数量
SAS时间序列模型预测未来航班数量
2016-05-29
收藏

SAS时间序列模型预测未来航班数量

时间序列建模步骤:

1. 时间序列平稳性检验:如果一个时间序列的概率分布与时间无关,则成为平稳序列。

2. 时间序列平稳化和零均值化:时间序列预测模型是建立在平稳序列的基础上的,由于日常所见的数据序列大多是非平稳序列,故需要转换为平稳序列,转换后需要进行零均值化处理。

3. 自回归模型(AR模型)、移动平均模型(MA模型)和自回归移动平均模型(ARMA模型)阶数识别,确定模型阶数p和q值:

AR模型:某个观测值Xt与其滞后p期的观测值的线性组合再加上随机误差项。

即:Xt= φ1Xt-1+φ2Xt-2+……+φpXt-p+at;

MA模型:某个观测值Xt与先前t-1,t-2,t-q个时刻进入系统的q个随机误差项即at,at-1,……,Xt-q的线性组合。

即:Xt=at-θ1at-1-θ2at-2-……-θqXt-q;

ARMA模型:即观测值不仅与其以前p个时刻的自身观测值有关,而且还与其以前时刻进入系统的q个随机误差存在一定的依存关系。

即Xt= φ1Xt-1+φ2Xt-2+……+φpXt-p+at-θ1at-1-θ2at-2-……-θqXt-q。


4. 参数估计:确定p、q值后,运用最大似然、最小二乘法等算法估计模型参数(φi 和θj,i=1,2,…,p;j=1,2,……,q)值。

5. 模型预测:利用显著的模型对时间序列进行预测。

以下就使用sashelp.air这份时间序列数据集进行预测模型的建立。

1. 平稳性识别

proc gplotdata=sashelp.air;

plot air*date;

symbol c=red i=spline v=dot;

run;

通过趋势图不难发现其存在长期趋势并且随着季节存在周期性的变动。

2. 时间序列平稳化和零均值化

观察发现使用一阶差分可得平稳化和零均值化时间序列。

proc arimadata=sashelp.air;

identify var=air(1) nlag=30;

run;

白噪声检验原假设:一阶差分值是白噪声。

1阶差分和1阶差分的ACF(自相关系数)、PACF(偏自相关系数)和IACF(逆自相关系数)。

3. 模型识别

通过图像我们可以发现ACF拖尾,PACF12阶截尾,故选择AR模型。

模型参数的确定主要有三种方法:


  1. ESACF(延伸自相关系数法)
  2. SCAN(最小典型相关法)
  3. MINIC(最小信息准则法)


这里以MINIC为例:

proc arimadata=sashelp.air;

identify var=air(1) nlag=30 minic p=(0:12) q=(0:12);

/*还可以添加选项minic, esacf, scan*/

run;

4. 参数估计和检验

proc arimadata=sashelp.air;

identify var=air(1) nlag=30;

estimate p=12 q=0 ML;

/*还可以添加选项method=ML(极大似然)、ULS(非条件最小二乘法)、CLS(最小二乘法)*/

run;


结果: 

1 + 0.18266 B**(1) + 0.2696 B**(2) + 0.22644 B**(3) + 0.26291 B**(4) + 0.19729 B**(5) + 0.26238 B**(6) + 0.21259 B**(7) + 0.31246 B**(8) + 0.17541 B**(9) + 0.29835 B**(10) + 0.16218 B**(11) – 0.64715 B**(12)

5. 模型预测

proc arimadata=sashelp.air plots(only)=forecast(forecast);

identify var=air(1) nlag=30;

estimate p=12 q=0 ML;

forecast lead=10 out=out;

run;



数据分析咨询请扫描二维码

客服在线
立即咨询