查看原文
其他

【元旦特辑】最新内生性理论与操作学习手册(附简介、Hausman检验、过度识别检验、弱工具变量的检验、面板工具法等)

数量经济学 数量经济学 2022-12-31

本文主要为大家汇总出内生性介绍以及计量经济学软件Eviews和 Stata的二阶段最小二乘法操作步骤,以及内生性处理中的相关检验:Hausman检验、过段识别检验、弱工具变量的检验、面板工具变量法等内容。



1、内生性介绍 


在面板数据分析,尤其是Arellano-Bond 估计方面作出了贡献。该方法利用面板数据中的时间模式来估计对政策或其他变量变化的经济响应,同时对永久性的未观察到的混淆变量进行控制。


一个典型的线性回归模型:y = β0 + β1x1 + βX + ε (1),这里y为被解释变量,x1为自变量,或者解释变量,也即“因”。大写的 X 为外生控制项向量( 也即一组假定为外生的其他控制变量,例如年龄、性别等等) ,ε则为误差项。如果ε与x1不相关,那么我们可以利用OLS 模型对方程进行无偏估计。 


然而,如果一个重要变量x2被模型(1) 遗漏了,且x1和x2也相关,那么对β1的OLS 估计值就必然是有偏的。 此时,x1被称作“内生”的解释变量,这就是 “内生性”问题。遇到“内生性”问题肿木办?有一个方法就是找工具变量Z。 


如果存在内生性,则称解释变量为 “内生变量”(endogenous variable);反之,则称为 “外生变量”(exogenous variable)。 内生性的严重后果是使得 OLS估计量不一致(inconsistent),即无论样本容量多大,OLS 估计量也不会收敛至真实的参数值 。 


在计量经济学中,把所有与扰动项相关的解释变量都称为“内生变量”。这与一般经济学理论中的定义有所不同。 1。与误差项相关的变量称为内生变量(endogenous variable)。 2。与误差项不相关的变量称为外生变量(exogenous variable)。


2、内生性的来源: 


(1)遗漏变量偏差 (2)经典的测量误差问题 (3)联立性(逆向因果) 


首先我们来看下反向因果关系的解释,例如根据凯恩斯的消费函数,首先模型的设定为C=a+bY+Ui,其中C为消费,Y为国民收入,Ui为随机误差扰动项。然而国民账户的恒等式又有Y=C+I+G+NX,即Y等于消费投资政府购买和净出口的和,很显然,消费是国民收入的重要组成部门,消费又是误差的函数,这样消费与国民收入的函数之间存在反向因果关系,主要因为消费函数里面的Y与Ui相关,本来应该是X与Ui不相关,扰动项的信息应该全部包括或者表现概括在已经有的X里面了。 


遗漏变量主要值得是某些不可观测的解释变量没有纳入到回归模型中,如果北一楼的变量能够同时对因变量和自变量产生影响,那么会出现内生性的问题。一个比较经典的案例例如研究一个人受教育程度与他的收入之间的关系,其中收入作为被解释变量Y,然后样本中的隔热的教育程度作为解释变量,这个模型中例如能力、性别以及其他变量都有可能同时影响该模型变量受教育程度以及收入,例如个人能力比较高的人可能这个收入比较高,而个人能力有可能作为遗漏变量包含在随机误差扰动项中,因此会出现这个内生性的问题。


另外还有一种就是存在的度量误差现象,到时候也是主要表现在内生性的这个与X和Ui不相关,但是却相关了。


3、工具变量法简介


解决内生性问题的常见方法,主要包括工具变量( instrumental variable,简称IV) 、固定效应模型( fixed effects model,简称FE) 、倾向值匹配( propensity score matching,简称PSM) 、实验以及准实验( experimentsand quasi-experiments) 等等。本文主要介绍工具变量法。


内生性的选择标准


要解决这一内生性问题,我们需要引入更多信息来进行无偏估计。工具变量的方法就是引入一个外生变量Z,且Z 必须满足以下两个条件: 与随机误差扰动项不相关,但与x1(与内生变量)相关。或者说,Z 仅仅通过影响x1来影响y。(总结为:与扰动项无关,与内生变量相关,能够替代或者表达原内生变量的信息)工具变量IV应该尽量是外生的(如历史/自然/气候/地理之类),它应该在理论上对被解释变量(以下称Y)没有直接影响,但应该通过影响被工具的变量(以下称X)而间接影响被解释变量Y。


一个合理的工具变量应该同时主要满足两个条件:


(1)、强度条件,即工具变量应该与内生自变量具有较强的相关性,即该工具变量的应该能够代替或者表达原内生变量的信息,数学表达式为:

COV(Z,X)=/0


(2)、排除限制条件,即工具变量应该与误差项不相关,也就是与因变量Y中不能被已有的自变量x所表达的部分无关(也是与误差项无关)


COV(Z,u)=/0


如果第一个条件不满足,我们认为这个工具变量是若工具变量,如果第二个条件得到不满足,我们认为该工具变量不具备足够的外生性,所谓外生性就是Z与误差项不相关。这样将导致工具变量的估计值出现类似于OLS估计的回归偏误。


4、二阶段最小二乘法


二阶段最小二乘法的第一阶段就是利用原模型的内生解释变量对工具变量进行OLS,得到解释变量的拟合值;第二步,利用得到解释变量的拟合值对原模型进行最小二乘法,从而得到方程模型的估计值,这样就可以消除内生性的影响。


二阶段最小二乘法Eviews操作介绍


例如本文使用如下1991-2014年Y与I的数据,在Eviews10.0软件中对其分别取对数,记为lny,lni。(案例所用的Eviews文件名称记为二阶段最小二乘法01.wfl

在Eviews软件中对其进行二阶段最小二乘法的操作,相关步骤截图如下: 首先在回归的主菜单的Equation Estimation对话框中的Instrument List选择lny,lni的滞后一期作为工具变量,然后选择的method为TSLS—Two-Stage Least Squares方法,由于常数项本身也是一个合适的工具变量,因此也需要输入,系统默认的,最后确定结果为:

最后的结果为:

可以看出在5%的显著性水平下方程都是显著的。本文主要选取了y以及i的滞后一期作为工具变量,一般解释变量以及被解释变量的滞后期均可以作为工具变量,一般情况下,根据模型的阶条件,为了使结构方程能够识别,工具变量的变量数一定要多余结构方程的自变量个数。


二阶段最小二乘法Stata操作介绍


本文根据Stata提供的ivregress中的数据进行讲解,用到的数据为hsng.dta

首先了解一下二阶段最小二乘法Stata中的命令为ivregress,语法格式为


利用该数据进行二阶段最小二乘法的两种操作,然后进行对比,其中dofile的命令如下:

ivregress2sls rent pcturban (hsngval = faminc i.region)

或者二阶段最小二乘法的原理推导

reg  hsngval pcturban faminc i.region

predictyhat

regrent yhat pcturban

首先ivregress 2sls rentpcturban (hsngval = faminc i.region)的结果为:

然后依次进行reg  hsngval pcturban faminc i.region

predictyhat

regrent yhat pcturban

得到结果为:



然后将上述模型的结果进行对比,分别用到如下完整的命令:


可以看到模型的2SLS与工具变量的回归系数完全相同,但是标准误并不相同。


7、Hausman检验


刚才我们讲到的是方程中的解释变量为内生变量,也就是发生了内生性,但是如何检验方程中的解释变量包含内生变量呢?因为如果方程中不包含内生变量,那么我们可以认为OLS估计是最好的,也就不需要在使用工具变量IV估计了。


Hausman检验的一个假设就是若解释变量具有内生性,则两种方法的估计量并不相同。通俗来说,就是Hausman检验是通过对内生解释变量与随机误差项相关的检验,来帮助我们判断一个变量是否为内生变量,原假设为Cov(X,ui)=0,意思是若X为外生变量。若是拒绝原假设,则说明内生性问题的存在,Hausman检验一般根据统计值的概率与0.05比较。


Hausman检验的基本语法格式为:

hausmanname-consistent [name-efficient] [, options]


其中hausman表示hausman检验,而name-consistent表示一直估计量的变量名,而name-efficient表示有效估计量的变量名,主意这两个变量名的顺序不能颠倒。Option选项的constant 表述包含常数项,默认不包含常数项,然后sigmamore表示统一使用更有效的估计量


然后基本的语法汇总为:

reg y x1 x2

eststore ols

ivregress2sls y x1 (x2=z1 z2)

eststore iv

hausmaniv ols ,constant sigmamore


现在我们继续使用刚才所说的案例进行检验,检验的编程命令为:






上述hausman检验是建立在同方差假定成立的情况或者前提下,因此该命令后面没有物件标准误的选项,若是存在异方差的问题时,该检验不能成立,应该改用德宾--吴--豪斯曼,该检验的语法格式为: 

estat endogenous


8、过度识别检验


当我们遇见多个内生变量的时候,需要考虑工具变量的个数,以确保所有的变量都能被识别,也就是考虑工具变量的个数与内生变量的个数,这也就是一般所说的识别检验,这里主要分为三种,即工具变量的个数与内生变量的个数大小比较,小于,等于,大于。


如果工具变量个数少于内生变量个数,则无法进行 2SLS 估计,称为“不可识别”(unidentified);

如果工具变量个数正好等于内生变量个数,则称为 “恰好识别”(justidentified 或 exactly identified);

如果工具变量个数大于内生变量个数,则称为 “过度识别”(overidentified)。在恰好识别或过度识别的情况下,均可进行 2SLS 估计;而在不可识别的情况下,则无法进行。


在计量经济学方法研究以及应用中,一般需要恰好识别或者过度识别,虽然过度识别的情况比较多一些,另外这是进行工具变量法的必要条件;若是出现过度识别,则需要进行过度识别检验,也成为萨尔干巴斯曼检验,写作Sargan-Basman检验。


该假设的条件为所有有效的工具变量的个数与内生解释变量一样多,或者说是这个所有的工具变量都是外生的。


过度识别的命令为estat overid


若是Sargan-Basman检验的统计量对应的p值大于0.05,则认为所有的工具变量都是外生的,也就是有效的,反之则是无效的。(原假设是所有工具变量是外生的,若是p值小于0.05,则拒绝原假设


总结:过度识别检验其实一部分是为了检验工具变量的外生性,主要体现在检验工具变量是否与扰动项的相关性,即与扰动项不相关。


9、弱工具变量的检验


我们回顾一下,找到的工具变量需要能够很好的代表内生解释变量的信息,也就是工具变量与内生解释变量的相关性,若是内生解释变量与工具变量只存在微弱的相关性,这就存在弱工具变量问题了。如何检验呢,在2SLS后用estat firststage命令来检验若工具变量的问题,若是对应的统计量的概率值小于0.05,则认为工具变量是合适的,是一个较好的工具变量,反之则认为存在弱工具变量的问题 。


我们回顾一下,找到的工具变量需要能够很好的代表内生解释变量的信息,也就是工具变量与内生解释变量的相关性,若是内生解释变量与工具变量只存在微弱的相关性,这就存在弱工具变量问题了。如何检验呢,在2SLS后用estat firststage命令来检验弱工具变量的问题,若是对应的统计量的概率值小于0.05,则认为工具变量是合适的,是一个较好的工具变量,反之则认为存在弱工具变量的问题 。




上述弱工具变量的检验其实也是这个检验有效工具变量的另外一个条件,主要考察工具变量与内生变量的相关性。


命令为:

estatfirststage,all forcenonrobust


 


从上面可以看到 Shea'sVariable | Partial R-sq.的值为0.5473,但是F统计量的概率值为0,因此可以认为不存在弱工具变量的问题。

另外也可以采用对弱工具变量更不敏感的有限信息最大似然法进行检验,命令为:

 

发现与2SLS结果差不多,因此认为不存在弱工具变量的问题。


如果存在弱工具变量该怎么办?


1. 如果有很多工具变量,有部分强工具变量和部分弱工具变量,可以舍弃较弱的工具变量而选用相关性较强的工具变量子集。在stata中,可以使用ivreg2命令进行“冗余检验”,以决定选择舍弃哪个工具变量。(直观上,冗余工具变量是那些第一阶段回归中不显著的变量。)


2. 如果系数是恰好识别的,则你不能略去弱工具变量。在这种情况下,有两个选择: 第一个选择是寻找其他较强的工具变量。(难度较大)

第二个选择是利用弱工具变量继续进行实证分析,但采用的方法不再是2SLS。而是对弱工具变量不太敏感的有限信息极大似然法(LIML)。在大样本下,LIML 与2SLS是渐近等价的,但在存在弱工具变量的情况下,LIML 的小样本性质可能优于2SLS。 LIML的 Stata 命令为 ivregress liml depvar[varlist1] (varlist2 =instlist)


10、GMM估计


如果存在异方差,则可以使用比2SLS更有效率的GMM估计来进行估计,命令为:



GMM估计的命令为:

ivregress gmm rent pcturban (hsngval = faminci.region)


进行过度识别检验



11、面板数据IV估计


虽然面板数据能够有效处理不随时间而变的个体特征,但如果回归模型包含“内生( endogenousregressors)变量,则需要使用面板工具变量法。实际操作通常可分为两步,即首先对模型进行变换以解决遗漏变量问题(比如,使用固定效应模型FE或一阶差分法然后对变换后的模型使用“二段最小二乘法”(2SLS)


考虑模型:




面板工具变量法命令为xtivreg


基本命令如下

xtivreg depvar [varlist_1] (varlist_2 = varlist_iv) [if] [in] [,options]


GLS random-effects (RE) model

xtivreg depvar [varlist_1] (varlist_2 = varlist_iv) [if] [in] [, re RE_options]


Between-effects (BE) model

xtivreg depvar [varlist_1] (varlist_2 = varlist_iv) [if] [in] , be [BE_options]


Fixed-effects (FE) model

xtivreg depvar [varlist_1] (varlist_2 = varlist_iv) [if] [in] , fe [FE_options]


First-differenced (FD) estimator

xtivreg depvar [varlist_1] (varlist_2 = varlist_iv) [if] [in] , fd [FD_options]


其中, depvar代表被解释变量的名称, varlist I代表外生解释变量的名称, varlist2代表内生解释变量,varlist iv代表工具变量名称,if代表条件语句,in代表范围语句,option代表选项。

statistic代表对面板模型进行估计的方法,包括re=随机效应模型(默认方法)、be=组间法、fe=固定效应模型、fd一阶差分法

其他主要的 options选项。


Regress假定变量varlist_2为外生,忽略对工具变量 varlist_iv的设定

Vce(vcetype)设定标准差的类型,包括 conventional、 bootstrap和 jackknife

level设定置信度,默认为 leve(l95)

first输出2SLS第一阶段的回归结果

small汇报小样本的t统计量和F统计量,而非Z和x2统计量


2、检验内生性是否存在


由于面板数据在固定效应模型中存在内生性问题,所以Hausman-Wu检验,语法格式为:


hausman fe feiv ,constantsigmamore


其中fe为进行固定效应的保存回归结果,feiv表示面板数据的iv估计结果


3、弱工具变量检验


use http://fmwww.bc.edu/ec-p/data/macro/abdata.dta

 (Layard& Nickell, Unemployment in Britain, Economica 53, 1986, from Ox dist)

tsset id year

 (xtivregvs. xtivreg2, fixed effects)

xtivreg2 ys k (n=l2.n l3.n), fe small

xtivreg ys k (n=l2.n l3.n), fe small

(xtivreg2 vs. ivreg2 vs. xtivreg,first-differences)

xtivreg2 ys k (n=l.n l2.n), fd small first

ivreg2 d.ys d.k (d.n=ld.n ld2.n), small first

xtivreg ys k (n=l.n l2.n), fd small


4、操作案例应用介绍


操作应用案例1

use nlswork

固定效应估计

xtivreg ln_w age c.age#c.age not_smsa (tenure = union south), fe 



随机效应GLS模型

xtivreg ln_w age c.age#c.age not_smsa 2.race (tenure = union birth south), re




操作应用案例2

use abdata

First-differenced estimator一阶差分法

 xtivreg n l2.n l(0/1).w l(0/2).(k ys) yr1981-yr1984 (l.n = l3.n), fd



操作应用案例3


use labordemand.dta, clear

xtivreg n L2.n L(0/1).(w k ys) (L.n=L3.n),fd

使用差分法进行工具变量法操作,结果为:


工具变量有效性检验,需要下载安装xtoverid,

命令为:

xtoverid [, robust cluster(varlist) ]



面板工具变量法预测


对面板工具变量模型进行预测的基本命令为

predict (type) newar [if)(in)[, statistic] 

其中,type代表新变量的类型, newar代表生成的新变量的名称,if代表条件语句,in代表范围语句, statistic代表可用的統计量。 


在前面的差分法面板工具变量模型之后,我们可以输入命令进行预测:

predict yp 


use labordemand.dta, clear

xtivreg n L2.n L(0/1).(w k ys) (L.n=L3.n),fd

predict yp 


这样,我们就得到线性预测值,在这里即一阶差分的预测值。并且,预测的变量被命名yp。



本文综合整理自2018大数据与计量经济学发展论坛会议手册之内生性专题内容,原文略有添加修改,转载请联系



◆◆◆◆


精彩回顾


点击上图查看:

Stata寒假研讨班_2019年1月_第九季“高级计量经济学及stata应用”工作坊@北京专场_开始抢座啦(最后10个名额)


点击上图查看:

Stata寒假研讨班_第八季“高级计量经济学及stata应用”工作坊_2019年1月@上海_开始抢座啦(最后10个名额)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存