State Space Models and Kalman Filter 第十一章 状态空间模型和卡尔曼滤波 State Space Models and Kalman Filter 上世纪60年代初,由于工程控制领域的需要,产生了卡尔曼滤波 (Kalman Filtering)。进入70年代初,人们明确提出了状态空间模型的标准形式,并开始将其应用到经济领域。80年代以后,状态空间模型已成为一种有力的建模工具。许多时间序列模型,包括典型的线性回归模型和ARIMA模型都能作为特例写成状态空间的形式,并估计参数值。在计量经济学文献中,状态空间模型被用来估计不可观测的时间变量:理性预期,测量误差,长期收入,不可观测因素(趋势和循环要素)。状态空间模型在经济计量学领域其他方面的大量应用请参见 Harvey(1989)和 Hamilton(1994) 。
§11.1 状态空间模型的定义 状态空间模型一般应用于多变量时间序列。设 yt 是包含 k 个经济变量的 k1 维可观测向量。这些变量与 m1 维向量 t 有关,t 被称为状态向量。定义“量测方程” (measurement equation) 或称“信号方程”(signal equation)为 (11.1.1) 其中:T 表示样本长度,Zt 表示 km 矩阵,称为量测矩阵,dt 表示 k1 向量,ut 表示 k1 向量,是均值为0,协方差矩阵为 Ht 的连续的不相关扰动项,即 (11.1.2)
一般地,t 的元素是不可观测的,然而可表示成一阶马尔可夫(Markov)过程。下面定义转移方程(transition equation)或称状态方程(state equation)为 (11.1.3) 其中:Tt 表示 mm 矩阵,称为状态矩阵,ct 表示 m1 向量,Rt 表示 mg 矩阵,t 表示 g1 向量,是均值为0,协方差矩阵为 Qt 的连续的不相关扰动项,即 (11.1.4) 量测方程和状态方程的扰动项的协方差矩阵用 表示
量测方程中的矩阵 Zt , dt , Ht 与转移方程中的矩阵Tt , ct , Rt , Qt 统称为系统矩阵。如不特殊指出,它们都被假定为非随机的。因此,尽管它们能随时间改变,但是都是可以预先确定的。对于任一时刻 t,yt 能够被表示为当前的和过去的 ut 和 t 及初始向量 0 的线性组合,所以模型是线性的。
例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.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)
系统矩阵 Zt ,Ht ,Tt ,Rt ,Qt 可以依赖于一个未知参数的集合。状态空间模型的一个主要的任务就是估计这些参数,在例11 系统矩阵 Zt ,Ht ,Tt ,Rt ,Qt 可以依赖于一个未知参数的集合。状态空间模型的一个主要的任务就是估计这些参数,在例11.1的MA(1)模型中的参数 { , 2} 和例11.2的AR(2)模型中的参数 { 1, 2, 2} 是未知的,这些参数将通过 向量表示,并被称为超参数(hyperparameters)。超参数确定了模型的随机性质,在 ct 和 dt 中出现的参数仅影响确定性的可观测变量和状态的期望值。在状态空间模型中可以引入外生变量作为解释变量,也可以引入 yt 的延迟变量,这些都可以放到 dt 中去。如果 ct 或 dt 是未知参数的一个线性函数,这些未知参数也可以作为状态变量或者超参数的一部分元素。
例11.3 变参数模型 由于各种各样的外界冲击和政策变化等因素的影响,经济结构不断发生变化,用OLS等固定参数模型: 表现不出来这种经济结构的变化,因此,需要考虑采用变参数模型(Time-varying Parameter Model)。下面利用状态空间模型来构造变参数模型。 量测方程: 状态方程: ~
xt 是具有随机系数 t 的解释变量的集合,zt 是有固定系数 的解释变量集合,随机系数向量 t 是对应于(11. 1 xt 是具有随机系数 t 的解释变量的集合,zt 是有固定系数 的解释变量集合,随机系数向量 t 是对应于(11.1.1)中的状态向量,称为可变参数。变参数 t 是不可观测变量,必须利用可观测变量 yt 和 xt 来估计。假定变参数 t 的变动服从于AR(1) 模型(也可以简单地扩展为AR(p) 模型),扰动向量 ut , t 假定为相互独立的,且服从均值为0,方差为 2和协方差矩阵为 Q 的正态分布。
§11.2 卡尔曼滤波 (Kalman Filtering ) 当一个模型被表示成状态空间形式就可以对其应用一些重要的算法求解。这些算法的核心是Kalman滤波。Kalman滤波是在时刻 t 基于所有可得到的信息计算状态向量的最理想的递推过程。Kalman滤波的主要作用是:当扰动项和初始状态向量服从正态分布时,能够通过预测误差分解计算似然函数,从而可以对模型中的所有未知参数进行估计,并且当新的观测值一旦得到,就可以利用Kalman滤波连续地修正状态向量的估计。
以下设 YT 表示在 t = T 时刻所有可利用的信息的信息集合,即 YT = { yT , yT-1 , … , y1 } 。状态向量的估计问题根据信息的多少分为3种类型: (1) 当 t > T 时,超出样本的观测区间,是对未来状态的估计问题,称为预测(prediction); (2) 当 t = T 时,估计观测区间的最终时点,即对现在状态的估计问题,称为滤波(filtering); (3) 当 t < T 时,是基于利用现在为止的观测值对过去状态的估计问题,称为平滑(smoothing)。
进一步,假定 att-1 和 Ptt-1 分别表示以利用到 t-1 为止的信息集合 Yt-1 为条件的状态向量 t 的条件均值和条件误差协方差矩阵,即 在本节假定系统矩阵 Zt , Ht , Tt , Rt 和 Qt 是已知的,设初始状态向量 0 的均值和误差协方差矩阵的初值为 a0 和 P0,并假定 a0 和 P0 也是已知的。
11.2.1 Kalman滤波的一般形式 1.滤波 考虑状态空间模型(11.1.1)和(11.1.3),设 at-1为状态向量 t-1 的均值,也是基于信息集合 Yt-1 的 t-1 的估计量,Pt-1 表示估计误差的 mm 协方差矩阵,即 (11.2.1)
当给定 at-1 和 Pt-1 时,t 的条件分布的均值由下式给定,即 (11.2.2) 在扰动项和初始状态向量服从正态分布的假设下,t 的条件分布的均值 att-1 是 t 在最小均方误差意义下的一个最优估计量。估计误差的协方差矩阵是 (11.2.3) 式(11.2.2)和式(11.2.3)称为预测方程(pediction equations)。
一旦得到新的预测值 yt ,就能够修正 t 的估计 att -1,更新方程(updating equations)是 (11.2.4) 和 (11.2.5) 其中 (11.2.6) 上述式(11.2.2)~式(11.2.6)一起构成Kalman滤波的公式。
一步向前预测误差可以通过下面的公式得到: (11.24) 预测误差的方差被定义为; (11.25) 给出一步向前状态条件均值,我们还可以得到 yt 的一步向前(线性)最小均方误差估计: (11.23) 一步向前预测误差可以通过下面的公式得到: (11.24) 预测误差的方差被定义为; (11.25)
Kalman滤波的初值可以按 a0 和 P0 或 a10 和 P10 指定。这样,每当得到一个观测值时,Kalman滤波提供了状态向量的最优估计。当所有的 T 个观测值都已处理,Kalman滤波基于信息集合 YT ,产生当前状态向量和下一时间期间状态向量的最优估计。这个估计包含了产生未来状态向量和未来观测值的最优预测所需的所有信息。
2.平滑 平滑(smoothing)( t =T-1 , T-2 , … , 1 ) (11.2.10) (11.2.11) 其中:aT|T , PT|T 是平滑的初值,由Kalman滤波最后的迭代 得到。 还可以计算得到 yt 的平滑估计和协方差矩阵
3.预测 如果量测方程(11.1.1)的扰动项和初始状态向量服从多元正态分布,则 yt 关于 Yt-1 的条件分布也是正态的。且这个条件分布的均值和协方差矩阵可以直接由Kalman滤波给定。 以信息集 Yt-1 为条件,t 服从具有均值 att –1 和协方差矩阵 Ptt –1 的正态分布。如果量测方程被写为 (11.2.12) 可以直接看出 yt 的条件分布是正态的,yt 的条件均值记为或, (11.2.13)
预测误差向量 (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 , …)进行预测。
11.2.2 修正的Kalman滤波递推公式 当量测方程和转移方程的扰动项是相关的时候,需要修改Kalman滤波。考虑具有量测方程和转移方程的状态空间形式 (11.2.26) (11.2.27) 假设 (11.2.28) 其中 Gt 是已知的 g k 矩阵。量测方程和状态方程的扰动项的协方差矩阵用 表示
注意当量测方程和转移方程的干扰项在同时点相关,在不同时点不相关时,Kalman滤波中的预测公式(11. 2. 2),(11. 2 注意当量测方程和转移方程的干扰项在同时点相关,在不同时点不相关时,Kalman滤波中的预测公式(11.2.2),(11.2.3)不变,更新方程进行如下修改:在 (11.2.4)和式(11.2.5)中矩阵 Ptt – 1Zt 变为 Ptt – 1Zt + Rt Gt ,式(11.2.6)变为 (11.2.29)
§11.3 状态空间模型超参数的估计 在11.2节讨论利用Kalman滤波递推公式求状态向量的估计量时,假定状态空间模型的系统矩阵 Zt , Ht , Tt , Rt 和 Qt 是已知的。但实际上系统矩阵是依赖于一个未知参数的集合,这些未知参数用向量 表示,并被称为超参数。例如,在例11.1的一阶移动平均模型MA(1)中 = (, 2)′,在例11.2的二阶自回归模型AR(2)中 = ( 1, 2, 2)′。超参数的估计方法参见第8章。
§11.4 EViews软件的相关操作 §11.4.1 定义状态空间模型 §11.4.1 定义状态空间模型 在定义和估计一个状态空间模型时,第一步是创建一个状态空间对象。从主菜单中选择Objects/New Object/Sspace,或在命令窗口键入命令sspace。EViews将创建一个状态空间对象,并打开一个空的状态空间说明窗口。
有两种方法定义一个状态空间模型,最简单的方法就是利用EViews中的“自动指定”功能引导状态空间模型的标准形式。这种方式只需在状态空间过程Procs中选择Define State Space功能 ,就可以弹出定义对话框,指导创建一个状态空间的过程。这一方式的详细介绍见“自动定义”一节。 描述状态空间模型的更一般方法是使用关键字和文本来描述量测方程、状态方程、误差结构、初始条件和待估参数的初值。下面来介绍描述状态空间对象的一般语法。
一、模型指定的语句 1. 量测方程 作为缺省,如果一个方程通过关键字“@SIGNAL”来明确定义,或没有用关键字,EViews将把其作为量测方程处理。要注意以下几点: (1)量测方程的因变量可以包含表达式。 (2)量测方程右端中不能包含量测变量的当期和未来值,包括出现在右端表达式的所有变量。在量测方程中任何滞后量测变量都被看作多步向前预测的预测值看待。 (3)量测方程必须是同期状态向量的线性方程。状态向量的非线性或存在超前或滞后状态变量将导致错误的信息。 (4)量测方程中可以包含外生变量和未知参数,也可以是这些元素的非线性形式。 量测方程可以包含误差或误差方差指定的选项,如果方程中不包含误差或误差方差,方程是确定性的。状态空间模型中误差指定的详细内容参看后面的“误差和方差”。
例子: 下面是有效的量测方程的定义(注:下面量测方程中的sv1, sv2, sv3, sv4是状态向量) @signal y =sv1+sv2*x1+sv3*x2+sv4*y(-1)+[var=exp(c(1))] log(p)= sv1 + c(1) + c(3)*x + sv2*y z = c(1) + sv1+sv2*x1+sv3*x2 + [var=exp(c(2))] 下面是不正确的方程的指定: @signal y=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))] 因为它们至少违背了上面描述条件中的一个条件(其顺序是:状态向量的非线性、状态向量的滞后、量测向量的超前)。
2. 状态方程 状态方程的定义必须包含关键字“@STATE”,后面跟随一个有效的状态方程。必须注意以下几点: (1) 每一个状态方程必须有一个唯一的因变量名,不允许使用表达式。因为EViews对状态方程不能自动建立工作文件序列。 (2) 状态方程中不能包含量测方程的因变量,或因变量的超前和滞后变量。 (3) 每一个状态方程必须是状态变量一期滞后的线性方程。如果在状态方程中存在状态变量的非线性关系、同期、超前或多期滞后将产生错误信息。需要强调的是,在状态方程中一期滞后约束条件不是限定的,因为更高阶的滞后被当作新的状态变量。关于这种情况的例子在后面的AR(2)模型中提供。 (4) 状态方程中可以包含外生变量和未知参数,可以是它们的非线性形式。 在状态方程中还包含误差或误差方差指定选项。如果在方程中不包含误差或误差方差,状态方程被假定为确定的。关于状态空间模型误差结构指定的详细介绍参看后面的“误差和方差”。
例子: 下面两个状态方程定义了一个服从AR(2)过程的不可观测误差: @state sv1=c(2)*sv1(-1)+c(3)*sv2(-1)+[var=exp(c(5))] @state sv2=sv1(-1) 第一个关于sv1的方程,根据AR(1)的系数c(2),和AR(2)的系数c(3),确定AR(2)模型的参数。误差方差的指定在方框中给出。sv2的状态方程定义为变量sv1的一步滞后,所以sv2(-1)表示sv1的两步滞后。 下面是不正确的状态方程: @state exp(sv1)=sv1(-1)+[var=exp(c(3))] @state sv2=log(sv2(-1))+[var=exp(c(3))] @state sv3=c(1)+c(2)*sv3(-2)+[var=exp(c(3))] 因为它们至少违背了上面描述条件中的一个条件(其次序是:状态方程因变量是表示式,状态变量是非线性的,出现状态变量的多期滞后)。
3. 误差与方差 在误差项的处理中,状态空间对象方程的指定在某种程度上是唯一的。EViews总是把一个隐含的误差项加到一个方程或系统对象的各个方程中去。但如不特殊指定,状态空间量测或状态方程中不能包含误差项。误差项必须被加到(在方括号中)指定方程的后面。 把一个误差项加到状态空间方程中最简单的方法是指定误差项的方差。即加一个误差表达式到已存在的方程中去。误差表达式由关键字“var”和一个赋值语句组成(用方括号括起)。 @signal y=c(1)+sv1+sv2+[var=1] @state sv1=sv1(-1)+[var=exp(c(2))] @state sv2=c(3)+c(4)*sv2(-1)+[var=exp(c(2)*x)] 指定的方差可以是已知常数值,也可以是包含待估计未知参数的表达式。还可以在方差中使用序列表达式建立时变参数模型。
这种方差的直接指定方法不允许不同方程的误差之间存在相关关系。作为默认,EViews假定误差项之间的协方差为零。如果指定误差项间存在相关关系,需要使用“命名误差”方法指定它们间的关系。“命名误差”方法包括两部分: (1) 首先,必须通过加一个由关键字“ename”后接等号和变量名的误差表达式为方程中的残差序列命名。 y =c(1)+sv1*x1+[ename=e1] @state sv1=sv1(-1)+[ename=e2] (2) 其次,需要键入由关键字“@evar”后接一个误差的方差或两个误差之间的协方差的赋值语句。 @evar cov(e1,e2)=c(2) @evar var(e1)=exp(c(3)) @evar var(e2)=exp(c(4))*x
可以在单个状态空间方程中合并命名误差和直接方差表达式: @state sv1=sv1(-1)+[ename=e1,var=exp(c(3))] @evar cov(e1,e2)=c(4) @evar方程的语句结构可以进行自我辨别。简单的辨别有:该项是方差还是协方差,指定误差,记入方差和协方差的指定。在每一个希望指定的命名误差方差或协方差之间要分行指定。如果误差项被命名,但没有相应的“var=”或@evar说明,分别地,缺少的方差或协方差的默认值为“NA”或“0”。 用 “ename =”语句定义的误差项只能存在于@evar赋值语句中,而不能直接进入状态或量测方程中。
例11.3 模型指定的例子—可变参数的边际消费倾向 例11.3 模型指定的例子—可变参数的边际消费倾向 设 Y 表示收入,YD 表示个人可支配收入,是居民户在得到政府的转移支付(TR)和向政府纳税(TAX)后可用于支出的净收入,即 (11.27) 设税收在收入中所占的比例为 t ,则 TAX=tY,消费函数可写为 (11.28) 式中 是自发消费,c 是边际消费倾向, 。构造消费方程的变参数模型, GDPEAt 是年度支出法的GDP,Pt 是消费价格指数,CSt 是居民消费。
按前面的规则在空白的文本窗口上直接键入如下语句: 量测方程: (11.29) 状态方程: (11.30) ~ (11.31) 按前面的规则在空白的文本窗口上直接键入如下语句: @signal csp = c(1) + sp1*(1-t)*gdpea/p + [var = exp(c(2))] @state sp1 = c(3)+c(4)*sp1(-1)+ [var = exp(c(5))] param c(1) 442.7 c(2) 14.48 c(3) 0.155 c(4) 0.82 c(5) –7.53 其中量测方程中的 是c(1),状态方程的一阶自回归的系数 0, 1 是 c(3) 和 c(4) ,模型的方差 u2, 2 由参数c(2),c(5)确定,方差被限制为参数的非负函数,协方差 g = 0。
也可以写成下面的形式,当协方差 g 0 时, 要这样写: @signal csp = c(1) + se1*(1- t)*gdpea/p + [ename = e1] @state se1 = c(3) + c(4)*se1(-1)+ [ename = e2] @evar var(e1) = exp(c(2)) @evar var(e2) = exp(c(5)) @evar cov(e1, e2) = c(6) param c(1) 442.7 c(2) 14.48 c(3) 0.155 c(4) 0.82 c(5) –7.53 c(6) 0.5
csp = c(1) + sp1*(1-t)*gdpea/p 4. 指定未知参数(超参数)的初始值 上例中c(1) , c(2) 的初值可以通过建立回归方程 csp = c(1) + sp1*(1-t)*gdpea/p 确定为c(1)=442.7, 求方程的残差平方和(RSS/T)作为方差的估计值,其对数为 c(2)=log(1954144/26)=11.227,根据经验,状态方程的初值c(3), c(4), c(5)可先给为0.1, 0.9, -9。如果不指定EViews将用系数向量c的当前值初始化所有参数。 可以通过指定中使用@PARAM语句来明确指定合适的参数值, 例: param c(1) 442.7 c(2) 11.227 c(3) 0.1 c(4) 0.8 c(5) -8
5. 指定状态向量和方差矩阵的初始条件 缺省时,EViews将自动处置初始条件。对一些平稳模型,其稳定状态条件使我们能够解出 0 和 P0 的值。当不能解出初始条件时,EViews将把初始值处理为扩散先验的,设置 0 = 0,给 P0 一个任意大的正数乘单位矩阵代表其值的不确定性。 可能有 0 和 P0 的先验信息,这样,可以使用关键字@mprior或@vprior创建一个包含适当值的向量或矩阵。向量对象的长度必须与状态空间的维数相匹配。其元素的顺序要与指定窗口中状态向量的顺序相一致。 @mprior v1 @vprior m1
在状态空间过程 procs 中,选择Procs/Define State Space…。EViews将打开一个三标签的对话框。 二、自动指定状态空间模型 为了帮助创建一个状态空间模型,EViews提供了一个“自动指定”工具栏,可以在对话框中为模型创建一个文本表示。如果模型是具有固定参数、递归参数、及不同的随机系数,或者误差项有一般ARMA结构的标准回归模型,这个工具是非常有用的。 在状态空间过程 procs 中,选择Procs/Define State Space…。EViews将打开一个三标签的对话框。 第一个标签对话框 Basic Regression 被用来描述模型的基本回归部分。键入因变量和带有固定或递归系数的回归变量。在建立指定时EViews使用系数对象代表未知参数。在底部,可以指定误差项一个ARMA结构。在这里,我们为上面的例子指定一个说明。
第二个标签对话框Stochastic Regressors被用来加带有随机系数的回归变量。在四个编辑区域中键入合适的回归变量。EViews允许定义具有如下五项组合的回归变量:无系数、固定均值系数、AR(1)系数、随机游动系数、带有漂移的随机游动系数。例11.3是AR(1)系数的形式。
最后, EViews允许选择状态空间模型的基本方差结构。点击第三个标签对话框Variance Specification, 为量测方程或状态方程选择方差矩阵类型:单位矩阵(Identity)、共同对角矩阵(Common Diagonal,对角元素是共同的方差)、一般对角矩阵(Diagonal)、无限制矩阵(Unrestricted)。对话框还允许为量测方程和状态方程选择非零的误差协方差阵。
三、估计状态空间模型 一旦已经指定了一个状态空间模型,并且验证模型定义是正确的,打开估计对话框估计模型,点击工具菜单的Esimate按钮或者选择Procs/Estimate…。
在选择各选项并点击OK以后,EViews在状态空间窗口显示协方差 g = 0 时的估计结果(方程记为CSP_1):
协方差 g 0 时的估计结果(方程记为CSP_2):
§11.4.2 状态空间模型的视窗和过程 EViews提供了一系列专门的工具用来指定和检 验状态空间模型。与其他的估计对象相比较,状态 空间对象提供了附加的视窗和过程来检验估计结果, 处理推断和指定检验,并且提取结果到其他EViews 对象中去。
一、视窗(View) 1. 模型定义视窗(Specification)状态空间模型是比较复杂的。为了帮助检验模型定义,EViews提供了视窗功能,允许在交互方式下查看模型文本定义,系数和协方差定义。点击View菜单选择Specification…,不管状态空间模型是否被估计,下面的指定窗口都可以被使用。
(5) 协方差值 2. 估计结果(Estimation Output) 2. 梯度视窗(Gradients and Derivatives) (1) 文本窗口 (2) 系数描述 (3) 协方差描述 (4) 系数值 (5) 协方差值 2. 估计结果(Estimation Output) 2. 梯度视窗(Gradients and Derivatives)
4. 估计系数协方差矩阵(Coefficient Covariance Matrix) 3. 实际值、拟合值和残差(Actual, Predicted, Residual Graph) 4. 估计系数协方差矩阵(Coefficient Covariance Matrix) 5. Wald检验(Wald Coefficient Tests) 6. Label 视窗 注意,除了Label和模型定义(Specification)视窗之外,其余的视窗只有在状态空间模型被正确估计的情况下才可以使用。
当点击View/Signal Views,EViews显示一个包含视窗选择的次级菜单。 7. 量测视窗 当点击View/Signal Views,EViews显示一个包含视窗选择的次级菜单。 · Graph Signal Series…,可以打开一个对话框,选择显示结果。
为了检验不可观测的状态变量,点击 View/State Views 显示状态方程子菜单。 8. 状态视窗 为了检验不可观测的状态变量,点击 View/State Views 显示状态方程子菜单。 · Graph State Series…菜单,显示包含状态向量信息选项的对话框。
可以使用EViews过程创建、估计、预测状态空间模型和 从指定的状态空间模型生成数据。 二、过程(Procs) 可以使用EViews过程创建、估计、预测状态空间模型和 从指定的状态空间模型生成数据。 1. 自动指定状态空间模型(Define State Space…) 2. 估计(Estimate) 3.产生内生变量组(Make Endogenous Group) 4.产生梯度组(Make Gradient Group) 5.建立新的状态空间对象(Make Kalman Filter) 6.建立模型(Make Model) 7.修正系数(Update Coefs from Sspace)
8. 预测 ( Forecasting ) (1) 选择预测方法 (2) 设置初始条件 (3) 预测结果输出
我们分别利用动态预测,平滑预测和1期(n=1)向前预测三种方法在期间1978至2003对CSP进行拟合,分别得到预测结果CSPF_2_D、CSPF_2_S、CSPF_2_1。下面是3个预测值和实际值Y画在一起的图形,可以看出动态预测CSPF_2_D和平滑预测CSPF_2_S的结果重合了。1期向前预测CSPF_2_1与实际值接近。
9.产生量测序列(Make Signal Series…) EViews允许创建序列保存各种量测变量的计算结果。只需点击菜单就可进入显示结果对话框。 可以选择一步向前预测量测变量 ,一步预测残差 ,平滑量测变量或量测方程扰动项估计 或 。EViews还允许存储这些变量的相应的标准误差( Ftt-1 、St 和 对角线元素的平方根),或一步预测残差和平滑扰动项 和 。
可以在编辑区通过一列变量或通配符给序列命名,生成一组量测变量序列。当量测方程变量是表达式时,EViews将只输出整个表达式的结果。 选择一步向前预测量测变量 ,则EViews将在工作文件中用名为CSPF的序列来存储。点击CSP和CSPF_2 ,建立组,可以通过画图观察CSP的模拟情况: 可以在编辑区通过一列变量或通配符给序列命名,生成一组量测变量序列。当量测方程变量是表达式时,EViews将只输出整个表达式的结果。
打开一个对话框保存各种状态变量的计算结果。 10.产生状态序列(Make State Series) 打开一个对话框保存各种状态变量的计算结果。 可以选择存储一步向前预测状态变量估计结果 at t –1 ,滤波状态变量均值 at ,平滑状态变量 ,状态变量扰动项 ,标准化的状态扰动项,或相应的标准误差序列(Pt t –1 , Pt , Pt T 和 对角线元素的平方根)。
选择存储一步向前预测状态变量估计结果 at t –1 ,则消费模型中边际消费倾向的变参数 t ,即状态变量SE1,用SE1F的名字存储在工作区里。画图如下。可以看到1978年以来按可比价格计算的我国居民边际消费倾向变化很大,在0.4566 ~ 0.5714之间变动,收入每增加100亿元,将有45.66~57.14亿元被用于居民消费。Pt 是以1978年为1的年度居民消费价格指数。
§11.5 状态空间模型的应用实例 例11.3 可变参数的边际消费倾向(续) 采用量测方程和状态方程协方差 g0 的模型: 量测方程: §11.5 状态空间模型的应用实例 例11.3 可变参数的边际消费倾向(续) 采用量测方程和状态方程协方差 g0 的模型: 量测方程: (11.4.5) 状态方程: (11.4.6) R2=0.997 D.W.=1.73 从边际消费倾向 ct 的曲线图,可以看到1978年以来按可比价格计算的我国居民边际消费倾向变化很大,大约在0.4566 ~ 0.5714之间变动。收入每增加100亿元,将大约有46~57亿元被用于居民消费。并且在1986年达到高峰,1990年~1995年出现了大幅的下降,1995年达到谷底。
由于EViews5不显示R2和DW统计量的值可以利用公式计算: 1. 首先计算量测方程的残差: 在过程proc中选择Make Signal Series…,然后选择one-step-ahead中的Prediction Residual,存储一步预测残差 ,记为e_2, e_2_1 = e_2(-1)。还可以检验e_2是平稳的. 2. 计量测方程因变量的离差平方和(TSS): scalar tss=@sumsq(csp-@mean(csp)) 3. 计算量测方程的R2 : scalar r2=1-@sumsq(e_2)/tss=0.997 4. 计算量测方程的DW统计量: scalar dw= @sumsq(e_2 -e_2_1) / @sumsq(e_2) = 1.52 其中@sumsq是求序列平方和的函数 , @mean是求序列均值的函数。
例11.4 经济增长对钢材需求拉动作用的动态分析 本例选用中国钢压延加工业销售收入(steelt)代表钢材市场的需求变量,选择对钢铁工业影响较大的宏观经济变量:基本建设投资(investjt)、房地产开发投资(investft)和出口商品总值(exportt)做解释变量,利用状态空间的变参数模型方法建立了动态的钢材需求模型(协整检验表明钢压延加工业销售收入与基本建设投资、房地产开发投资和出口商品总值之间具有长期的均衡关系): (11.33) 其中 t 、 t、 t分别为各个时点上钢压延加工业销售收入对基本建设投资、房地产开发投资和出口商品总值的敏感程度,也称为弹性。下面分别分析近年来基本建设投资、房地产开发投资和出口商品总值对钢材需求的动态影响。
写成状态空间模型形式: param c(1) -1.85 c(2) -4.59 @signal log(steelsa) = c(1)+sh1*log(investjsa(-5))+sh2*log(investfsa(-4)) + sh3*log(exportsa(-7))+ [var = exp(c(2))] @state sh1 = sh1(-1) @state sh2 = sh2(-1) @state sh3 = sh3(-1) 这里未知参数 c(1) 和 c(2) 的初值是通过建立普通回归方程EQ01,用常数项-1.85作为c(1)的初值,求方程残差平方和/T,取 c(2) =log(0.4871/48)=-4.59 。 在procs中选择产生状态序列(Make State Series),产生状态向量sh1F、 sh2F、sh3F, 分别为钢材销售收入对基本建设投资、房地产开发投资和出口商品总值的动态弹性 t 、 t、 t 。
2. 计算量测方程因变量的离差平方和(TSS): R2和DW统计量的值可以利用公式计算: 1. 首先计算量测方程的残差: 在过程proc中选择Make Signal Series…,然后选择one-step-ahead中的Prediction Residual,存储一步预测残差 ,记为e, e_1 = e(-1)。还可以检验 e 是平稳的. 2. 计算量测方程因变量的离差平方和(TSS): scalar tss=@sumsq(log(steelsa)-@mean(log(steelsa))) 3. 计算量测方程的R2 : scalar r2=1-@sumsq(e)/tss=0.808 4. 计算量测方程的DW统计量: scalar dw= @sumsq(e-e_1) / @sumsq(e) = 2.04 其中@sumsq是求序列平方和的函数 , @mean是求序列均值的函数。
1. 基本建设投资对钢材需求的拉动作用 从图11.3中我们可以看出钢材需求的基本建设投资弹性 t 具有较大的波动性。2000年1月~ 2000年12月间弹性 t 由0.5下降到0.25左右, 2001年上半年在低位上徘徊,但在2001年10月开始出现一个跳跃式的上升,增至0.5以上,在高位保持一年不变后,2003年降至0.4左右。
2. 房地产开发投资对钢材需求的拉动作用 从图11.4中我们可以看出钢材需求的房地产开发投资弹性 t 波动性较大,在2001年9月出现了最高值0.54,但是总的趋势是逐渐上升,2002年下半年略有下降,2003年又持续上升到0.3附近。可见,房地产开发投资对国内钢材需求具有一定的拉动作用。
3. 出口贸易对钢材需求的拉动作用 钢材需求的出口产品总值弹性 t 的变化,可以看出 t也存在较大的波动性。表明入世之后出口贸易对国内市场的钢材需求的拉动作用明显减小。图中2001年10月的跳跃式下跌表明,由于受加入世贸组织和世界经济低迷的双重影响,使得我国出口贸易对国内钢材需求的拉动作用明显减弱。