第11章+状态空间模型和卡尔曼滤波.ppt_第1页
第11章+状态空间模型和卡尔曼滤波.ppt_第2页
第11章+状态空间模型和卡尔曼滤波.ppt_第3页
第11章+状态空间模型和卡尔曼滤波.ppt_第4页
第11章+状态空间模型和卡尔曼滤波.ppt_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第十一章状态空间模型和卡尔曼滤波StateSpaceModelsandKalmanFilter,上世纪60年代初,由于工程控制领域的需要,产生了卡尔曼滤波(KalmanFiltering)。进入70年代初,人们明确提出了状态空间模型的标准形式,并开始将其应用到经济领域。80年代以后,状态空间模型已成为一种有力的建模工具。许多时间序列模型,包括典型的线性回归模型和ARIMA模型都能作为特例写成状态空间的形式,并估计参数值。在计量经济学文献中,状态空间模型被用来估计不可观测的时间变量:理性预期,测量误差,长期收入,不可观测因素(趋势和循环要素)。状态空间模型在经济计量学领域其他方面的大量应用请参见Harvey(1989)和Hamilton(1994)。,2,在一般的统计模型中出现的变量都是可以观测到的,这些模型以反映过去经济变动的时间序列数据为基础,利用回归分析或时间序列分析等方法估计参数,进而预测未来的值。状态空间模型的特点是提出了“状态”这一概念。而实际上,无论是工程控制问题中出现的某些状态(如导弹轨迹的控制问题)还是经济系统所存在的某些状态都是一种不可观测的变量,正是这种观测不到的变量反映了系统所具有的真实状态,所以被称为状态向量。这种含有不可观测变量的模型被称为UC模型(UnobservableComponentModel)。,3,UC模型通过通常的回归方程式来估计是不可能的,必须利用状态空间模型来求解。状态空间模型建立了可观测变量和系统内部状态之间的关系,从而可以通过估计各种不同的状态向量达到分析和观测的目的。EViews状态空间对象对单方程或多方程动态系统提供了一个直接的、易于使用的界面来建立、估计及分析方程结果。它提供了大量的建立、平滑、滤波及预测工具,帮助我们利用状态空间形式来分析动态系统。,4,利用状态空间形式表示动态系统主要有两个优点:第一,状态空间模型将不可观测的变量(状态变量)并入可观测模型并与其一起得到估计结果;其次,状态空间模型是利用强有效的递归算法卡尔曼滤波来估计的。卡尔曼滤波可以用来估计单变量和多变量的ARMA模型、MIMIC(多指标和多因果)模型、马尔可夫转换模型以及变参数模型。,5,11.1状态空间模型的定义在本节中,我们仅就如何定义并预测一个线性状态空间模型做以简要的讨论。状态空间模型一般应用于多变量时间序列。设yt是包含k个经济变量的k1维可观测向量。这些变量与m1维向量t有关,t被称为状态向量。定义“量测方程”(measurementequation)或称“信号方程”(signalequation)为(11.1.1)其中:T表示样本长度,Zt表示km矩阵,称为量测矩阵,dt表示k1向量,ut表示k1向量,是均值为0,协方差矩阵为Ht的不相关扰动项,即(11.1.2),6,一般地,t的元素是不可观测的,然而可表示成一阶马尔可夫(Markov)过程。下面定义转移方程(transitionequation)或称状态方程(stateequation)为(11.1.3)其中:Tt表示mm矩阵,称为状态矩阵,ct表示m1向量,Rt表示mg矩阵,t表示g1向量,是均值为0,协方差矩阵为Qt的连续的不相关扰动项,即(11.1.4)量测方程和状态方程的扰动项的协方差矩阵用表示,7,当k1时,变为单变量模型,量测方程可以写为(11.1.5)其中:Zt表示1m矩阵,t表示m1状态向量,ut是方差为2的扰动项。,8,若使上述的状态空间模型成立,还需要满足下面两个假定:(1)初始状态向量0的均值为a0,协方差矩阵为P0,即(11.1.6)(2)在所有的时间区间上,扰动项ut和t相互独立,而且它们和初始状态0也不相关,即(11.1.7)且(11.1.8),9,量测方程中的矩阵Zt,dt,Ht与转移方程中的矩阵Tt,ct,Rt,Qt统称为系统矩阵。如不特殊指出,它们都被假定为非随机的。因此,尽管它们能随时间改变,但是都是可以预先确定的。对于任一时刻t,yt能够被表示为当前的和过去的ut和t及初始向量0的线性组合,所以模型是线性的。,10,例11.1一阶移动平均模型MA(1)(11.1.9)其中:E(t)=0,var(t)=2,cov(t,t-s)=0,通过定义状态向量t=(yt,t)可以写成状态空间形式量测方程:(11.1.10)状态方程:(11.1.11)这种形式的特点是不存在量测方程噪声。,11,对于任何特殊的统计模型,状态向量t的定义是由结构确定的。它的元素一般包含具有实际解释意义的成分,例如趋势或季节要素。状态空间模型的目标是,所建立的状态向量t包含了系统在时刻t的所有有关信息,同时又使用尽可能少的元素。所以如果状态空间模型的状态向量具有最小维数,则称为最小实现(MinimalRealization)。对一个好的状态空间模型,最小实现是一个基本准则。然而对于任一特殊问题的状态空间模型的表示形式却不是惟一的,这一点很容易验证。,12,考虑通过定义一个任意的非奇异矩阵B,得到t*=Bt,为新的状态向量。用B矩阵左乘状态方程(11.1.3),得到(11.1.12)式中Tt*=BTtB-1,ct*=Bct,Rt*=BRt。相应的量测方程是(11.1.13)式中Zt*=ZtB-1。,13,例11.2二阶自回归模型AR(2)(11.1.14)其中:E(ut)=0,var(ut)=2,cov(ut,ut-s)=0,考虑两个可能的状态空间形式(k=1,m=2)是(11.1.15)(11.1.16)换一种形式(11.1.17),14,系统矩阵Zt,Ht,Tt,Rt,Qt可以依赖于一个未知参数的集合。状态空间模型的一个主要的任务就是估计这些参数,在例11.1的MA(1)模型中的参数,2和例11.2的AR(2)模型中的参数1,2,2是未知的,这些参数将通过向量表示,并被称为超参数(hyperparameters)。超参数确定了模型的随机性质,在ct和dt中出现的参数仅影响确定性的可观测变量和状态的期望值。在状态空间模型中可以引入外生变量作为解释变量,也可以引入yt的延迟变量,这些都可以放到dt中去。如果ct或dt是未知参数的一个线性函数,这些未知参数也可以作为状态变量或者超参数的一部分元素。,15,例11.3变参数模型通常的回归模型可用下式表示,即:其中:yt是因变量,xt是m1的解释变量向量,是待估计的m1未知参数向量,ut是扰动项。这种回归方程式所估计的参数在样本期间内是固定的,可以采用普通最小二乘法(OLS)、工具变数法等计量经济模型的常用方法进行估计。,16,实际上近年来,我国由于经济改革、各种各样的外界冲击和政策变化等因素的影响,经济结构正在逐渐发生变化,而用固定参数模型表现不出来这种经济结构的变化,因此,需要考虑采用变参数模型(Time-varyingParameterModel)。下面利用状态空间模型来构造变参数模型。量测方程:状态方程:,17,xt是具有随机系数t的解释变量的集合,zt是有固定系数的解释变量集合,随机系数向量t是对应于(11.1.1)中的状态向量,称为可变参数。变参数t是不可观测变量,必须利用可观测变量yt和xt来估计。假定变参数t的变动服从于AR(1)模型(也可以简单地扩展为AR(p)模型),扰动向量ut,t假定为相互独立的,且服从均值为0,方差为2和协方差矩阵为Q的正态分布。,18,11.2卡尔曼滤波(KalmanFiltering),当一个模型被表示成状态空间形式就可以对其应用一些重要的算法求解。这些算法的核心是Kalman滤波。Kalman滤波是在时刻t基于所有可得到的信息计算状态向量的最理想的递推过程。在某些工程问题中,状态向量的当前值具有重要影响(例如,它可以表示火箭在空间的坐标)。Kalman滤波的主要作用是:当扰动项和初始状态向量服从正态分布时,能够通过预测误差分解计算似然函数,从而可以对模型中的所有未知参数进行估计,并且当新的观测值一旦得到,就可以利用Kalman滤波连续地修正状态向量的估计。,19,以下设YT表示在t=T时刻所有可利用的信息的信息集合,即YT=yT,yT-1,y1。状态向量的估计问题根据信息的多少分为3种类型:(1)当tT时,超出样本的观测区间,是对未来状态的估计问题,称为预测(prediction);(2)当t=T时,估计观测区间的最终时点,即对现在状态的估计问题,称为滤波(filtering);(3)当tT时,是基于利用现在为止的观测值对过去状态的估计问题,称为平滑(smoothing)。,20,进一步,假定att-1和Ptt-1分别表示以利用到t-1为止的信息集合Yt-1为条件的状态向量t的条件均值和条件误差协方差矩阵,即在本节假定系统矩阵Zt,Ht,Tt,Rt和Qt是已知的,设初始状态向量0的均值和误差协方差矩阵的初值为a0和P0,并假定a0和P0也是已知的。,21,11.2.1Kalman滤波的一般形式1滤波,考虑状态空间模型(11.1.1)和(11.1.3),设at-1为状态向量t-1的均值,也是基于信息集合Yt-1的t-1的估计量,Pt-1表示估计误差的mm协方差矩阵,即(11.2.1),22,当给定at-1和Pt-1时,t的条件分布的均值由下式给定,即(11.2.2)在扰动项和初始状态向量服从正态分布的假设下,t的条件分布的均值att-1是t在最小均方误差意义下的一个最优估计量。估计误差的协方差矩阵是(11.2.3)式(11.2.2)和式(11.2.3)称为预测方程(pedictionequations)。,23,一旦得到新的预测值yt,就能够修正t的估计att-1,更新方程(updatingequations)是(11.2.4)和(11.2.5)其中(11.2.6)上述式(11.2.2)式(11.2.6)一起构成Kalman滤波的公式。,24,Kalman滤波的初值可以按a0和P0或a10和P10指定。这样,每当得到一个观测值时,Kalman滤波提供了状态向量的最优估计。当所有的T个观测值都已处理,Kalman滤波基于信息集合YT,产生当前状态向量和下一时间期间状态向量的最优估计。这个估计包含了产生未来状态向量和未来观测值的最优预测所需的所有信息。,25,2平滑平滑(smoothing)(t=T-1,T-2,1)(11.2.10)(11.2.11)其中:aT|T,PT|T是平滑的初值,由Kalman滤波最后的迭代得到。还可以计算得到yt的平滑估计和协方差矩阵,26,3预测如果量测方程(11.1.1)的扰动项和初始状态向量服从多元正态分布,则yt关于Yt-1的条件分布也是正态的。且这个条件分布的均值和协方差矩阵可以直接由Kalman滤波给定。以信息集Yt-1为条件,t服从具有均值att1和协方差矩阵Ptt1的正态分布。如果量测方程被写为(11.2.12)可以直接看出yt的条件分布是正态的,yt的条件均值(一步向前(线性)最小均方误差估计):(11.2.13),27,一步向前预测误差向量(11.2.14)预测误差协方差矩阵由式(11.2.6)的Ft给定,即(11.2.15)由后面11.2.2节的论述可以知道条件均值是yt的最小均方误差意义的最优估计量(MMSE)。因此,可以利用式(11.2.13),以及Kalman滤波公式(11.2.2)(11.2.6),对yt,t(t=T+1,T+2,)进行预测。,28,11.2.2Kalman滤波的解释和性质Kalman滤波的导出依赖于扰动项和初始状态向量服从正态分布的假设。有了正态分布的假设,就能够基于信息集合YT=yT,yT-1,y1,利用Kalman滤波递推地计算t的分布。这些条件分布自身也都服从正态分布,因此也就由它们的均值和协方差矩阵完全确定,这就是Kalman滤波计算的估计量。为了说明t的条件均值是t在最小均方误差意义下的一个最优估计量,下面首先介绍均方误差和最小均方估计的概念。,29,1.均方误差设z是随机向量,已知样本集合ZT=zT,zT-1,z1,是基于ZT的z的任一估计量,则定义均方误差(meansquareerror,MSE)为(11.2.16)2.最小均方估计设是基于ZT的z的任一估计量,是其中使均方误差达到最小的z的估计量,即(11.2.17)则称为z的最小均方估计(mininummeansquareestimator,MMSE)。,30,Kalman滤波以信息集Yt为条件,产生t的条件均值和方差(11.2.18)(11.2.19)其中:数学期望算子下面的下标t表示是关于Yt的条件期望。,31,设是以信息集Yt为条件的t的任一估计量,估计误差可以被分为两个部分(11.2.20)对式(11.2.20)两端平方,并求期望值,经过计算,由于混合乘积项为零,得到(11.2.21)在式(11.2.21)等号右边的第一项是t的条件方差,由于var(tYt)0,且与估计量无关,因此要想使式(11.2.21)达到最小,只需在第二项取即可。也就是说,t的最小均方估计(MMSE)就是由Kalman滤波所得到的条件均值at=E(tYt),并且是惟一的。,32,当状态空间模型的扰动项的分布不能满足正态分布假定时,一般地,Kalman滤波所产生的估计量at不再是状态向量t的条件均值,换句话说,式(11.2.18)将不成立。但是如果限制估计量是观测值的线性组合,即在所有线性估计范围内,at是具有最小均方误差意义上的最优估计量。此时称at是基于信息集Yt的t的最小均方线性估计量(minimummeansquarelinearestimator,MMSLE),估计误差的协方差矩阵是由Kalman滤波给出的Pt矩阵。,33,进一步地,上述关于状态向量t的论述也可以类似地用来解释yt基于信息集Yt1的条件均值,用表示,即(11.2.22)在正态假定下,是yt在最小均方误差意义下的最优估计量(MMSE),并且在不满足正态假定时,是yt的最小均方线性估计量(MMSLE)。,34,预测误差(11.2.23)被称为新息(innovations),因为它代表在Yt-1的基础上新观测值yt所带来的信息。从更新方程(11.2.4)中可以看出,新息vt对修正状态向量的估计量起到了关键的作用。在正态假定下,根据是最小均方误差意义下的最优估计量,可以推断vt的均值是零向量。进一步地,从式(11.2.23)容易看出(11.2.24)其中:Ft由式(11.2.6)给定。在不同的时间区间,新息vt是不相关的,即,(11.2.25),35,11.2.3修正的Kalman滤波递推公式当量测方程和转移方程的扰动项是相关的时候,需要修改Kalman滤波。考虑具有量测方程和转移方程的状态空间形式(11.2.26)(11.2.27)假设(11.2.28)其中Gt是已知的gk矩阵。量测方程和状态方程的扰动项的协方差矩阵用表示,36,注意当量测方程和转移方程的干扰项在同时点相关,在不同时点不相关时,Kalman滤波中的预测公式(11.2.2),(11.2.3)不变,更新方程进行如下修改:在(11.2.4)和式(11.2.5)中矩阵Ptt1Zt变为Ptt1Zt+RtGt,式(11.2.6)变为(11.2.29),37,11.2.4非时变模型及Kalman滤波的收敛性,在许多实际应用问题中,状态空间模型的系统矩阵Zt,dt,Ht,Tt,ct,Rt和Qt都是不依赖于时间变化的,这样就可以写成不带时间下标的模型,称为非时变模型。一般允许ct和dt是依时间变化的,于是状态空间模型的量测方程(11.1.1)和转移方程(11.1.3)就可以写为(11.2.32)(11.2.33),(11.2.34),38,如果系统是稳定的,则转移矩阵T的所有的特征根的模应当小于1,即(11.2.35)且如果初始协方差矩阵P10是非负定的,则(11.2.36)独立于P10,Pt+1t呈指数地迅速收敛到。,39,11.2.5Kalman滤波的初始条件(1)仅当状态转移矩阵T,方差矩阵P和Q是非时变的且满足某些稳定性条件,初始条件的求解才是可能的。如果初始条件的求解是可能的,可以利用关系式:在更复杂的模型中给出求协方差矩阵初始条件P0的一种方法(11.2.37)式中Vec()算子是把矩阵拉直,即表示矩阵的列是一列接着一列而形成一个向量,而运算符表示克罗内克积(kroneckerproduct),I为单位矩阵。,40,(2)如果初始条件的求解是不可能的,状态将按扩散先验处理。当利用扩散先验时,采用Koopman,Shephard和Doornik(1998)提出的方法将设置0=0和P0=I,这里为一个任意的大数。如设=106,然后通过乘以残差协方差矩阵的最大的对角线元素调整P。,41,11.3状态空间模型超参数的估计,在11.2节讨论利用Kalman滤波递推公式求状态向量的估计量时,假定状态空间模型的系统矩阵Zt,Ht,Tt,Rt和Qt是已知的。但实际上系统矩阵是依赖于一个未知参数的集合,这些未知参数用向量表示,并被称为超参数。例如,在例11.1的一阶移动平均模型MA(1)中=(,2),在例11.2的二阶自回归模型AR(2)中=(1,2,2)。本节对于状态空间模型的量测方程(11.1.1)和状态方程(11.1.3)中含有未知参数的情况,介绍超参数的估计方法。,42,在许多问题中,特别在关于正态分布的各种估计问题中,极大似然法是最常用的方法,这主要表现在极大似然估计量常具有某些优良的性质。这里采用极大似然法估计未知的超参数。极大似然法的原理通常用于观测值y1,y2,yT相互独立且具有同样分布的情形,此时它们的联合概率函数被给定为(11.3.1)其中:P(yt)是第t个观测值的概率密度函数。L(y;)是样本y1,y2,yT的联合概率密度函数。一旦得到样本观测值,L(y;)就可以被解释为似然函数,并且可以通过关于求偏导数,使函数L(y;)达到最大来求出的极大似然估计。,43,然而,经济时间序列的一个重要特征是经济变量间是不独立的,因此不能用式(11.3.1),而是利用条件概率密度函数代替联合概率密度函数将似然函数表示为(11.3.2)其中:P(ytYt-1)表示yt以直到时刻t-1的信息集合为条件的条件分布,即Yt-1=yt-1,yt-2,y1,P(ytYt-1)=P(yty1,yt-1)。,44,在总体正态的假定之下,可以将式(11.3.2)的对数似然函数直接写为(11.3.3)其中(11.3.4)由前面11.2.2节的论述可以知道条件均值是yt的最小均方误差意义的最优估计量(MMSE),所以k1向量vt可以作为一个预测误差向量来解释。因此(11.3.3)式有时也称为似然函数形式的预测误差分解。,45,极大似然估计量的计算方法有许多种,有解析方法,也有数值解法。设=(1,2,n)是待求的未知参数向量,首先求极大似然估计的迭代公式。为求极大似然估计,需要求解设是超参数向量的精确值,采用Taylor展开式,取一次近似,并设表示参数空间上的任意一点,则可将lnL(y;)/表示成,46,令其为0,可得于是得到迭代公式其中:l=1,2,,从某个初始设定的参数值(0)出发,进行迭代过程:(1),(2),(3),。,47,求(l)(l=1,2,),它的收敛值为所求的极大似然估计。式中对数似然函数的二阶导数矩阵2lnL/被称为海塞(Hessian)矩阵,而对数似然函数的一阶导数lnL/被称为得分向量或Jacobian向量。计算海塞(Hessian)矩阵的逆矩阵,计算量是很大的。计算方法有多种,近似的方法可节省时间但缺少严密性,而严密的方法又有计算时间长的缺点。,48,双侧数值微分被定义为:,而单侧数值微分则由下式计算:这里logL是似然函数,s充分接近0,上述公式可达到任意精度。双侧导数更加精确,但它要对似然函数进行的计算量大概是单侧导数的两倍,运行时间上也是如此。,49,11.4EViews软件的相关操作11.4.1定义状态空间模型EViews可以处理大量的单方程和多方程状态空间模型,提供了指定系统方程、协方差矩阵和初始条件控制的详细方法。在定义和估计一个状态空间模型时,第一步是创建一个状态空间对象。从主菜单中选择Objects/NewObject/Sspace,或在命令窗口键入命令sspace。EViews将创建一个状态空间对象,并打开一个空的状态空间说明窗口。,50,有两种方法定义一个状态空间模型,最简单的方法就是利用EViews中的“自动指定”功能引导状态空间模型的标准形式。这种方式只需在状态空间过程Procs中选择DefineStateSpace功能,就可以弹出定义对话框,指导创建一个状态空间的过程。这一方式的详细介绍见“自动定义”一节。描述状态空间模型的更一般方法是使用关键字和文本来描述量测方程、状态方程、误差结构、初始条件和待估参数的初值。下面来介绍描述状态空间对象的一般语法。,51,一、模型指定的语句1.量测方程作为缺省,如果一个方程通过关键字“SIGNAL”来明确定义,或没有用关键字,EViews将把其作为量测方程处理。要注意以下几点:(1)量测方程的因变量可以包含表达式。(2)量测方程右端中不能包含量测变量的当期和未来值,包括出现在右端表达式的所有变量。在量测方程中任何滞后量测变量都被看作多步向前预测的预测值看待。(3)量测方程必须是同期状态向量的线性方程。状态向量的非线性或存在超前或滞后状态变量将导致错误的信息。(4)量测方程中可以包含外生变量和未知参数,也可以是这些元素的非线性形式。量测方程可以包含误差或误差方差指定的选项,如果方程中不包含误差或误差方差,方程是确定性的。状态空间模型中误差指定的详细内容参看后面的“误差和方差”。,52,例子:下面是有效的量测方程的定义(注:下面量测方程中的sv1,sv2,sv3,sv4是状态向量)signaly=sv1+sv2*x1+sv3*x2+sv4*y(-1)+var=exp(c(1)log(p)=sv1+c(1)+c(3)*x+sv2*yz=c(1)+sv1+sv2*x1+sv3*x2+var=exp(c(2)下面是不正确的方程的指定:signaly=sv1*sv2*x1+var=exp(c(1)log(p)=c(1)+c(3)*x+sv1(-1)z=sv1+sv2*x1+c(3)*z(1)+c(1)+var=exp(c(2)因为它们至少违背了上面描述条件中的一个条件(其顺序是:状态向量的非线性、状态向量的滞后、量测向量的超前)。,53,2.状态方程状态方程的定义必须包含关键字“STATE”,后面跟随一个有效的状态方程。必须注意以下几点:(1)每一个状态方程必须有一个唯一的因变量名,不允许使用表达式。因为EViews对状态方程不能自动建立工作文件序列。(2)状态方程中不能包含量测方程的因变量,或因变量的超前和滞后变量。(3)每一个状态方程必须是状态变量一期滞后的线性方程。如果在状态方程中存在状态变量的非线性关系、同期、超前或多期滞后将产生错误信息。需要强调的是,在状态方程中一期滞后约束条件不是限定的,因为更高阶的滞后被当作新的状态变量。关于这种情况的例子在后面的AR(2)模型中提供。(4)状态方程中可以包含外生变量和未知参数,可以是它们的非线性形式。在状态方程中还包含误差或误差方差指定选项。如果在方程中不包含误差或误差方差,状态方程被假定为确定的。关于状态空间模型误差结构指定的详细介绍参看后面的“误差和方差”。,54,例子:下面两个状态方程定义了一个服从AR(2)过程的不可观测误差:statesv1=c(2)*sv1(-1)+c(3)*sv2(-1)+var=exp(c(5)statesv2=sv1(-1)第一个关于sv1的方程,根据AR(1)的系数c(2),和AR(2)的系数c(3),确定AR(2)模型的参数。误差方差的指定在方框中给出。sv2的状态方程定义为变量sv1的一步滞后,所以sv2(-1)表示sv1的两步滞后。下面是不正确的状态方程:stateexp(sv1)=sv1(-1)+var=exp(c(3)statesv2=log(sv2(-1)+var=exp(c(3)statesv3=c(1)+c(2)*sv3(-2)+var=exp(c(3)因为它们至少违背了上面描述条件中的一个条件(其次序是:状态方程因变量是表示式,状态变量是非线性的,出现状态变量的多期滞后)。,55,3.误差与方差在误差项的处理中,状态空间对象方程的指定在某种程度上是唯一的。EViews总是把一个隐含的误差项加到一个方程或系统对象的各个方程中去。但如不特殊指定,状态空间量测或状态方程中不能包含误差项。误差项必须被加到(在方括号中)指定方程的后面。把一个误差项加到状态空间方程中最简单的方法是指定误差项的方差。即加一个误差表达式到已存在的方程中去。误差表达式由关键字“var”和一个赋值语句组成(用方括号括起)。signaly=c(1)+sv1+sv2+var=1statesv1=sv1(-1)+var=exp(c(2)statesv2=c(3)+c(4)*sv2(-1)+var=exp(c(2)*x)指定的方差可以是已知常数值,也可以是包含待估计未知参数的表达式。还可以在方差中使用序列表达式建立时变参数模型。,56,这种方差的直接指定方法不允许不同方程的误差之间存在相关关系。作为默认,EViews假定误差项之间的协方差为零。如果指定误差项间存在相关关系,需要使用“命名误差”方法指定它们间的关系。“命名误差”方法包括两部分:(1)首先,必须通过加一个由关键字“ename”后接等号和变量名的误差表达式为方程中的残差序列命名。y=c(1)+sv1*x1+ename=e1statesv1=sv1(-1)+ename=e2(2)其次,需要键入由关键字“evar”后接一个误差的方差或两个误差之间的协方差的赋值语句。evarcov(e1,e2)=c(2)evarvar(e1)=exp(c(3)evarvar(e2)=exp(c(4)*x,57,可以在单个状态空间方程中合并命名误差和直接方差表达式:statesv1=sv1(-1)+ename=e1,var=exp(c(3)evarcov(e1,e2)=c(4)evar方程的语句结构可以进行自我辨别。简单的辨别有:该项是方差还是协方差,指定误差,记入方差和协方差的指定。在每一个希望指定的命名误差方差或协方差之间要分行指定。如果误差项被命名,但没有相应的“var=”或evar说明,分别地,缺少的方差或协方差的默认值为“NA”或“0”。用“ename=”语句定义的误差项只能存在于evar赋值语句中,而不能直接进入状态或量测方程中。,58,例11.3模型指定的例子可变参数的边际消费倾向例3.1估计了简单的消费函数,但我国经济结构不断发生改变,经济变量影响关系也可能发生改变。例3.9中经过检验发现的确存在显著的结构改变。因此,本例构造消费方程的变参数模型,设cs=CS/CPI,inc=YD/CPI,CS代表名义居民消费,YD代表名义居民可支配收入,CPI代表1978年为1的居民消费价格指数,样本区间为19782006年。依据式(11.4.2)式(11.4.4),采用量测方程和状态方程误差协方差g0的模型形式,状态空间模型为:,59,量测方程:(11.29)状态方程:(11.30)(11.31)按前面的规则在空白的文本窗口上直接键入如下语句:signalcsp=c(1)+sg1*inc+var=exp(c(2)statesg1=c(3)+c(4)*sg1(-1)+var=exp(c(5)paramc(1)449.07c(2)10.02c(3)0.092c(4)0.877c(5)-11.02其中量测方程中的是c(1),状态方程的一阶自回归的系数0,1是c(3)和c(4),模型的方差u2,2由参数ec(2),ec(5)确定,方差被限制为参数的非负函数,协方差g=0。,60,也可以写成下面的形式,当协方差g0时,要这样写:signalcsp=c(1)+sc1*inc+ename=e1statesc1=c(3)+c(4)*sc1(-1)+ename=e2evarvar(e1)=exp(c(2)evarvar(e2)=exp(c(5)evarcov(e1,e2)=c(6)paramc(1)449.07c(2)10.02c(3)0.092c(4)0.877c(5)-11.02c(6)0.6,61,4.指定未知参数(超参数)的初始值协方差g=0的例子中c(1),c(2)的初值可以通过建立回归方程:csp=449.07+0.51*inc确定为c(1)=449.07,求方程的残差平方和(RSS/T)作为方差的估计值,其对数为c(2)=log(653539.2/29)=10.02,根据经验,状态方程的初值c(3),c(4),c(5)可先给为0.1,0.9,-9。如果不指定EViews将用系数向量c的当前值初始化所有参数。可以通过指定中使用PARAM语句来明确指定合适的参数值,例:paramc(1)449.07c(2)10.02c(3)0.092c(4)0.877c(5)-11.02,62,5.指定状态向量和方差矩阵的初始条件缺省时,EViews将自动处置初始条件。对一些平稳模型,其稳定状态条件使我们能够解出0和P0的值。当不能解出初始条件时,EViews将把初始值处理为扩散先验的,设置0=0,给P0一个任意大的正数乘单位矩阵代表其值的不确定性。可能有0和P0的先验信息,这样,可以使用关键字mprior或vprior创建一个包含适当值的向量或矩阵。向量对象的长度必须与状态空间的维数相匹配。其元素的顺序要与指定窗口中状态向量的顺序相一致。mpriorv1vpriorm1,63,例如,假设有一个2个方程的状态空间模型,要设置状态向量与状态向量方差矩阵的初值如下:,(11.32)首先,创建一个向量对象,命名为a0,输入初始值。再创建一个矩阵对象,命名为P0,输入初始值。然后在编辑状态空间模型指定窗口,可以把下面两行加到状态空间对象中去:mpriora0vpriorp0,64,二、自动指定状态空间模型为了帮助创建一个状态空间模型,EViews提供了一个“自动指定”工具栏,可以在对话框中为模型创建一个文本表示。如果模型是具有固定参数、递归参数、及不同的随机系数,或者误差项有一般ARMA结构的标准回归模型,这个工具是非常有用的。在状态空间过程procs中,选择Procs/DefineStateSpace。EViews将打开一个三标签的对话框。第一个标签对话框BasicRegression被用来描述模型的基本回归部分。键入因变量和带有固定或递归系数的回归变量。在建立指定时EViews使用系数对象代表未知参数。在底部,可以指定误差项一个ARMA结构。在这里,我们为上面的例子指定一个说明。,65,66,第二个标签对话框StochasticRegressors被用来加带有随机系数的回归变量。在四个编辑区域中键入合适的回归变量。EViews定义具有如下五项组合的回归变量:无系数、固定均值系数、AR(1)系数、随机游动系数、带有漂移的随机游动系数。例11.3是AR(1)系数的形式。,67,最后,EViews允许选择状态空间模型的基本方差结构。点击第三个标签对话框VarianceSpecification,为量测方程或状态方程选择方差矩阵类型:单位矩阵(Identity)、共同对角矩阵(CommonDiagonal,对角元素是共同的方差)、一般对角矩阵(Diagonal)、无限制矩阵(Unrestricted)。对话框还允许为量测方程和状态方程选择非零的误差协方差阵。,68,需要强调指出的是,状态空间模型可以不必被对话框提供的选择限制。如果发现自动指定对话框的限制了模型指定,可以简单地使用它建立一个基本的指定,然后利用更一般的文本工具描述模型。,69,三、估计状态空间模型一旦已经指定了一个状态空间模型,并且验证模型定义是正确的,打开估计对话框估计模型,点击工具菜单的Estimate按钮或者选择Procs/Estimate。和其他估计对象一样,EViews允许选择估计样本区间,循环的最大次数,收敛值,估计算法,导数计算设置和是否显示初始值。对大部分问题,缺省设置提供一个好的初始设置。,70,在进行模型估计时要注意下面两点:(1)尽管EViews中卡尔曼滤波程序可以自动处理样本中的缺省值,但EViews要求估计样本必须是连续的,连续的观测值之间不能有缺口。(2)如果模型定义中有未知系数,为用卡尔曼滤波估计状态空间模型,需要指定初值。,71,在选择各选项并点击OK以后,EViews在状态空间窗口显示协方差g=0时的估计结果(方程记为ss_g):,72,协方差g0时的估计结果(方程记为ss_c):,73,11.4.2状态空间模型的视窗和过程EViews提供了一系列专门的工具用来指定和检验状态空间模型。与其他的估计对象相比较,状态空间对象提供了附加的视窗和过程来检验估计结果,处理推断和指定检验,并且提取结果到其他EViews对象中去。,74,一、视窗(View)1.模型定义视窗(Specification)状态空间模型是比较复杂的。为了帮助检验模型定义,EViews提供了视窗功能,允许在交互方式下查看模型文本定义,系数和协方差定义。点击View菜单选择Specification,不管状态空间模型是否被估计,下面的指定窗口都可以被使用。,75,(1)文本窗口这是一个常见的模型指定的文本视窗。当创建或编辑状态空间模型指定时,可以使用这个窗口。文本窗口也可以通过点击状态空间工具栏的Spec按钮进入。(2)系数描述状态空间模型指定结构的文本描述。左边的变量yt和t被表示为状态向量和残差项的线性函数。矩阵的元素是相应的系数。例如,例1模型的系数描述视图如下:(3)协方差描述状态空间模型协方差矩阵的文本描述。例如,例11.3模型有下面的协方差描述视图。,76,(4)系数值用当前参数估计的量测方程和状态方程结构的数字描述。如果系统矩阵是时变的,EViews将提示对矩阵估计选择一个日期/观测值。(5)协方差值用当前参数估计的状态空间模型指定结构的数值描述。如果系数协方差矩阵是时变参数的,EViews将提示对矩阵估计选择日期/观测值。2.估计结果(EstimationOutput)还可以点击系统工具条的“Stats”,显示估计结果。3.梯度视窗(GradientsandDerivatives)和其他的估计对象视窗相似,如状态空间包含待估参数,该视窗提供了被估计参数(已估计)的对数似然估计的梯度的简要可视信息或当期参数值。,77,4.实际值、拟合值和残差(Actual,Predicted,ResidualGraph)用图表的方式显示量测方程因变量实际值yt和一步向前拟合值,和一步向前标准残差。5.估计系数协方差矩阵(CoefficientCovarianceMatrix)6.Wald检验(WaldCoefficientTests)允许做估计系数的假设检验。7.Label视窗允许为状态空间对象做注释。注意,除了Label和模型定义(Specification)视窗之外,其余的视窗只有在状态空间模型被正确估计的情况下才可以使用。,78,8.量测视窗当点击View/SignalViews,EViews显示一个包含视窗选择的次级菜单。ActualSignalTable和ActualSignalGraph显示量测方程因变量的表和图的形式。如果有多个量测方程,Eviews将按其顺序显示多个序列。在状态空间模型没有被估计的条件下,这两个选项也是可以利用的。,79,GraphSignalSeries,可以打开一个对话框,选择显示结果。对话框允许在下列选项中做出选择:量测变量一步向前预测,相应的一步预测残差,标准化的一步残差,平滑的量测变量,平滑的量测方程扰动项,或标准平滑的量测方程扰动项。加上2倍的标准误差的点线图。STd.ResidualCorrelationMatrix和Std.ResidualCovarianceMatrix显示量测方程一步向前预测标准差的相关阵和协方差阵。,80,量测变量CSP的一步向前预测,81,9.状态视窗为了检验不可观测的状态变量,点击View/StateViews显示状态方程子菜单。EViews允许检验状态变量的初值和终值,或者画状态向量的各种平滑和滤波序列图。在估计前后,视窗中有两个选项是可利用的:InitialStateVector和InitialStateCovarianceMatrix显示状态向量的初始值0,和协方差阵P0。如果未知参数已被估计,EViews将使用估计值计算初始条件。如果状态空间模型没有被估计,使用当期系数值来估计初始条件。,82,在EViews正在利用系统矩阵的当前值求解初始条件时,这个信息是特别有意义的。在开始估计有困难的情况下,可以从任意初始参数值出发来估计初始条件。窗口中的其他选项,只对已成功估计的模型有效:FinalStateVetor和FinalStateCovarianceMatrix,显示状态向量终值T,和协方差矩阵终值PT,在对参数估计后估计得到。,83,GraphStateSeries菜单,显示包含状态向量信息选项的对话框。可以画下列变量的线性图:状态向量的一步向前预测att-1,经过滤波得到的同期状态向量at,平滑的状态向量估计,平滑的状态扰动项的估计,标准的平滑状态扰动项et。在每一线性图中,显示数据被包在其倍的标准差带中。,84,状态变量SC1的一步向前预测att-1,85,二、过程(Procs)可以使用EViews过程创建、估计、预测状态空间模型和从指定的状态空间模型生成数据。,86,1.自动指定状态空间模型(DefineStateSpace)激活自动指定对话框。可以在交互的方式下指定状态空间模型。2.估计(Estimate)估计指定模型的参数。上面两项功能在模型估计前后都可以使用。自动指定工具将代替存在的状态空间指定和清除任何结果。估计将替代已存在的结果。,87,3.预测(Forecasting)如果已经对状态空间模型进行了估计,EViews提供生成数据的其他工具:预测允许利用选择的预测方法和初始化方法,来产生状态变量、量测变量和联合标准误差的预测。(1)选择预测方法可以在动态预测,平滑预测和n期向前预测三种方法中选择其一。注意,任何在量测方程右边的延迟内生变量都被做为外生变量的看待。,88,对于n步向前预测和动态预测,通常利用一步向前预测的状态向量和方差初始化状态向量。对于平滑预测,一般使用状态向量和方差的相应的平滑值进行预测的初始化。对某些情况,预测、滤波和平滑可以选择初始值的不同设置。EViews的预测程序提供了可控的初始设置。然而,如果选择了不同的设置,根据可利用信息,预测的解释将发生变化。,89,(2)预测结果输出EViews允许在工作文件中以序列形式存储预测输出结果。只须点击输出框,在相应的编辑区域指定序列名。可以指定一列变量名或一个通配符表达式。如果选择列变量名,变量名的数目必须与指定的量测变量的数目相匹配。如果输出序列的名字已经在工作文件中存在,EViews将全部覆盖序列的内容。,90,如果使用一个通配符表达式,EViews将利用通配符表达式在适当的位置替代每一个量测变量的名字。例如,如果有一个具有量测变量y1、y2的模型,选择通配符“*F”存储一步预测的结果,EViews将使用序列名y1F和y2F存贮输出结果。对该功能有两点限制:一是不能使用通配符表达式“*”存储量测变量的结果,因为这将导致对原始量测数据的覆盖。二是当量测方程因变量通过表达式指定,或量测变量出现在多个方程中,不能使用通配符。对于这两点,EViews将不能产生新的序列,只产生错误信息。需要注意的是,如果量测方程的因变量是一个表达式,EViews将只提供表达式的预测,因此,如果量测变量是log(y),EViews将只预测y的对数。,91,我们分别利用动态预测,平滑预测和1期(n=1)向前预测三种方法在期间1978至2006对CSP进行拟合,分别得到预测结果CSPF_D、CSPF_S、CSPF_1。下面是3个预测值和实际值CSP画在一起的图形,可以看出动态预测CSPF_D和平滑预测CSPF_S的结果重合了。1期向前预测CSPF_1与实际值接近。,92,(3)设置初始条件可以使用状态变量和状态协方差的One-stepahead预测或Smoothed预测估计值做为预测的初始值。这两种初始化方法在使用估计样本的信息数量上是不同的。一步向前预测使用直到预测期开始的信息,平滑预测使用全部估计期的信息。相应地,还可以使用EViews计算初始条件。最后,可以选择提供一个向量和包含预测初始值的特征对象。选择User并在编辑区域输入有效的EViews对象名。,93,4产生量测序列(MakeSignalSeries)EViews允许创建序列保存各种量测变量的计算结果。只需点击菜单就可进入显示结果对话框。可以选择一步向前预测量测变量,一步预测残差,平滑量测变量或量测方程扰动项估计或。EViews还允许存储这些变量的相应的标准误差(Ftt-1、St和对角线元素的平方根),或一步预测残差和平滑扰动项和。,94,选择一步向前预测量测变量,则EViews将在工作文件中用名为CSPF的序列来存储。点击CSP和CSPF,建立组,可以通过画图观察CSP的模拟情况:可以在编辑区通过一列变量或通配符给序列命名,生成一组量测变量序列。当量测方程变量是表达式时,EViews将只输出整个表达式的结果。,95,5产生状态序列(MakeStateSeries)打开一个对话框保存各种状态变量的计算结果。可以选择存储一步向前预测状态变量估计结果att1,滤波状态变量均值at,平滑状态变量,状态变量扰动项,标准化的状态扰动项,或相应的标准误差序列(Ptt1,Pt,PtT和对角线元素的平方根)。,96,选择存储一步向前预测状态变量估计结果a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论