先问大家一个问题,实证研究最重要的部分是什么?有些人可能认为是最终的回归及其结果。刚开始学计量的时候,我也这么认为。但现在,我的观点是:最核心的部分是数据描述。打个比方,一场足球比赛,数据描述是从发球到进球前的各种盘带、传接,而回归是临门一脚。进球纵然很出彩,但只是直接体现了一两个球员的门前技术;同样,回归纵然出彩,也只是体现了你的一部分研究成果。此外,如果没有中场大部分球员的配合,也就不可能有临门一脚;而如果没有详尽的数据描述,你就很难作出好的回归——即使“好看”,也可能是错的、假的。许多人诟病计量分析,一个原因是许多做计量的人上来直接做回归——如果结果“不好看”,就会千方百计地把好看的结果“凑”出来,然后交差。这是非常非常非常严重的错误。说轻了,是没有学术责任;说重了,就是学术造假。
今天暂且不说数据描述怎么做(事实是我得想想跟大家怎么说),先给诸位树立三条理念:
1、一定要做数据描述,而且要详尽地做。大家可以算算,一场足球赛90分钟下来,多少时间在盘带接传,多少时间在突破射门。然后按照这个时间比例去安排做数据描述和回归分析的比例。
2、回归结果是什么就是什么,千万不要去凑。系数不显著就是不显著,不显著也是一种结果,不显著并不是实证研究的硬伤——发表在顶尖期刊上“不显著”的文章多了去了。就好像一场足球比赛,即使0:0,也可能成为经典比赛。
3、更进一步说,即使只有数据描述,没有回归分析,也行——这样的好文章我见过很多(但我没见过只有回归分析而没有数据描述的好文章)。这样的文章通过数据描述就发现了大量的、有意思的现象,很有意义。
这次大概说说数据描述的过程。
既然已经确定了题目,就可以确定和题目相关的主要变量。下面以一个“庸俗”的话题作为例子:估计教育的回报。在教育回报的估计中,可能有这么几个变量比较重要:收入、教育水平、工作经验等等。挑出这些变量之后,首先要看它们的一些基本统计指标:均值、标准差、最小值、最大值、观测值个数等等,以使论文的读者对相关变量有一个基本的印象。或者,可以画出每个相关变量的取值分布图——图可以给人更直观的印象,并且可以判断该变量的取值是否存在某些“问题”(比如可以清楚地看出奇异值的存在情况)。
除了数据中已有的单变量之外,我们有时还需要自己构造感兴趣的变量,并对该变量做描述。比如有些数据中没有工作经验这个变量,需要自己构造,一般的构造方法是年龄减去教育年限,再减去上学的初始年龄(比如6)。还有更复杂的情形。比如我现在正在帮导师做一个项目,关于劳动迁移的。其中需要定义许多衡量劳动市场融合程度的指标,定义好之后要对这些指标的特征做全面的描述。
这些是单变量的描述,更为关键的是多变量的描述,一般表现为双变量的描述。首先可以关心某个重要的变量在另一个分组变量上如何变化。比如我比较关心收入,我想看随着年龄的增长,平均收入如何变化。那么我就可以画一个图,横坐标是年龄,纵坐标是该年龄所有观测个体的平均收入;这样,就画出一个收入-年龄组合。我还可能关心平均收入水平随时间如何变化。那么横坐标就可能是年,纵坐标是该年所有人的平均收入(当然需要很多年的数据)。通过对重要变量在分组变量(如按年龄分组、按时间分组等)上的刻画,可以发现许多有意思的现象。比如我现在正在做的一篇论文,就是做了两条劳动参与率-年龄组合曲线,一条是95年的,一条是02年的,结果发现02年从50多岁开始就有较大的下降趋势,然后试图去解释这一下降的原因。许多很有影响力的理论都是从发现一些有意思的现象开始的;所以,数据描述是触发灵感的帮手。
要描述双变量,我们还可以看关心的两个变量之间的关系。比如在估计教育回报率的研究中,我们最关心的莫过于教育水平和收入之间的关系了。为此,有些人就直接做回归了。直接回归的结果只是一个冷冰冰的系数,信息量不大;而且,一旦奇异值没有处理,这个系数就没多少意义。所以,在用回归等计量方法对变量之间的关系进行考察之前,有必要先画一个图,如双变量的散点图。在散点图中,横坐标表示教育水平的数值,纵坐标表示收入的数值,而图中的每个点都表示了一个(教育,收入)组合。画完之后,图中出现的是密密麻麻一片点,我们需要看的是这些点随横坐标的变化趋势是否是向上的;如果是向上的,是某些奇异值在作怪,还是整体本身就是向上的。为了更清楚地看清趋势,可以在散点图中加上一条线性拟合线作参考。画散点图的好处至少有两个:一、佐证所研究问题的正当性;如果图中没啥规律,这个题目也就没啥意思。二、为后续的分析找信心;如果图中都体现不出你预想的趋势,后面的回归也就没必要做了。
数据描述还有更复杂的情形,但因为不具一般性,就不在这里赘述了。总之,我总结的数据描述的两条基本原则是:1、不必求全。不必把相关、无关的变量都做描述,只需把和你的研究比较相关的变量做描述即可。判断哪些变量相关、哪些变量无关并不是一件很难的事情。2、务必求深。这条是最难做到的。也即在确定描述哪些变量之后,怎样选择描述的方法和角度。或者可以从各个角度去描述一个变量或两个变量的关系,使读者对该变量有一个全面的认识;或者可以根据研究的目的,选取几个最能体现研究目的或和后续分析最相关的角度,去进行描述。换句话说,通过数据描述,你已经可以对整个问题有七八分的把握了,只不过还不知道最终的回归系数而已。
数据描述是一项苦劲加巧劲的活,需要各位在实践中慢慢体会。大家也可以参考已有的文献,看看他们是如何通过画图、画表去进行数据描述的。
做完数据描述之后,就可以试着做回归了。做回归最重要的当然就是模型的选择。首先要选择模型的大类。一般情况下,你可以选择线性模型;如果因变量是0-1选择变量,你可以选择logit或probit等非线性模型。除了参数模型,你还可以选择非参数模型,等等。模型的大类多如牛毛,变量的性质不同、解决的问题的不同、甚至喜欢的假设的不同,都会促使你选择不一样的模型。各种模型的特点及适用范围在教科书和文献中多有涉及,大家得慢慢积累,这里不再赘述。
模型大类确定后,就得确定模型包含哪些变量。无可奈何的是,大家只能在数据给出的变量中选择,这也就是计量要处理一系列模型设定偏误的原因之一。在微观计量里,首先完成的两步是:1、确定一个或几个(一般是一个)你最感兴趣的自变量,放到模型里;我们一般把这个(些)变量称作variable of interest;2、确定一组影响因变量但你却不太关心的变量,放到模型里,我们习惯称之为控制变量(control variables)。
其实我们永远不知道真实的模型是什么,那 怎么最大可能地保证估出的系数是可信的呢?目前常用的办法是给出许多不同的模型设定,然后看看在不同的模型里,你最关心的那个(些)变量的系数有没有很显著的差异。 如果差异不大,那么恭喜你,你的估计在很大程度上是稳健的;或者说,用什么模型设定是不重要的。如果差异很大,你就得小心地去设定模型了——至少这个模型从理论上要尽可能接近你心目中的真实的样子。设定不同模型的方法可以是取舍控制变量,也可以做不同类的模型(比如LMP和logit,OLS和IV等等)以比较系数的差异。
做完回归后,你要对系数的正负、大小作出合情合理的解释。需要注意的一点是,这个解释不能做得很强。因为回归所固有的一些问题,你往往不能得到想要的结论(比如因果关系),所以下结论的时候一定要谦虚谨慎,不要拔高回归的结果。
到此为止,我以微观计量为例,大概描述了实证研究的基本步骤。下一次以时间序列或宏观数据为例,谈谈我的体会。
这次谈谈时间序列数据的处理。我上学期选修的时间序列分析课的期中考试中就有一道题目,让你论述拿到一个时间序列数据后,应该怎样分析。前几天,这门课的最后成绩出炉,还不错,所以我对这个问题的回答应该是靠谱的。
需要说明的一点是,对于时间序列数据的分析,经济学家和统计学家的视角往往是不一样的。经济学家在追求预测效果的同时,还要追求一定的经济学含义;而统计学家往往只关注拟合和预测的效果。这里,我主要从统计学家的视角来看这个问题。
首先,拿到数据后,第一项任务就是画图。也即把时间作为横轴,把一个变量画作一条线。
然后,仔细观察这条线。观察的方面有:这条线看起来是不是平稳的,有什么特别的地方(比如有没有周期性、有没有奇异点等等)。也即,这条线的“一举一动”都要在你的大脑中有所反映。
接下来,就是一系列配套的技术性分析。一、检验数据是不是平稳的。方法有很多,你可以用诸如单位根检验等方法,也可以直接去画ACF或PACF的图(统计学家更喜欢这个,比较直观)。二、如果是平稳序列,直接跳到第三步;如果是非平稳序列,通过差分将其变为平稳序列(一次差分如果不够,就多次差分,直到差分到平稳序列为止)。三、找到适当的模型去拟合这条时间序列曲线。对于单个时间序列的拟合,最常用的模型是ARMA模型;对于有周期性的时间序列,常用的是类似于Airline模型的模型。至于模型的参数是多少,可以通过EACF图来确定(这也是统计学家非常喜欢的工具)。四、基本模型拟合完毕后,要检测有无奇异值等等;如果有,要进行相应的处理。五、预测。预测的时候,要给出一定的置信区间。一般来说,诸如ARMA,Airline等模型的预测效果是相当不错的。
以上是单个时间序列的分析。如果因为某种关系(比如经济学上的含义),你想看多个时间序列之间的关系,常用的模型是Vector ARMA等模型,而分析的过程与上面类似,只不过把一维数据的相应操作变为多维的即可。
因为统计学家一般只关心数据的拟合程度或预测程度,所以上面的步骤在绝大多数时间序列数据的一般性分析中都是足够的了。至于上面提到的一些名词(ACF,PACF,EACF等),大家可以自学它们的含义,某些软件也可帮助计算这些指标。