您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 实验指导书(ARMA模型建模与预测)
实验指导书(ARMA模型建模与预测)例1:我国1952-2011年的通货膨胀率数据建模及预测注:从国家统计局网站上下载到的cpi是以上一年为100计算的消费价格指数,即环比数据;而1952年为基期的消费价格指数的计算,需要借助环比发展速度与定基发展速度的关系来得到。(1)数据录入打开Eviews软件,选择“File”菜单中的“New--Workfile”选项,在“Workfilestructuretype”栏选择“Dated–regularfrequency”,在“Datespecification”栏中分别选择“Annual”(年数据),分别在起始年输入1952,终止年输入2011,文件名输入“cpi”,点击ok,见下图,这样就建立了一个工作文件。在workfile中新建序列cpi,并录入数据(点击File/Import/ReadText-Lotus-Excel…,找到相应的Excel数据集,打开数据集,出现如下图的窗口,在“Dataorder”选项中选择“Byobservation-seriesincolumns”即按照观察值顺序录入,第一个数据是从B2开始的,所以在“Upper-leftdatacell”中输入B2,本例只有一列数据,在“Namesforseriesornumberifnamedinfile”中输入序列的名字cpi,点击ok,则录入了数据):通过对cpi序列进行计算,得到通货膨胀率序列inflation(=(cpi-cpi(-1))/cpi(-1)):(2)绘制时序图双击序列inflation,点击view/Graph/line,得到下列对话框:选择图形类型,就可绘制下图的序列时序图,时序图看出1953-2011年的通货膨胀率数据是平稳的,这个判断比较粗糙,需要用统计方法进一步验证。-.10-.05.00.05.10.15.20.25556065707580859095000510INFLATION在进一步分析之前,先将序列零均值化,生成新的序列x=inflation-@mean(inflation),x序列及其序列图如下图所示,后面的分析将围绕x序列进行分析。-.10-.05.00.05.10.15.20.25556065707580859095000510X(3)绘制序列相关图双击序列x,点击view/Correlogram,出现下图对话框,我们对原始数据序列做相关图,因此在“Correlogramof”对话框中选择“Level”即表示对原始序列做相关,在滞后阶数中选择12(或8=60),点击ok,即出现下列相关图:从相关图看出,自相关系数迅速衰减为0,说明序列平稳,但最后一列白噪声检验的Q统计量和相应的伴随概率表明序列存在相关性,因此序列为平稳非白噪声序列。我们可以对序列采用Box-Jenkins方法建模研究。(4)ADF检验序列的平稳性通过时序图和相关图判断序列是平稳的,我们通过统计检验来进一步证实这个结论。双击序列inflation,点击view/unitroottest,出现下图的对话框,我们对序列本身进行检验,序列不存在明显的趋势,所以选择对常数项、不带趋势的模型进行检验,其他采用默认设置,点击ok,出现下图的检验结果,表明拒绝存在一个单位根的原假设,序列平稳。双击序列x,点击view/unitroottest,出现下图的对话框,我们对序列本身进行检验,序列不存在明显的趋势,所以选择不带常数项也不带趋势项的模型进行检验,其他采用默认设置,点击ok,出现下图的检验结果,表明拒绝存在一个单位根的原假设,序列平稳。(5)模型定阶由序列x的自相关偏自相关图可以看出,序列x的自相关系数拖尾,偏自相关系数在k=2后很快趋于0即2步截尾,尝试拟合AR(2)模型,具体模型阶数还需要借助模型定阶方法确定。①残差方差图分别估计AR(1)~AR(8)模型,并将每个模型估计结果中的残差方差(回归标准误的平方)记录下来。然后,将其复制到统计软件Excel中作为一列,并在Excel软件中插入模型对应阶数作为另外一列数据。最后,在Excel软件中以模型阶数为横轴,以模型残差方差为纵轴绘制散点图,即可得到下列残差方差图。123456781.851.91.9522.052.12.152.2x10-3由残差方差图可以确定为AR(3)模型。②F检验分别拟合AR(1)、AR(2)和AR(3)模型,得到剩余平方和(残差平方和)分别为0.114146、0.104935、0.100573。AR(2)模型VSAR(1)模型的检验:0.1141460.1049350.1049354.8277981(592)2F取α=0.05,查F分布表得F(1,55)=4.02F,说明AR(2)与AR(1)有显著差异,模型阶数还有上升的可能。AR(3)模型VSAR(2)模型的检验:0.1049350.1005730.1005732.29868851(593)3F取α=0.05,查F分布表得F(1,53)=4.02F,说明AR(3)与AR(2)没有显著差异,模型阶数还有下降的可能。综上所述,模型合适的阶数是2阶。③信息准则函数拟合AR(1)~AR(8)模型的AIC和BIC信息准则,分别估计MA(1)~MA(9)模型,并将每个模型估计结果中的AIC和BIC信息准则值记录下来。然后,将其复制到统计软件Excel中作为一列,并在Excel软件中插入模型对应阶数作为另外一列数据。最后,在Excel软件中以模型阶数为横轴,以模型残差方差为纵轴绘制散点图,即可得到下列AIC和BIC信息准则图。12345678-3.4-3.3-3.2-3.1-3-2.9-2.8-2.7AICBIC由图形可见,AIC和BIC准则确定的模型阶数是2阶。综合上述三种模型定阶方法的结论,模型阶数确定为2阶,即选择AR(2)模型。(6)模型参数估计经过模型识别所确定的阶数,可以初步建立AR(2),可用菜单或命令两种方式分别建立。在主菜单选择Quick/EstimateEquation,出现下图的方程定义对话框,在方程定义空白区键入xar(1)ar(2),其中ar(i)(i=1,2…)表示自回归系数;估计方法选择项有最小二乘估计(LS)、两阶段最小二乘估计(TSLS)等,我们选择LS。也可通过命令方式实现,在主窗口输入lsxar(1)ar(2)。估计结果如下最小二乘估计结果为12ˆ0.8141380.268396(6.297209)(2.077382)tttXXX误差项方差的估计值为ˆ0.043680a(7)模型适应性检验参数估计后,应对拟合模型的适应性进行检验,实质是对模型残差序列进行白噪声检验。若残差序列不是白噪声,说明还有一些重要信息没被提取,应重新设定模型。可以对残差进行纯随机性检验,也可用针对残差的2检验。①残差序列的生成残差序列从1955至2011年采用拟合的AR(2)模型生成,在方程窗口点击proc/makeresidualseries…,得到下列对话框将该方程的残差序列定义为a_eq_02即可,可以得到从1955至2011年采用拟合的AR(2)模型生成的残差序列。前面的1953、1954则是将前面的初始值012012,,,;,,,XXXaaa都设为0而计算的。程序命令如下a_eq02(2)=x(2)-0.814138*0+0.268396*0a_eq02(3)=x(3)-0.814138*x(2)+0.268396*0这样得到的序列a_eq02即为AR(2)模型的残差序列,a_eq02序列的自相关偏自相关图如下:(偏)相关函数值、以及Q-Stat及其p值显示,残差序列不存在自相关,为白噪声,因此模型是适合的模型。模型拟合图如下-.15-.10-.05.00.05.10.15-.1.0.1.2.3556065707580859095000510ResidualActualFitted(8)模型预测我们用拟合的有效模型进行短期预测,比如我们预预测未来4年的通货膨胀率,首先需要扩展样本期,在命令栏输入expand19522015,回车则样本序列长度就变成64了,且最后面4个变量值为空。在方程估计窗口点击Forecast,出现下图对话框,预测方法常用有两种:Dynamicforecast和Staticforecast:动态预测是根据所选择的一定的估计区间,进行多步向前预测(从预测样本的第一期开始计算多步预测):dynamicdynamicdynamic12ˆˆˆ0.8141955,191380.268356,,201962012,2013,2014,1,2015tttXXXt每一步都是采用前面的预测值计算新的预测值。而样本范围内(1955-2011)的序列实际值是已知的。因此,动态预测只是适应于样本外(2012-2015)预测,而不适应于样本内(1955-2011)预测。静态预测是滚动的进行向前一步预测,即每预测一次,用真实值代替预测值,加入到估计区间,再进行向前一步预测(利用滞后因变量的实际值而不是预测值计算一步向前(one-step-ahead)预测的结果):static12ˆ0.8141380.2683961955,1956,,2011,,2012,tttXXXt可见,对于样本外(2012-2015)的预测需要提供样本外预测期间的解释变量值。对静态预测,还必须提供滞后因变量的数值。而对于样本外(2012-2015)的预测通常因变量的实际观测值是未知的,所以,静态预测一般只适应于样本内(1955-2011)预测,不适应于样本外预测(只可以进行向前一步样本外预测)。并且,由计算公式可见,样本内(1955-2011)的静态预测值与模型的拟合值(估计值)相同。综上所述,在预测时,样本内(1955-2011)预测选用静态预测或模型的拟合值(估计值),样本外(2012-2015)预测选用动态预测。具体步骤:(1)进行样本内(1955-2011)静态预测,在方程估计窗口点击Forecast,出现下图对话框,预测序列记为xf_static,预测方法选择“Staticforecast”,预测样本区间为“1952-2015”,点击OK,得到下列预测图-.2-.1.0.1.2.3556065707580859095000510XF_STATIC±2S.E.Forecast:XF_STATICActual:XForecastsample:19522015Adjustedsample:19552012Includedobservations:57RootMeanSquaredError0.042907MeanAbsoluteError0.028974MeanAbs.PercentError274.5107TheilInequalityCoefficient0.440220BiasProportion0.000050VarianceProportion0.193805CovarianceProportion0.806144(2)将序列的估计值x_fit和这里的静态预测序列xf_static以组的形式打开,并将组命名为x_fit_xf_static,组序列图形如下-.08-.04.00.04.08.12.1655606570758085909500051015X_FITXF_STATIC可见,样本内的静态预测序列值严格落在拟合值序列x_fit的曲线上,说明在样本期内(1955-2011)静态预测值与模型的拟合值(估计值)是相等的。(3)进行样本外(2012-2015)动态预测,在方程估计窗口点击Forecast,出现下图对话框,预测序列记为xf_dynamic,预测方法选择“Dynamicforecast”,预测样本区间为样本外区间“2012-2015”,点击OK,得到下列预测图-.15-.10-.05.00.05.10.152012201320142015XF_DYNAMIC±2S.E.(4)建立新的序列x_fit_f存
本文标题:实验指导书(ARMA模型建模与预测)
链接地址:https://www.777doc.com/doc-3242216 .html