GMM和工具变量在面板数据中的运用, 一篇文章学会操作流程!
凡是搞计量经济的,都关注这个号了
稿件:econometrics666@126.com
工具变量和广义矩估计相关步骤
一、解释变量内生性检验
首先检验解释变量内生性(解释变量内生性的Hausman 检验:使用工具变量法的前提是存在内生解释变量。Hausman 检验的原假设为:所有解释变量均为外生变量,如果拒绝,则认为存在内生解释变量,要用IV;反之,如果接受,则认为不存在内生解释变量,应该使用OLS。
reg ldi lofdi
estimates store ols
xtivreg ldi (lofdi=l.lofdi ldep lexr)
estimates store iv
hausman iv ols
(在面板数据中使用工具变量,Stata提供了如下命令来执行2SLS:xtivreg depvar [varlist1] (varlist_2=varlist_iv) (选择项可以为fe,re等,表示固定效应、随机效应等。详见help xtivreg)
如果存在内生解释变量,则应该选用工具变量,工具变量个数不少于方程中内生解释变量的个数。“恰好识别”时用2SLS。2SLS的实质是把内生解释变量分成两部分,即由工具变量所造成的外生的变动部分,以及与扰动项相关的其他部分;然后,把被解释变量对中的这个外生部分进行回归,从而满足OLS前定变量的要求而得到一致估计量。
二、异方差与自相关检验
在球型扰动项的假定下,2SLS是最有效的。但如果扰动项存在异方差或自相关,面板异方差检验:
xtgls enc invs exp imp esc mrl,igls panel(het)
estimates store hetero
xtgls enc invs exp imp esc mrl,igls
estimates store homo
local df = e(N_g) - 1
lrtest hetero homo, df(`df')
面板自相关:xtserial enc invs exp imp esc mrl
则存在一种更有效的方法,即GMM。从某种意义上,GMM之于2SLS正如GLS之于OLS。好识别的情况下,GMM还原为普通的工具变量法;过度识别时传统的矩估计法行不通,只有这时才有必要使用GMM,过度识别检验(Overidentification Test或J Test):estat overid
三、工具变量效果验证
工具变量:工具变量要求与内生解释变量相关,但又不能与被解释变量的扰动项相关。由于这两个要求常常是矛盾的,故在实践上寻找合适的工具变量常常很困难,需要相当的想象力与创作性。常用滞后变量。
需要做的检验:检验工具变量的有效性。
(1) 检验工具变量与解释变量的相关性
如果工具变量z与内生解释变量完全不相关,则无法使用工具变量法;如果与仅仅微弱地相关,。这种工具变量被称为“弱工具变量”(weak instruments)后果就象样本容量过小。检验弱工具变量的一个经验规则是,如果在第一阶段回归中,F统计量大于10,则可不必担心弱工具变量问题。Stata命令:estat first(显示第一个阶段回归中的统计量)
(2) 检验工具变量的外生性(接受原假设好)
在恰好识别的情况下,无法检验工具变量是否与扰动项相关。在过度识别(工具变量个数>内生变量个数)的情况下,则可进行过度识别检验(Overidentification Test),检验原假设所有工具变量都是外生的。如果拒绝该原假设,则认为至少某个变量不是外生的,即与扰动项相关。0H
Sargan统计量,Stata命令:estat overid
四、GMM过程
在Stata输入以下命令,就可以进行对面板数据的GMM估计。
. ssc install ivreg2 (安装程序ivreg2 )
. ssc install ranktest (安装另外一个在运行ivreg2 时需要用到的辅助程序ranktest)
. use "traffic.dta"(打开面板数据)
. xtset panelvar timevar (设置面板变量及时间变量)
. ivreg2 y x1 (x2=z1 z2),gmm2s (进行面板GMM估计,其中2s指的是2-step GMM)
工具变量和GMM在Panel data中的运用
第一节 关于面板数据PANEL DATA
1、面板数据回归为什么好
一般而言,面板数据模型的误差项由两部分组成,一部分是与个体观察单位有关的,它概括了所有影响被解释变量,但不随时间变化的因素,因此,面板数据模型也常常被成为非观测效应模型;另外一部分概括了因截面因时间而变化的不可观测因素,通常被成为特异性误差或特异扰动项(事实上这第二部分误差还可分成两部分,一部分是不因截面变化但随时间变化的非观测因素对应的误差项Vt,这一部分一般大家的处理办法是通过在模型中引入时间虚拟变量来加以剥离和控制,另一部分才是因截面因时间而变化的不可观测因素。不过一般计量经济学的面板数据分析中都主要讨论两部分,在更高级一点的统计学或计量经济学中会讨论误差分量模型,它一般讨论三部分误差)。
非观测效应模型一般根据对时不变非观测效应的不同假设可分为固定效应模型和随机效应模型。传统上,大家都习惯这样分类:如果把非观测效应看做是各个截面或个体特有的可估计参数,并且不随时间而变化,则模型为固定效应模型;如果把非观测效应看作随机变量,并且符合一个特定的分布,则模型为随机效应模型。
不过,上述定义不是十分严谨,而且一个非常容易让人产生误解的地方是似乎固定效应模型中的非观测效应是随时间不变的,是固定的,而随机效应模型中的非观测效应则不是固定的,而是随时间变化的。
一个逻辑上比较一致和严谨,并且越来越为大家所接受的假设是(参见Wooldridge的教材和Mundlak1978年的论文),不论固定效应还是随机效应都是随机的,都是概括了那些没有观测到的,不随时间而变化的,但影响被解释变量的因素(尤其当截面个体比较大的时候,这种假设是比较合理的)。非观测效应究竟应假设为固定效应还是随机效应,关键看这部分不随时间变化的非观测效应对应的因素是否与模型中控制的观测到的解释变量相关,如果这个效应与可观测的解释变量不相关,则这个效应成为随机效应。这也正是HAUSMAN设定检验所需要检验的假说。
非观测效应模型因为对非观测效应假设的不同,因为使用面板数据信息的不同,可以用不同方法来估计并且得到不同的估计量,一般有四个:
(1)组内估计量(WITHIN ESTIMATOR)(FE或FD: First Difference)
(2)组间估计量(BETWEEN ESTIMATOR)
(3)混合OLS估计量(POOLED OLS ESTIMATOR)
(4)随机效应估计量(RE,GLS或FGLS估计量)
这四个估计量因为假设和使用信息的不同而不同,各有优劣势,相互之间也有密切关系。3和4分别是1和2的加权平均;4在特定的假设分别可以转化成1和3;如果HAUSMAN检验表明4和1没有区别的时候意味着1和2没有区别。
RE假设未观察因素与解释变量是正交的,只不过在未观察因素里有两个部分,一是与个体单位有关的,二是完全随机的,RE在做估计的时候,是用这两个部分的方差计算出一个指数λ,来做quasi-demean,也就是说在去平均的时候是用原值的y或x减去λ乘以y或x的均值,然后用GLS估计。
极端地,当λ为0时,非观测效应是一个常数,并且所有个体都一样,就等价于Pooled OLS,当λ为1时,说明完全随机的部分可以忽略,所有未观察因素都是与单位有关的,于是就等价于FE。但FE不需要假定未观察因素与解释变量是正交的,在做FE时,固定效应都被差分掉了,所以也可得到consistent的结果。
PANEL数据的好处之一是,如果未观察到的是固定效应,那么在做DEMEAN时,未观察因素就被差分掉了。这样就可以减少由于未观察的因素可能与解释变量相关而导致的内生性问题。
2、那么PANEL的FE或RE分析就避免了内生性问题吗?
只能说好一些,如果内生的问题只是由于与单位有关的并不随时间变化的遗漏变量与解释变量有关造成的,这时,数据的差分就解决了问题,但是,别忘记还有一部分误差,如果这部分误差里包含的因素也可能影响解释变量,那么,差分只能解决前面讲的问题,由随机项里包括的因素与解释变量之间的关系导致的内生性问题还可能存在。
3、怎么办?
找IV解决。类似于在OLS基础上找IV,但对PANEL的工具应该具有PANEL结构,除非你基础的估计没有使用PANEL的方法,比如说对数据用了pooled OLS方法,但能够用pooled OLS方法分析PANEL DATA的条件是很严格的。
第二节 关于工具变量选择
1, IV应该尽量是外生的(如历史/自然/气候/地理之类),它应该在理论上对被解释变量(以下称Y)没有直接影响,但应该通过影响被工具的变量(以下称X)而间接影响被解释变量Y。
2, 如果上述理论逻辑通的话,将内生变量X作为解释变量,IV和其他变量(X2)作为解释变量,看IV是否显著,它应该显著。如果选了多个IV,就用F TEST看其是否都不显著。同时,如果在多个IV中,有一个是确定为外生的,那么,可以用Sargan test of overidentifying restrictions来检验其他的IV是不是确实是外生的。
3, 如果上述都没有问题,做一下IV回归。完成后,用HAUSMAN检验,这个检验的原假说是IV回归与原回归(不用IV的回归)的变量的系数并没有显著的不同。看一下P值,如果P小于比如说0.1,或者0.05,那么,说明IV回归与原来的回归显著不同,原来的方程的确有内生性问题导致的估计偏误。反之,如果P很高,超过0.1,或0.05,那说明IV回归与原来的回归没有显著不同,无法拒绝原来的回归没有显著的内生问题导致的估计偏误的原假设。
4, 如果选择的IV本身就影响Y,那它就不能被作为IV。例如,Y在左边,右边是X(被工具的),X2,IV。当IV被放在方程右边时,它最好是不显著影响Y的。在Acemoglu(2001)里,他就检验了他们的IV是否直接影响被解释变量,结果说明不直接影响,于是这个IV是好的。当然,一个好的IV在前面的回归中也可能是显著的(不过一般如果理论和逻辑上IV是通过被工具的内生解释变量间接影响被解释变量的话,一般来说应该是被工具的内生解释变量使得IV不显著,或者由于两者相关性很高,两者都不显著),但判断的标准还只是t值。这个变量显著完全有可能是因为它影响了其他显著的变量(比如被工具的变量),如果是这样,当包括了IV在原方程中以后,其他变量(特别需要注意的是被工具的变量X)的系数可能发生明显变化。
第三节 关于HAUSMAN TSET(以下简称HT)的若干细节问题
具体参见Stata corporation, 2001, STATA 7 Reference H-P, Stata Press
1,含义:“The null hypothesis is that the efficient estimator is a consistent and efficient estimator of the true parameters. If it is, there should be no systematic difference between the coefficients of the efficient estimator and a comparison estimator that is known to be consistent for the true parameters. If the two models display a systematic difference in the estimated coefficients, then we have reason to doubt the assumptions on which the efficient estimator is based.”参见手册Stata corporation, 2001, STATA 7 Reference H-P, Stata Press。
该方法是Hausman (1978)的程序化。所以,Hausman Test的命令(hausman)假设使用者知道需要比较的两个方程中哪一个是“无论原假说成立与否都是consistent”,哪一个“在原假说下不仅efficient而且consistent,但若原假说不成立,则inconsistent”,然后,在STATA下,步骤是:
(1) obtain an estimator that is consistent whether or not the hypothesis is true;
(2) store the estimation results under a name-consistent using estimates store;
(3) obtain an estimator that is efficient (and consistent) under the hypothesis that you are testing, but inconsistent otherwise;
(4) store the estimation results under a name-efficient using estimates store;
(5) use hausman to perform the test
hausman name-consistent name-efficient [, options]
举例:
(1)在关于是FE还是RE的检验中,原假说是非观测效应与解释变量不相关,备择假说是两者相关。FE是无论原假说成立与否都是consistent,而RE在原假说下是consistent,并且Asymptotically efficient(样本越大越有效),但如果原假说被拒绝,则RE不是consistent的 (Hausman, 1978)。
所以做法应该是(STATA的命令):
sort code year (排序)
tis year (时间变量是year)
iis code (表示单位的是code)
xtreg y x x2, fe(假设其中x是需要被工具的变量)
est store fixed (在STATA里命令有变化,不再是HAUSMAN,SAVE了,这里的fixed实际上就是个变量名,用什么都行)
xtreg y x x2, re
hausman fixed
(2)比较OLS(或FE)和IV(或IVFE)
先做IV,因为,它无论如何都是consistent的,但OLS只有在原假设成立,即OLS结果与IV结果相同,内生性问题没有时,才是consistent的。所以,应该先做IV。
在老版本的STATA里,如果不加特殊说明,STATA就会默认为先写的回归命令得到的是总是一致的估计结果,后写的得到的是备择假设下不一致的估计结果。现在HAUSMAN命令
1 Refer to the appendix for the definition of unbiased, consistent and efficient.
规范了,而且扩展了。先跑哪个不重要,关键在于写最后HAUSMAN命令时候的顺序,而且如果最近跑的一个没有用EST存名字的话,要用“.”代替。
2.注意:
(1)对以上检验的理解的另一种方式是,我们先做一个假设条件要求更松的估计,然后再做一个假设条件更严格的。相比之下,IV(IVFE)比OLS(FE)要求更松。容易搞混的是FE比RE假设条件更松。RE假设未观察因素与解释变量是正交的,只不过在未观察因素里有两个部分,一是与个体单位有关的,二是完全随机的,RE在做估计的时候,是用这两个部分的方差计算出一个指数λ,来做quasi-demean,也就是说在去平均的时候是用原值的y或x减去λ乘以y或x的均值,然后用GLS估计。
当λ为0时,就等价于pooled OLS,当λ为1时,说明完全随机的部分可以忽略,所有未观察因素都是与单位有关的,于是就等价于FE。但FE不需要假定未观察因素与解释变量是正交的,在做FE时,固定效应都被差分掉了,所以也可得到consistent的结果。当我们先做假设更严格的估计时,HT与一般检验一样,检验值大,P小,则原假说拒绝,应该接受假设更松的。在FE与RE的比较里,卡方大,接受FE。在OLS(FE)与IV(或IVFE)的比较里,当卡方值大时,P小时,拒绝原假说,IV结果和OLS(或FE)有不同,于是接受IV结果。
(2)从以上讨论可以看出,我们需要事先知道HT时两个方程的顺序和性质。在STATA7以下,当使用hausman命令时,它默认的顺利(缺省参数more)就是上面的顺序。如果你做的顺序相反,就应该加上参数,命令为hausman, less,如果没有写less,那么,STATA是不知道谁更efficient的,这时,你本来应该得到一个正的结果,就完全可能因为顺序错了,又忘记了参数less而得到一个相反的负数结果。
在STATA里命令变化,可以变顺序,但要使用者注意正确使用参数:
The order of computing the two estimators may be reversed. You have to be careful though to specify to hausman the models in the order "always consistent" first and "efficient under H0" second. It is possible to skip storing the second model and refer to the last estimation results by a period (.).
(3)在其他可比较的情况下,顺序并不重要(如果没有谁更有效的差别)
hausman may be used in any context. The order in which you specify the regressors in each model does not matter, but it is your responsibility to assure that the estimators and models are comparable, and satisfy the theoretical conditions (see (1) and (3) above).
(4)当HT出现负值时
先看一下是不是方程顺序错了。如果没有错,那么在小样本数据下也并不是不可能得到负值。当HAUSMAN检验的X2值是负的时候,意思是强烈地表明两个被比较的回归结果系数相同(或者说无显著差异)的原假说不能被拒绝,尤其是小样本中很可能出现。这是STATA7的使用手册上的一个例子说的。但在STATA里,又说,出现负值这种情况时,If this is the case, the Hausman test is undefined. Unfortunately, this is not a rare event. Stata supports a generalized Hausman test that overcomes both of these problems. See suest for details.可以通过help suest了解。
3.STATA命令
(1)比较FE和RE
sort code year (排序)
tis year (时间变量是year)
iis code (表示单位的是code)
xtreg y x x2, fe(假设其中x是需要被工具的变量)
est store fixed (在STATA里命令有变化,不再是HAUSMAN,SAVE了,这里的fixed实际上就是个变量名,用什么都行)
xtreg y x x2, re
hausman fixed
(2)比较IVFE和IVRE
xtivreg y (x=iv) x2, fe
est store f1
xtivreg y (x=iv) x2, re
hausman f1
一般来说用不着这个比较,因为在这之前,你已经知道FE和RE谁好了,就将好的结果与它的IV结果比就行了。
(3)比较IVFE和FE
xtivreg y (x=iv) x2, fe
est store f2
xtreg y x x2, fe
hausman f2
再重复一遍,如果结果是P小,卡方大才说明IV回归是必要的,原来是有内生问题
第四节 举例
Acemoglu等人(2001)的文章是非常有代表性的使用工具变量的论文。他们试图验证制度对人均收入有影响,显然,直接做回归的话,制度就是内生的,因为好的制度可能在人均收入高的地方产生。他们找的工具变量是殖民地时代一个国家的死亡率,死亡率高欧洲人就不会定居下来,于是就会在当时建议掠夺性的制度,反之就会建立好的制度,而那时的制度对现在仍然有影响。
特别值得注意的是论文的6.3部分对于工具变量的有效性的检验。首先,他们用其他可行的变量作为替代来反复做IV回归,发现得到的结果与用死亡率作IV得到的结果基本相同。(这当然是不错的结果,但是,我认为这不是必要的,因为你并不一定能够找到其他的IV。)
然后,他们将死亡率本身作为外生变量放在原回归里,发现它不显著地影响被解释变量,这说明它并不直接影响被解释变量。第三,他们把只用死亡率的IV结果和同时用死亡率和其他IV的结果进行卡方检验,发现它们没有显著不同,再次说明死亡率没有直接影响,也不是通过影响制度以外的其他变量影响被解释变量的。我认为这一步也不是必要的,因为如果你没有其他IV,这一步也就没有办法做了。
Question:
I am using Stata 16.0 and the command - ivregress-. The sintax is the following:
> ivregress 2sls dep (endo endoXexo = instrument1 instrument2
> instrument1#exo
> instrument2#exo) exo exo1 exo2 exo3, first
where dep is the dependent variable, endo is the endogenous regressor,
exo is an exogenous regressor that I want to interact with the
endogenous one, and exo1, exo2, exo3 are other exogenous regressors.
After running this model I type -estat overid- and I obtain this result:
Tests of overidentifying restrictions:
Sargan (score) chi2(2) = .311939 (p = 0.8556)
Basmann chi2(2) = .310601 (p = 0.8562)
This should mean that my instruments are not correlated with the error
of the main regression and therefore they are valid. Now, I want to
add an other exogenous regressor in the main regression, and for this reason I write:
>ivregress 2sls dep (endo endoX exo = instrument1 instrument2
>instrument1#exo
>instrument2#exo) exo exo1 exo2 exo3 exo4, first
where exo4 is the new variable that I add to the model. The effect of this new factor on the dependent variable is statistically significant, and it also considerably reduces the effect of endo. However, when I type again - estat overid- the result is the following:
Tests of overidentifying restrictions:
Sargan (score) chi2(2) = 14.1205 (p = 0.0009)
Basmann chi2(2) = 14.0913 (p = 0.0009)
This means that my instruments are not valid anymore. How it can be possible?
The error term of the first model should incorporate also the effect of exo4.As far as I am aware, if my instruments are not correlated to it (the error term), they can not be correlated with the error term of the second model. I don't know how to interpret these results.....
Answer:
The overidentification test only tests whether the additional instruments are valid, and is only valid when there are more instruments than endogenous variables (overidentified case). So as you both mention it is not a test of exogeneity of the instruments, but rather that the additional restrictions we are imposing by having additional instruments are valid.
Having said that, the case that Roberto presents has the same overidentification in both estimations, the only difference is that he augments the specification by adding an additional exogenous variable in his second estimation. Since the instruments (exogenous variables not included as explanatory variables in the second stage) are the same in the first and second specification, that the overidentification test passes in the first and fails to pass in the second strongly suggests that the new variable is endogenous, and thus the orthogonality condition is being violated, because in the first specification the orthogonality condition is being met.
注:文末阅读原文,里面有The Stata Journal的详细说明,打印出来学习比较好。
关于IV工具变量方法
下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。
2.5年,计量经济圈近1000篇不重类计量文章,
可直接在公众号菜单栏搜索任何计量相关问题,
Econometrics Circle
数据系列:空间矩阵 | 工企数据 | PM2.5 | 市场化指数 | CO2数据 | 夜间灯光 | 官员方言 | 微观数据 | 内部数据计量系列:匹配方法 | 内生性 | 工具变量 | DID | 面板数据 | 常用TOOL | 中介调节 | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 | 因果识别 | 社会网络 | 空间DID数据处理:Stata | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等 |干货系列:能源环境 | 效率研究 | 空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习 | SSCI | CSSCI | SSCI查询 | 名家经验