内生性问题的分类及解决方案
内生性问题是个既重要,又复杂的问题。说它重要,是因为现在的管理学实证文章(用二手数据),如果在稳健性检验部分不提内生性问题,那审稿人一定会说你方法部分不严谨。经济学金融学文章更是这样,他们对计量的要求比管理学高。说它复杂,是因为它的来源复杂,解决方法复杂。好的工具变量不好找,有好的工具变量并且审稿人认可并且问题有意思的可以试试顶刊了。
一. 什么是内生性问题?
在说内生性问题前,先回忆多元线性回归模型的几个基本假设,小样本的普通最小二乘估计要求严格外生性假定,也就是解释变量与扰动项同期和不同期的都不相关,大样本普通最小二乘估计要求非严格外生性假定,解释变量与扰动项同期不相关。如果不满足这个假定,那么这个解释变量就是内生的,模型就有内生性问题。举个例子,你研究一个人受教育年限与其收入之间的关系,Y=aX1+bX2+cX3+u, 其中Y是收入,X1是受教育年限,X2 和X3是控制变量,例如工作年限,是否经过职业培训等,u是扰动项,也就是把其他所有可能影响收入但没有写在自变量中的变量都包括进去了。很容易就想到,一个人收入除了和以上几个变量有关外,还有很多影响因素,例如个人能力。个人能力无法测量,放进扰动项中。但个人能力与受教育年限有关,虽然不是完全的正相关,但至少可以认为正相关。如果X与u不相关,那么X1对Y的影响只会通过aX1这一项产生直接影响,那么OLS的估计量b就与b是一致的。
但是,X1与u相关,这就导致更高的学历导致更高的个人能力,更高的个人能力导致更高的收入,也就是受教育年限对收入还有另外一种间接影响,通过个人能力传导的间接影响,而这个影响无法体现在X1的系数a中,因此,此时a就不能代表X1对Y的全部影响了,OLS不一致。举个例子,你求出a是0.5,你无法确定这0.5里有多少是受教育年限直接导致的,有多少是因为受教育年限较长而引起的更强的个人能力导致的。
二.内生性问题的来源
内生性问题主要有三个来源。
(1) 遗漏变量偏差,这是指模型中漏掉了一个或几个重要的解释变量,且这些被遗漏的解释变量与模型的解释变量相关。你可以这样理解,本来在一个回归中,有一个重要的解释变量,但你没有把这个解释变量放进模型,这意味着这个变量会自动被包含进扰动项中。如果这个被遗漏的解释变量与模型已有的解释变量不相关,那估计依然是无偏的。但是如果被遗漏的变量与没有被遗漏的变量相关,这就会造成解释变量与扰动项相关,也就是内生性问题的定义。
(2) 测量误差。对于一个变量X,我们仅能观测到其中能够观测到的部分,比如X1,而对于X无法观测到的部分X2(X=X1+X2,这里的意思是X由可观测的X1和不可观测的X2两部分组成),就被自然地放到了误差项。那么X2是否与其他解释变量相关就不确定了,如果相关,就造成解释变量与误差项相关,也就是内生性问题。
(3) 反向因果。当至少一个解释变量倍确定为被解释变量的函数,反向因果就出现了。如果解释变量X被部分地确定为被解释变量Y的函数,这意味着X与Y相关,而Y与误差项相关,因此,X与误差项相关,回到内生性的定义。举个例子,公司的某项投资会影响公司绩效,但反过来,公司的绩效也会影响公司的该项投资,因为绩效好意味着公司有更多的钱来进行这种投资。
(4) 动态面板偏差。动态面板是指面板数据模型中被解释变量的滞后项作为解释变量。由于被解释变量与误差项有关,被解释变量的滞后项当然也与误差项有关,也就是说该解释变量(被解释变量的滞后项与误差项相关)。
(5) 样本选择偏差。包括自选择偏差与样本选择偏差。自选择偏差是指解释变量不是随机的,而是经过选择的。样本不是随机的,而是经过选择的。举个例子,你要研究人们对某个问题的看法,于是你在大学发放问卷,填问卷的人往往是在校大学生,无法代表整个人群的看法。那么那些没有填写问卷的群里的看法就划到了误差项。而在校大学生对某个问题的看法与非在校大学生的看法极有可能是相关的,因此造成解释变量与误差项相关,也就是内生性的定义。从这个角度来看,选择性偏差造成遗漏变量,进而造成内生性问题。
三.内生性问题解决办法
内生性问题虽然有多种不同的来源,但解决办法却是一致的,一般有如下几种办法。
(1) 使用工具变量(instrument variable,IV)和两阶段最小二乘法(two stage least square,2SLS)。
两阶段是指以下两个阶段: 第一阶段回归:
内生解释变量对所有外生解释变量和工具变量进行回归,得到内生解释变量的估计值,这一步的目的是为了分离出内生解释变量的外生部分,即得到x的拟合值 x^(外生部分)。
第二阶段回归:
用因变量y对第一阶段回归得到的拟合值x^进行回归,即可达到对内生解释变量进行修正的目的。
工具变量选取应满足以下两个条件:
一是与自变量x相关(相关性);
二是与误差项 ε 不相关(外生性)。
如果没有内生性问题,那么2SLS的结果和OLS的结果是一致的,不过OLS结果更有效率,因为其标准差更小。如果有内生性问题,那么2SLS和OLS结果差异较大,以2SLS结果为准。所以在2SLS之前,要检验模型是否存在内生性问题,Hausman 检验。 reg y x1 x2
estimates store ols
ivregress 2sls y x1(x2=z1 z2)(假设你认为x2是内生解释变量,找到了两个工具变量)
estimates store iv
hausman iv ols, constant sigmamore (Hausman 检验)
如果p值大于0.1或0.05(具体取决于自己的设置的显著性),说没有内生性问题,小于则说明有内生性问题。
在stata中,2SLS的两步是一行代码完成的,不需要手动两步回归,其命令是
ivregress 2sls y x1 x2 (x2=z1 z2), r first
x1和 x2是解释变量,其中x2内生,z1和z2两个工具变量。R表示使用稳健标准差,first表示显示第一阶段的回归。如果是面板数据,原理一样,代码变一下:xtivreg2 2sls x1 x2 i.year (x2=z1 z2), fe(还得控制时间)
注意的是工具变量的回归结果不会呈现,并且,如果x2真的内生,那么此时回归结果会与OLS回归结果有较大差别。
(2) 除了2SLS,另一个常用的解决方案是GMM,GMM与2SLS相比,能处理存在异方差的问题。
可以分为差分GMM→水平GMM→系统GMM,这三种方法主要用来修正动态面板数据的内生性问题。
差分GMM修正内生性问题的思想是:采用内生解释变量的滞后项作为工具变量,也可指定额外的工具变量。其缺点是,差分后不随时间变化的变量被差分掉了,因此无法对这部分变量进行估计。于是提出了水平GMM,也就是回到差分前的水平方程,并使用内生解释变量差分后的滞后项作为工具变量,水平GMM估计的最大缺陷是估计效率比较低。随后结合差分GMM估计和水平GMM估计提出了系统GMM估计,是及那个差分方程和水平方程作为一个方程系统精选GMM估计。系统GMM估计的优点是既能估计不随时间变化的变量,又具有相当高的效率。
GMM的代码和2SLS是一致的,
ivregress y x1 (x2=z1 z2),x2是内生解释变量,z1和z2是工具变量。如果是面板数据,原理一样,代码变一下:xtivreg2 gmm x1 x2 i.year (x2=z1 z2), fe(还得控制时间)
对于面板数据,不管是动态面板还是非动态面板,目前还有一个用得较多的方法是系统GMM(system GMM)。既可以用系统GMM做稳健性检验,也可以在主分析部分用,如果系统GMM的结果与FE相似,则可用系统GMM的结果佐证FE的结果。
对于非动态面板:
xtabond2 y x1 x2 i.year, gmm(x1, lag(1 2) iv (x2 i.year) twostep r (控制时间)
从IV到2SLS, 到GMM,到系统GMM,应用范围越来越宽。
(3)Heckman两阶段模型,主要用于修正自选择偏差和样本偏差造成的内生性问题。该模型一般分为两个阶段:第一阶段为概率模型,用以估计存在自选择偏差变量发生的可能性,并从中得到逆米尔斯比率。第二阶段把第一阶段得到的逆米尔斯比率和其他变量一起回归,用以修正内生性问题。
这里需要提一下转换回归模型,它和Heckman两阶段模型一样,都是用来修正由选择偏差造成的内生性问题。转换回归模型也包括两个步骤,第一步与Heckman相同,但第二阶段转换回归模型会根据自选择偏差的变量来拆分样本,然后对拆分的样本进行分组回归,并将米尔斯比率作为控制变量加入到第二阶段模型中来修正相应的内生性问题。
(4)双重差分法(difference in differences analysis,DID)
顾名思义,两次差分。
我们结合一个例子来说明双重差分分析方法,国家想推行某项新政策(这里新政策即为“测试”treatment),并在一些地区实施做试点。如果我们想知道实施这一政策是否会对经济发展(如 GDP)有所贡献,一次差分是比较实施新政策与没有实施新政策的地区之间的 GDP 差异。双重差分比一次差分多了一重时间的维度也就是政策实施前后地区 GDP 的差异。双重差分可以结合t检验来使用,也可以构造“测试”虚拟变量、时间虚拟变量以及它们的乘积项。
然后放人回归模型来使用。
举例:城市A实施了某一政策,先找一个未实施政策的城市B作为对照组(对照组的选取要尽量与实验组高度相似),构造一组虚拟变量,称它为个体虚拟变量,令城市A为1,城市B为0。此外还构造第二组虚拟变量,我们称它为时间虚拟变量,即城市实施前为0,实施后为1,那么将个体虚拟变量和时间虚拟变量的乘积项放入,若乘积项显著为正,则说明该项政策显著促进了城市A的被解释变量Y,若显著为负,则说明该项政策的实施对被解释变量Y具有消极影响。
Stata代码参考:https://blog.csdn.net/qq_47805483/article/details/109389371?spm=1001.2014.3001.5502
(5) 倾向得分匹配(propensity score matching,PSM)是一种采用倾向得分(发生概率)进行匹配的方法。其目的就是重新建立自然实验的条件。通俗点说,对于上述双重差分的例子,国家挑选地区来进行实验,肯定不是随机挑选的,而是会根据一些指标(人口,经济等),那么我们在挑选未实施政策的对照组来比较新政策的实施效果时,也不能随意挑选,而是需要选取相匹配的地区。倾向得分匹配就是让我们对全国各地区被选为试点实施新政策的概率(倾向得分)进行估计,然后选出与实施政策地区概率(倾向得分)最接近的地区作为对照。
倾向得分匹配一般用probit 或logit模型来计算倾向得分。因变量是该地区是否采取新政策(虚拟变量);自变量未所有可能影响某地区是否被选为试点的因素。当然有些因素是不可观测的,若大部分影响因素都是不可观测的,则倾向得分匹配则不适用。
(6)固定效应模型(fixed effect model, FE)
固定效应模型是值首先对面板数据中的各样本i(例如公司i)的历年数据取均值,然后用均值变量替代原方程中的各个变量构成一个新方程,最后用原方程减去新方程,其目的是为了消除所有不随时间变化无法观测的因素,如果这些因素不消除,则会融入误差项中,若与解释变量相关,则会造成估计偏差。由此可见,固定效应模型部分控制了内生性问题,因为它并没有控制哪些随时间变化无法观察的因素。(在修正内生性问题时,固定效应模型只能作为一种辅助方法,需要配合其他的一些方法。)
Stata代码:
use data.dta,clear
xtset id year
global y "y"
global x "x x1 x2 x3 x4 x6"
xi:reg $y $x i.year //时间固定
xi:reg $y $x i.id //个体固定
xi:reg $y $x i.id i.year //双固定
补充:
对文章的一些修正及补充。如果确定有内生性问题,打算用IV法。一般来说,经济学top期刊对IV要求较高,要完全外生的IV。2020年Economic Journal一篇研究古代科举对现代人力资本影响的文章用一个地区到最近的竹林和松林分布地带的河流距离作为科举考试制度的成功程度。更经典的还有Acemoglu 2001的例子。这是完全外生的,很难想到。对于一些管理学文章,非完全外生的IV也是可行的,例如对于企业层面的研究,用滞后项,行业均值,行业除自身外的均值作为IV都是常用的办法。如果IV的个数与内生解释变量个数一致,则需要从理论上说明该IV的外生性和相关性,其中相关性可以通过2SLS第一阶段的F值或者相关系数做个大概判断。如果IV个数大于内生解释变量个数,则要用Hansen J test检验其外生性。
对于控制变量是否需要外生,控制变量可以内生。一般在讲OLS的理论部分时,常用的模型是这样写的:Y=β0+ β1X1+β2X2+β3X3+ε
在这里,所有的解释变量地位是一样的,没有重要不重要之分。因此,讲扰动项与解释变量不想关是指扰动项与所有的解释变量都不相关。这是一个非常强的假定,即使对于同期外生来说也很强。但在实际操作中,模型是这样的:Y=β0+ β1X1+β2X2+β3X3+β4C1+β5C2+β6C3ε
在这个模型中,X1,X2,X3是感兴趣的自变量,C1,C2,C3是不感兴趣的控制变量。保证扰动项与X1,X2,X3不相关是必须的,但扰动项与C1,C2,C3不相关就不是必须了。也就是,在给定控制变量的条件下,核心变量与扰动项不相关即可。但是,这里的前提条件是,核心解释变量与控制变量不存在严重的多重共线性。
样本选择偏差和一般的选择偏差的区别在于,如果是样本选择偏差,则需要Heckman两步法或者MLE解决,如果是一般的选择偏差,则会导致内生性,要按照处理内生性问题的方式处理,用IV,PSM,合成控制等方法处理。
对于面板数据的2SLS的命令
没有调节项:
xi: xtivreg2 y c1 c2 c3 (x1 = z1 z2), fe r gmm endog (x1)
有调节项:
xi: xtivreg2 y m c1 c2 c3 (x1 x1m = z1 z1*m z2 z2*m), fe r gmm endog (x1, x1*m)
如果认为x1内生,那么由x1生成的调节项也认为是内生的,要与x1一样当成内生解释变量对待。但调节变量m不必当作内生变量。
对于测量误差导致的内生性,假设X=X1+X2,X1是测量出来的部分,X2是测量误差,一般来说,X2与X相关,即测量误差与这个变量相关,因为测量误差本身就是这个变量的一部分,这就导致测量误差与测量出来的变量也相关,而测量误差划到了扰动项,进而导致测出亮的变量,也就是X1也与扰动项相关。
在同方差或者恰好识别情况下,2SLS与GMM等价,没有必要使用GMM。但是同方差很少见,多数都是异方差。文章里所说的2SLS指的是GMM,不过因为我个人把用于解决内生性的GMM叫做2SLS,把sys-GMM和diff-GMM叫做GMM。所以在异方差时,我说的2SLS指的是GMM。2SLS和GMM的命令高度相似。如果恰好识别,就用2SLS。
本文在https://zhuanlan.zhihu.com/p/156905895文章的基础上进行改进与补充。欢迎大家补充!如有错误请批评指正!
参考文献:
[1]王宇,李海洋.管理学研究中的内生性问题及修正方法[J].管理学季刊,2017,2(03):20-47+170-171.