资源描述
试验指导书(ARIMA模型建模和估计)
例:中国1952-进出口总额数据建模及估计
1、模型识别和定阶
(1)数据录入
打开Eviews软件,选择“File”菜单中“New--Workfile”选项,在“Workfile structure type”栏选择“Dated –regular frequency”,在“Date specification”栏中分别选择“Annual”(年数据) ,分别在起始年输入1952,终止年输入,文件名输入“im_ex”,点击ok,见下图,这么就建立了一个工作文件。
在workfile中新建序列im_ex,并录入数据(点击File/Import/Read Text-Lotus-Excel…,
找到对应Excel数据集,打开数据集,出现以下图窗口,在“Data order”选项中选择“By observation-series in columns”即根据观察值次序录入,第一个数据是从B15开始,所以在“Upper-left data cell”中输入B15,本例只有一列数据,在“Names for series or number if named in file”中输入序列名字im_ex,点击ok,则录入了数据):
(2)时序图判定平稳性
双击序列im_ex,点击view/Graph/line,得到下列对话框:
得到以下该序列时序图,由图形能够看出该序列呈指数上升趋势,直观来看,显著非平稳。
(3)原始数据对数处理
因为数据有指数上升趋势,为了减小波动,对其对数化,在Eviews命令框中输入对应命令“series y=log(im_ex)”就得到对数序列,其时序图见下图,对数化后序列远没有原始序列波动猛烈:
从图上仍然直观看出序列不平稳,深入考察序列y自相关图和偏自相关图:
从自相关系数能够看出,呈周期衰减到零速度很缓慢,所以断定y 序列非平稳。为了证实这个结论,深入对其做ADF检验。双击序列y,点击view/unit root test,出现下图对话框,
我们对序列y本身进行检验,所以选择“Level”;序列y存在显著线性趋势,所以选择对带常数项和线性趋势项模型进行检验,其它采取默认设置,点击ok。
检验结果见下图,能够看出在显著性水平0.05下,接收存在一个单位根原假设,深入验证了原序列不平稳。为了找出其非平稳阶数,需要对其一阶差分序列和二阶差分序列等进行ADF检验。
(4)差分次数d确实定
y序列显著非平稳,现对其一阶差分序列进行ADF检验。在对y一阶差分序列进行ADF单位根检验之前,需要明确y一阶差分序列趋势特征。在Eviews命令框中输入对应命令“series dy1=D(y)”就得到对数序列一阶差分序列dy1,其时序图见下图
由y一阶差分序列时序图可见,一阶差分序列不含有趋势特征,但含有非零均值。所以,在下图对序列y单位根检验对话框中选择“1st difference”,同时选择带常数项、不带趋势项模型进行检验,其它采取默认设置,点击ok。
检验结果见下图,能够看出在显著性水平0.05下,拒绝存在单位根原假设,说明序列y一阶差分序列是平稳序列,所以d=1。
(5)建立一阶差分序列
在Eviews对话框中输入“series x=y-y(-1)”或“series x=y-y(-1)”,并点击“回车”,便得到了经过一阶差分处理后新序列x,其时序图见下图,从直观上来看,序列x也是平稳,这就能够对x序列进行ARMA模型分析了。
(6)模型识别和定阶
双击序列x,点击view/Correlogram,出现下图对话框,
我们对原始数据序列做相关图,所以在“Correlogram of”对话框中选择“Level”即表示对原始序列做相关,在滞后阶数中选择12(或8=),点击ok,即出现下列相关图:
从x自相关函数图和偏自相关函数图中我们能够看到,偏自相关系数是显著截尾,而自相关系数在滞后6阶和7阶时候落在2倍标准差边缘。这使得我们难以采取传统Box-Jenkins方法(自相关偏自相关函数、残差方差图、F检验、准则函数)确定模型阶数。对于这种情况,本例经过反复对模型进行估量比较不一样模型变量对应参数显著性来确定模型阶数。
2、模型参数估量
在Eviews主菜单点击“Quick”-“Estimate Equation”,会弹出以下图所表示窗口,
在“Equation Specification”空白栏中键入“x C AR(1) AR(2) MA(1) MA(2) MA(3) MA(4) MA(5)”等,在“Estimation Settings”中选择“LS-Least Squares(NLS and ARMA)”,然后“OK”。或在命令窗口直接输入“ls x C AR(1) AR(2) MA(1) MA(2) MA(3) MA(4) MA(5)”等。针对序列x我们尝试多个不一样模型拟合,比如ARMA(1,7),ARMA(1,6),ARMA(2,6)等。多种模型参数显著性t检验结果(p值)见下表(不显著为零参数p值用红色字体表示)
模型
c
ar(1)
ar(2)
ma(1)
ma(2)
ma(3)
ma(4)
ma(5)
ma(6)
ma(7)
Eq02_07
0.0008
0.8009
0.0486
0.4403
0.0002
0.0941
0.9841
0.9726
0.0066
0.0591
Eq02_07_1
0.0005
0.001
0.0122
0
0.0243
0.8189
0.8571
0.0006
0.0043
Eq02_07_2
0.0004
0.0002
0.0098
0
0.0033
0
0
Eq02_06
0.008
0.0053
0.6332
0.1156
0.004
0.5464
0.3428
0.8636
0.0206
Eq02_05
0
0.28
0.1924
0.9096
0.0016
0.2036
0.4605
0.9062
Eq01_07
0.0112
0.1334
0.9916
0.0219
0.9524
0.5713
0.8233
0.0002
0.2726
Eq01_07_1
0.011
0.0875
0.9865
0.0175
0.5543
0.7809
0.0002
0.2531
Eq01_07_2
0.0102
0.0817
0.9892
0.0192
0.6363
0.0002
0.217
Eq01_07_3
0.0072
0.0946
0.9239
0.0163
0
0.1661
Eq01_07_4
0.0069
0.0022
0.0157
0
0.0227
Eq01_06
0.0489
0
0.0003
0.0017
0.5935
0.3162
0.4555
0.0135
Eq01_06_1
0.0025
0
0.0001
0.0005
0
可见,多种估量模型参数显著性检验中,只有黄色覆盖包含部分参数三个模型ARMA(2,7)、ARMA(1,7)和ARMA(1,6)全部参数全部显著,现在来比较上述模型残差方差和信息准则值
模型
残差方差
AIC
BIC
Eq02_07
0.019842
-0.9241
-0.56567
Eq02_07_1
0.019676
-0.94655
-0.62396
Eq02_07_2
0.018908
-1.01569
-0.76479
Eq02_06
0.019489
-0.95607
-0.63348
Eq02_05
0.020896
-0.90082
-0.61408
Eq01_07
0.021495
-0.86034
-0.54061
Eq01_07_1
0.021066
-0.89478
-0.61058
Eq01_07_2
0.02067
-0.92844
-0.67977
Eq01_07_3
0.020351
-0.95904
-0.74589
Eq01_07_4
0.019969
-0.99342
-0.81579
Eq01_06
0.03
-0.93957
-0.65537
Eq01_06_1
0.019293
-1.02784
-0.85022
由上表可见,方程Eq02_07_2对应ARMA(2,7)模型残差方差最小,其次是方程Eq01_06_1对应ARMA(1,6)模型残差方差;而方程Eq01_06_1对应ARMA(1,6)模型AIC和BIC信息准则全部小于方程Eq02_07_2对应ARMA(2,7)模型AIC和BIC信息准则,且在估量模型中,方程Eq01_06_1对应ARMA(1,6)模型AIC和BIC信息准则最小,而且由各个模型系数t检验统计量p值可知,在方程Eq01_06_1对应ARMA(1,6)模型中全部模型系数全部显著不为零。所以,我们这里选择由方程Eq01_06_1对应ARMA(1,6)模型。该模型估量结果以下
由结果可见,模型最小二乘估量结果为
误差项方差估量值为
而且由模型系数t统计量及其p值也能够看到,模型全部解释变量参数估量值在0.01显著性水平下全部是显著。
3、模型适应性检验
参数估量后,应对拟合模型适应性进行检验,实质是对模型残差序列进行白噪声检验。若残差序列不是白噪声,说明还有部分关键信息没被提取,应重新设定模型。能够对残差进行纯随机性检验,也可用针对残差检验。
(1) 残差序列生成
残差序列从1954至采取拟合ARMA(1,6)模型生成,在方程窗口点击proc/make residual series…,
得到下列对话框
将该方程残差序列定义为a_eq01_06_1即可,能够得到从1954至采取拟合ARMA(1,6)模型生成残差序列。前面1953则是将前面初始值全部设为0而计算。程序命令以下
a_eq01_06_1 (2)=x(2)-0.151676-0.785440*0+0.463391*0+0.428391*0-0.454978*0
这么得到序列a_eq01_06_1即为ARMA(1,6)模型残差序列,a_eq01_06_1序列自相关偏自相关图以下:
(偏)相关函数值、和Q-Stat及其p值显示,残差序列不存在自相关,为白噪声,所以模型是适合模型。模型拟合图以下
(8)模型估计
我们用拟合有效模型进行短期估计,比如我们估计、、和进出口总额。先估计、、和x,再估计进出口总额。
首先需要扩展样本期,在命令栏输入expand 1952 ,回车则样本序列长度就变成64了,且最终面4个变量值为空。在方程估量窗口点击Forecast,出现下图对话框,
估计方法常见有两种:Dynamic forecast和Static forecast:
动态估计是依据所选择一定估量区间,进行多步向前估计(从估计样本第一期开始计算多步估计):
每一步全部是采取前面估计值计算新估计值。而样本范围内(1954-)序列实际值是已知。所以,动态估计只是适应于样本外(-)估计,而不适应于样本内(1954-)估计。
静态估计是滚动进行向前一步估计,即每估计一次,用真实值替换估计值,加入到估量区间,再进行向前一步估计(利用滞后因变量实际值而不是估计值计算一步向前(one-step-ahead)估计结果):
可见,对于样本外(-)估计需要提供样本外估计期间解释变量值。对静态估计,还必需提供滞后因变量数值。而对于样本外(-)估计通常因变量实际观察值是未知,所以,静态估计通常只适应于样本内(1954)估计,不适应于样本外估计(只能够进行向前一步样本外估计)。而且,由计算公式可见,样本内(1954-)静态估计值和模型拟合值(估量值)相同。
总而言之,在估计时,样本内(1954-)估计选择静态估计或模型拟合值(估量值),样本外(-)估计选择动态估计。
具体步骤:
(1)进行样本内(1954-)静态估计,在方程估量窗口点击Forecast,出现下图对话框,
估计序列记为xf_static_eq01_06_1,估计方法选择“Static forecast”,估计样本区间为“1952-”,点击OK,得到下列估计图
(2)将序列估量值x_fit_eq01_06_1和这里静态估计序列xf_static_eq01_06_1以组形式打开,并将组命名为x_fit_xf_static,组序列图形以下
可见,样本内静态估计序列值严格落在拟合值序列x_fit曲线上,说明在样本期内(1954-)静态估计值和模型拟合值(估量值)是相等。
(3)进行样本外(-)动态估计,在方程估量窗口点击Forecast,出现下图对话框,
估计序列记为xf_dynamic_eq01_06_1,估计方法选择“Dynamic forecast”,估计样本区间为样本外区间“-”,点击OK,得到下列估计图
(4)建立新序列x_fit_f存放序列静态和动态估计值,在样本内(1954-)采取静态估计值或序列拟合值(估量值),在样本外(-)采取动态估计值。所以,将序列xf_static_eq01_06_1(或序列x_fit_eq01_06_1)中第1954-数值复制到序列x_fit_f对应位置,然后将序列xf_dynamic_eq01_06_1中第-数值复制到序列x_fit_f对应位置,这么得到序列x_fit_f就是序列x估计值。
(5)将序列实际值x和这里估计序列x_fit_f以组形式打开,并将组命名为x_x_fit_f,组序列图形,即x实际值和估计值图形以下
综合上述分析过程,实际上我们是针对原序列(im_ex):1952年—中国进出口总额数据序列,建立了一个ARIMA(1,1,6)模型进行拟合,模型形式以下:
一样,也能够得到序列y估计值序列y_fit_f和序列im_ex估计值序列im_ex_fit_f,命令分别为“series y_fit_f=x_fit_f+x_fit_f(-1)”和“series im_ex_fit_f=exp(y_fit_f)”。然后,将序列y和序列im_ex实际值y和im_ex和这里估计序列y_fit_f和im_ex_fit_f以组形式打开,并将组分别命名为y_y_fit_f和im_ex_im_ex_fit_f,组序列图形,即y和im_ex实际值和估计值图形以下
由图形能够看出,对非平稳序列y和im_ex估计效果很差。所以,非平稳序列估计含有不稳定性,对非平稳序列估计意义不大。
作业:
1.中国1952-社会消费品零售总额,根据平稳时间序列建模步骤,建立ARMA模型,并对第和社会消费品零售总额进行估计。
展开阅读全文