这期推送简单介绍一下样本选择模型和处理效应模型,其中样本选择模型是一般意义上的Heckman
两步法,后者则借鉴了Heckman
两步法的构建思想,但又不完全等同于前者。模型介绍之后,将利用help
文件中的示例数据与代码简单演示一下这两个模型在Stata中的具体操作,然后简单评述一下现阶段文献中对这两个模型的理解与应用情况,最后结合一篇论文的公开数据与代码进行结果复盘与二次验证。
N o t e : Note: Note: 1、下划线字体为链接,可点击跳转;2、推文中的公式与代码块均可左右滑动;3、该文首发于微信公众号
DMETP
,欢迎关注;4、需要本次推送所使用的数据和代码的朋友,可以在公众号后台对话框内回复关键词heckman
。
上期推送『双重差分法 | PSM - DID』介绍了样本选择偏差与自选择偏差的区别,最关键的一点在于两者非随机的选择机制是不同的。
样本选择偏差。样本选择偏差的非随机选择机制在于对样本的选择不随机。在样本数据的采集过程中,只对某部分群体进行调查,但这部分群体与其他群体在某些方面的特征差异较大,因此根据这样的样本做回归得到的普适性结论并不可信。体现在具体的数据集中就是,数据集中只有特定群体的样本,或者,虽然有全部群体的所有解释变量数据,但除特定群体之外的其他群体的被解释变量数据缺失,在这两种情况下进行的回归,都将直接忽视其他群体的样本信息(y
缺失的样本在参与回归时将被drop掉)。实质上,样本选择偏差说的就是参与回归的样本不能代表总体从而产生估计偏误的问题。
自选择偏差。自选择偏差的非随机选择机制在于对自变量的选择不随机。在使用DID方法评估政策效应时,一个明显的事实就是,相对于未实施政策的地区(控制组),实施政策的地区(处理组)通常情况下经济发展都较为发达、各类基础设施建设都较为完善,而所谓的“政策效果评估”也即考察政策的经济效应,因此地区是否参与政策这一行为是内生的。体现在回归方程中就是,经济指标(如,GDP
、人均GDP
、GDP
增长率等)作为被解释变量y
,地区(在某时点)是否实施该项政策的哑元变量D
作为核心解释变量,但由于政策内生,因此某些影响地区是否参与决策D
的(可观测或不可观测)因素也将同时影响经济指标y
,由于这些因素或者无法穷尽、或者影响形式未知、或者不可测度,因此被放到随机扰动项中,造成解释变量D
与扰动项ε
相关,即 C o v ( D , ε ) ≠ 0 Cov(D, \varepsilon)\neq 0 Cov(D,ε)=0。实质上,自选择偏差说的就是实验组与控制组的先验条件存在较大差异从而导致估计偏误的问题。
两者的区别。非随机选择机制的不同是两者最大的区别,体现在具体回归方程中就是,样本选择偏差中被解释变量y
是否被观测到或是否取值(而非取值大小)是非随机的;而自选择偏差中哑元解释变量D
的取值是非随机的。陈强(2014)《高级计量经济学及Stata应用(第二版)》第539页认为,样本选择问题通常不考虑某项目或政策的效应,故个体间的差异并不在于是否得到处理,而在于是否能进入样本(即被解释变量 y i y_i yi是否可观测),通常 D i = 1 D_i=1 Di=1意味着 y i y_i yi可观测,而 D i = 0 D_i=0 Di=0则意味着 y i y_i yi不可观测。而在处理效应模型中,无论 D i = 1 D_i=1 Di=1或 0 0 0,结果变量 y i y_i yi均可观测。这种说法基本概括了两者的区别,但有一个小问题,在样本选择偏差中, D i D_i Di的取值与 y i y_i yi是否可观测并不存在必然的关系,因为 D i D_i Di是一个确定并可准确测度的因素,而影响 y i y_i yi是否可观测的却是一个不可观测的潜变量,这个潜变量由一系列控制变量与外生变量决定。
花大篇幅论述样本选择偏差与自选择偏差这两个问题,自然是为了引出解决这两个问题的具体方法。
对于样本选择偏差导致的估计偏误,将使用样本选择模型(Sample Selection Model)来缓解。样本选择偏差与样本选择模型(或称Heckman两步估计法、Heckit)由诺贝尔经济学奖获得者Heckman教授于1979年提出。
[2] Heckman J J. Sample Selection Bias as a Specification Error[J]. Econometrica, 1979, 47(01): 153-161.
本质上,样本选择偏差其实是一个因遗漏变量而导致内生性的特例(具体推导请看任意一本高级计量经济学教材,如陈强(2014)《高级计量经济学及Stata应用(第二版)》第234页、Hansen(2021)《ECONOMETRICS(Version 2021)》第852页等)。
回归方程中被遗漏的变量叫做逆米尔斯比率(Inverse Mill’s Ratio,IMR
或 λ \lambda λ),也被称为风险函数(Hazard Function),计算公式为:
I M R i ( 或 λ i ) = ϕ ( y ^ i ) Φ ( y ^ i ) (1) IMR_i(或\lambda_i)=\frac{\phi(\hat y_i)}{\Phi(\hat y_i)} \tag{1} IMRi(或λi)=Φ(y^i)ϕ(y^i)(1)
其中, y ^ i \hat y_i y^i为第 i i i个样本在第一步回归(选择方程)的拟合值, ϕ ( ⋅ ) \phi(·) ϕ(⋅)为标准正态的概率密度函数(Probability Density Function,pdf
), Φ ( ⋅ ) \Phi(·) Φ(⋅)为累积分布函数(Cumulative Distribution Function,cdf
)。
因此,样本选择模型的估计思路是:首先,计算全部样本的IMR
;随后,将遗漏变量IMR
代入原回归方程中,具体来说:
第一步 :用probit方法估计选择方程,其中原回归方程的被解释变量y
是否被观测到或是否取值的虚拟变量y_dummy
作为probit的被解释变量,解释变量包括原回归方程所有解释变量和至少一个外生变量,该外生变量只影响y
是否取值,而不影响y
的大小,即满足相关性和外生性的要求(但不是工具变量)。估计出所有变量的系数后,将样本数据代入至probit模型中,计算出拟合值 y ^ \hat y y^,再将 y ^ \hat y y^代入风险函数(公式 ( 1 ) (1) (1))中计算出IMR
。这里有四点需要注意:
第一,选择方程的被解释变量是原回归方程中被解释变量y
是否被观测到或是否取值的虚拟变量,即y_dummy
,当y
取值不为空(包括取值为0)时,y_dummy
等于1,只有当y_dummy
取值为空(missing)时,y_dummy
才等于0。关于这一点,现实应用中存在的问题是,即便我们十分清楚存在样本选择偏差,但由于前期数据搜集过程中直接忽视了y
取值为空的样本,因此无法采用样本选择模型,因为样本选择模型第一步选择方程使用的是所有样本,包括y
取值为空的样本和取值不为空的样本。由于数据搜集过程存在问题,因此许多文献使用的所谓Heckman两步法
实际上是一种“伪样本选择模型”,与Heckman(1979)提出的两步估计法(Two-Step Estimation,或Heckit)完全不同,而且也不是下文将要介绍的处理效应模型。
第二,选择方程的被解释变量只能是原回归方程中被解释变量y
是否被观测到或是否取值的虚拟变量,而不能是其他变量,更不能是解释变量是否取值的虚拟变量。如果第一步回归的被解释变量是原回归中解释变量是否取值的虚拟变量,那么该模型就不再是样本选择模型了,而变成了下文将要介绍的处理效应模型,关于这一点,实际应用中经常被搞混。
第三,第一步选择方程的解释变量必须要包括原回归中所有解释变量和至少一个外生变量,也就是说,原回归的解释变量是选择方程解释变量的真子集。如果只使用原回归中一部分的解释变量或不引入外生变量,那么就不能确保IMR
与原回归的随机干扰项不相关,从而造成估计系数依然存在偏误。实际应用中,多数文献并未引入外生变量,部分文献甚至没有汇报第一步选择方程中的解释变量,这样的做法十分不推荐。此外,论文中如果引入了外生变量,就需要对相关性与外生性进行具体说明,其中相关性不能只从外生变量的回归系数显著这一个方面进行说明,还要从其他文献和从理论上进行分析;外生性的说明与之类似。
第四,第一步选择方程只能使用probit模型进行回归,不能使用logit模型。在选择方程中,假设扰动项服从正态分布,从而可以推导出将IMR
代入原回归方程可以缓解样本选择偏差问题,因此对于被解释变量为0-1型的虚拟变量,只能使用probit模型而不能使用logit模型,因为logit模型不具有扰动项服从正态分布的假设。但问题是,probit假设时间效应和个体效应与扰动项不相关,即第一步选择方程中只能使用随机效应模型,不能使用更一般化的固定效应模型。实际应用中,多数文献在汇报第一阶段回归结果时,在末尾加上“时间固定效应 - Yes”、“个体固定效应 - Yes”等,这样的做法是有待商榷的,因为这根本就不是固定效应模型。
第二步 :将第一步回归计算得到的IMR
作为控制变量引入原回归方程中。如果IMR
显著,说明原回归中存在样本选择偏差,需要使用样本选择模型进行缓解,而其余变量的回归系数则是缓解样本选择偏差后更为稳健的结果;如果IMR
不显著,说明原回归存在的样本选择偏差问题不是很严重,不需要使用样本选择模型,当然,使用了也没关系,因为引入控制变量的回归结果可以与原回归结果比较,作为一种形式的稳健性检验。这里有两点需要注意:
第一,两步估计法中第二步回归代入的是第一步回归的结果,因此第一步回归的估计误差也将被代入第二步,造成效率损失,最终导致第二步估计系数的标准误存在偏差,影响p值进而影响系数显著性。解决方法有两种:一是对第二步回归的标准误进行校正处理,但标准误的校正方法相对复杂,因此现阶段采用这种解决方案的文献几乎没有;二是使用极大似然估计(Maximum Likelihood Estimate,MLE),直接对两阶段回归进行整体估计,这种方法在实际应用中使用较多,但存在的问题在于如果样本量太大,计算会非常耗时。因此,考虑到操作的简便性、理解的直观性以及对分布的假设更为宽松,目前国内流行使用的还是两步估计法。
第二,第二步回归使用的样本数目少于第一步。假设所有的解释变量(包括第一步的外生变量)都没有缺失值,仅被解释变量y
存在缺失值,那么第一步回归中使用的样本数目是全样本,因为第一步选择方程的被解释变量y_dummy
设置为当y
取值不为空(包括y
取值为0)时y_dummy
等于1,y
取值为空时y_dummy
等于0,故所有样本的y_dummy
都有取值,因此都参与了第一步回归。而第二步回归中的被解释变量y
存在缺失值,存在缺失值的样本在参与回归时将直接被剔除。因此第二步回归使用的样本数目少于第一步,这也是样本选择模型一个最直观的特征,这与下文介绍的处理效应模型形成比较。
对于自选择偏差导致的估计偏误,将使用处理效应模型(Treatment Effects Model)来缓解,该模型由Maddala(1983)提出。
[4] Maddala G S. Limited-Dependent and Qualitative Variables in Econometrics[M]. Cambridge University Press, 1986.
事实上,使用处理效应模型也只是一定程度上缓解自选择偏差问题。正如『上期推文的1.3小节』所论述的,决定个体是否参与实验的因素可以分为两种:
一种是可观测因素,如果个体参与实验的决策依赖于可观测因素,就说明该个体的决策依可测变量选择。
另一种是不可观测因素,如果个体参与实验的决策依赖于不可观测因素,就说明该个体的决策依不可测变量选择。
相应地,解决自选择偏差问题的方法也大致可以分为两类:
解决依可测变量选择问题的方法如上期介绍的PSM
,通过控制处理组与控制组协变量的取值大致相等,从而达到变量选择近似随机的目的。
解决依不可测变量选择问题的方法包括PSM - DID
方法、断点回归方法(RDD
)以及这里的处理效应模型等。需要注意的是,单纯的PSM
只能解决依可测变量选择的内生问题,而将PSM
和DID
结合(即PSM - DID
)就可以缓解一部分由不可观测因素带来的自选择偏差问题。
处理效应模型的构建基于Heckman两步法的思想,但与Heckman两步法或者样本选择模型有着本质上的区别,最明显的区别在于,样本选择模型第一阶段回归的被解释变量是第二阶段被解释变量y
是否取值的虚拟变量y_dummy
,并且y_dummy
不参与第二阶段回归;而处理效应模型第一阶段回归的被解释变量是第二阶段的核心解释变量D
,并且D
的取值为0或1,不存在缺失值。
同样,自选择偏差本质上也是一个因遗漏变量而导致的内生性问题,被遗漏的变量也是IMR
,但其计算公式与样本选择偏差存在区别。具体而言,存在自选择偏差的回归方程中被遗漏的IMR
计算公式为:
I M R i ( 或 λ i ) = { ϕ ( y ^ i ) Φ ( y ^ i ) , i f D i = 1 − ϕ ( y ^ i ) Φ ( − y ^ i ) , i f D i = 0 (2) IMR_i(或\lambda_i)= \begin{cases} \frac{\phi(\hat y_i)}{\Phi(\hat y_i)}&,&if~D_i=1\\ \frac{-\phi(\hat y_i)}{\Phi(-\hat y_i)}&,&if~D_i=0\\ \end{cases}\tag{2} IMRi(或λi)={Φ(y^i)ϕ(y^i)Φ(−y^i)−ϕ(y^i),,if Di=1if Di=0(2)
上式各字母的解释同公式 ( 1 ) (1) (1)。关于IMR
计算公式的更多细节,请参考Stata官方网站的回答(FAQs)。
明显可以看到,公式 ( 1 ) (1) (1)说明在样本选择模型中,所有样本的IMR
均用一个公式来计算;公式 ( 2 ) (2) (2)说明在处理效应模型中,D
取值为1的样本与D
取值为0的样本的IMR
计算公式不同,而且由于处理效应模型第二阶段回归中所有样本均参与了回归,因此如果混用了计量模型将直接导致变量IMR
的取值错误,进而影响第二步回归的估计结果。
同样,处理效应模型的估计思路是:首先,计算全部样本的IMR;随后,将遗漏变量IMR代入原回归方程中,具体来说:
第一步 :使用probit模型估计选择方程,其中选择方程的被解释变量是第二步回归中的核心解释变量D
,该解释变量为虚拟变量且不存在缺失值;选择方程的解释变量包括由第二阶段回归中所有解释变量组成的控制变量集以及一个或多个外生变量组成的工具变量集Z
,这里之所以直接说Z
是工具变量,是因为要求Z
满足相关性与外生性,而相关性说的是Z
与原回归方程中的解释变量D
相关,而非样本选择模型中的要求外生变量与y_dummy
相关。同样,回归模型只能使用probit方法,此外也不能使用固定效应模型,在汇报时只能说是“个体效应 - Yes”或“时间效应 - Yes”。
D
的滞后项D_lag
,原因在于如果是普通DID,对于所有处理组来说政策实施时点都是一致的,那么在第一步回归中,D_lag
会因为多重共线性而被omitted;如果是多期DID,尽管政策实施时点不固定,但总共的实施时点必然不会过多,D_lag
同样也会因为多重共线性而被omitted。而对于非DID的D
而言,滞后项D_lag
则有可能作为一个良好的工具变量,下文第六部分『公开数据的Stata实操』就是一个非DID的例子。第二步 :将样本数据代入第一步选择方程中,得到各个样本的的拟合值 y ^ i \hat y_i y^i,再将 y ^ i \hat y_i y^i代入处理效应模型的风险函数(公式 ( 2 ) (2) (2))中,计算得到各样本的IMR
,最后将IMR
作为额外的控制变量引入原回归方程中,考察核心解释变量D
以及IMR
的估计系数。如果IMR
的估计系数显著,说明自选择偏差问题不可忽视,此时核心解释变量D
的系数就是考虑了自选择偏差后的估计结果,并可与基准回归结果对比构成稳健性检验;而如果IMR
的估计系数不显著,则说明自选择偏差问题在原回归中不明显,基准回归结果本身就是可信的。
D
在两步模型中均参与了回归,其中第一阶段回归中D
作为被解释变量,在第二阶段回归中作为解释变量,并且我们假设D
不存在缺失值,因此处理效应模型两步回归中的样本均是全样本,这不同于样本选择模型。总结一下样本选择模型和处理效应模型的估计思路的异同点。
相同点在于:
都是两步估计法。Heckman于1979年提出的两步估计法最开始是用于解决样本选择偏差的,即最初的Heckman两步法指的就是样本选择模型,后来有学者借鉴这种两步估计法的思想,应用于解决自选择偏差的处理效应模型。这两个模型在估计思路上是一脉相承的,而正是因为这种相似性,所以才导致各个学者对这两个模型的错误理解与错误应用,这种错误在现阶段的文献中较为常见。
都可以使用MLE进行模型的整体估计。两步估计法(如2SLS、PSM - DID以及这里的样本选择模型和处理效应模型等)一个明显的缺陷是,第一步估计的误差将被带入第二步,导致效率损失。而使用MLE从整体上进行参数估计可以避免这种问题,但如果样本量过大,MLE估计耗时较长,且MLE对分布的假设较为严格,因此需要在估计的精准性、操作的简便性等方面进行权衡。
第一阶段回归都需要引入外生变量,同时应包括第二阶段的所有外生解释变量。引入的外生变量需满足相关性和外生性的要求,即与选择方程中的被解释变量在理论上和统计上均具有相关性,而与第二步回归的被解释变量不具有直接的相关关系。引入外生变量的目的是确保第一步计算得到的IMR
在引入原回归方程后不与干扰项相关。该外生变量在处理效应模型中可以直接称作工具变量。此外,如果核心解释变量D
是DID模型的did
项,那么为了防止出现多重共线性,应该尽量避免使用D
的滞后项D_lag
作为工具变量。事实上,如果找到了一个良好的工具变量,也完全能够使用2SLS解决内生性问题。此外,两个模型除了都需要在第一阶段引入至少一个外生变量,第一阶段回归中的其余控制变量也应该是第二阶段回归中所有的控制变量,即应该包括所有的外生解释变量,原因在于保证两阶段估计的一致性,详情请看陈强教授的推文『工具变量法(五): 为何第一阶段回归应包括所有外生解释变量』。然而,部分文献在第一阶段并未包括第二阶段所有的外生解释变量,少部分文献甚至根本就不引入第二阶段的外生解释变量(如,考虑滞后效应,直接引入第二阶段外生解释变量的滞后项),并且在Stata处理效应模型的官方命令etregress
的help
文件的演示案例中,第一阶段回归也并未包括所有的外生解释变量,原因可能在于IMR
是一个非线性项,因此不包含所有外生解释变量引起的内生性问题可能并没有2SLS那么严重。
第一步回归都只能是probit模型。由于logit模型不具备扰动项服从正态分布的假设,如果使用logit模型估计选择方程,将直接导致IMR
计算错误,因为Heckman(1979)在推导IMR
时,假设选择方程的随机扰动项服从正态分布。这与PSM不同,PSM估计概率方程可以使用logit模型,也可以使用probit模型,并且实际使用中流行的是logit模型。然而,选择方程使用probit模型进行估计有一个问题不可忽视,那就是probit(包括Stata的xtprobit
)不能估计固定效应模型,因此即便在回归方程中引入时间虚拟变量和个体虚拟变量,控制的也只是“时间效应”和“个体效应”,不能加入“固定”二字。
不同点在于:
解决的问题不同。样本选择模型解决的是样本选择偏差导致的内生性问题,处理效应模型解决(或者“缓解”)的是依不可观测因素导致的自选择偏差问题。在实际应用中,部分文献在分析内生性问题时将样本选择偏差与自选择偏差混淆,从而使用的模型也是不恰当的。在数据搜集过程中,对被解释变量存在缺失值的样本,多数文献的做法是直接把这些样本剔除,因而即便文章中考虑到了样本选择偏差问题,我们也无法使用样本选择模型(或Heckman两步法)。事实上,囿于数据缺陷,大多数实证类论文都不具备实施Heckman两步法的条件。对于DID类的实证论文,对内生性的分析角度应该更多考虑从自选择偏差切入,而非样本选择偏差,因为各样本处理组虚拟变量D
的取值本身就提供了自选择偏差分析的条件,即D
取值为1的样本与D
取值为0的样本在某些方面是否存在明显的特征差异?或者,是否存在某些因素影响了各样本是否实施政策的决定,而这些因素在两组间又是否存在巨大差异?同时,这些因素是否在理论与统计意义上影响我们想研究的经济指标?在这样的分析之后,就可以使用处理效应模型来缓解因自选择偏差而导致的估计偏误。
变量的设置不同。在样本选择模型第一阶段回归方程中,被解释变量是原方程中的被解释变量y
是否被观测到的虚拟变量y_dummy
,该变量不参与第二阶段回归,同时第一阶段引入的外生变量直接影响的是y_dummy
。在处理效应模型第一阶段回归方程中,被解释变量是原方程的核心解释变量D
,D
取值为0或1,且不存在缺失值,该变量还同时参与了第二阶段回归,此外第一阶段引入的外生变量(或称工具变量)直接影响的是D
。
各阶段样本参与回归的数目不同。假设除关键变量,其余变量都不存在缺失值,那么对于样本选择模型来说,第一阶段回归的解释变量均不存在缺失值,被解释变量y_dummy
取值为0或1,也不存在缺失值,因此选择方程中参与回归的样本是全样本,第二阶段由于被解释变量y
本身就存在缺失值,因此参与第二阶段回归的样本不是全样本,从而第一阶段的样本多于第二阶段。对于处理效应模型来说,所有变量均不存在缺失值,因此两阶段参与回归的样本是相同的,虽然在第一阶段引入滞后项D_lag
作为工具变量的情况下会损失一部分样本,但由于计算出来的IMR
同样也存在缺失值,从而第二阶段参与回归的样本也将与第一阶段相同。
IMR
的计算公式不同。从公式 ( 1 ) (1) (1)和公式 ( 2 ) (2) (2)就可以看出,对于样本选择模型,各样本的IMR
计算公式相同;对于处理效应模型来说,D
取值为1的样本和D
取值为0的样本IMR
计算公式并不相同,并且所有样本的IMR
均参与了第二步回归。所以,如果混淆了样本选择模型和处理效应模型,将直接导致变量IMR
的计算错误,反而进一步造成了估计偏误。
下面推文的第三、第四部分将分别使用示例数据演示样本选择模型和处理效应模型在Stata中的规范操作。
Stata关于样本选择模型的官方命令是heckman
,该命令能够进行Heckman两步估计以及模型整体参数的极大似然估计。
关于heckman
更多语法细节,在命令窗口键入如下代码即可了解。
help heckman
常用的语法如下。
**# 一、样本选择模型
**# 1.1 语法介绍
/*
a. 两步估计法
heckman y x1 x2, select( x1 x2 z1) twostep mills(newname)
等价于
heckman y x1 x2, select(y_dummy = x1 x2 z1) twostep
b. MLE
heckman y x1 x2, select(y_dummy = x1 x2 z1) nolog
+ robust/cluster SE
heckman y x1 x2, select(y_dummy = x1 x2 z1) nolog vce(cluster varname)
*/
语法书写大致包括两部分,选择项之前的是第二阶段回归的被解释变量y
以及控制变量x1
和x2
,不需要写入IMR
。选择项则包括对选择方程的具体设置,以及其他的细节。
select()
表示写入选择方程,括号内的是选择方程的具体变量,有两种写法。
x1
和x2
)和外生变量z1
。此时严格要求原回归的被解释变量y
存在缺失值,且缺失值不能以0作为标记。y
是否被观测到的虚拟变量y_dummy
(y
存在缺失值的样本y_dummy
标记为0,不存在缺失值的样本标记为1,且y
取值为0不作为缺失值处理)作为选择方程的被解释变量,等号后面跟着控制变量和外生变量。若选择这种写法,则要求提前生成y_dummy
。twostep
表示使用两步估计法,默认使用MLE。mills()
表示生成各个样本的IMR
,并以newname
作为变量名。nshazard()
的作用相同。nolog
表示在使用MLE时回归结果不显示迭代过程。vce()
表示使用稳健标准误,括号内填入robust
表示使用异方差稳健标准误;填入cluster varname
表示使用聚类稳健标准误,以变量varname
作为聚类标准,根据经验法则,要求聚类数目大于30。需要注意的是,vce()
不能在两步法中使用。heckman
的help文件附带演示案例,下面根据演示案例中的数据和代码,对样本选择模型在Stata中的具体实现进行介绍。
首先调用数据集womenwk
,由于该数据集并非Stata自带,因此可能无法调用成功,这种情况下可以直接调用本次推文提供的数据。
*- Stata Version: 16 | 17
*- 定义路径
cd "C:\Users\KEMOSABE\Desktop\heckman"
**# 1.2 实例操作
webuse womenwk, clear
/*
*- 或者直接调用已下载的数据集
use womenwk.dta, clear
*/
该例中,基准回归的被解释变量是wage
,解释变量是educ
和age
;选择方程中额外引入了两个外生解释变量married
和children
。
由于被解释变量wage
存在缺失值,因此我们怀疑基准回归方程(OLS
)可能存在样本选择偏差,因此选用样本选择模型做进一步的稳健性检验。
该数据集为截面数据,因此标准误无法聚类到个体层面,而同一地区的个体特征可能存在一定的相关性,因此我们尝试将标准误聚类到county
层面,下面判断是否能够使用聚类标准误。
tabulate county
/*
county of |
residence | Freq. Percent Cum.
------------+-----------------------------------
0 | 200 10.00 10.00
1 | 200 10.00 20.00
2 | 200 10.00 30.00
3 | 200 10.00 40.00
4 | 200 10.00 50.00
5 | 200 10.00 60.00
6 | 200 10.00 70.00
7 | 200 10.00 80.00
8 | 200 10.00 90.00
9 | 200 10.00 100.00
------------+-----------------------------------
Total | 2,000 100.00
*/
可以看到,地区数目只有10个,远无法满足聚类数目最低值(30个)的要求,因此选用异方差稳健标准误。
根据wage
是否存在缺失值生成虚拟变量wage_dummy
。可以看到,2,000个样本中,wage
数据缺失的有657个。
*- 查看y的缺失值情况
nmissing wage
/*
wage 657
*/
*- 生成y是否取值的虚拟变量y_dummy
gen wage_dummy = (wage != .)
然后是定义控制变量和外生变量的全局暂元。
*- 定义全局暂元
global xlist educ age
global zlist married children
第一个是基准回归,可以看到:
wage
存在缺失值的样本(657个)在回归时直接被drop掉。*-(一)基准OLS
reg wage $xlist
est store OLS
/*
Source | SS df MS Number of obs = 1,343
-------------+---------------------------------- F(2, 1340) = 227.49
Model | 13524.0337 2 6762.01687 Prob > F = 0.0000
Residual | 39830.8609 1,340 29.7245231 R-squared = 0.2535
-------------+---------------------------------- Adj R-squared = 0.2524
Total | 53354.8946 1,342 39.7577456 Root MSE = 5.452
------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
education | .8965829 .0498061 18.00 0.000 .7988765 .9942893
age | .1465739 .0187135 7.83 0.000 .109863 .1832848
_cons | 6.084875 .8896182 6.84 0.000 4.339679 7.830071
------------------------------------------------------------------------------
*/
第二个是样本选择模型,使用MLE方法进行估计,可以看到:
IMR
(即lambda
)的估计系数为4.2244,但显著性未知,该值等于rho
和sigma
的乘积,其中:
sigma
是原方程干扰项的标准差。rho
是选择方程干扰项和第二阶段回归干扰项的相关系数。如果rho
等于0,表示第二阶段回归中IMR
的系数不显著,说明样本选择偏差在原方程中不怎么严重,反之则需要考虑样本选择偏差带来的估计偏误。回归结果的末尾是LR检验,检验的原假设是H0: rho = 0
,p值说明至少可以在1%的水平下拒绝原假设,可以认为rho
显著不等于0,这说明原模型中确实存在严重的样本选择偏差,基准回归结果不可信。*-(二)MLE
heckman wage $xlist , select( wage_dummy = $xlist $zlist ) nolog mills(imr1)
est store MLE
/*
Heckman selection model Number of obs = 2,000
(regression model with sample selection) Selected = 1,343
Nonselected = 657
Wald chi2(2) = 508.44
Log likelihood = -5178.304 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wage |
education | .9899537 .0532565 18.59 0.000 .8855729 1.094334
age | .2131294 .0206031 10.34 0.000 .1727481 .2535108
_cons | .4857752 1.077037 0.45 0.652 -1.625179 2.59673
-------------+----------------------------------------------------------------
wage_dummy |
education | .0557318 .0107349 5.19 0.000 .0346917 .0767718
age | .0365098 .0041533 8.79 0.000 .0283694 .0446502
married | .4451721 .0673954 6.61 0.000 .3130794 .5772647
children | .4387068 .0277828 15.79 0.000 .3842534 .4931601
_cons | -2.491015 .1893402 -13.16 0.000 -2.862115 -2.119915
-------------+----------------------------------------------------------------
/athrho | .8742086 .1014225 8.62 0.000 .6754241 1.072993
/lnsigma | 1.792559 .027598 64.95 0.000 1.738468 1.84665
-------------+----------------------------------------------------------------
rho | .7035061 .0512264 .5885365 .7905862
sigma | 6.004797 .1657202 5.68862 6.338548
lambda | 4.224412 .3992265 3.441942 5.006881
------------------------------------------------------------------------------
LR test of indep. eqns. (rho = 0): chi2(1) = 61.20 Prob > chi2 = 0.0000
*/
第三个同样是样本选择模型,使用MLE方法进行估计,这里将使用异方差稳健标准误。可以看到,使用稳健标准误的回归结果与上文使用普通标准误的回归结果基本保持一致。需要注意的是,在使用稳健标准误后,对H0
的统计检验将变成Wald检验,这里Wald检验同样拒绝原假设。
*-(三)MLE + robust SE
heckman wage $xlist , select( wage_dummy = $xlist $zlist ) nolog vce(robust)
est store MLE_r
/*
Heckman selection model Number of obs = 2,000
(regression model with sample selection) Selected = 1,343
Nonselected = 657
Wald chi2(2) = 497.82
Log pseudolikelihood = -5178.304 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Robust
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wage |
education | .9899537 .0534141 18.53 0.000 .8852641 1.094643
age | .2131294 .0211095 10.10 0.000 .1717555 .2545034
_cons | .4857752 1.099121 0.44 0.659 -1.668462 2.640013
-------------+----------------------------------------------------------------
wage_dummy |
education | .0557318 .0108899 5.12 0.000 .034388 .0770755
age | .0365098 .0042243 8.64 0.000 .0282303 .0447893
married | .4451721 .0668243 6.66 0.000 .3141988 .5761453
children | .4387068 .0272779 16.08 0.000 .385243 .4921705
_cons | -2.491015 .1884227 -13.22 0.000 -2.860317 -2.121713
-------------+----------------------------------------------------------------
/athrho | .8742086 .1051331 8.32 0.000 .6681514 1.080266
/lnsigma | 1.792559 .0288316 62.17 0.000 1.73605 1.849068
-------------+----------------------------------------------------------------
rho | .7035061 .0531006 .5837626 .7932976
sigma | 6.004797 .1731281 5.674882 6.353893
lambda | 4.224412 .4172197 3.406676 5.042147
------------------------------------------------------------------------------
Wald test of indep. eqns. (rho = 0): chi2(1) = 69.14 Prob > chi2 = 0.0000
*/
第四个是样本选择模型,使用两步法进行估计,可以看到:
IMR
的回归系数等于4.0016,与MLE方法下的4.2244相差不大,但两步法下IMR
回归系数可以直接进行z检验,并且统计结果说明IMR
回归系数至少在1%的水平下显著为正,这同时说明原方程中的样本选择偏差问题不可忽视。wage
存在缺失值的样本完全重合。*-(四)两步估计法
heckman wage $xlist , select( wage_dummy = $xlist $zlist ) twostep mills(imr2)
est store TwoStep
/*
Heckman selection model -- two-step estimates Number of obs = 2,000
(regression model with sample selection) Selected = 1,343
Nonselected = 657
Wald chi2(2) = 442.54
Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wage |
education | .9825259 .0538821 18.23 0.000 .8769189 1.088133
age | .2118695 .0220511 9.61 0.000 .1686502 .2550888
_cons | .7340391 1.248331 0.59 0.557 -1.712645 3.180723
-------------+----------------------------------------------------------------
wage_dummy |
education | .0583645 .0109742 5.32 0.000 .0368555 .0798735
age | .0347211 .0042293 8.21 0.000 .0264318 .0430105
married | .4308575 .074208 5.81 0.000 .2854125 .5763025
children | .4473249 .0287417 15.56 0.000 .3909922 .5036576
_cons | -2.467365 .1925635 -12.81 0.000 -2.844782 -2.089948
-------------+----------------------------------------------------------------
/mills |
lambda | 4.001615 .6065388 6.60 0.000 2.812821 5.19041
-------------+----------------------------------------------------------------
rho | 0.67284
sigma | 5.9473529
------------------------------------------------------------------------------
*/
第五个是手工完成两步估计法,但实际使用时这种方法十分不推荐(包括上文使用两步法估计的样本选择模型),因为两步估计法下第一步回归的估计误差会带到第二步,造成效率损失,影响第二步估计系数的显著性。
手工两步估计法的思路是先用控制变量和外生变量对wage_dummy
做probit回归,计算出拟合值y_hat
,然后根据y_hat
计算出全部样本的IMR
,最后将IMR
作为额外的控制变量引入基准回归方程中做进一步的回归。
第一阶段(选择方程)回归的代码与结果如下。
*-(五)手工两步估计法
*- 第一阶段方程(选择方程)回归
probit wage_dummy $xlist $zlist , nolog
est store First
/*
Probit regression Number of obs = 2,000
LR chi2(4) = 478.32
Prob > chi2 = 0.0000
Log likelihood = -1027.0616 Pseudo R2 = 0.1889
------------------------------------------------------------------------------
wage_dummy | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
education | .0583645 .0109742 5.32 0.000 .0368555 .0798735
age | .0347211 .0042293 8.21 0.000 .0264318 .0430105
married | .4308575 .074208 5.81 0.000 .2854125 .5763025
children | .4473249 .0287417 15.56 0.000 .3909922 .5036576
_cons | -2.467365 .1925635 -12.81 0.000 -2.844782 -2.089948
------------------------------------------------------------------------------
*/
可以看到,实际参与回归的样本为2,000个,控制变量和两个外生变量均显著为正,这说明外生变量的选择是有效的。此外,衡量模型整体拟合程度的统计指标是伪R方(Pseudo R2
),伪R方为0.1889,整体拟合程度较好。
下面根据拟合值y_hat
计算出额外的控制变量imr
。其中,normalden()
是标准正态的概率密度函数pdf
,normal()
是标准正态的累积分布函数cdf
。
*- 计算IMR
predict y_hat, xb
gen imr = normalden(y_hat) / normal(y_hat)
获得各个样本的imr
后,就可以进行第二阶段回归。可以发现:
*- 第二阶段方程回归
reg wage $xlist imr
est store Second
/*
Source | SS df MS Number of obs = 1,343
-------------+---------------------------------- F(3, 1339) = 173.01
Model | 14904.6806 3 4968.22688 Prob > F = 0.0000
Residual | 38450.214 1,339 28.7156191 R-squared = 0.2793
-------------+---------------------------------- Adj R-squared = 0.2777
Total | 53354.8946 1,342 39.7577456 Root MSE = 5.3587
------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
education | .9825259 .0504982 19.46 0.000 .8834616 1.08159
age | .2118695 .0206636 10.25 0.000 .171333 .252406
imr | 4.001616 .5771027 6.93 0.000 2.869492 5.133739
_cons | .7340391 1.166214 0.63 0.529 -1.553766 3.021844
------------------------------------------------------------------------------
*/
可以对比一下用各个方法计算的IMR
。其中,imr1
是用样本选择模型的MLE方法计算的,imr2
是用样本选择模型的两步估计法计算的,imr
是用手工两步法计算的。打开Stata的数据编辑器,可以发现:
IMR
均有取值。imr
和imr2
保持高度一致(imr
四舍五入了),因为两者都是用两步估计法计算出来的。imr1
和imr2
存在差距,但差别不大。*- 对比imr、imr1和imr2
order imr1 imr2 imr wage_dummy
最后是五个模型回归结果的对比,可以发现:
education
和age
)的回归系数的符号、大小、显著性在模型 ( 2 ) ( 3 ) ( 4 ) ( 6 ) (2)(3)(4)(6) (2)(3)(4)(6)中基本保持一致,并且与模型 ( 1 ) (1) (1)的区别不大,这说明在考虑到样本选择偏差后,根据基本回归结果得出的结论依然成立。lambda
,在实际汇报时应该根据原始回归表进行汇报。Wald chi2
,因此,在实际汇报时,应该把Wald chi2
作为这三个模型整体拟合度的汇报指标。*- 回归结果输出
local mlist "OLS MLE MLE_r TwoStep First Second"
esttab `mlist' using 样本选择模型.rtf, replace ///
b(%6.4f) t(%6.4f) ///
scalar(N r2_a r2_p) compress nogap ///
star(* 0.1 ** 0.05 *** 0.01) ///
mtitle(`mlist') ///
title("Sample Selection Model")
/*
Sample Selection Model
----------------------------------------------------------------------------------------
(1) (2) (3) (4) (5) (6)
OLS MLE MLE_r TwoStep First Second
----------------------------------------------------------------------------------------
main
education 0.8966*** 0.9900*** 0.9900*** 0.9825*** 0.0584*** 0.9825***
(18.0015) (18.5884) (18.5336) (18.2347) (5.3184) (19.4566)
age 0.1466*** 0.2131*** 0.2131*** 0.2119*** 0.0347*** 0.2119***
(7.8325) (10.3445) (10.0964) (9.6081) (8.2096) (10.2533)
married 0.4309***
(5.8061)
children 0.4473***
(15.5636)
imr 4.0016***
(6.9340)
_cons 6.0849*** 0.4858 0.4858 0.7340 -2.4674*** 0.7340
(6.8399) (0.4510) (0.4420) (0.5880) (-12.8133) (0.6294)
----------------------------------------------------------------------------------------
wage_dummy
education 0.0557*** 0.0557*** 0.0584***
(5.1916) (5.1178) (5.3184)
age 0.0365*** 0.0365*** 0.0347***
(8.7905) (8.6428) (8.2096)
married 0.4452*** 0.4452*** 0.4309***
(6.6054) (6.6618) (5.8061)
children 0.4387*** 0.4387*** 0.4473***
(15.7906) (16.0828) (15.5636)
_cons -2.4910*** -2.4910*** -2.4674***
(-13.1563) (-13.2204) (-12.8133)
----------------------------------------------------------------------------------------
/
athrho 0.8742*** 0.8742***
(8.6195) (8.3153)
lnsigma 1.7926*** 1.7926***
(64.9526) (62.1733)
----------------------------------------------------------------------------------------
/mills
lambda 4.0016***
(6.5975)
----------------------------------------------------------------------------------------
N 1343 2000 2000 2000 2000 1343
r2_a 0.2524 0.2777
r2_p 0.1889
----------------------------------------------------------------------------------------
t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01
*/
以上命令、代码和实例均基于截面数据,现阶段的文献大多数也是将面板数据转为截面数据处理,最多控制几个个体虚拟变量和时间虚拟变量,并将其视为面板数据回归。
事实上,Stata在16及以上版本中提供了估计面板数据样本选择模型官方命令xtheckman
,但这个命令只能估计随机效应模型,估计固定效应模型需安装一个外部命令xtheckmanfe
,该命令由Boston College的Fernando编写,可以键入如下代码进行安装或更新。
ssc install xtheckmanfe, replace
[6] Fernando R-A. XTHECKMANFE Stata module to fit panel data models in the presence of endogeneity and selection: Boston College Department of Economics, 2020. [Program]
处理效应模型在Stata中的官方命令是treatreg
和etregress
,其中treatreg
在Stata第14版之后被etregress
替代,因此下面所使用的均为etregress
。
与heckman
类似,etregress
同样可以进行处理效应模型的两步法估计和极大似然估计。
etregress
的语法结构和heckman
极为相似,但还是存在几点不同,具体来说:
treat()
,而非select()
。D
,该解释变量取值为0或1,且不存在缺失值。在etregress
语法中,变量D
不可省略。z1
直接影响是变量D
,而非样本选择模型中的y_dummy
。IMR
的选择项是hazard()
,而非样本选择模型中的mills()
或nshazad()
。D
,但该命令在进行第二部回归时默认自动引入D
。因此,如果在语法书写时在第二步回归方程中手动加入D
,正式回归时该变量会产生完全的多重共线性而被omitted掉。z1
的选择,还是那句话,尽量避免使用D
的滞后项D_lag
,如果实在找不到一个良好的工具变量而选择使用D_lag
,也应该要确保面板结构中不同个体D
取值为1的时点是交错的,这样才能避免产生多重共线性问题。当然,如果是纯粹的截面数据(非混合面板),就不存在所谓的滞后变量,在这种情况下找到一个良好的工具变量是必须的。**# 二、处理效应模型
**# 2.1 语法介绍
/*
a. 两步估计法
etregress y x1 x2, treat(D = x1 x2 z1) twostep hazard(newname)
b. MLE
etregress y x1 x2, treat(D = x1 x2 z1) nolog
+ robust/cluster SE
etregress y x1 x2, treat(D = x1 x2 z1) nolog vce(cluster varname)
*/
这里使用的是etregress
命令的help文件中的示例数据集union3
与代码。
同样,如果非内嵌数据集调用失败可以直接调用本次推文提供的数据。
**# 2.2 实例操作
webuse union3, clear
/*
*- 或者直接调用已下载的数据集
use union3.dta, clear
*/
由于union3
为截面数据集,因此标准误无法聚类到个体层面,同时考虑到同一行业内不同个体的某些特征存在一致性,因此考虑将标准误聚类到行业层面。
*- 判断是否能够使用聚类标准误
tabulate ind_code
/*
industry of |
employment | Freq. Percent Cum.
------------+-----------------------------------
1 | 13 0.79 0.79
2 | 2 0.12 0.91
3 | 12 0.73 1.64
4 | 331 20.13 21.78
5 | 97 5.90 27.68
6 | 346 21.05 48.72
7 | 158 9.61 58.33
8 | 61 3.71 62.04
9 | 136 8.27 70.32
10 | 13 0.79 71.11
11 | 374 22.75 93.86
12 | 101 6.14 100.00
------------+-----------------------------------
Total | 1,644 100.00
*/
可见,如果将标准误聚类到行业层面,聚类数目少于经验数目(30个),聚类数目过少将导致标准误无法收敛至真实值(该问题在往期推文『双重差分法(DID) | 空间DID』中有讨论),因此该例还是使用异方差稳健标准误。
下面观察核心解释变量union
的取值情况。
*- 查看D的取值情况
tabulate union
/*
1 if union | Freq. Percent Cum.
------------+-----------------------------------
0 | 984 79.10 79.10
1 | 260 20.90 100.00
------------+-----------------------------------
Total | 1,244 100.00
*/
nmissing union
/*
union 449
*/
可见,总共有1,693个样本,其中union
取值为1的样本有260个,取值为0的样本有984个,缺失值样本有449个。剔除掉缺失值样本,对于剩下的1,244个样本,我们怀疑存在自选择偏差,因此使用处理效应模型来检验模型中是否存在该问题,并与基准回归结果对比进行稳健性检验。
下面将定义变量的全局暂元,并对所使用的变量进行简要说明。
*- 定义全局暂元
global xlist1 black tenure
global xlist2 age grade smsa black tenure
global xlist3 union age grade smsa black tenure
其中,wage
是被解释变量,union
是核心解释变量,并且我们其怀疑存在自选择问题。age
、grade
、smsa
、black
和tenure
是基准回归方程的控制变量;black
和tenure
是选择方程的控制变量,south
是选择方程的工具变量。
可以看到,选择方程的控制变量并未与基准回归的控制变量重合,其数目反而少于基准回归控制变量的数目。
第一个是基准回归,可以看到:
union
。union
的取值可能不是随机的,即可能存在自选择问题,导致基准回归结果存在偏误,因此还需要做进一步的稳健性检验才能得出令人信服的结论。*-(一)基准OLS
reg wage $xlist3
est store OLS
/*
Source | SS df MS Number of obs = 1,210
-------------+---------------------------------- F(6, 1203) = 103.36
Model | 2163.49455 6 360.582425 Prob > F = 0.0000
Residual | 4196.70492 1,203 3.48853277 R-squared = 0.3402
-------------+---------------------------------- Adj R-squared = 0.3369
Total | 6360.19947 1,209 5.26071089 Root MSE = 1.8678
------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
union | 1.003913 .1338083 7.50 0.000 .7413894 1.266437
age | .1475526 .0195242 7.56 0.000 .1092474 .1858578
grade | .4368545 .0294718 14.82 0.000 .3790327 .4946764
smsa | .9754817 .1252669 7.79 0.000 .7297159 1.221248
black | -.6183346 .1252 -4.94 0.000 -.8639693 -.3726999
tenure | .2118016 .0338481 6.26 0.000 .1453938 .2782094
_cons | -4.326028 .5315474 -8.14 0.000 -5.368891 -3.283165
------------------------------------------------------------------------------
*/
第二个是处理效应模型,使用MLE方法从模型整体角度对参数进行估计。可以看到:
south
显著为负,说明工具变量的选择有效。union
显著为正,这一点在处理效应模型回归结果表中显示为1.union
,说明相对于union
取值为0的样本,union
取值为1的样本的平均工资高2.9458个单位。2.9458大约是基准回归结果1.0039的三倍,这说明在未考虑自选择偏差的情况下,低估了union
对wage
的影响。IMR
(lambda
)的估计系数为-1.1603,同时rho
的LR检验结果说明至少在1%的水平下拒绝H0
。这都说明基准回归模型中确实存在严重的自选择偏差。*-(二)MLE
etregress wage $xlist2 , treat(union = $xlist1 south) nolog hazard(imr1)
est store MLE
/*
Linear regression with endogenous treatment Number of obs = 1,210
Estimator: maximum likelihood Wald chi2(6) = 681.89
Log likelihood = -3051.575 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wage |
age | .1487409 .0193291 7.70 0.000 .1108566 .1866252
grade | .4205658 .0293577 14.33 0.000 .3630258 .4781058
smsa | .9117044 .1249041 7.30 0.000 .6668969 1.156512
black | -.7882471 .1367078 -5.77 0.000 -1.05619 -.5203048
tenure | .1524015 .0369596 4.12 0.000 .0799621 .2248409
1.union | 2.945815 .2749621 10.71 0.000 2.4069 3.484731
_cons | -4.351572 .5283952 -8.24 0.000 -5.387208 -3.315936
-------------+----------------------------------------------------------------
union |
black | .4557499 .0958042 4.76 0.000 .2679771 .6435226
tenure | .0871536 .0232483 3.75 0.000 .0415878 .1327195
south | -.5807419 .0851111 -6.82 0.000 -.7475566 -.4139271
_cons | -.8855758 .0724506 -12.22 0.000 -1.027576 -.7435753
-------------+----------------------------------------------------------------
/athrho | -.6544347 .0910314 -7.19 0.000 -.832853 -.4760164
/lnsigma | .7026769 .0293372 23.95 0.000 .645177 .7601767
-------------+----------------------------------------------------------------
rho | -.5746478 .060971 -.682005 -.4430476
sigma | 2.019151 .0592362 1.906325 2.138654
lambda | -1.1603 .1495097 -1.453334 -.8672668
------------------------------------------------------------------------------
LR test of indep. eqns. (rho = 0): chi2(1) = 19.84 Prob > chi2 = 0.0000
*/
第三个是处理效应模型,使用MLE方法并使用异方差稳健标准误。可以看到,与使用普通标准误的MLE方法相比,除系数的z统计量有细微差别,以及对rho
的显著性检验使用的是Wald统计指标,其他结果没有实质性差异。
*-(三)MLE + robust SE
etregress wage $xlist2 , treat(union = $xlist1 south) nolog vce(robust)
est store MLE_r
/*
Linear regression with endogenous treatment Number of obs = 1,210
Estimator: maximum likelihood Wald chi2(6) = 487.30
Log pseudolikelihood = -3051.575 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Robust
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wage |
age | .1487409 .0206909 7.19 0.000 .1081875 .1892943
grade | .4205658 .0377922 11.13 0.000 .3464945 .4946371
smsa | .9117044 .1199377 7.60 0.000 .6766308 1.146778
black | -.7882471 .1408988 -5.59 0.000 -1.064404 -.5120906
tenure | .1524015 .0473782 3.22 0.001 .0595419 .2452611
1.union | 2.945815 .5643841 5.22 0.000 1.839643 4.051988
_cons | -4.351572 .6371071 -6.83 0.000 -5.600279 -3.102865
-------------+----------------------------------------------------------------
union |
black | .4557499 .093489 4.87 0.000 .2725148 .6389849
tenure | .0871536 .0251543 3.46 0.001 .0378521 .1364552
south | -.5807419 .0837513 -6.93 0.000 -.7448914 -.4165924
_cons | -.8855758 .0739533 -11.97 0.000 -1.030522 -.7406301
-------------+----------------------------------------------------------------
/athrho | -.6544347 .2322442 -2.82 0.005 -1.109625 -.1992445
/lnsigma | .7026769 .0758152 9.27 0.000 .5540819 .8512719
-------------+----------------------------------------------------------------
rho | -.5746478 .1555525 -.8039298 -.1966492
sigma | 2.019151 .1530822 1.740342 2.342624
lambda | -1.1603 .3823277 -1.909649 -.4109519
------------------------------------------------------------------------------
Wald test of indep. eqns. (rho = 0): chi2(1) = 7.94 Prob > chi2 = 0.0048
*/
第四个是用两步法估计处理效应模型,可以发现:
tenure
,均至少在1%的水平下显著,lambda
显著为负。IMR
显著,这说明原模型中的自选择偏差不可忽视,在未考虑自选择偏差的情况下,将严重低估union
对wage
的影响。*-(四)两步估计法
etregress wage $xlist2 , treat(union = $xlist1 south) twostep hazard(imr2)
est store TwoStep
/*
Linear regression with endogenous treatment Number of obs = 1210
Estimator: two-step Wald chi2(8) = 566.56
Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wage |
age | .1543231 .0194903 7.92 0.000 .1161227 .1925234
grade | .4225025 .029014 14.56 0.000 .3656362 .4793689
smsa | .8628628 .1285907 6.71 0.000 .6108297 1.114896
black | -.9206944 .1774617 -5.19 0.000 -1.268513 -.572876
tenure | .1003226 .051879 1.93 0.053 -.0013584 .2020037
union | 4.563859 1.006459 4.53 0.000 2.591236 6.536483
_cons | -4.670352 .5401517 -8.65 0.000 -5.72903 -3.611674
-------------+----------------------------------------------------------------
union |
black | .4397974 .0972261 4.52 0.000 .2492377 .6303572
tenure | .0997638 .0236575 4.22 0.000 .053396 .1461317
south | -.4895032 .0933276 -5.24 0.000 -.6724221 -.3065844
_cons | -.9679795 .0746464 -12.97 0.000 -1.114284 -.8216753
-------------+----------------------------------------------------------------
hazard |
lambda | -2.093313 .5801968 -3.61 0.000 -3.230478 -.9561486
-------------+----------------------------------------------------------------
rho | -0.89172
sigma | 2.3475104
------------------------------------------------------------------------------
*/
第五个是手工完成两步估计法,估计结果与直接使用etregress
两步估计法基本保持一致。值得注意的是:
union
取值为1的样本和union
取值为0的样本的IMR
计算公式不同,因此如果混淆了公式或使用一个公式进行计算,最后的结果必然存在偏误,因为union
取值为1的样本和union
取值为0的样本均参与了第二步回归。*-(五)手工两步估计法
*- 第一阶段方程(选择方程)回归
probit union $xlist1 south, nolog
est store First
/*
Probit regression Number of obs = 1,210
LR chi2(3) = 56.54
Prob > chi2 = 0.0000
Log likelihood = -592.15536 Pseudo R2 = 0.0456
------------------------------------------------------------------------------
union | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
black | .4397974 .0972261 4.52 0.000 .2492377 .6303572
tenure | .0997638 .0236575 4.22 0.000 .053396 .1461317
south | -.4895032 .0933276 -5.24 0.000 -.6724221 -.3065844
_cons | -.9679795 .0746464 -12.97 0.000 -1.114284 -.8216753
------------------------------------------------------------------------------
*/
*- 计算IMR
predict y_hat, xb
gen imr = normalden(y_hat) / normal( y_hat) if union != .
replace imr = -normalden(y_hat) / normal(-y_hat) if union == 0
*- 第二阶段方程回归
reg wage $xlist3 imr
est store Second
/*
Source | SS df MS Number of obs = 1,210
-------------+---------------------------------- F(7, 1202) = 92.54
Model | 2227.31385 7 318.187693 Prob > F = 0.0000
Residual | 4132.88562 1,202 3.43834078 R-squared = 0.3502
-------------+---------------------------------- Adj R-squared = 0.3464
Total | 6360.19947 1,209 5.26071089 Root MSE = 1.8543
------------------------------------------------------------------------------
wage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
union | 4.56386 .836918 5.45 0.000 2.921877 6.205842
age | .1543231 .0194468 7.94 0.000 .1161696 .1924765
grade | .4225025 .029448 14.35 0.000 .3647272 .4802778
smsa | .8628628 .12708 6.79 0.000 .6135395 1.112186
black | -.9206944 .1427409 -6.45 0.000 -1.200743 -.6406455
tenure | .1003226 .0424118 2.37 0.018 .0171133 .1835319
imr | -2.093314 .4858841 -4.31 0.000 -3.046589 -1.140038
_cons | -4.670352 .5337275 -8.75 0.000 -5.717493 -3.623211
------------------------------------------------------------------------------
*/
最后是各个回归模型下IMR
的对比,以及回归结果的汇总输出。
*- 对比imr、imr1和imr2
order imr1 imr2 imr union
*- 回归结果输出
local mlist "OLS MLE MLE_r TwoStep First Second"
esttab `mlist' using 处理效应模型.rtf, replace ///
b(%6.4f) t(%6.4f) ///
scalar(N r2_a r2_p) compress nogap ///
star(* 0.1 ** 0.05 *** 0.01) ///
mtitle(`mlist') ///
title("Treatment Effects Model")
/*
Treatment Effects Model
----------------------------------------------------------------------------------------
(1) (2) (3) (4) (5) (6)
OLS MLE MLE_r TwoStep First Second
----------------------------------------------------------------------------------------
main
union 1.0039*** 4.5639*** 4.5639***
(7.5026) (4.5346) (5.4532)
age 0.1476*** 0.1487*** 0.1487*** 0.1543*** 0.1543***
(7.5574) (7.6952) (7.1887) (7.9179) (7.9357)
grade 0.4369*** 0.4206*** 0.4206*** 0.4225*** 0.4225***
(14.8228) (14.3256) (11.1284) (14.5620) (14.3474)
smsa 0.9755*** 0.9117*** 0.9117*** 0.8629*** 0.8629***
(7.7872) (7.2992) (7.6015) (6.7102) (6.7899)
black -0.6183*** -0.7882*** -0.7882*** -0.9207*** 0.4398*** -0.9207***
(-4.9388) (-5.7659) (-5.5944) (-5.1881) (4.5234) (-6.4501)
tenure 0.2118*** 0.1524*** 0.1524*** 0.1003* 0.0998*** 0.1003**
(6.2574) (4.1235) (3.2167) (1.9338) (4.2170) (2.3654)
1.union 2.9458*** 2.9458***
(10.7135) (5.2195)
south -0.4895***
(-5.2450)
imr -2.0933***
(-4.3083)
_cons -4.3260*** -4.3516*** -4.3516*** -4.6704*** -0.9680*** -4.6704***
(-8.1386) (-8.2354) (-6.8302) (-8.6464) (-12.9675) (-8.7504)
----------------------------------------------------------------------------------------
union
black 0.4557*** 0.4557*** 0.4398***
(4.7571) (4.8749) (4.5234)
tenure 0.0872*** 0.0872*** 0.0998***
(3.7488) (3.4648) (4.2170)
south -0.5807*** -0.5807*** -0.4895***
(-6.8233) (-6.9341) (-5.2450)
_cons -0.8856*** -0.8856*** -0.9680***
(-12.2232) (-11.9748) (-12.9675)
----------------------------------------------------------------------------------------
/
athrho -0.6544*** -0.6544***
(-7.1891) (-2.8179)
lnsigma 0.7027*** 0.7027***
(23.9517) (9.2683)
----------------------------------------------------------------------------------------
hazard
lambda -2.0933***
(-3.6079)
----------------------------------------------------------------------------------------
N 1210 1210 1210 1210 1210 1210
r2_a 0.3369 0.3464
r2_p 0.0456
----------------------------------------------------------------------------------------
t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01
*/
Lennox et al.(2012)总结了样本选择模型和处理效应模型在会计学领域中应用的几点问题,这几个问题也完全可以延申至其他领域。
除了以上几点,现阶段文献中经常出现的问题还有:
D
的取值不随机,也即本质上是自选择偏差;或者,样本选择偏差与自选择偏差这两种说法混着用。这样的做法也确实给读者造成了困扰,笔者之前阅读过多篇论文,确实感觉不同论文这对方面的说明大相径庭。而正是由于对问题的界定不清晰,所以造成了对模型使用的偏误。heckman
、etregress
和手工两步法,其中heckman
和手工两步法用的最多,etregress
几乎没有。但是,正如前面所说的,样本选择模型由于数据缺陷在应用中不具有可操作性,因此heckman
在多数文献中本意是解决自选择偏差,因此部分文献在heckman
选择方程中设置被解释变量为D
而非y_dummy
就不足为奇了,但这样的做法是有问题的,除了模型使用的混淆,更重要的在于两种模型在前后两步中参与回归的样本数目是不同的,并且两种模型在计算IMR
时使用的公式也不同,因此模型混用可能反而进一步导致估计偏误。此外,无论是heckman
还是etregress
,以及手工操作,两步估计法都不推荐使用,比较而言,MLE得出的结果更稳健。下面将解析两篇经典论文。考虑到多数文献本质上存在的是自选择偏差,而分析样本选择偏差并使用样本选择模型的(中文)文献并不多见,因此下面两篇论文均是从样本选择偏差角度来分析内生性问题。
第一篇论文是陈云松(2012)发表在《社会》的《农民工收入与村庄网络 基于多重模型识别策略的因果效应分析》,研究主题是探讨社会网络对农民工在外务工收入的影响。
[8] 陈云松. 农民工收入与村庄网络 基于多重模型识别策略的因果效应分析[J]. 社会, 2012, 32(04): 68-92.
以下是基准回归方程:
W i g = β 0 + β 1 S g + β 2 X i g + β 3 V g + ε (3) W_{ig}=\beta _0+\beta _1S_g+\beta _2X_{ig}+\beta _3V_g+\varepsilon \tag{3} Wig=β0+β1Sg+β2Xig+β3Vg+ε(3)
其中, W i g W_{ig} Wig表示第 g g g个村庄第 i i i个农民工在城市务工的工资; S g S_g Sg代表社会网络,用村庄在外务工的人数来表示,在论文中作为核心解释变量; X i g X_{ig} Xig表示个人层面的控制变量; V g V_g Vg是村庄层面的控制变量。
文章怀疑农民工在外务工可能是一个选择行为,因为具有城市劳动力市场优势(男性、年轻和能力强等)的农民会更倾向于外出打工。论文进一步将这种选择性的来源分为可观测因素和不可观测因素,可观测因素包括年龄、性别等,不可观测因素包括性格、能力等。因此,在模型设置时必须要考虑样本群体是否随机和均质,即样本选择偏差问题。
在本例的数据集结构中,被解释变量 W i g W_{ig} Wig存在缺失值,而由于不在外务工的农民本身就不具有在外务工的工资数据(即使他们有其他来源的收入,但不是文章研究的重点),因此这些缺失值存在的原因就是这些被调查的样本本身就不在外务工。而由于前面提到的农民是否在外务工可能是一个选择行为,即 W i g W_{ig} Wig存在缺失值的样本与 W i g W_{ig} Wig取值不为空的样本在某些特征因素方面本身就存在较大的差异,因此如果在回归时直接剔除这部分取值为空的样本,最后得到的结果就可能存在估计偏误,也就是说在考虑到样本选择偏差的情况下,基准回归结果可能就不再具有稳健性。
为了解决可能存在的样本选择偏差问题,作者使用了样本选择模型中的两步估计法(Heckit
)。Heckit
由以下方程组构成:
W i g = β 0 + β 1 S g + β 2 X i g + β 3 V g + β 4 P ^ i g + ε (4) W_{ig}=\beta _0+\beta _1S_g+\beta _2X_{ig}+\beta _3V_g+\beta _4\hat P_{ig}+\varepsilon \tag{4} Wig=β0+β1Sg+β2Xig+β3Vg+β4P^ig+ε(4)
P i g = γ 0 + γ 1 F i g + γ 2 S g + γ 3 X i g + γ 4 V g + μ (5) P_{ig}=\gamma _0+\gamma _1F_{ig}+\gamma _2S_g+\gamma _3X_{ig}+\gamma _4V_g+\mu \tag{5} Pig=γ0+γ1Fig+γ2Sg+γ3Xig+γ4Vg+μ(5)
其中,方程 ( 5 ) (5) (5)是第一阶段回归方程(选择方程),方程 ( 4 ) (4) (4)是第二阶段回归方程; P ^ i g \hat P_{ig} P^ig是逆米尔斯比率; P i g P_{ig} Pig代表样本是否外出务工的虚拟变量,即样本在外务工取值为1,否则为0; F i g F_{ig} Fig是选择方程中的外生解释变量,论文中选择的是家庭劳动力人数;方程 ( 4 ) (4) (4)的所有解释变量,是方程 ( 5 ) (5) (5)解释变量的严格子集(真子集)。
论文还对外生变量 F i g F_{ig} Fig的相关性与外生性进行了说明,认为家庭劳动力数量对农民工的打工决策有着重要影响,而对在外务工收入的影响微乎其微,具体分析请看原文。
事实上,这里存在两个问题:
IMR
可能存在一定程度的偏误。IMR
,而非字母本身所表达的“ P i g P_{ig} Pig的拟合值”的含义,而IMR
正是由“ P i g P_{ig} Pig的拟合值”计算所得。下表是基准OLS回归与Heckit
第二步回归结果的对比,括号内为各变量估计系数的聚类稳健标准误,以村庄为聚类单位;Heckit
的第一步回归结果论文并未列示,这里假定外生解释变量在第一步回归中显著且有效。
(1) OLS |
(2) Heckit |
|
---|---|---|
社会网络 | 0.125*** (0.0349) |
0.263*** (0.0760) |
个体、村庄 控制变量 |
YES | YES |
IMR | — | 0.754** (0.3790) |
可以观察到,Heckit
第二步回归结果中IMR
显著为正,且数值较大(相较于其他控制变量的估计系数而言,详细结果请看原文),这说明基准OLS回归确实存在样本选择偏差,造成估计偏误,具体来说是低估了社会网络对农民工在外务工收入的影响,因为OLS模型中社会网络的估计系数仅有0.125,而Heckit模型的估计系数(0.263)是其两倍还多,且两者均至少在1%的水平下显著。至于为什么社会网络的收入促进效应在Heckit
模型中高于OLS,作者在原文中给出了解释。
值得一提的是,为了解决一般性的因遗漏变量和联立方程(互为因果)导致的估计偏误问题,作者在样本选择模型的基础上进一步采用工具变量法,即采用IV - Heckit
对基准OLS的稳健性进行进一步的检验,详情请看原文。
第二篇论文是祝树金和赵玉龙(2017)发表在《金融研究》的《资源错配与企业的出口行为——基于中国工业企业数据的经验研究》,主题是探讨企业资源错配对出口行为的影响。
[9] 祝树金, 赵玉龙. 资源错配与企业的出口行为——基于中国工业企业数据的经验研究[J]. 金融研究, 2017(11): 49-64.
论文一开始就考虑到了样本选择偏差问题,认为企业是否出口受制于自身条件,简单将出口企业与非出口企业同等对待将产生估计偏误,因此构建样本选择模型对这种偏误进行纠正。构建的两阶段模型如下:
e x d u m i t = α 1 m i s s i t − 1 + ∑ 1 J β j X j , i t − 1 + δ i t (6) exdum_{it}=\alpha _1miss_{it-1}+\sum _1^J\beta _jX_{j,it-1}+\delta_{it} \tag{6} exdumit=α1missit−1+1∑JβjXj,it−1+δit(6)
e x s h a r e i t = α 2 m i s s i t − 1 + ∑ 1 J β j Z j , i t − 1 + ε i t (7) exshare_{it}=\alpha _2miss_{it-1}+\sum _1^J\beta _jZ_{j,it-1}+\varepsilon_{it} \tag{7} exshareit=α2missit−1+1∑JβjZj,it−1+εit(7)
公式 ( 6 ) (6) (6)是第一阶段的企业出口选择方程,其中,被解释变量 e x d u m i t exdum_{it} exdumit代表第 t t t年 i i i企业的出口状态,若有出口行为,该变量记为1,否则记为0;考虑到出口滞后效应,第一、二阶段所有解释变量均滞后一期; m i s s i t − 1 miss_{it-1} missit−1是论文的核心解释变量企业资源错配,分别使用企业资源错配指标 m i s s 1 miss1 miss1、 τ k \tau k τk和 τ l \tau l τl来表示; X j , i t − 1 X_{j,it-1} Xj,it−1是影响企业出口决策的第 j j j个控制变量,包括一个外生解释变量 e x d u m i t − 1 exdum_{it-1} exdumit−1,即企业前一期是否出口的虚拟变量,作者认为该变量满足相关性和外生性的要求,以及其他控制变量。
公式 ( 7 ) (7) (7)是第二阶段的回归方程,其中,被解释变量 e x s h a r e i t exshare_{it} exshareit表示企业出口强度; Z j , i t − 1 Z_{j,it-1} Zj,it−1表示影响企业出口强度的控制变量,这些控制变量包括第一阶段的所有控制变量(除 e x d u m i t − 1 exdum_{it-1} exdumit−1),以及一个根据第一阶段回归拟合值计算的IMR
。
回归结果汇总如下(限于篇幅限制,这里仅展示核心解释变量为 m i s s 1 miss1 miss1的回归结果;括号内为标准误,具体类型未告知):
(1) e x d u m exdum exdum |
(2) e x s h a r e exshare exshare |
|
---|---|---|
m i s s 1 t − 1 miss1_{t-1} miss1t−1 | 0.012*** (0.0030) |
0.008*** (0.0009) |
e x d u m t − 1 exdum_{t-1} exdumt−1 | 2.791*** (0.0099) |
— |
控制变量 | YES | YES |
行业、年份 | YES | YES |
W a l d c h i 2 Wald~chi^2 Wald chi2 | 11,949.25***(右同) | |
ρ \rho ρ | -0.3858***(右同) | |
N N N | 177,386 | 177,386 |
可以发现( W a l d c h i 2 Wald~chi^2 Wald chi2和 ρ \rho ρ的那两列结果应该合并为一列,markdown
表格合并比较麻烦~),第一步选择方程(模型 ( 1 ) (1) (1))中,外生变量的估计系数显著为正,说明外生变量的选择有效;第二阶段回归(模型 ( 2 ) (2) (2))中,核心解释变量的估计系数显著为正,说明在考虑样本选择偏差的情况下,企业资源错配仍对企业出口强度产生促进作用。需要注意的是:
IMR
的估计系数,而仅仅汇报两步回归方程干扰项之间的相关系数 ρ \rho ρ,因此可以基本断定该样本选择模型就是使用MLE方法进行估计的。 ρ \rho ρ在1%的水平下显著为负,说明模型中存在的样本选择偏差不能忽视。以上论文解析都没有使用数据复现,下面将使用一篇论文的公开数据与代码简单演示一下样本选择模型与处理效应模型在Stata中的操作。
需要提前说明的是:
etregress
命令下,第一步选择方程的被解释变量D
只能是0-1型的虚拟变量,如果使用连续型变量,Stata将会报错。D
为连续型变量的情况下,为了使得Stata不报错,选择方程使用D
是否取值的虚拟变量,第二步方程直接引入D
作为核心解释变量,这样第二步回归模型中将会同时出现D
以及D
是否取值的虚拟变量,这种情况下可能产生多重共线性问题。heckman
命令而非etregress
命令,因为heckman
命令下第一步回归的被解释变量不会自动带入第二步回归,这或许也是论文作者选择heckman
而非etregress
的动机。但需要说明的是,这样的做法本质上是不严谨的,不同的模型适用于不同的问题,模型混用可能导致估计结果的严重偏误,虽然最后得到的结果可能符合预期,但不严谨的实证设计很难说服读者接受其结论。这篇论文是杜勇等(2021)发表在《中国工业经济》的《共同机构所有权与企业盈余管理》,研究主题是探讨共同机构持股对企业盈余管理的影响。
[10] 杜勇, 孙帆, 邓旭. 共同机构所有权与企业盈余管理[J]. 中国工业经济, 2021(06): 155-173.
由于上文已对两个命令进行了足够详细的讲解,并且对相关问题进行了提前说明,因此下面直接放出代码与结果,代码与结果的具体解读可以参考前文。
**# 【数据来源】
*- 杜勇等(2021),参见在《中国工业经济》网站(http://ciejournal.ajcass.org/Magazine/show/?id=77795)
**# 【参考文献】
*- 杜勇, 孙帆, 邓旭. 共同机构所有权与企业盈余管理[J]. 中国工业经济, 2021(06): 155-173.
********************************************************************************
*- Stata Version: 16 | 17
*- 定义路径
cd "C:\Users\KEMOSABE\Desktop\heckman"
use 数据.dta, clear
*- 连续变量缩尾处理
winsor2 da1 da2 da11 rem ///
coz2 coz3 coz_power coz_number ///
coz22 coz33 coz2_year coz3_year ///
director djg auditfees epcm ///
net institution size leverage ///
roa growth toptenrate independent ///
magpay boardshare invrec analyst, ///
cut(1 99) replace
*- 设置控制变量的全局暂元
global CV institution size leverage roa ///
growth toptenrate dual independent ///
magpay boardshare invrec analyst ///
opin aud
*- 将控制变量及核心解释变量滞后一期
xtset code year
foreach i of global CV {
gen Lag`i' = L.`i'
}
gen Lagcoz1 = L.coz1
*- 设置第一阶段回归控制变量的全局暂元
global CV1 Laginstitution Lagsize Lagleverage Lagroa ///
Laggrowth Lagtoptenrate Lagdual Lagindependent ///
Lagmagpay Lagboardshare Laginvrec Laganalyst ///
Lagopin Lagaud
**# 一、coz1的基准回归及稳健性检验
*- (1)基准回归
qui: reg da1 coz1 $CV i.year i.industry, r
est store OLS1
*- (2)处理效应模型(MLE)
qui: etregress da1 $CV i.year i.industry, ///
treat(coz1 = Lagcoz1 $CV i.year i.industry) nolog vce(robust)
est store et_ML1
/*
Linear regression with endogenous treatment Number of obs = 20,018
Estimator: maximum likelihood Wald chi2(31) = 1485.50
Log pseudolikelihood = 18287.002 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Robust
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
da1 |
institution | .0001648 .0001052 1.57 0.117 -.0000414 .000371
size | -.0066258 .0008814 -7.52 0.000 -.0083534 -.0048982
leverage | .0237043 .0048317 4.91 0.000 .0142344 .0331742
roa | -.2253829 .0170078 -13.25 0.000 -.2587175 -.1920482
growth | .0353113 .0023365 15.11 0.000 .0307318 .0398909
toptenrate | .0001971 .0000445 4.43 0.000 .0001099 .0002844
dual | .0031043 .0015126 2.05 0.040 .0001396 .006069
independent | .0040687 .0115344 0.35 0.724 -.0185383 .0266758
magpay | .4069487 .1409151 2.89 0.004 .1307602 .6831373
boardshare | -.0090979 .0037856 -2.40 0.016 -.0165174 -.0016784
invrec | .0183075 .0051727 3.54 0.000 .0081693 .0284458
analyst | .0005457 .000082 6.65 0.000 .0003849 .0007065
opin | -.0389673 .0040999 -9.50 0.000 -.047003 -.0309316
aud | -.0038764 .0012816 -3.02 0.002 -.0063884 -.0013644
|
year |
2009 | -.0008564 .0043254 -0.20 0.843 -.0093341 .0076213
2010 | .0186483 .0049932 3.73 0.000 .0088619 .0284348
2011 | .0220373 .0042826 5.15 0.000 .0136435 .030431
2012 | -.0158729 .0037267 -4.26 0.000 -.0231771 -.0085688
2013 | -.0161189 .0036 -4.48 0.000 -.0231748 -.009063
2014 | -.0161046 .0035979 -4.48 0.000 -.0231564 -.0090528
2015 | -.0031965 .0037801 -0.85 0.398 -.0106053 .0042122
2016 | -.0027102 .0037549 -0.72 0.470 -.0100697 .0046493
2017 | -.0153086 .0036145 -4.24 0.000 -.0223928 -.0082243
2018 | -.0154719 .0036009 -4.30 0.000 -.0225295 -.0084143
2019 | -.0178076 .0035699 -4.99 0.000 -.0248046 -.0108107
|
industry |
2 | -.0297887 .0105573 -2.82 0.005 -.0504806 -.0090968
3 | -.0116159 .0109897 -1.06 0.291 -.0331553 .0099234
4 | -.0282726 .0115443 -2.45 0.014 -.0508991 -.0056462
5 | -.0434586 .0104201 -4.17 0.000 -.0638816 -.0230356
6 | -.0323764 .0107643 -3.01 0.003 -.0534741 -.0112787
|
1.coz1 | -.0067129 .0019325 -3.47 0.001 -.0105006 -.0029253
_cons | .2775419 .0214512 12.94 0.000 .2354982 .3195855
-------------+----------------------------------------------------------------
coz1 |
Lagcoz1 | 3.234637 .041428 78.08 0.000 3.15344 3.315835
institution | .0037066 .0029546 1.25 0.210 -.0020843 .0094976
size | .1103075 .0245284 4.50 0.000 .0622327 .1583822
leverage | -.0127087 .1239879 -0.10 0.918 -.2557205 .2303031
roa | -.5487199 .328454 -1.67 0.095 -1.192478 .0950382
growth | .083781 .037123 2.26 0.024 .0110212 .1565408
toptenrate | .0032139 .0012742 2.52 0.012 .0007165 .0057114
dual | -.0820718 .0508186 -1.61 0.106 -.1816744 .0175308
independent | -1.012848 .3659513 -2.77 0.006 -1.730099 -.2955967
magpay | 2.53631 4.014366 0.63 0.528 -5.331703 10.40432
boardshare | -1.021367 .1736045 -5.88 0.000 -1.361625 -.6811082
invrec | -.1793844 .1334323 -1.34 0.179 -.440907 .0821381
analyst | -.0033357 .0025439 -1.31 0.190 -.0083216 .0016502
opin | .1161474 .1078862 1.08 0.282 -.0953057 .3276005
aud | .0256347 .0394008 0.65 0.515 -.0515895 .1028589
|
year |
2009 | .0545774 .1108197 0.49 0.622 -.1626253 .2717801
2010 | .2064666 .1102673 1.87 0.061 -.0096534 .4225866
2011 | -.0294345 .1096026 -0.27 0.788 -.2442517 .1853827
2012 | .0080566 .1085939 0.07 0.941 -.2047835 .2208966
2013 | -.0643272 .1033437 -0.62 0.534 -.2668772 .1382227
2014 | -.0427743 .103273 -0.41 0.679 -.2451857 .1596371
2015 | -.0567423 .1105243 -0.51 0.608 -.273366 .1598813
2016 | -.0928139 .1030316 -0.90 0.368 -.2947522 .1091244
2017 | -.2477218 .106496 -2.33 0.020 -.45645 -.0389935
2018 | -.0962982 .1050334 -0.92 0.359 -.3021598 .1095634
2019 | .0256564 .0998903 0.26 0.797 -.1701251 .2214378
|
industry |
2 | -.2286483 .2099405 -1.09 0.276 -.6401241 .1828274
3 | -.3286038 .2173325 -1.51 0.131 -.7545676 .09736
4 | -.4177377 .259037 -1.61 0.107 -.9254409 .0899654
5 | .069847 .2032102 0.34 0.731 -.3284377 .4681318
6 | .0932101 .210735 0.44 0.658 -.3198229 .5062431
|
_cons | -4.316258 .5725048 -7.54 0.000 -5.438347 -3.194169
-------------+----------------------------------------------------------------
/athrho | .0413626 .0199663 2.07 0.038 .0022294 .0804958
/lnsigma | -2.451377 .0118703 -206.51 0.000 -2.474643 -2.428112
-------------+----------------------------------------------------------------
rho | .041339 .0199322 .0022294 .0803224
sigma | .0861748 .0010229 .0841931 .0882032
lambda | .0035624 .0017194 .0001924 .0069323
------------------------------------------------------------------------------
Wald test of indep. eqns. (rho = 0): chi2(1) = 4.29 Prob > chi2 = 0.0383
*/
*- (3)处理效应模型(TwoStep)
qui: etregress da1 $CV i.year i.industry, ///
treat(coz1 = Lagcoz1 $CV i.year i.industry) twostep
est store et_2S1
/*
Linear regression with endogenous treatment Number of obs = 20018
Estimator: two-step Wald chi2(61) = 3629.46
Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
da1 |
institution | .0001648 .0000966 1.71 0.088 -.0000245 .0003541
size | -.0066256 .0007952 -8.33 0.000 -.0081841 -.0050671
leverage | .0237045 .0038194 6.21 0.000 .0162187 .0311904
roa | -.2253832 .0098235 -22.94 0.000 -.2446369 -.2061294
growth | .0353113 .0011144 31.69 0.000 .0331271 .0374955
toptenrate | .0001971 .000043 4.58 0.000 .0001128 .0002814
dual | .0031042 .0014823 2.09 0.036 .0001989 .0060095
independent | .0040678 .0114332 0.36 0.722 -.0183409 .0264765
magpay | .4069558 .1104819 3.68 0.000 .1904153 .6234964
boardshare | -.0090989 .0041262 -2.21 0.027 -.017186 -.0010117
invrec | .0183072 .0041006 4.46 0.000 .0102702 .0263441
analyst | .0005457 .0000836 6.53 0.000 .0003818 .0007096
opin | -.0389672 .0030457 -12.79 0.000 -.0449367 -.0329978
aud | -.0038764 .0012695 -3.05 0.002 -.0063645 -.0013882
|
year |
2009 | -.0008564 .0038108 -0.22 0.822 -.0083254 .0066127
2010 | .0186484 .003792 4.92 0.000 .0112163 .0260805
2011 | .0220373 .003709 5.94 0.000 .0147678 .0293068
2012 | -.0158729 .0035715 -4.44 0.000 -.0228729 -.008873
2013 | -.0161189 .0035103 -4.59 0.000 -.022999 -.0092388
2014 | -.0161047 .0034962 -4.61 0.000 -.022957 -.0092523
2015 | -.0031967 .0035138 -0.91 0.363 -.0100836 .0036903
2016 | -.0027104 .0035086 -0.77 0.440 -.0095872 .0041665
2017 | -.0153088 .0034914 -4.38 0.000 -.0221519 -.0084658
2018 | -.0154721 .0034815 -4.44 0.000 -.0222958 -.0086485
2019 | -.0178078 .0034585 -5.15 0.000 -.0245864 -.0110293
|
industry |
2 | -.0297886 .0066066 -4.51 0.000 -.0427372 -.0168399
3 | -.0116162 .0069175 -1.68 0.093 -.0251743 .001942
4 | -.0282727 .0074022 -3.82 0.000 -.0427807 -.0137646
5 | -.0434582 .0064804 -6.71 0.000 -.0561595 -.0307569
6 | -.0323759 .006855 -4.72 0.000 -.0458115 -.0189404
|
coz1 | -.0067176 .0021868 -3.07 0.002 -.0110037 -.0024315
_cons | .2775378 .0181209 15.32 0.000 .2420215 .3130541
-------------+----------------------------------------------------------------
coz1 |
Lagcoz1 | 3.235202 .0413025 78.33 0.000 3.154251 3.316153
institution | .0036154 .0029089 1.24 0.214 -.002086 .0093168
size | .1121405 .0239223 4.69 0.000 .0652536 .1590274
leverage | -.0208505 .1217953 -0.17 0.864 -.2595648 .2178638
roa | -.5578723 .3217238 -1.73 0.083 -1.188439 .0726948
growth | .0879266 .0303994 2.89 0.004 .0283449 .1475083
toptenrate | .0032304 .0013442 2.40 0.016 .0005958 .0058649
dual | -.079793 .050784 -1.57 0.116 -.1793278 .0197418
independent | -1.019378 .3750888 -2.72 0.007 -1.754539 -.2842178
magpay | 2.68412 3.683406 0.73 0.466 -4.535223 9.903462
boardshare | -1.018715 .1736654 -5.87 0.000 -1.359093 -.6783367
invrec | -.178663 .132241 -1.35 0.177 -.4378506 .0805247
analyst | -.0033943 .0025893 -1.31 0.190 -.0084692 .0016805
opin | .1167083 .0995624 1.17 0.241 -.0784304 .3118469
aud | .0260504 .040476 0.64 0.520 -.053281 .1053818
|
year |
2009 | .0515999 .1140643 0.45 0.651 -.171962 .2751618
2010 | .2019266 .109724 1.84 0.066 -.0131284 .4169816
2011 | -.0315077 .1130668 -0.28 0.781 -.2531146 .1900991
2012 | .0078514 .1080623 0.07 0.942 -.2039468 .2196496
2013 | -.0658881 .108644 -0.61 0.544 -.2788264 .1470502
2014 | -.0454649 .1080572 -0.42 0.674 -.2572531 .1663232
2015 | -.0564083 .1072322 -0.53 0.599 -.2665795 .1537629
2016 | -.092317 .1085734 -0.85 0.395 -.3051169 .1204829
2017 | -.2501913 .1096922 -2.28 0.023 -.4651841 -.0351984
2018 | -.0990409 .1078524 -0.92 0.358 -.3104276 .1123459
2019 | .0223512 .1059781 0.21 0.833 -.1853622 .2300645
|
industry |
2 | -.2381904 .204628 -1.16 0.244 -.6392539 .1628731
3 | -.3332723 .2179531 -1.53 0.126 -.7604526 .093908
4 | -.4154694 .2532426 -1.64 0.101 -.9118158 .080877
5 | .0617126 .1984843 0.31 0.756 -.3273095 .4507348
6 | .0875193 .2074342 0.42 0.673 -.3190443 .4940829
|
_cons | -4.344332 .5487066 -7.92 0.000 -5.419777 -3.268887
-------------+----------------------------------------------------------------
hazard |
lambda | .0035703 .001916 1.86 0.062 -.0001849 .0073256
-------------+----------------------------------------------------------------
rho | 0.04143
sigma | .08617484
------------------------------------------------------------------------------
*/
*- (4)手工处理(TwoStep)
qui: probit coz1 Lagcoz1 $CV i.year i.industry
est store First1
predict y1, xb
gen imr1 = normalden(y1) / normal(y1)
replace imr1 = -normalden(y1) / normal(-y1) if coz1 == 0
qui: reg da1 coz1 $CV i.year i.industry imr1, r
est store Second1
*- 结果导出
local mlist1 "OLS1 et_ML1 et_2S1 First1 Second1"
esttab `mlist1' using coz1的基准回归及稳健性检验.rtf, replace ///
b(%6.4f) t(%6.4f) ///
scalar(N r2_a r2_p) compress nogap ///
star(* 0.1 ** 0.05 *** 0.01) ///
indicate("Year FE=*.year" "Industry FE=*.industry") ///
mtitle(`mlist1') ///
title("Baseline Regression and Robustness Test of coz1")
/*
Baseline Regression and Robustness Test of coz1
---------------------------------------------------------------------------
(1) (2) (3) (4) (5)
LSDV1 et_mle1 et_2s1 first1 second1
---------------------------------------------------------------------------
main
coz1 -0.0048*** -0.0067*** -0.0067***
(-2.9786) (-3.0719) (-3.4445)
institut~n 0.0002 0.0002 0.0002* 0.0036 0.0002
(1.5850) (1.5665) (1.7065) (1.2429) (1.5654)
size -0.0066*** -0.0066*** -0.0066*** 0.1121*** -0.0066***
(-7.9796) (-7.5170) (-8.3323) (4.6877) (-7.5054)
leverage 0.0212*** 0.0237*** 0.0237*** -0.0209 0.0237***
(4.5995) (4.9060) (6.2064) (-0.1712) (4.9027)
roa -0.2110*** -0.2254*** -0.2254*** -0.5579* -0.2254***
(-12.8244) (-13.2518) (-22.9432) (-1.7340) (-13.2449)
growth 0.0345*** 0.0353*** 0.0353*** 0.0879*** 0.0353***
(15.5953) (15.1127) (31.6865) (2.8924) (15.1130)
toptenrate 0.0002*** 0.0002*** 0.0002*** 0.0032** 0.0002***
(5.4173) (4.4277) (4.5837) (2.4032) (4.4238)
dual 0.0028* 0.0031** 0.0031** -0.0798 0.0031**
(1.9385) (2.0523) (2.0941) (-1.5712) (2.0507)
independ~t 0.0036 0.0041 0.0041 -1.0194*** 0.0041
(0.3212) (0.3527) (0.3558) (-2.7177) (0.3524)
magpay 0.3756*** 0.4069*** 0.4070*** 2.6841 0.4070***
(2.9158) (2.8879) (3.6835) (0.7287) (2.8857)
boardshare -0.0024 -0.0091** -0.0091** -1.0187*** -0.0091**
(-0.6691) (-2.4033) (-2.2052) (-5.8660) (-2.4013)
invrec 0.0230*** 0.0183*** 0.0183*** -0.1787 0.0183***
(4.6611) (3.5393) (4.4646) (-1.3510) (3.5365)
analyst 0.0006*** 0.0005*** 0.0005*** -0.0034 0.0005***
(7.1090) (6.6524) (6.5269) (-1.3109) (6.6451)
opin -0.0409*** -0.0390*** -0.0390*** 0.1167 -0.0390***
(-10.2467) (-9.5044) (-12.7942) (1.1722) (-9.4991)
aud -0.0043*** -0.0039*** -0.0039*** 0.0261 -0.0039***
(-3.5288) (-3.0246) (-3.0534) (0.6436) (-3.0220)
1.coz1 -0.0067***
(-3.4737)
Lagcoz1 3.2352***
(78.3295)
imr1 0.0036*
(1.8696)
_cons 0.2681*** 0.2775*** 0.2775*** -4.3443*** 0.2775***
(13.4216) (12.9383) (15.3159) (-7.9174) (12.9241)
---------------------------------------------------------------------------
coz1
Lagcoz1 3.2346*** 3.2352***
(78.0784) (78.3295)
institut~n 0.0037 0.0036
(1.2545) (1.2429)
size 0.1103*** 0.1121***
(4.4971) (4.6877)
leverage -0.0127 -0.0209
(-0.1025) (-0.1712)
roa -0.5487* -0.5579*
(-1.6706) (-1.7340)
growth 0.0838** 0.0879***
(2.2568) (2.8924)
toptenrate 0.0032** 0.0032**
(2.5222) (2.4032)
dual -0.0821 -0.0798
(-1.6150) (-1.5712)
independ~t -1.0128*** -1.0194***
(-2.7677) (-2.7177)
magpay 2.5363 2.6841
(0.6318) (0.7287)
boardshare -1.0214*** -1.0187***
(-5.8833) (-5.8660)
invrec -0.1794 -0.1787
(-1.3444) (-1.3510)
analyst -0.0033 -0.0034
(-1.3113) (-1.3109)
opin 0.1161 0.1167
(1.0766) (1.1722)
aud 0.0256 0.0261
(0.6506) (0.6436)
_cons -4.3163*** -4.3443***
(-7.5393) (-7.9174)
---------------------------------------------------------------------------
/
athrho 0.0414**
(2.0716)
lnsigma -2.4514***
(-2.1e+02)
---------------------------------------------------------------------------
hazard
lambda 0.0036*
(1.8635)
Year FE Yes Yes Yes Yes Yes
Industry~E Yes Yes Yes Yes Yes
---------------------------------------------------------------------------
N 22591 20018 20018 20018 20018
r2_a 0.1387 0.1441
r2_p 0.6912
---------------------------------------------------------------------------
t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01
*/
**# 二、coz2的基准回归及稳健性检验
*- (1)基准回归
qui: reg da1 coz2 $CV i.year i.industry, r
est store OLS2
*- (2)样本选择模型(TwoStep)
qui: heckman da1 coz2 $CV i.year i.industry, ///
select( coz2 = $CV1 ) twostep
est store he_2S2
/*
Heckman selection model -- two-step estimates Number of obs = 20,018
(regression model with sample selection) Selected = 2,593
Nonselected = 17,425
Wald chi2(31) = 559.43
Prob > chi2 = 0.0000
--------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
---------------+----------------------------------------------------------------
da1 |
coz2 | -.0208381 .0114122 -1.83 0.068 -.0432055 .0015293
institution | -.0001099 .0002544 -0.43 0.666 -.0006085 .0003886
size | .0065137 .0025792 2.53 0.012 .0014586 .0115689
leverage | .0287133 .0115701 2.48 0.013 .0060363 .0513904
roa | -.1696233 .0264688 -6.41 0.000 -.2215012 -.1177455
growth | .0406549 .0028657 14.19 0.000 .0350382 .0462716
toptenrate | .0005991 .0001313 4.56 0.000 .0003418 .0008563
dual | .004107 .0047744 0.86 0.390 -.0052507 .0134647
independent | -.1094472 .0341261 -3.21 0.001 -.1763332 -.0425612
magpay | .7141059 .3357257 2.13 0.033 .0560956 1.372116
boardshare | -.1155465 .030857 -3.74 0.000 -.1760251 -.055068
invrec | -.0200946 .0138371 -1.45 0.146 -.0472147 .0070255
analyst | -3.14e-06 .0002186 -0.01 0.989 -.0004316 .0004253
opin | -.0348136 .0083493 -4.17 0.000 -.051178 -.0184492
aud | .0026224 .0036027 0.73 0.467 -.0044387 .0096835
|
year |
2009 | -.0133637 .0087203 -1.53 0.125 -.0304551 .0037278
2010 | -.0023983 .0085558 -0.28 0.779 -.0191672 .0143707
2011 | .007618 .0084863 0.90 0.369 -.0090149 .0242508
2012 | -.018136 .0082114 -2.21 0.027 -.03423 -.002042
2013 | -.0343626 .0082714 -4.15 0.000 -.0505743 -.0181509
2014 | -.0268081 .0082289 -3.26 0.001 -.0429364 -.0106798
2015 | .0043649 .0082808 0.53 0.598 -.0118652 .020595
2016 | -.0049588 .0082864 -0.60 0.550 -.0212 .0112823
2017 | -.0219129 .0084003 -2.61 0.009 -.0383771 -.0054486
2018 | -.0298953 .008332 -3.59 0.000 -.0462257 -.0135649
2019 | -.028234 .0081615 -3.46 0.001 -.0442303 -.0122377
|
industry |
2 | -.0652461 .0191914 -3.40 0.001 -.1028605 -.0276318
3 | -.0279979 .0207284 -1.35 0.177 -.0686249 .012629
4 | -.0100713 .0240308 -0.42 0.675 -.0571708 .0370283
5 | -.0641525 .0188057 -3.41 0.001 -.101011 -.027294
6 | -.0458935 .0192651 -2.38 0.017 -.0836525 -.0081345
|
_cons | -.1057979 .077478 -1.37 0.172 -.257652 .0460562
---------------+----------------------------------------------------------------
coz2 |
Laginstitution | .000229 .0017509 0.13 0.896 -.0032026 .0036607
Lagsize | .1220394 .0129369 9.43 0.000 .0966835 .1473953
Lagleverage | .3218294 .0709585 4.54 0.000 .1827532 .4609055
Lagroa | -.3267603 .204901 -1.59 0.111 -.7283589 .0748383
Laggrowth | -.0533554 .0214025 -2.49 0.013 -.0953036 -.0114072
Lagtoptenrate | .0049017 .0008002 6.13 0.000 .0033334 .0064701
Lagdual | -.1151072 .030836 -3.73 0.000 -.1755447 -.0546697
Lagindependent | -1.470211 .2309171 -6.37 0.000 -1.9228 -1.017622
Lagmagpay | 1.025986 2.201411 0.47 0.641 -3.2887 5.340672
Lagboardshare | -1.582939 .1017037 -15.56 0.000 -1.782274 -1.383604
Laginvrec | -.6018562 .0724373 -8.31 0.000 -.7438308 -.4598817
Laganalyst | -.0040897 .0015752 -2.60 0.009 -.0071769 -.0010024
Lagopin | .0822428 .0619452 1.33 0.184 -.0391676 .2036531
Lagaud | .0487422 .0246017 1.98 0.048 .0005237 .0969607
_cons | -3.507714 .2810605 -12.48 0.000 -4.058582 -2.956845
---------------+----------------------------------------------------------------
/mills |
lambda | .0948201 .0173606 5.46 0.000 .0607939 .1288462
---------------+----------------------------------------------------------------
rho | 0.84225
sigma | .11257936
--------------------------------------------------------------------------------
*/
*- (3)处理效应模型 - 手工处理(TwoStep)
qui: probit coz1 Lagcoz1 $CV i.year i.industry
est store First2
predict y2, xb
gen imr2 = normalden(y2) / normal(y2)
replace imr2 = -normalden(y2) / normal(-y2) if coz2 == 0
qui: reg da1 coz2 $CV i.year i.industry imr2, r
est store Second2
*- 结果导出
local mlist2 "OLS2 he_2S2 First2 Second2"
esttab `mlist2' using coz2的基准回归及稳健性检验.rtf, replace ///
b(%6.4f) t(%6.4f) ///
scalar(N r2_a r2_p) compress nogap ///
star(* 0.1 ** 0.05 *** 0.01) ///
indicate("Year FE=*.year" "Industry FE=*.industry") ///
mtitle(`mlist2') ///
title("Baseline Regression and Robustness Test of coz2")
/*
Baseline Regression and Robustness Test of coz2
--------------------------------------------------------------
(1) (2) (3) (4)
OLS2 he_2S2 First2 Second2
--------------------------------------------------------------
main
coz2 -0.0090*** -0.0208* -0.0109***
(-3.5991) (-1.8260) (-3.8498)
institut~n 0.0002 -0.0001 0.0036 0.0002
(1.5711) (-0.4321) (1.2429) (1.5472)
size -0.0066*** 0.0065** 0.1121*** -0.0066***
(-7.9283) (2.5255) (4.6877) (-7.4912)
leverage 0.0213*** 0.0287** -0.0209 0.0237***
(4.6120) (2.4817) (-0.1712) (4.9087)
roa -0.2110*** -0.1696*** -0.5579* -0.2253***
(-12.8242) (-6.4084) (-1.7340) (-13.2397)
growth 0.0344*** 0.0407*** 0.0879*** 0.0353***
(15.5849) (14.1866) (2.8924) (15.1052)
toptenrate 0.0002*** 0.0006*** 0.0032** 0.0002***
(5.4342) (4.5641) (2.4032) (4.4256)
dual 0.0027* 0.0041 -0.0798 0.0031**
(1.9266) (0.8602) (-1.5712) (2.0504)
independ~t 0.0034 -0.1094*** -1.0194*** 0.0040
(0.3042) (-3.2071) (-2.7177) (0.3470)
magpay 0.3763*** 0.7141** 2.6841 0.4066***
(2.9216) (2.1271) (0.7287) (2.8833)
boardshare -0.0026 -0.1155*** -1.0187*** -0.0092**
(-0.7150) (-3.7446) (-5.8660) (-2.4146)
invrec 0.0229*** -0.0201 -0.1787 0.0182***
(4.6381) (-1.4522) (-1.3510) (3.5220)
analyst 0.0006*** -0.0000 -0.0034 0.0005***
(7.0944) (-0.0144) (-1.3109) (6.6466)
opin -0.0408*** -0.0348*** 0.1167 -0.0389***
(-10.2360) (-4.1696) (1.1722) (-9.4915)
aud -0.0043*** 0.0026 0.0261 -0.0039***
(-3.5238) (0.7279) (0.6436) (-3.0258)
Lagcoz1 3.2352***
(78.3295)
imr2 0.0031*
(1.6981)
_cons 0.2673*** -0.1058 -4.3443*** 0.2773***
(13.3690) (-1.3655) (-7.9174) (12.9075)
--------------------------------------------------------------
coz2
Laginsti~n 0.0002
(0.1308)
Lagsize 0.1220***
(9.4334)
Laglever~e 0.3218***
(4.5355)
Lagroa -0.3268
(-1.5947)
Laggrowth -0.0534**
(-2.4929)
Lagtopte~e 0.0049***
(6.1256)
Lagdual -0.1151***
(-3.7329)
Lagindep~t -1.4702***
(-6.3668)
Lagmagpay 1.0260
(0.4661)
Lagboard~e -1.5829***
(-15.5642)
Laginvrec -0.6019***
(-8.3086)
Laganalyst -0.0041***
(-2.5964)
Lagopin 0.0822
(1.3277)
Lagaud 0.0487**
(1.9813)
_cons -3.5077***
(-12.4803)
--------------------------------------------------------------
/mills
lambda 0.0948***
(5.4618)
Year FE Yes Yes Yes Yes
Industry~E Yes Yes Yes Yes
--------------------------------------------------------------
N 22591 20018 20018 20018
r2_a 0.1388 0.1442
r2_p 0.6912
--------------------------------------------------------------
t statistics in parentheses
* p<0.1, ** p<0.05, *** p<0.01
*/
c o z 3 coz3 coz3的基准回归及稳健性检验的第三段代码见公众号下载附件(公众号后台回复heckman
即可获取下载链接)。