《eviews做方程预测(完全).ppt》由会员分享,可在线阅读,更多相关《eviews做方程预测(完全).ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1,第十六章 方程预测,本章描述了对一个单方程进行预测或计算拟合值的过程。这里描述的技术是利用通过回归方法估计得到的方程来进行预测。,2,16.1 EViews中的方程预测,为说明一个被估计方程的预测过程,我们从一个简单的例子开始。假设我们有1947:011995:01年美国国内生产总值(GDP)、消费(CS)和投资(INV),这些数据包含在工作区间为1946:011995:4的工作文件(16_1)中。 我们运用1947:011995:01这段时期的数据,估计GDP对常数、CS和INV的回归,并用AR(1)修正残差序列相关,用该模型预测GDP。估计得到的方程结果由方程对象eq_gdp给出:,3
2、,注意该估计样本的观测值做了调整,以解释该模型在推导AR(1)估计时使用的滞后内生变量的一阶差分。,4,为了对该模型的结果有清楚的认识,选择View/Actual, Fitted, Residual,然后选择Actual, Fitted, Residual Graph:,该图的上半部分绘出的实际值和拟合值事实上难以区分。但这里的拟合值不能保存。只有在使用EViews的预测程序计算因变量的拟合值时才可以保存。,5,一、如何进行预测,为预测该方程的GDP,在方程的工具栏中按Forecast按钮,或选择Procss/ Forecast 。这时会出现下表:,6,我们应提供如下信息: 1、序列名 预测后
3、的序列名 将所要预测的因变量名填入编辑框中。EViews默认了一个名字,但可以将它变为任意别的有效序列名。这个名字应不同于因变量名,因为预测过程会覆盖已给定的序列值。 S.E.(Optional) 如果需要,可以为该序列的预测标准差提供一个名字。如果省略该项,预测标准误差将不被保存。 GARCH(Optional) 对用ARCH估计的模型,还可以保存条件方差的预测值(GARCH项)。见16章对GARCH估计的讨论。,7,2、预测方法 可以在如下方法中进行选择: 动态(Dynamic) 从预测样本的第一期开始计算多步预测。 静态(Static) 利用滞后因变量的实际值而不是预测值计算一步向前(o
4、ne-step-ahead)预测的结果。 还可以做如下的选项: 结构(Structural) 预测时EViews将忽略方程中的任何ARMA项。若不选此项,在方程中有ARMA项时,动态与静态方法都会对残差进行预测。但如果选择了Structural,所有预测都会忽略残差项而只对模型的结构部分进行预测。 样本区间(Sample range) 必须指定用来做预测的样本。如果缺选,EViews将该样本置为工作文件样本。如果指定的样本超出估计方程所使用的样本区间(估计样本),那么会使EViews产生样本外预测。 注意:需要提供样本外预测期间的解释变量值。对静态预测,还必须提供滞后因变量的数值。,8,3、输
5、出 可以选择以图表或数值,或者二者同时的形式来观察预测值。只有当预测样本中包含因变量的观测值时,才可以得到预测估计值。 假设在样本区间1947:011995:01间对eq_gdp进行动态预测。预测值放在序列GDPFD中,EViews将会显示预测曲线和加减两个标准差的带状域以及预测的估计值。,9,注意:预测值被保存在GDPFD序列中。因为GDPFD序列是一个标准的EViews序列,所以可以利用序列对象的所有标准工具来检验预测结果。 我们可以通过绘出曲线图来检查实际值与拟合值。这是从1947:02到1995:01整个时期上的动态预测。对每个时期,前一个GDP(-1)的预测值在形成后期的GDP预测值
6、时被使用。注意,实际值与拟合值图形的细微差别:,10,要对一个序列进行一步向前预测(静态预测),单击方程工具栏中的Forecast键,然后选择Static进行预测。EViews将显示预测结果为:,11,我们可以比较GDP的实际值和动态预测拟合值GDPFD、静态预测拟合值GDPFS,可以看出一步向前静态预测比动态预测要更为准确,因为对每个时期,在形成GDP的预测值时使用的是GDP(-1)的实际值。,12,16.2 预测基础,EViews将预测结果在Forecast name项命名并存储。我们把该序列称为预测序列。 预测样本中指定了EViews将计算出的拟合值和预测值的结果期间。如果出现不能预测的
7、情况,将返还缺失值NA,在有些情况下,为了防止含有缺失值的预测,EViews会自动进行缺失值调整。值得注意的是预测样本可能与估计方程所使用的样本观察值发生重叠,也可能没有重叠。 对于没有包含在预测样本中的数值,会有两种选择。作为缺省,EViews将用其因变量的实际值充填,另一种是不选择Insert actuals for out-of-sample,预测样本外的数值将都赋予“NA”。于是,这些规则的结果是被预测序列中的所有数据在预测过程中将被覆盖,被预测序列的已存值将会丢失。,13,一、计算预测值,对预测样本中的每一观察值,EViews利用估计参数、等式右边的外生变量、以及滞后内生变量和残差的
8、实际值或估计值来计算因变量的拟合值。构造预测值的方法取决于估计模型和用户设定的环境。 为说明预测过程,我们从一个简单的线性回归模型开始,等式右边不含滞后内生变量和ARMA项。假设给出如下方程列表,并做出估计: y c x z 选择Forecast,给定预测期间,然后单击 OK。对预测期内的每一观察值,EViews将用估计出的参数和回归因子x , z的对应值计算y的拟合值:,对预测期内的所有观测值,应该确保等号右边外生变量的值有效。如果外生变量预测样本有数据丢失,对应的预测值将为NA。,14,二、缺失值调整 预测值被赋值为NA有两种情况: 1、只要有一个解释变量有缺失值; 2、只要有一个解释变量
9、的样本超出了工作文件的范围,这还包括在AR 模型中的隐含误差项。 在公式中没有动态成分(如没有滞后内生变量或ARMA误差项)时,被预测序列中的缺失值并不影响随后的预测值。如果有了动态成分,即使是被预测序列中的一个缺失值也将会影响到以后所有的预测值。 EViews将对方程中滞后变量的预测样本起始点进行调整,直到获得有效的预测值。例如,假设利用下面的方程进行动态预测:y c y(-1) ar(-1),如果指定工作文件的起点为预测样本的起点,EViews将向后调整两个预测样本观测值,并且使用滞后变量前面的预测值。,15,三、预测误差与方差 假设真实的模型由下式给定:,这里 是独立同分布,均值为零的随
10、机扰动项, 是未知参数向量。下面我们放松 是独立的限制。 生成y的真实模型我们尚不知道,但我们得到了未知参数 的估计值b。设误差项均值为零,可以得到y的预测方程:,该预测的误差为实际值与预测值之差,16,1残差不确定 误差的第一种来源是由残差或新息(innovation) 的不确定引起的,因为方程中的新息 在整个预测区间未知,被设为它们的期望值。在残差期望值为零时,单个残差值非零;单个误差的方差越大,预测中的总体误差越大。 测量方差的标准方式是回归标准差(在输出方程中用“S.E.of regression”表示)。残差不确定通常是预测误差的主要来源。 在动态预测中,因为滞后因变量和由滞后随机变
11、量构成的ARMA项的存在,使得新息不确定性更为复杂。EViews也将这些值设为它们的期望值,这与实际值有随机偏差。含有滞后因变量和ARMA项的预测在后面详细讨论。,17,2系数不确定 预测误差的第二个来源是系数的不确定。方程中系数b的估计值是由随机情况下的真实系数导出的。求出的回归方程中估计系数的标准差是用来衡量估计系数精确度的一个指标。 系数不确定的影响程度由外生变量决定。因为在计算预测值时,要用估计系数乘以外生变量X,外生变量超出它们的均值越多,预测的不确定性越大。,18,3预测可变性 预测可变性由预测标准差来衡量。对一个没有滞后因变量或ARMA项的单方程,预测标准差由下式计算:,式中s为
12、回归标准差。标准差可以说明随机误差项和系数的不确定性。用最小二乘法估计的线性回归模型做出的点预测是最优的,因为在由线性无偏估计做出的预测中它的预测方差最小。此外,如果随机误差项服从正态分布,则预测误差服从t-分布。 如果赋给预测标准差一个名字,EViews将在工作文件中计算并保存一个预测标准差序列。可以利用它形成预测的置信区间。如果选择Do graph项输出,EViews将显示预测值及加减两个标准差的带状图。这两个标准差带在95%的置信区间内;在做预测时,因变量实际值有95%的可能性落在置信区间内。,19,四、预测效果评估 假设我们利用1947:021995:01的样本数据估计出的GDP方程,
13、然后分别进行1947:021995:01和1994:011995:01关于GDP的动态预测。如果选中Forecast evaluation (预测效果评估), EViews将显示预测效果评估的统计结果表:,20,注意:如果预测样本中没有因变量的实际值数据,EViews不能进行预测效果评估。预测效果评估结果可以以两种方式被保存。如果打开Do graph选项,预测效果评估结果将与预测图一起显示在屏幕上。如果只希望显示预测效果评估结果,关掉预测栏中的Do graph选项。 假设预测样本为 ,T 为实际值样本长度,用 和 分别表示 t 期的实际值与预测值。计算出的预测误差统计结果如下所示:,21,前两
14、个预测误差统计量由因变量规模决定。它们应该被作为相对指标来比较同样的序列在不同模型中的预测结果,误差越小,该模型的预测能力越强。 后两个统计值是相对量。泰尔(Theil)不等系数总是处于0和1之间,这里0表示与真实值完全拟合。 预测均方差可以分解为:,式中 分别为 和 的平均值和标准差,r为 和 的相关系数。该比值被定义为:,22,偏差比表明预测均值与序列实际值的偏差程度;方差比表明预测方差与序列实际方差的偏离程度;协方差比衡量非系统误差的大小。 注意:偏差比、方差比和协方差比之和为1。 如果预测结果好,那么偏差比和方差比应该较小,协方差比较大。对预测估计的其余讨论,见Pindyck与Rubi
15、nfeld(1991,第12章)。,23,16.3 含有滞后因变量的预测,在方程等号的右边出现滞后变量时,预测变得更为复杂。例如,我们可以在原来的形式后面引入y的一阶滞后: y c x z y(-1) 并且单击Forecast键,和前面一样在对话框中写入序列名。不过我们还面临着对方程等号右边 y 的滞后值如何进行估计的问题。这里提供了两种方法:动态预测与静态预测。 一、动态预测 如果选择动态预测,EViews将从预测样本的起始日期开始,对y进行多步预测。对如上只指定一个滞后变量的情况:,24,预测样本的初始值将使用滞后变量y的实际值。因此,如果y的实际样本值是T个,我们从T+1开始预测,即T+
16、1是第一个预测值,EViews将计算,这里 是预测样本开始前一期的滞后内生变量值,这就是一步向前预测。随后的h个预测值,k = 1 , 2 , , h,将使用前期y的预测值:,这种预测方法显著地不同于静态的一步向前预测。在估计方程中,如果有y的其它滞后变量,需要对如上运算进行修改,,25,如果在方程中有y的三阶滞后: 第一个预测值(T+1期的观察值)采用三个滞后变量 的实际值。 第二个观察值(T+2期的观察值)采用 的实际值和一阶滞后 的预测值。 第三个观测值(T+3期的观察值)采用的实际值 和一阶滞后 、二阶滞后 的预测值。 此后所有观测值都采用三个滞后变量的预测值。 在动态预测中,预测样本
17、初始值的选择非常重要。动态预测是真正的多步预测(从第一个预测样本开始),因为它们重复使用滞后因变量的预测值。这些预测可能被解释为利用预测样本开始时的已知信息计算的随后各期的预测值。 动态预测要求预测样本中外生变量的各个观测值已知,并且滞后因变量预测样本的初始值已知(在我们的例子中是 但更一般的是y的任意阶滞后)。如果需要,可以对预测样本进行调整。 解释变量如有缺失值,通过滞后因变量的动态预测,将使对应期观测值及以后观测值为NA。,26,二、静态预测 静态预测对因变量进行一系列的一步向前预测: EViews采用滞后内生变量的实际值,通过下式对 k =0 , 1 , 2 , , h 计算每一个预测
18、值:,静态预测要求外生变量和任何滞后内生变量在预测样本中的观测值可以获得。如上,如果需要,EViews将对预测样本进行调整以解释滞后变量的前期样本。如果没有某期数据,对应该期的预测值为NA。它并不会对以后预测产生影响。 三、静态预测与动态预测的对比 这两种方法在多期预测中生成的第一期结果相同。因此,两个预测序列(一个静态的和一个动态的)在预测样本中的第一个值相同。只有在存在滞后因变量或ARMA项时,两种方法以后各期的值才不同。,27,16.4 含有ARMA误差项的预测,用含有ARMA项的方程进行预测会更为复杂。如果方程中包含AR或MA项,需要了解EViews是如何利用滞后残差进行预测的。 一、
19、结构预测 EViews以默认的方式利用估计出的ARMA结构预测残差值,如下所述: 对有些类型的工作,可能希望ARMA误差项总为零。如果选择Structural (ignore ARMA),选择结构预测,EViews在计算预测值时将假设误差总为零。如果被估计方程没有ARMA项,该选项对预测没有影响。 二、含有AR误差项的预测 对包含AR误差项的方程,EViews将把该方程的残差预测加到基于解释变量的结构模型预测中。 为计算残差的估计,EViews需要滞后残差值的估计或实际值。对预测样本的第一个观测值,EViews将利用前面的样本数据计算滞后残差。如果前面没有用来计算滞后残差的样本数据,EView
20、s将调整预测样本,把实际值赋给预测序列。,28,如果选中Dynamic,系统对滞后因变量和滞后残差都进行动态预测。如果选择Static,这两者都会被置为实际值。例如,考虑如下的AR(2)模型:,用 来表示拟合残差,并假设用截止到 t = T 期的数据估计模型。则在 值已知时,t = T+1 , T+2 , T+3 , 的动态与静态预测值由下式给出:,式中 。对其后观测值,动态预测使用的是多步预测得来的残差值,而静态预测使用的是一步向前预测的残差值。,29,三、包含MA误差项的预测 一般说来,不需要了解MA预测的细节,因为EViews自动进行预测。下面介绍MA预测的基本思想。 利用MA计算预测值
21、的第一步是求得前期预测样本中随机误差项的拟合值。例如,如果要预测包含一个简单的MA(q)的从T+1期开始的y值:,则需要知道滞后随机误差项 的值。为计算预测前期的随机误差项,EViews将自动指定估计样本的前q个随机误差项的初值 。 给定初始值后,EViews将利用向前递归来拟合MA(q)模型随后的各随机误差项 的值 。 要注意本过程与前面包含AR项的过程之间的区别。在前面,预测样本是向前调整且预测值置为实际值。,30,动态与静态选择有两个基本含义: 1如果已计算出随机变量的前q个样本值,动态预测将其后的所有随机误差项都置为零。静态预测将通过样本值的末尾扩展向前递归,允许结构模型和随机误差项的
22、一步向前预测。 2在计算静态预测时,EViews使用全部估计样本来回推随机误差项。对动态的MA预测,回推过程利用的估计样本初值是预测期间的起始值或估计样本末端值。,31,前面举的例子都是对因变量进行拟合的例子。一般检验一个模型的预测效果,采用把样本期间分为两个期间:估计样本期间和检验样本期间的方法。利用估计样本期间估计模型,然后利用检验样本期间检验预测效果。例如在上例中估计期间取为1947年1季度-1993年1季度;检验(预测)期间取为1993年2季度-1995年1季度。可以观察预测效果如何,反复修正模型,改善预测效果。 实际预测时对未来的信息是未知的,需将外生变量外推出来后,利用模型进行因(
23、内生)变量预测。,32,16.5 带有公式的预测方程,EViews可以估计并预测等式左边是由某个公式定义的变量的方程。在对左边是公式的方程进行预测时,由三件事情决定预测过程和可以利用的选项: 1公式是否为线性或非线性; 2公式中是否包括滞后变量; 3公式中是否包括估计系数。 一、点预测 EViews可以提供对方程左边的因变量是某个表达式的情况,预测这个表达式的功能。而且如果公式中的第一个序列,能从表达式求解出来,那么EViews还可以提供预测公式中第一个序列的功能。,33,例如,假设估计如下定义的方程: log(gdp) c log(cs) log(gdp(-1) 当选择Forecast按钮,
24、预测对话框显示如下,注意该对话框提供了两种预测序列以供选择:表达式 log(gdp) 与第一个序列gdp。,34,但是,如果将方程定义为: x+1/x=c(1)+c(2)*y EViews就不能求解出第一个序列X,而只能预测表达式了。预测对话框如下:,35,该对话框只允许预测作为因变量的整个表达式,因为EViews不能对X进行求解。还需要注意这时只能进行静态预测。 如果表达式的第一个序列能被求解,EViews将计算该变量的预测值。在表达式中包含滞后变量时,会产生重要的影响。例如,考虑如下两个模型: series Dy = D (y) eqution eql.ls D(y) c x equtio
25、n eq2.ls Dy c x 第一个方程中一阶差分D(y)的动态预测在数值上与第二个方程的Dy相同。不过,这两个方程的D(y)的静态预测值并不相同。这是因为第一个方程中EViews知道因变量D(y)是y的一种变形,所以在计算一阶差分D(y)的静态预测值时,它使用的是y的实际滞后变量值。在第二个方程中,EViews简单地把Dy当作普通序列,用c和x计算静态预测。,36,二、标准差做图 在预测对话框中,如果选择Do graph,EViews将做出预测图及加减两个标准差的带状图。当估计的方程左边是一个表达式时,EViews将根据预测哪一项来画出序列或表达式的标准误差带状图。 三、保存的预测标准差
26、如果在编辑框中写入一个名字,EViews将保存所要预测的序列或表达式的预测标准差。,37,16.6 非线性和包含PDL的预测,前面提到过预测误差有两个来源:系数不确定和随机误差项不确定。对线性模型,预测标准差对系数和随机误差项的不确定都已做出解释。但是,如果模型是非线性的(或它包含PDL),那么标准差就会忽略系数不确定。 例如,考虑如下四种模型: log(y) c x y=c(1)+c(2)*x y=exp(c(1)*x) y c x pdl(z,4,2) 前两个模型的预测标准差将系数和随机误差项的不确定都考虑在内,因为这两个模型的系数都是线性的。后两个模型的预测标准差只考虑了残差的不确定。
27、还有另一种情况需要提醒。假设预测如下模型: y-c(1)=c(3)+c(2)*x 虽然该模型的参数是线性的,EViews也会忽略系数不确定。对等式左边有系数的方程,预测标准差只反映残差不确定。,38,16.7 命 令,为了得到静态(一步向前)预测,在命令窗口中输入待估计的方程名,后面加一点和命令fit,接着输入拟合序列名yhat ,然后随意输入一个标准差的文件名yhat_se: eq1.fit yhat yhat_se 为得到动态预测,在待估方程名后加一点和命令forecast,接着是要预测的序列名yhf ,最后给预测标准差输一个名yh _se : eq1.forecast yhf yh _se 在命令和程序参考(Command and Programming Reference)中,可以查到预测可用的所有命令和选项。,