第十三章 卡尔曼滤波在本章中,我们介绍一种被称为卡尔曼滤波的十分有用的工具。
卡尔曼滤波的基本思想是将动态系统表示成为一种称为状态空间表示的特殊情形。
卡尔曼滤波是对系统线性投影进行序列更新的算法。
除了一般的优点以外,这种算法对计算确切的有限样本预测、计算Gauss ARMA 模型的确切似然函数、估计具有时变参数的自回归模型等,都提供了重要方法。
§13.1 动态系统的状态空间表示我们已经介绍过一些随机过程的动态表示方法,下面我们在以前的假设基础上,继续分析动态系统的表示方法。
13.1.1 继续使用的假设假设表示时刻观测到的n 维随机向量,一类非常丰富的描述动态性的模型可以利用一些可能无法观测的被称为状态向量(state vector)的r 维向量表示,因此表示动态性的状态空间表示(state-space representation)由下列方程系统给出:状态方程(state model) (13.1) 量测方程(observation model) (13.2)这里,和分别是阶数为,和的参数矩阵,是的外生或者前定变量。
方程(13.1)被称为状态方程(state model),方程(13.2)被称为量测方程(observation model),维向量和维向量都是向量白噪声,满足:(13.3) (13.4)这里和是和阶矩阵。
假设扰动项和对于所有阶滞后都是不相关的,即对所有和,有:(13.5)t x 是外生或者前定变量的假定意味着,在除了包含在121,,,y y y t t 内的信息以外,t x 没有为st ξ和s t w ( ,2,1,0 s )提供任何新的信息。
例如,t x 可以包括t y 的滞后值,也可以包括与 ξ和 w (任意)不相关的变量。
方程系统中方程(13.1)至方程(13.5)可以表示有限观测值的序列},,,{21T y y y ,这时需要状态向量初始值1ξ。
假设1ξ与t v 和t w 的任何实现都不相关:0ξv )(1t E ,对任意T t ,,2,1 (13.6) 0ξw )(1t E ,对任意T t ,,2,1 (13.7)状态方程(13.1)表明,t ξ可以表示成为},,,,{321t v v v ξ 的线性函数:1122221ξF v F v F v F v ξ t t t t t t ,T t ,,3,2 (13.8) 因此,方程(13.6)和方程(13.3)意味着t v 与所有ξ的滞后值都是不相关的:0ξv )(t E ,1,,2,1 t t (13.9) 类似地,可以得到:0ξw )(t E ,T ,,2,1 (13.10)w ξH x A w y w t ])([)(t t t t E E,1,,2,1 t t (13.11)0y v )(t E ,1,,2,1 t t (13.12)上述系统是相当灵活的,它的一些结论也可以推广到t v 与t w 相关的系统中,而且系数矩阵),,,,(R H A Q F 也可以是时间的函数。
如果我们仅仅关注到上述系统的基本形式,则下面的论述将是十分清晰的。
13.1.2 状态空间表示的例子考虑一元)(p AR 过程:111211)()()( t p t p t t t y y y yt t E t ,0,)(2这个)(p AR 过程可以表示成为下面的状态空间模型形式:状态方程(p r )00010010000111112121t p t t t p p p t t t y y y y y y(13.13)量测方程:11]001[p t t t t y y y y(13.14)对应地,我们指定:11p t t t t y y y ξ,0100100001121p p F ,00 t t v ,000000002Q这里变量和参数矩阵对应为:t t y y , A ,1 t x , 001H ,0 t w ,0 R注意到这里的状态方程只是一个一阶向量自回归方程,量测方程只是一个简单的等式。
因此,我们已经看到,状态空间表示只是总结)(p AR 过程的另外一种方式。
将)(p AR 过程表示成为这种方式的原因在于,这样可以获得归纳)(p AR 过程动态性的合适方式,这是我们对任何系统状态空间表示感兴趣的基本原因。
另外一个例子是,我们考虑一元)1(MA 过程:1 t t t y对应地,它可以表示成为状态空间模型形式为: 状态方程(2 r ):00100111t t t t t量测方程(1 n ):t t t y 11 这里:1t t t ξ,0100F ,01t t v , 0002 Q t t y y , A ,1 tx , 1 H ,0 t w ,0 R将给定系统表示成为状态方程的方式有多种。
例如,可以将)1(MA 过程表示成为下面类型的状态空间模型:状态方程(2 r ):111110010t t t t t t t t量测方程(1 n ):t t t t y 101显然上面的)1(MA 过程、两种状态空间模型表示都是具有相同特征的过程表示,这三种表示都具有相同的预测和相同的似然函数值,也就无须讨论哪一种方式更为合适。
更一般地,一元),(q p ARMA 模型可以通过定义}1,max { q p r 进行状态空间模型表示:1122112211)()()( r t r t t t r t r t t t y y y y (13.15)这里的参数约束是:当p j 时,0 j ;当q j 时,0j 。
考虑下列状态空间模型表示为: 状态方程(}1,max { q p r ):00010010000111211t t r r t ξξ (13.16)量测方程(1 n ):t r t y ξ1211(13.15)为了验证方程(13.16)和方程(13.17)表示了系统与方程(13.15)一致,假设tj 表示向量t ξ的第j 个元素,因此状态方程的第2行表示:tt 112第3行表明: 11213 t t t更一般地,第j 行表示:1111 t j t j L因此状态方程的第1行意味着:1,1123211,1)( t t r r t L L L或者:11,1221)1( t t r r L L L (13.18)量测方程表明:tr r t L L L y ,111221)1(ξ (13.19)在方程(13.19)两端乘以算子多项式)1(221rr L L L ,并利用方程(13.18),可以得到: t r r t r r L L L y L L L )1()()1(11221221这就是原来的),(q p ARMA 模型,即方程(13.15)。
状态空间形式是描述随机过程的和,或者测量误差结果的模型的非常合适的方式。
例如,Fama 和Gibbons (1982)开始着手研究事前实际利率(ex ante real interest rate )行为 (事前实际利率是名义利率t i 减去预期通货膨胀率et )。
由于经济计量学家通过证券市场推断的预期通货膨胀率的数据,因此这个变量不是可以观测的。
因此在这种应用中状态变量是一个标量,即: et t t i ,这里 表示平均事前实际利率。
Fama 和Gibbons (1982)假设事前实际利率服从)1(AR 过程:11 t t t v (13.20)经济计量学家可以观测到事后实际利率(名义利率t i 减去真实通货膨胀率t ),这可以表示为: t t t t e t e t t t t w i i )()( (13.21)这里)(t et t w 是人们预测通货膨胀率时的误差。
如果人们以最优的方式形成通货膨胀率预测,则t w 与自身的滞后值和事前实际利率是无关的。
因此方程(13.20)和方程(13.21)是状态空间模型,这里1 n r , F ,t t t i y , t x A ,1 H ,t et t w 。
状态空间模型框架的另外一个有趣例子是Stock 和Waston (1991)的研究,他们假设存在表示经济周期状态的不可观测变量t C 。
假设),,,(21nt t t y y y 是n 个可以观测的宏观经济变量,每个都受到经济周期的影响,并且具有与i j y jt ,中移动不相关的奇异成分(表示为t i)。
如果经济周期和每个奇异成分可以利用一元)1(AR 过程描述,则]1)1[( n 维状态向量是:t n t t t t C 21ξ (13.22)该状态变量具有的状态方程为:112111,21112111000000000000t n t t t C t n t t t C C C C t n t t t v v v v C C(13.23) 量测方程为:t n t t t nn t n t t t C y y y y21321321321100000010001 (13.24)因此,参数i 描述第i 个序列对经济周期反应的敏感性。
为了出现和描述p 阶动态性,Stock 和Waston(1991)将方程(13.22)中的t C 和t i 替换为)1( p 阶向量),,,(11 p t t t C C C 和),,,(11p t i t i t i ,这时t ξ是]1)1[( p n 维向量。
这时方程(13.23)中的标量i 需要利用)(p p 阶矩i F 阵替换,该矩阵结构与方程(13.13)类似。
还需要在量测方程(13.24)中H 的列中加入阶数为)]1(([ p n 的零子块。
§13.2 卡尔曼滤波的推导卡尔曼滤波是估计状态空间模型的重要方法,也是应用广泛的参数估计方法。
下面我们介绍卡尔曼滤波的有关公式。
13.2.1 卡尔曼滤波的回顾 Overview of the Kalman Filter考虑上述讨论的状态空间模型的一般形式,为了方便,我们将使用的一些关键方程在这里重复表示如下:)1()1()()1(11r r r r r t tt v ξFξ(1)()(1)()(1)(1)t t tn n k k n r r n t y A x H ξwt t E r r t ,,)(0v v Q ,t t E n n t ,,)(0w w R假设我们已经得到了观测值T y y y ,,,21 ,T x x x ,,,21 ;一个最终目标是基于这些观测值估计系统的所有未知参数。
但是,目前我们暂时假设参数矩阵),,,,(R H A Q F 的特定数值都是确定性已知的。
如何估计这些参数在后面的内容中讨论。
卡尔曼滤波具有多种应用。
它的基本动因是作为一种计算状态向量基于时刻t 观测到的数据进行最小二乘预测的算法。
)|(ˆˆ1|1t t t t E Υξξ (13.25)这里:1111{,,,,,,,}t t t t t y y y x x x L L这里)|(ˆ1t t E Υξ 表示1 t ξ基于t Υ和常数的线性投影。