MIDAS回归模型
MIDAS(Mixed Data Sampling,混合数据采样)回归是一类时间序列回归模型,它允许在模型的右侧放入更高频率的采样数据。
在MIDAS回归模型出世之前,在回归模型中融入更高频率数据的方式有两种。一种是把高频数据合成低频变量,然后再放入回归模型中。例如,$$y_t = \beta_0 + \beta_1 x_t + \gamma (\frac{\sum_{i=0}^2 z_{t-i}^H}{3}) +u_t$$其中,\(y_t\)和\(x_t\)是季度变量,\(z_t^H\)是月度变量,\(\beta_0\)、\(\beta_1\)和\(\gamma\)是模型参数。这里的合成是把一个季度里对应的月度数据(\(z_t^H\):季度\(t\)最后一个月的\(z\);\(z_{t-1}^H\):季度\(t\)中间月份的\(z\);\(z_{t-2}^H\):季度\(t\)第一个月的\(z\))进行了等权重平均。当然,合成的方式完全可以采取别的形式。合成低频变量最大问题在于合成的主观性。通常,我们并不清楚一个高频变量如何降频才是合适的。
另一种使用高频数据的方式是直接把高频数据扔进回归中。例如,$$y_t = \beta_0 + \beta_1 x_t + \sum_{i=0}^2 \gamma_i z_{t-i}^H +u_t$$这种方式完全由数据驱动来寻找最优的合成方案(假设\(z_t^H\)和\(y_t\)是线性关系),即寻找最优的加权系数\(\gamma_i\)。从理论上讲,这种方式比主观合成低频变量的方式要好,但它的问题是模型参数会更多。如果备选的高频变量有很多,且高频变量比低频变量的采样频率高很多的话,模型中会含有大量的待估参数,在数据量不够充足的情况下,估计的将偏差会非常大。
MIDAS回归实际上是对上面两种传统方式的折中:既靠数据驱动寻找高频变量的最优加权系数,又加入了一定的主观加权结构以限制参数的个数。
U-MIDAS
MIDAS回归模型的一般表达为:$$y_t =x_t’ \beta+ \sum_{i=0}^{k-1} \gamma_iz_{t-j-i}^H +u_t \tag{1}$$在这里,为了简化说明,我们假设只存在一个高频变量。在估计模型之前,我们需要先设定\(j\)和\(k\)这两个参数。前一个参数设定\(z_t\)从哪一期开始影响\(t\)期的\(y\);后一个参数设定高频变量的最大滞后阶数(注意:这一参数和低频变量及高频变量的采样频率无关)。如果我们不对加权系数\(\gamma_i\)做任何约束,这实际就是一个普通的多元线性回归,在EViews里被称为U-MIDAS(无约束MIDAS之意)。
估计MIDAS回归需要用到midas命令。打开EViews安装目录下的Example Files\EV13 Manual Data\Chapter 30 – MIDAS Regression\midas.wf1,你会发现workfile里有两个page:

其中,QuarterlyPage存放季度变量,MonthlyPage存放月度变量。
我们用季度变量realgdp对它的一阶滞后及月度变量emp建立一个U-MIDAS回归模型并估计,可以通过以下代码实现:
equation eq1
eq1.midas(fixedlag=5, midwgt=umidas) realgdp c realgdp(-1) @ monthlypage\emp(-1)
括号中的参数fixedlag设定的是模型\((1)\)中的参数\(k\),参数midwgt设定的是MIDAS回归对高频变量加权的方式。括号后的表达和之前学过的多元回归估计差不多,只是需要在@后把高频变量列出来,包括设好初始的滞后阶数,即模型\((1)\)中的参数\(j\)。上述代码的估计结果为:

可以看到,这个输出结果和多元线性回归的输出结果本质上没有什么差别。
对存在多个高频变量的情形,实现MIDAS回归估计的代码也是类似的。例如,假设还存在一个SemiMonthlyPage的页面(存放每半月采样一次的变量),其中有一个变量m,那么,将其加入到上述模型(设其\(k=8\)、\(j=6\))可以使用如下代码:
eq1.midas(fixedlag=5 8, midwgt=umidas) realgdp c realgdp(-1) @ monthlypage\emp(-1) semimonthlypage\x(-6)
阶梯加权
当数据量够多、参数不那么多时,使用U-MIDAS是可行的也是更优的,否则,我们需要对\(\gamma_i\)做约束以缩减参数的个数。阶梯加权(step weighting)是这样一种约束方式:$$\gamma_i = \theta_s \text{ for } s = \text{int}(i/L)$$其中,\(\text{int}(i/L)\)表示\(i/L\)的整数部分,\(L\)是一个需要事先设定的取值为正整数的步长(step length)参数。例如,当\(L\)设为2时,\(\gamma_0 = \gamma_1= \theta_0\)、\(\gamma_2 = \gamma_3= \theta_1\)、…这就把无约束情况下加权系数的个数缩减了一半。
采用阶梯加权只需令midwgt=step,并通过参数steps来设置步长(缺省时steps=3)。
Almon加权
Almon加权也叫PDL (polynomial distributed lag,多项式分布滞后) 加权,它通过p阶多项式来约束\(\gamma_i\):$$\gamma_i =\sum_{s=1}^{p} \theta_s (i+1)^{s-1} $$其中,\(\theta_s\)是待估参数,\(p\)是需要事先设定好取值的参数。显然,只有\(p<k\)时,Almon加权才能起到缩减参数的作用。
如果midas命令后面不带midwgt参数,那么,EViews将采用Almon加权。多项式的阶数由参数polynomial设置(缺省时polynomial=4)。
指数Almon加权
指数Almon加权设\(\gamma_i\)为:$$\gamma_i =\lambda w_i= \lambda \frac{e^{\theta_1i+\theta_2i^2}}{\sum_{s=0}^{k-1}e^{\theta_1s+\theta_2s^2}} $$其中,\(\theta_1\)、\(\theta_2\)和\(\lambda\)是待估参数。\(\lambda\)又叫斜率(slope)参数,这是因为它正是合成变量\(\sum_{i=0}^{k-1} w_iz_{t-j-i}^H\)的系数。
采用阶梯加权只需设midwgt=expalmon。对指数Almon加权和下面的贝塔加权,我们还可以通过cov=white来获得异方差一致的标准误。
贝塔加权
贝塔加权对\(\gamma_i\)的约束为:$$\gamma_i =\lambda w_i = \lambda (\frac{{\omega_i}^{\theta_1-1}(1-{\omega_i})^{\theta_2-1}}{\sum_{s=0}^{k-1}{\omega_s}^{\theta_1-1}(1-{\omega_s})^{\theta_2-1}}+\theta_3) $$其中,\(\theta_1\)、\(\theta_2\)和\(\theta_3\)和\(\lambda\)是唯四需要估计的参数,\(\omega_i\)满足:$$\omega_i =
\begin{cases}
\delta & i=0 \\
i/(k-1) & i=1,\cdots,k-2 \\ 1-\delta & i=k-1
\end{cases}$$其中,\(\delta\)是一个很小的数(\(=2.22e^{-16}\))。
在EViews中,令midwgt=beta会使用贝塔加权。在使用贝塔加权的情况下,我们可以通过参数beta进一步做三种参数约束:beta=shape对应\(\theta_1 = 1\);beta=endpoint对应\(\theta_3 =0\);beta=both对应\(\theta_1 = 1\)且\(\theta_3 =0\)。第一种约束会使\(w_i\)的形状(shape)受\(\theta_2\)控制,如果\(\theta_2>1\),\(w_i\)会缓慢减小,如果\(\theta_2<1\),\(w_i\)会缓慢增大。第二种约束会使\(w_i\)的两个端点(endpoint)\(w_0\)和\(w_{k-1}\)会极度接近0。第三种约束兼具前两种效果。
命令复习
(.)midas:估计MIDAS回归模型
[注] ( . )命令表示命令可单独使用,也可跟在对象后使用;.命令表示命令只能跟在对象后使用。
练习
- 基于上文中估计U-MIDAS回归的代码,估计一个基于Almon加权的MIDAS回归模型。如果多项式阶数设为5,你会发现高频变量的系数正好等于U-MIDAS回归的估计结果,这是为什么?
- 对阶梯加权和Almon加权,我们可以不设定fixedlag参数,而是设定一个maxlag参数,让EViews自动选择最优的\(k\)(寻找残差平方和最小的\(k\))。对多项式阶数为5的Almon加权,设maxlag=18,最优的\(k\)是多是?
- 版权声明:本作品使用知识共享(Creative Commons)的署名-非商业性使用-禁止演绎 4.0 国际许可协议。非商业转载请注明出处(作者及原文链接),商业转载请联系作者获得授权。

给站长留言