动态因子模型:理论与G20经济体建模实践
上QQ阅读APP看书,第一时间看更新

第三节 动态因子模型的求解

对由式(2-1)和式(2-2)组成的动态因子模型一般可采用卡尔曼滤波(Kalman Filter)得出动态因子Ft及参数矩阵ABL)的相应估计值。当前已有不少统计分析软件可进行状态空间模型的求解,具体操作虽有所差异,但实现起来并不难。在Eviews中对动态因子模型的求解大致分为以下几步。

第一,确定动态因子的个数。Bai和Ng(2002), Onatski(2010),以及常用的主成分分析均可用于确定动态因子的个数。从笔者的实践看,采用这几种方法给出的动态因子个数差异多在两个以内,并且在主成分分析中,当选取累积方差贡献率达到85%的因子个数时基本可以得到满意的结果。因此,从实践的角度看,不必过多纠结于各方法给出的因子个数间的差异,应把简单、高效视为首选。在原始数据集为混频(mixed frequency)数据且数据更新时间不一(“ragged”/“jagged”edge problem)的情况下,用于进行主成分分析的子集,不仅将只限于数据集中的最高频序列,而且需要在样本长度和所包括的序列个数间做出取舍。从笔者的实践来看,当该子集中的最长序列数量较少时,以牺牲样本长度换取序列个数的增加是较为可取的做法。

第二,为状态空间模型的求解设定迭代初值。状态空间模型在Eviews中是以迭代的方式进行求解的,因此在运行状态空间模型前必须对待求解的A、BL)、Ft等赋予初始迭代值,同时对etθt进行限定。Ft的初始值可选用主成分分析中所获取的相应的主成分,A、BL)可以通过单方程最小二乘法确定,etθt可以限定为Vet)= IVθt= I

第三,求解状态空间模型。Eviews中的状态空间模型为sspace。运行sspace前,需要先定义相应的信号方程和状态方程,然后在给出迭代步长和迭代精度后方可运行。在求解的过程中,BL)中的滞后阶数视AIC(Akaike Information Criterion)或SIC(Schwarz Information Criterion)的取值而定,即选取使AIC或SIC值最小的BL)滞后阶数。

值得注意的是,尽管状态空间模型适用于混频和样本期参差不齐的数据,但其适用范围也需满足一定的条件。从式(2-1)和式(2-2)可以看出,状态空间模型中的待估参数包括An×m)和BL)(m×m)。由于BL)为对角阵,所以待估参数总计为(n×m)+(m×l)个(l为状态方程的滞后阶数)。因此,为保证状态空间模型能够运行,需要(n×m)+(m×l)个连续观测值。换句话说,虽然并不要求包括在动态因子模型中的所有时间序列在整个样本区间内均有观测值,但当某时间点所有时间序列的观测值均缺失时,该点将被视为无效观测点,即被视为非连续观测值。例如,对于包括35个最高频率为月度数据的动态因子模型而言,若待提取的因子个数为4,并且状态方程的滞后阶数为3的话,则需要至少含有一个有效数据的连续观测值的个数至少为152,也就是需要至少13年的月度数据(152/12=12.7)才可对模型进行求解。在其他条件不变的情况下,当时间序列个数增加至50时,待估参数总计将达到212个,所需样本期长度将延长至18年(212/12 =17.7)。所以,在选取原始数据的过程中,所选数据序列并非越多越好。