第一讲 预备知识¶
1. 导论¶
在进一步学习课程之前,本讲提供一些基础的“预备知识”。宏观经济学既是动态的,又是随机的。动态意味着我们必须时时追踪变量随时间的变化,而随机则意味着我们需要研究预期。因此,本讲将首先介绍一下符号系统及有关预期运算规则。接下来我们将介绍在宏观经济学中用到的随机过程—马尔可夫( Markov )过程及ARMA过程。然后我们讨论几个分析工具,这些工具将会在ARMA模型的框架中讨论,但是这些工具会有更广泛的应用,当我们学习经济模型时将会用到它们,如脉冲响应函数及方差分解等。我还将简要讨论一下关于“滤波”的基础知识。滤波是非常重要的,(因为存在趋势问题,)我们只有先把真实世界的数据转换后才能在经济模型的框架内开展分析。本讲最后将介绍卢卡斯批评(Lucas Critique),卢卡斯批评奠定了现代宏观经济学的基础。
2. 符号系统与预期¶
变量是某些可以(确定性地或随机地)改变的事物的实现。内生变量是指在模型“内部”决定的变量(即在均衡框架内根据决策规则通过优化问题推导出来的)。外生变量则是由模型“外部”决定的,通常是做为给定的因素。我们根据既定的外生变量,将其代入到模型中,模型运行的结果就是内生变量的实现。参数则是规制模型关系的数值(例如效用函数的曲度如何,决策行为人对未来效用流的折现倾向有多大,等等)。参数通常也被看作是外生且固定的,当然,模型中也可以设定参数为随机改变的,此时参数就变成是外生变量。我将采用拉丁字母(如 \(X\) ,\(Y\))来表示变量,而用希腊字母(如 \(\alpha, \beta\) )表示参数。我会尽量做到,只是可能偶尔会有些例外。
在描述宏观经济模型的变量时,我们还会遇到“状态”变量和“控制”变量两个术语。外生变量总是状态变量,但是内生变量则既可能是控制变量,也可能是状态变量。大致说来,“控制”变量是指其变量值是在模型中选择的,可以自由“跳跃”以响应新信息。状态变量的变量值则是行为人做决策时所需要的给定值。这些变量即可能是外生的(如一个最常用的术语,政府支出),也可能是内生的(资本存量、资产存量等)。状态变量是根据不同的控制变量要求而预先确定的:为了选择控制变量,需要预先知道状态变量。说到有些状态变量是内生的,是如下意义上的,即行为人当前的行为决策可能会影响未来状态变量的值,但是状态变量的当前值通常是已知的。
宏观经济模型和数据是动态的—我们在某时间点上观测变量的实现值。大多数宏观模型的时间是离散的(某些增长模型和资产定价模型例外)。令 \(X_t\)代表变量(可以是内生的也可以是外生的,可以是控制变量也可以是状态变量)。这个符号表示变量在是时间 \(t\)的变量实现值。\(X_{t-1}\)则代表在\(t\)之前的一期变量实现值。\(X_{t+k}\) 代表在\(t\)时期之后第\(k\)期的变量实现值,依此类推。人们在使用时间标记符号时常常会有些翻来覆去的不一致情况,我也有这种情况(抱歉)。有时候,我们把时期0做为“现在”,然后向前推进时间;则在 \(t=0,1,2,...\)时的\(X_t\)代表的是当前(时期0)和今后的变量的实现值。在名外一些时候,我们用时期 \(t\) 来代表现在,如此一来,就只能用 \(X_{t+k}\) 来代表时间向后( \(k>0\) )或向前( \(k<0\) )推进了。
宏观经济模型是随机的,即变量的实现值具有随机性。宏观模型的随机性本质源于外生变量,我们在建模时通常是将外生变量赋予随机性。由于模型是随机的,且行为人是前瞻性的,因此我们需要考虑预期问题。用\(E(X_t)\)代表\(X_t\)的无条件预期。所谓无条件是指行为人对系统的现状一无所知。 \(E_tX_{t+k}\) 代表对\(X\)的未来实现值的基于在时间\(t\) 所能获取的全部信息所做出的条件预期。习惯上我们有\(E_tX_t = X_t\) ,这是因为\(X_t\) 在时期 \(t\) 是已知的,其实现值已经没有不确定性。同理,我们还有 \(E_tX_{t−k} = X_{t−k}\).
对于两个任意的随机变量 \(Y\) and \(Z\),根据迭代期望法则, \(E(Y ) =E(E(Y | Z))\)。用文字表达的意思是,条件期望的无条件期望是无条件期望。 对于时间序列其含义如下:
\(E_t(E_{t+1}(X_{t+2})) =E_tX_{t+2}\)。 再用文字表达的意思是,根据今天建立在对明天信息的条件猜想之上对今后两期的变量的条件猜想,恰恰就是基于今天的信息所能做出的最好猜想。(In other words, your best guess conditional on today’s information of your best guess conditional on tomorrow’s information of a variable two periods out from now is just your best guess based on today’s information.)
理性预期超出了简单的期望值的概念,对预期施加了更多结构性要求,这个领域的贡献要追溯到 Muth 和 Lucas。理性预期告诉我们,相关变量的未来实现值的期望 (i)在平均意义上是正确的; (ii) 在给定信息条件下,预测误差是不可预料的。换句话说,行为人只有在如下意义上才能建模出一致性的预期:(i)他们了解能够产生内生变量的模型并(ii)运用这些信息做出预测。这并不意味着行为人的预测不会出错。令 \(E_tX_{t+k}\) 表示在时间\(t\)根据可用信息做出的此后第\(k\)期的\(X_t\)的条件预测。预测误差是 \(u_{t+k} = X_{t+k} − E_tX_{t+k}\) :即实现值减去期望值。一般情况下 \(u_{t+k}\) 不会为零,但从平均意义上讲它应该为零,即它的无条件期望应该为零, \(E(u_{t+k}) =0\)。这背后的逻辑非常简单:如果我们在平均意义上有了预测误差,就无法形成最优的预期。进一步说,预测误差与做出预测时所有已知信息的协方差应该为零,\(\text{cov}(u_{t+k}, Z_t)=0\),此处\(Z_t\)代表在\(t\)时期任意已知的信息。因此理性预期告诉我们预测在平均意义上是正确的且是不可预料的。换个角度可以在某种程度上将预期理解成“优化”—如果我们的预测在平均上是错误的或是可预料到的错误的(而且是关键的错误),我们就无法形成优化的预期。理性预期在经验研究中受到广泛应用,这意味着在计量经济学的应用中会受到一些限制 。注意,理性预期并不一定排除信息摩擦:我们可以对行为人可获得的信息加以限制 。这可能会导致行为人看起来似乎是违反了理性预期(他们的预测误差是可以预料到的了),但是只有在拥有了超出行为人在做出预测时所拥有的信息的情况下才成立。
3 随机过程¶
如上所述,大部分宏观模型都是由对外生变量冲击过程所驱动的。我们需要明确这些外生状态变量所遵循的随机过程的性质。刻画随机过程最常见的两种方式是马尔可夫(Markov)过程 (离散结果) 和自回归移动平均(ARMA)过程。所谓的马尔可夫性质是指,一个系统的现状对于预测该状态的未来值来说是充分统计量。例如,一旦我们知道了\(S_t\)(当前状态),此时再多了解到 \(S_{t-k}, (k>0)\)并不能提供更多有关该状态在未来的预期演进。
令 $ S^-$ 为一些外生变量的可能实现值\(s_t\)的\(N × 1\) 阶向量,令\(P\) 为\(N × N\) 阶概率矩阵。矩阵的元素是在时期$ t$ 和\(t+1\) 之间由状态\(i\) 到状态$ j$ 转移的概率。因此,
此处\(i\) 和 \(j\) 是特定的\(\bar S\)的离散实现值。用文字表达为,矩阵的行(用\(i\)标示)代表当前状态,列(用\(j\)标示)则表示站在状态\(i\)来预期\(t+1\)期可能出现的每一个可能状态的概率。所有的行合计一定为1,即经济系统在一下期会转换为某个可能的实现值的概率为1。很自然地,对角线上的元素上越大,随机过程越具有持续性。
ARMA 过程是构建在白噪声基础上的连续过程。白噪声过程(用 \(\varepsilon_t\)表示)具有均值为0的特性(\(E(\varepsilon_t)=0\)),并且具有已知的且非时变的方差(如 \(\text{var}(\varepsilon_t)=\sigma^2\)),白噪声过程实现值与所有领先项和滞后项之间均不想关 (如 \(\text{cov}(\varepsilon_t, \varepsilon_{t+j})=0, \forall j\) )。
ARMA(p,q) 过程可以写成如下形式
此处, \(p\) 表示自回归滞后阶(滞后因变量数),\(q\) 表示移动平均滞后阶(滞后白噪声项数)。ARMA过程并非唯一的—在某种条件下,我们可以在MA过程和AR过程之间反复进行。这意味着我们常常可以用拥有足够多滞后项的纯AR过程来近似MA项。因此,大多数时候我们都可以用持续足够长的AR(p)过程来近似ARMA过程。
AR(p) 过程在形式上并一定具有前文讨论过的马尔可夫性质—已知 \(s_t\) 并不足以预测\(s_{t+1}\) ,我们还需要知道\(s_{t-1}\), \(s_{t-2}\) 等等。 但是结果是我们可以重新定义状态变量,将AR(p) 写为VAR(1)(V代表向量)。具体地说,假如我们有如下随机过程(此处忽略常数项)
那么,我们定义一个向量
我们可以将随机过程写为
或者简单写成
此处 \(\Lambda\)代表前述矩阵的系数矩阵。将状态变量如此重新定义后,该过程就具有了马尔可夫性质。我们将会看到,拥有AR(1)的结构使得计算脉冲响应和方差分解都变得相当简易直接了。
4. 脉冲响应函数和方差分解¶
脉冲响应函数被定义为变量(或变量的向量)的当前值与预期值对某一时点上冲击的实现值的反应而发生的变动。我们把冲击看作是外生变量的创新(或意外变动),这里的创新被刻画为白噪声。这个定义不依赖于外生变量或内生变量的任何特定过程。假定\(X_t\) 是某种构建白噪声的单变量过程,脉冲响应函数就可以定义为:
此处\(e\)是\(\varepsilon_t\)的某一特定的实现值。常见的是计算对标准差冲击的脉冲响应函数,即在\(e=\sigma\)时(\(\sigma\)代表\(\varepsilon_t\)的标准差 )。但是我们可以计算任意大小(或符号)的冲击的脉冲响应函数。如果过程是线性的,这没关系,脉冲响应函数并不依赖于冲击的大小(除了上下响应的幅度),符号也只会影响响应的符号。对于非线性过程,情况会不太一样。
下面是一个AR(1)过程的例子:
假设\(\varepsilon_t \~ N(0,1)\),则可以利用这个过程来计算其期望值以计算脉冲响应函数。在时间\(t-1\) ,\(\varepsilon_t\)的期望值是0,因此有
现在,我们计算在时间\(t\)时冲击的实现值为1(等于标准差)时的期望值:
对这两个结果做差分
以上我们演示了一个关于外生变量的脉冲响应函数,我们也可以对内生变量\(Y_t\)做如此处理。假设\(Y_t\)以某种方式依存于\(X_t\),比较简单的是假设这种依存关系为线性的,如\(Y_t=\beta X_t\) 。我们用同样的方式进行构建\(Y_t\)的IRF—计算在时间\(t\) 冲击实现值的条件下的预测,将其与没有这个实现值时的预测进行比较。在本例中,\(Y_t\)的脉冲响应只是\(X_t\) 的脉冲响应的一个比例(比例为\(\beta\))
较为常见的做法是将脉冲反应画出图来以做为分析的方式。对于这一过程,我们有如下脉冲图:
sim0101
脉冲响应函数在本质上只是一个系数时间序列的移动平均的描点图。继续用前文AR(1)的例子,为了获得移动平均的表达式,做如下迭代
如果我们不断这样迭代下去,由于当\(k\)足够大时,\(0.9^k \to 0\),所以我们得到
或者以求和符号的形式写为:
将此与前文对比,我们看到脉冲响应函数只是移动平均“向前移动”的表达式。为了表明这一点,我们把前文所做按着取前向期望的方式再做一遍
此处\(\varepsilon_t\)项没有出现,这是因为\(E_{t-1}\varepsilon_t=0\)。现在我们设定时期t的\(\varepsilon_t\)的实现值为1的前提下再做一遍(像前文做过的那样)
然后取两者之差构建脉冲反应函数:
这与前文的情况完全相同。换句话说,h期脉冲响应就是滞后h期的MA的系数。从根本上说,我们在宏观中通常感兴趣的正是这个移动平均的表达,它告诉了我们初始的冲击(\(\varepsilon\))会如何在不同周期上影响变量。估计和处理移动平均项是很难的(由于\(\varepsilon\)是直接观测到的,所以需要分布假设和最大似然估计)。估计和处理AR(p)过程则相对直接些—大多数情况下,最小二乘法(OLS)就是估计这类过程的具有一致性的估计方法。因此这表明我们可以通过估计AR模型并构建脉冲响应函数来获得时间序列的移动平均表达—不同时长(不同的h)的脉冲响应函数的系数就是同样滞后时长的移动平均的系数。
当然,我上面所做的隐含地假设了可以由AR过程获取移动平均的表达。有时候这是不太可能的,这种情况我们称之为不可逆AR过程。在多变量的框架下,会有些有趣的经济机制会引起经济模型中出现这种情况。如无特别提醒可以不必对此过分担心。另外,在我们上面的处理过程中,我们是假设了一个简单的AR(1)过程,这个在构建脉冲响应的机制技巧上就相当简单。我们的随机过程可能会复杂得多,但脉冲响应函数的的一般性定义还是同样的。AR(p)过程可能看起来相当棘手,难以用手算出其脉冲响应函数,但是,如果还记得的话,前面我们说过可以将AR(p)过程写成VAR(1),这使得计算脉冲响应函数变得相当直接明了。我们还可能会遇到非线性模型问题,这会使得问题复杂些,但并不会改变脉冲响应函数的一般性定义。为了在非线性模型中计算脉冲响应函数,我们将采用所谓“一般化脉冲响应函数”。这里要做的在本质上大体是由非线性模型中模拟数据以做出\(h\)期的预测,我们要大量重复这一过程。然后再由同一模型中模拟数据,只是此时要根据某一特定冲击的实现值,接下来再由非线性模型中用模拟数据做出做出\(h\)期的预测。再接下来将这些多次模拟的结果加以平均,由此可以得到\(E_tX_{t+k}\)和\(E_{t-1}X_{t+k}\),然后计算二者的差。这一概念性框架给出了在时期\(t\)某冲击实现值引起模型未来值的期望值的差异。后面我们还会涉及到这个问题。
我们还可以构建多元过程的脉冲响应函数。假设我们有关于变量 \(X_t\) 的\(2\times 1\) 阶向量,该组变量遵循AR(1)过程,有两个不相关的白噪声(例如“冲击”)扰动:
矩阵 \(\textbf{B}\) 是 \(2\times 2\)阶的。如果 \(\textbf{B}\) 和\(\textbf{A}\) 的非对角线上元素都为0,那么这就是是个2自变量的AR(1)过程。不过,非对角线上的元素不为0的情况会有一些更有趣的反馈机制,既有来源于冲击的,也有源于变量的滞后期。从概念上讲,脉冲响应函数与以前的一样—只是在时期\(t\)的冲击实现值所引起的是对变量的向量的预测。不过,因为现在有两个冲击 ,因此也会有两个不同的脉冲反应函数—每项冲击分别对应一个脉冲响应函数。脉冲响应函数也是一个向量—表明 \(X_t\)的两个元素如何随时间做出反应。由于我们已经把它写为了向量AR(1)过程,因此脉冲反应函数看起来基本上与标量时的情况是相同的。假设\(\varepsilon_{1,t}\)和\(\varepsilon_{2,t}\) 发生了一个单位的冲击(设另一个为0),我们会有:
为了计算这两个脉冲响应函数,我们以“冲击矩阵”的不同列为条件,试举一例如下,假设矩阵为
以下是变量“1和2”(分别对应 \(\textbf{X}_t\)的行)对冲击“1和2”(分别对应冲击向量的行)的脉冲响应函数
sims0102
有一个与脉冲响应函数相关的概念是方差分解。方差分解告诉我们的是某变量(如\(\textbf{X}_t\))预测误差的方差中有多大比例是由不同的冲击和不同的冲击时长造成的。很自然地,方差分解就不是旨在为单变量模型、单一冲击(只有一个白噪声冲击)所构建的—因为这样的单变量模型中一个冲击就解释了全部时长周期内的全部预测误差。我将使用无条件方差分解这一术语来表明某一特定冲击在无条件的意义上解释了多少预测误差的方差,而条件方差分解则是表明某变量的预测误差中有多少可以在某一特定预测周期内得到解释。
为简单起见,假设我们有一个单变量过程,可以写成MA的形式:
(利用方差的性质以及白噪声过程的方差是常数这一事实,可知)\(X_t\)的方差是:
现在我们假设\(X_t\)受到两个不同的白噪声过程\(\varepsilon_{1,t}\)和\(\varepsilon_{2,t}\)的冲击,这些冲击是独立的,方差分别为\(\sigma_i^2\) (\(i=1, 2\)),我们将这一过程写为
\(X_t\)的总方差是:
所谓无条件方差分解只是将总方差中分离出每一个冲击的比例,此例中我们有:
显然,所有冲击比例之和必然为1。这一示例表明了每一个冲击在解释\(X_t\)的波动中的重要性:这取决于冲击的“量级”(即方差)和系数。由于方差分解只是MA的系数的函数,因此它只包含脉冲响应函数,除此并无其他信息—它只是从不同的角度解读模型。
由于我们采用的是简单的MA过程,此处计算方差(以及由此得出的方差比例)是较为简单的。对于更复杂的模型(如非线性模型),我们可以通过模拟的方式来计算无条件方差分解。我们可以对模型做多时期模拟,计算\(X_t\)的方差。然后我们“关闭”冲击1(令其方差为0)再对模型加以模拟,计算\(X_t\)的方差,再接下来重复处理冲击2,由此即可以计算出两个冲击的比例。
为了计算不同预测周期时长的方差分解,我们需要计算预测误差。定义\(h\)期的预测误差为\(X_{t+h}-E_{t-1}X_{t+h}\),这是在第\(t\)期观测冲击之前实现值和期望值之间的差分。
继续用上述两个冲击来驱动这个MA过程,在\(h=0\) 时的预测误差可以按如下方式构建:
二者的差恰好是
现在我们再计算\(h=1\)时的预测误差
二者的差是
与此相似地,我们可以得到\(h=2\)时预测误差的差分
由于\(t-1\)时刻预测3期或3期以上为0,所以对于任意的\(h\geq 3\),预测误差是如下过程
对每一时长周期的预测误差取其方差:
方差分解仍然是计算比例,只是在不同的时长周期上:
对于这一特定过程来说,我们看到在3个预测周期或以上的情况下条件方差分解与我们前面定义的无条件预测误差方差分解完全一样。这是因为我们把MA过程写成了有限项。对于更一般化的随机过程来说,无条件方差分解和条件方差分解只有在\(h \to \infty\)的限定下才是相同的。
在实际操作中,如何计算更复杂的过程的方差分解 ?如我们在这些公式中所见,方差分解取决于冲击 的方差的移动平均项。由于脉冲响应函数就是移动平均项,我们可以首先计算一个标准偏差的冲击的脉冲响应函数来得到方差分解(做一个标准偏差的冲击很重要)。在\(h\)期上的总预测误差方差就是在这个时长周期内所有冲击的脉冲响应的总和。一个标准偏差的冲击下,在前文给出的简单的MA过程中,在\(h=0\)时的脉冲响应是冲击1为\(\sigma_1\),冲击2为\(\sigma_2\)。在\(h=1\)时,脉冲响应则分别为\(\theta_1\sigma_1\)和\(\alpha_1\sigma_2\)。将脉冲响应平方然后求和,得到\((1+\theta_1^2)\sigma_1^2\)和\((1+\alpha_1^2)\sigma_2^2\)。总方差就是二者之和(上式中的分母)。为计算方差分解,将脉冲响应的平方和按不同冲击(冲击1或2)计算其比率,除以总方差。对每一时间周期做一次这个过程,每一次的总预测误差就是到这一期为止的所有冲击的脉冲响应的平方和。为了得到每个冲击的贡献份额,可以计算该冲击的脉冲响应的平方和对总预测方差的比率,我们将得到与前文表达式相同的结果。
5. 对数¶
当我们处理宏观经济数据时,大多数时候要将数据加以自然对数化。这一点在许多经济模型中都适用,我们通过对变量的对数化加以近似(被称为对数线性化)。
为什么我们喜欢对数化?对数可以使数据变成百分比的形式,对数的差就可以表示百分比的差。假设一个数据序列按常数增长率\(x\)增长,这意味着
两边取对数:
以下是一项非常有用的小技巧:1加上一个数的对数约等于该数。为了证明这一点,我们用一阶泰勒展开做\(\ln(1+x)\)的近似。一阶泰勒近似的一般性定义为:
此处\(x\)是变量,\(x^\ast\)是该变量某一特定实现值。将这一原理应用于\(\ln(1+x)\),在\(x^\ast=0\)处做近似逼近:
换句话说,1加上一个很小的数取对数约等于该小数,对于很小的\(x\)(即增长率很小),这个近似颇为有效,将其应用于上式,可以得到
这意味着我们可以将跨时期对数差分解释为增长率率,这非常有实用价值。如果一个时间序列按大致的常数增长率增长,则该时间序列的图形就大体是对数线性的(但是会是以指数级的标示)。
将数据对数化还可以使时间以及其他变量都可以不必考虑绝对单位量纲的大小,具体地说,如果我们对一个数据序列取对数,然后计算其标准差,该标准差就可以被看作是百分比。如果我们要比较两个均值相差很大的数据序列的波动时,这种用对数表示百分比的方式就很方便了。例如,消费占叫总收入的比重远大于投资占总收入的比重,而以百分比/对数的形式我们会发现,投资的波动则比消费波动要大很多。但是在总量水平上 ,消费则看起来比投资要有较大波动,因为它是在围绕着一个较高的均值在波动。
6. 滤波¶
许多宏观经济数据都有趋势—消费、产出等都随着时间推进而上升。我们在研究经济周期(这也是本门课程的主要内容)时常常要关注的是“二阶矩”—标准差、相关、自相关等。如果我们考虑的变量是非平稳的(即它们不具备充分定义且非时变的一阶矩或二阶矩),那么这些二阶矩就无法正确定义。
我不打算在此深入讨论这个问题,但是对数据序列“去趋势化”就是将数据序列转换分解成两个组成部分:非平稳趋势部分和平稳周期部分。去趋势化可能会使周期部分平稳,却并不取决于数据序列本身及所采用的去趋势的方法。假如我们想到分离出时间序列中的平稳周期部分,应该采用何种去趋势取决于时间序列中的非平衡部分的来源。大体说来,有两类非平稳模型:确定性趋势与随机趋势。假设某一变量遵循如下过程:
此处\(X_t^\tau\)代表确定性趋势部分,所谓确定性是指数据序列随时间会确定性地增长,其表达形式类似\(b_t\) 这种形式,其中\(t\)代表时间标示,\(b\)代表系数。\(\widehat{X}_t\)代表的是随机部分。如果随机部分是均值回复型的,那么就把这个数据序列看作是具有确定性趋势的。(这意味着在随机冲击后该数据序列会回复到其趋势线上。)如果随机部分不是均值回复型的,那么就把这个数据序列看作是具有随机趋势的。(这意味着该数据序列可能会漫无规律地扰动,却并不一定回复到其趋势线上。即如果冲击是永久性的,因而随机部分不是均值回复型,则数据序列并无回复到其趋势线上的倾向。)为呈现确定性趋势的平稳数据序列,我们要估计其确定性趋势(在确定性时间指数上对变量进行回归)并去除其趋势(取其残差)。对于随机趋势平稳数据序列,我们首先要对数据序列进行一阶差分(即如果数据序列是对数形式的,其一阶差分就是近似的增长率。)
与去趋势相关的一个概念是滤波。滤波并不一定是要使非平稳数据序列平稳化,滤波总是可以用于数据序列,即使数据序列不是非平稳的。滤波的基本思想是假设数据序列有两个组成部分:“平滑”部分和“周期”部分:
用某种标准界定出“平滑”部分,然后就可以将余下的部分归结为“周期”性的部分。类似移动平均法是最显而易见的做法—在每一个观测点上,在一个滚动窗口中对\(X_t\) 进行移动平均(滚动窗口可以采用多种形式,但我们在此假设其为双面型的,即取\(X_{t-k}\)和\(X_{t+k}\)的平均值)。这样我们会得到一组“平滑”的\(X_t\),用实际的\(X_t\)减去此“平滑”部分,即可得到“周期”部分。
Hodrick-Prescott滤波(简称HP滤波)是宏观经验研究中极为常用的,而且通常也仅做此滤波就够了。它还有一个线性时间趋势的特例。从形式化上看,令\(\lambda\) 为研究者预先选定的外生常量,HP滤波是选择一个趋势序列\(X_t^S\),求解如下最小化问题:
此式的基本思想是使得平滑部分的标准差的平方最小化,约束条件为光滑部分波动太过剧烈时的补偿,该补偿的量级由参数\(\lambda\)主导。如果\(\lambda=0\),那么解就是简单的\(X_t^S=X_t\)。随着\(\lambda\)的加大,我们就不会让\(X_t^s\)像实际数据序列那样较大幅变化,由此就开启了获取我们感兴趣的“周期”动态。在\(\lambda \to \infty\) 时,HP滤波就化简成从一个数据序列中去除线性时间趋势—在这种情况下,“平滑”了的数据序列一定是一条线,如果数据序列呈现一直向上的趋势,则平滑序列就是一条直线。宏观经验研究中常用的是对季度数据采用\(\lambda=1600\)。
我们要经常比较由数据中得到的矩(标准差、相关系数等)与由模型中得到的矩。这里的重点是要对真实数据与模型中得到的数据进行相同的处理。因此,如果我们对真实数据进行HP滤波并用它计算矩,那么也要对模型产生的数据先进行HP滤波,然后才能计算矩。
7. 卢卡斯批评¶
卢卡斯批评(参考Lucas, 1976)是形成现代宏观经济学的重要的哲学立足点。自凯恩斯到20世纪70年代中期的宏观经济学与现在的宏观经济学大不相同。在理论层面,各类教科书采用的都是IS-LM模型。IS-LM模型没有认真地考虑过行为人优化行为、动态或预期形成机制。在经验研究层面,学界通常采用“大规模”宏观计量模型,这些大规模宏观计量模型本质上是一些总量型变量的联立方程组,许多大型模型可能会有数百个变量。 这些宏观计量模型建基于拟合和预测的基础之上,基本不太关注其基础理论或经济学。
卢卡斯批评的要点在于,根据历史数据得到的相关系数(或回归系数)并以依此预测政策变化的效果,这种做法是很不靠谱的。如果某参数不随经济环境的变化而改变,具体来说就是不随政策环境的变化而变化,我们就称之为“结构性”的。如果参数不随环境改变,或者更一般地说,如果参数不能被映射回到某一原始状态的经济,我们就称之为“简化式”的。下面我们举两个例子对此加以说明。
7.1 简单的消费储蓄模型¶
我们来考虑一个非常简单的两时期消费储蓄模型,该模型假定是固定利率且没有不确定性。家庭部门将收入流当作外生的,求解如下问题:
一阶条件或欧拉方程为
这里有两个结构性参数\(\beta\)和\(\sigma\),这两个参数分别表示决策人对未来效用流的折现态度以及效用函数的曲度。我们假设\(\sigma=1\)(根据洛比达法则,这意味着效用函数会退化成\(\ln C_t\)),这样我们就可以得到类似如下形式的消费函数:
此处的”边际消费倾向”(MPC)是\(C_t\)对\(Y_t\) 的偏导,即\(\frac{1}{1+\beta}\),这就是结构性参数的变形,因此我们就可以将边际消费倾向MPC看成实际上是结构性的。
假设某计量经济学家估计了消费与收入的回归如下:
该回归省略了\(Y_{t+1}\),在这个意义上它似乎有些设定错误,我们把它归入到误差项中了。如果当前收入与未来收入不相关,那么\(Y_t\) 与误差项也不相关,由此我们可以得到\(\gamma=\frac{1}{1+\beta}\)(至少在样本足够大时是如此的)。但是,如果当前收入与未来收入是相关的(如收入的持续性)呢?这样就会有一个被忽略了的变量,\(Y_t\)就是会与误差项正相关,这意味着得到的对\(\gamma\)的估计是上偏的。
假设过去收入的变化具有很强的持续性—当\(Y_t\)变动时,\(Y_{t+1}\)也会以差不多的幅度发生变动。根据消费理论得出的消费函数表明,在这种情况下消费对收入的变化大致会做出一比一的响应。假设计量经济学家继续估计上式的回归,并得到一个非常大的\(\gamma\)值(比方说,\(\gamma\)值接近1)。那么该计量经济学家就会提出如下政策建议:“边际消费倾向差不多为1,如果我们制定一项使人们收入增加(比方说减税)的政策,那么人们会差不多把增加的收入都花掉,这就会对总体经济活动产生较大的刺激作用!” 于是政策制定者就会说:“好吧,我们在一个财务周期内减税1美元吧。” 理论告诉我们,在一个周期内增加收入(减税就会有如此效果),人们的消费只会增加\(\frac{1}{1+\beta}\),如果\(\beta\)接近1,那么人们大体上会消费掉减税额的\(1/2\),这将会小于由回归所得的估计结果,回归结果表明边际消费倾向MPC要高很多,而且接近于1。在本例中,在考虑收入变动只是暂时性的问题时,利用根据过去数据(在收入变动非常具有持久性的情况下)估计的收入和消费的相关性是不太有充分的信息的。
7.2 菲利普斯曲线模型¶
我们来看看另外一个例子,也是卢卡斯所要批评的内容之一。本门课程稍后会看到,我们可以推导出一条“菲利普斯曲线”以表示经济活动、通货膨胀和预期通货膨胀的关系:
上式中,\(\theta\)是系数,\(\beta\)是折现因子(同前例中的一样),\(\pi_t\)是通货膨胀,\(E_t\pi_{t+1}\) 是预期通货膨胀,\(u_t\)是失业率,\(u^N\)是自然失业率(此处假定自然失业率是非时变的)。\(\theta\)和\(\beta\)都是结构性参数。
在理性预期之前,人们不知道如何认真地处理预期。的确,当时许多模型都是静态的,所以也不用预期未来会发生什么。假如某计量经济学家估计出如下回归关系:
像上一节中的例子一样,根据基本理论,该回归关系也是设定错误—误差项中包含预期未来的通货膨胀。但是,假设从历史数据上看,预期通货膨胀相当稳定。这意味着对系数的估计不会有太大的偏差,我们就认为对\(\xi\)的估计与真实的\(\theta\)会非常接近。假如真实的\(\theta<0\):通货膨胀和失业之间就存在负向关系。由此人们就会得出提高通货膨胀会减少失业的结论。于是计量经济学家就会对政策制定者提建议说:“我们提高通货膨胀吧,这样就会保持较低的失业!” 真的会如此吗?
会的,但是只是在较高的通货膨胀没有被整合到较高的通货膨胀预期时这个结论才能成立。如果人们稍加留意,他们就会预期到有更高的通货膨胀—即\(E_t\pi_{t+1}\)会上升,这意味着\(u_t\)不会下降到像简单的回归所预测的那么多。这再次说明,采用过去的相关关系来预测政策变化的效果可能会产生很大的误导后果。
7.3 我们还需要计量经济学吗?¶
卢卡斯批评的结论是我们要更加认真地对待经济理论–根据数据估计的相关关系(或回归系数)可能并read非是不随政策而变化的,因此在思考一些“反设事实”时基本没有什么用处。所谓“反设事实”是指我们在设想不同的政策框架下会发生什么后果。
有些人(不恰当地)将卢卡斯批评理解为卢卡斯认为在宏观层面根本就不应该搞计量经济学。这么说其实有些言重了。卢卡斯批评是告诉我们在做计量分析时要认真对待经济理论,如果我们在没有经济理论保证的前提下进行计量分析(如简化式的计量经济学),要诚实面对潜在的疑虑并保持开放的态度。在上面给出的两个例子中,我们实际上还是在理论的指引下进行的回归设定–只是在我们运行的回归中有省略掉的变量。“理论”并不能告诉我们诸如\(\beta\)或\(\theta\)等结构性参数的具体值,这个工作就是计量经济学所致力于完成的。但是理论可以告诉我们要运行何种计量模型,我们可以施加何种限制等等。一旦我们对结构性参数得出了好的估计,就可以利用该模型去研究不同政策的效果了。
本节实际的含义是主张理性预期是有用的。我们来看一下简单的两时期消费模型(为了让结论更明显,这次我们引入随机性)。理论告诉我们可以进行类似如下形式的回归:
此处的问题在于我们并不一定能观测到\(E_tY_{t+1}\)。不过,理性预期理论就可以告诉我们如何得到这个观测。具体来说,理性预期理论告诉我们\(E_tY_{t+1}=Y_{t+1}+u_{t+1}\),其中\(u_{t+1}\)具有如下性质:(i) 均值为0,(ii) 与任何\(t\)时期或更早时期已知的信息都不相关。因此,根据理性预期理论我们可以运行如下的回归:
此处\(v_t\)是一个复合误差项,它等于\(\epsilon_t+\alpha_2u_{t+1}\)。由于\(Y_{t+1}\)与\(u_{t+1}\)相关,所以最小二乘法OLS并不适用。但是理性预期告诉我们,我们可以利用在时期\(t\)或更早期时已知的信息检测\(Y_{t+1}\) –理性预期告诉我们预测误差,\(u_{t+1}\),与任何\(t\)时期或更早时期已知的信息都不相关,这使得\(t\)时期及以前的信息都成为了有效的检测工具。我们可以对菲利普斯曲线公式做同样的处理,在公式右边将未来通货膨胀的实现值包括进来,并根据在时刻\(t\)或更早时的某些信息对之加以检测。换句话说,对认真对待理性预期,通常会为我们提供回归模型中“关于误差项的理论”,因而对如何处理误差项提供一些指导。
(第一讲结束,2017/2/7)