Stata内生性检验:工具变量法、双重差分法与Heckman模型实现

11 次阅读

一、什么是内生性问题?为什么需要进行内生性检验?

内生性问题是计量经济学实证研究中最常见、也最容易影响回归结果可信度的问题之一。当解释变量与回归模型的随机误差项存在相关性时,普通最小二乘法(OLS)的估计结果可能出现偏误,进而影响研究结论的可靠性。

例如,研究企业研发投入对经营绩效的影响时,研发投入可能受到企业管理能力、技术积累等不可观测因素的影响,而这些因素也会影响企业绩效。如果模型没有充分控制这些因素,研发投入与误差项之间就可能存在相关性,从而产生内生性问题。

1. 内生性问题的主要来源

常见的内生性来源主要包括以下三类。

(1)遗漏变量偏误

当模型遗漏了同时影响解释变量和被解释变量的重要因素时,可能导致解释变量与误差项相关。

例如,研究教育水平对工资收入的影响时,个人能力可能同时影响受教育年限和工资收入。如果个人能力无法被充分观测和控制,教育水平的回归系数就可能存在偏误。

(2)反向因果关系

解释变量与被解释变量之间可能存在双向影响。

例如,企业研发投入可能提高经营绩效,但经营绩效较好的企业也可能拥有更多资金用于研发。此时,研发投入与经营绩效之间存在反向因果关系,直接使用OLS可能无法准确识别研发投入的因果效应。

(3)测量误差

当解释变量存在测量误差时,实际观测值与真实变量之间的偏差可能导致估计结果出现偏误。

例如,企业实际资本投入难以准确测量,研究者只能使用存在误差的代理变量进行回归,这可能影响估计结果的准确性。

2. 内生性检验的基本思路

针对不同来源的内生性问题,需要选择不同的识别策略。

方法主要解决的问题核心思路
工具变量法(IV)遗漏变量、反向因果、测量误差等利用满足相关性和外生性条件的工具变量识别因果效应
双重差分法(DID)政策冲击下的因果识别比较处理组与对照组在政策实施前后的变化差异
Heckman两阶段模型样本选择偏误建模样本进入机制,并校正非随机选择造成的偏误

需要注意的是,这三种方法并非可以相互替代的通用工具。工具变量法侧重于利用外生变异识别因果效应,双重差分法依赖政策冲击和趋势假设,而Heckman模型主要用于处理非随机样本选择问题。


二、Stata工具变量法:IV回归与内生性检验

工具变量法(Instrumental Variables,IV)是处理解释变量内生性问题的重要方法。

其基本思想是寻找一个与内生解释变量高度相关、但不直接影响被解释变量且不与结构方程误差项相关的外生变量,通过工具变量提供的外生变异识别解释变量的因果效应。

1. 工具变量法的基本原理

假设研究模型为:

其中:

  • :被解释变量。

  • :可能存在内生性的解释变量。

  • :其他控制变量。

  • :随机误差项。

如果:

那么直接使用OLS估计可能产生偏误。

此时,引入工具变量 ,要求其满足两个核心条件。

相关性条件:

即工具变量必须能够有效解释内生解释变量的变化。

外生性条件:

即工具变量不能与结构方程误差项相关。

在实际研究中,外生性条件通常还要求工具变量只能通过内生解释变量影响被解释变量,这也被称为排除限制。

工具变量的有效性不能仅凭相关性检验来确认,尤其是外生性条件通常无法直接通过数据完全验证。

2. Stata中使用ivregress进行两阶段最小二乘法

假设研究企业研发投入对企业绩效的影响。

变量设置如下:

  • performance:企业绩效。

  • rd:研发投入,可能存在内生性。

  • size:企业规模。

  • lev:资产负债率。

  • age:企业年龄。

  • distance:工具变量,假设为企业所在地与某类技术服务机构的距离。

需要强调,distance能否作为有效工具变量,必须结合研究背景论证。距离可能通过交通、市场可达性等渠道直接影响企业绩效,因此不能仅凭其与研发投入相关就认定其满足外生性条件。

首先进行OLS回归:

stata
reg performance rd size lev age, vce(robust)

该命令使用普通最小二乘法估计回归系数,并采用异方差稳健标准误。

接下来使用工具变量法进行两阶段最小二乘估计:

stata
ivregress 2sls performance size lev age ///
    (rd = distance), vce(robust)

其中:

  • ivregress 2sls表示使用两阶段最小二乘法。

  • performance是被解释变量。

  • size lev age是外生控制变量。

  • (rd = distance)表示使用distance作为rd的工具变量。

  • vce(robust)表示使用异方差稳健标准误。

如果研究中存在多个工具变量,可以使用以下形式:

stata
ivregress 2sls performance size lev age ///
    (rd = distance policy_iv), vce(robust)

此时,distance和policy_iv共同作为rd的工具变量。

需要注意,工具变量数量应与内生解释变量数量及模型识别要求相匹配。工具变量过多可能导致过度识别检验失去有效性,并带来有限样本偏误。

3. 工具变量法的第一阶段回归

两阶段最小二乘法的第一阶段主要用于检验工具变量对内生解释变量的解释能力。

第一阶段模型为:

其中,工具变量需要在控制其他外生变量后,对内生解释变量具有足够的解释能力。

在Stata中,可以执行:

stata
ivregress 2sls performance size lev age ///
    (rd = distance), vce(robust)

estat firststage

estat firststage可以显示第一阶段相关统计信息,具体输出内容取决于模型设定和Stata版本。

也可以单独运行第一阶段回归:

stata
reg rd distance size lev age, vce(robust)

查看distance的回归系数及其显著性。

不过,工具变量系数显著并不代表工具变量足够强。判断工具变量强度时,应结合第一阶段排除工具变量的联合检验、弱工具变量稳健统计量以及相应的临界值进行分析。

在存在异方差、聚类或多个内生变量时,不能机械地将传统第一阶段F统计量作为唯一判断依据。

4. 内生性检验:Durbin-Wu-Hausman检验

工具变量回归完成后,可以检验解释变量是否存在内生性。

Stata提供了estat endogenous命令:

stata
ivregress 2sls performance size lev age ///
    (rd = distance), vce(robust)

estat endogenous

该命令用于检验指定的内生解释变量是否可以被视为外生变量。

其基本假设为:

  • 原假设:指定解释变量不存在内生性。

  • 备择假设:指定解释变量存在内生性。

当检验结果的P值小于常用显著性水平时,可以拒绝原假设,说明数据提供了变量存在内生性的证据。

如果P值较大,则不能拒绝原假设,但这并不意味着已经证明解释变量完全外生。

还需要注意,内生性检验依赖工具变量有效性及相关模型设定。如果工具变量本身无效,检验结果可能缺乏可靠性。

5. 过度识别检验:检验工具变量的整体一致性

当工具变量数量多于内生解释变量数量时,模型属于过度识别模型,可以进行过度识别限制检验。

例如:

stata
ivregress 2sls performance size lev age ///
    (rd = distance policy_iv), vce(robust)

estat overid

该命令用于检验过度识别限制是否成立。

其原假设是:工具变量整体满足相应的外生性限制。

如果P值较小,则表明数据与至少部分过度识别限制不一致,需要重新审视工具变量的有效性。

但过度识别检验不能证明所有工具变量都有效。检验不显著也不意味着工具变量一定满足外生性条件。

此外,在异方差或聚类稳健设定下,应关注检验统计量的适用条件,不能将所有情况下的过度识别检验结果视为具有相同性质。

6. 使用ivreghdfe处理高维固定效应

对于包含企业固定效应、年份固定效应或行业固定效应的面板数据,研究者可能需要使用高维固定效应工具变量回归。

常用命令是ivreghdfe,该命令需要提前安装相应扩展程序。

stata
ssc install ivreghdfe, replace

示例:

stata
ivreghdfe performance size lev ///
    (rd = distance), ///
    absorb(firm_id year) ///
    cluster(firm_id)

其中:

  • absorb(firm_id year)表示吸收企业固定效应和年份固定效应。

  • cluster(firm_id)表示按照企业层面进行聚类稳健标准误调整。

  • (rd = distance)表示使用distance作为内生变量rd的工具变量。

在实际研究中,工具变量必须在控制固定效应后仍具有足够的有效变异。

如果工具变量在企业内部不随时间变化,那么企业固定效应可能会将其完全吸收,导致无法识别。


三、双重差分法(DID):政策冲击下的内生性处理

双重差分法(Difference-in-Differences,DID)是政策评估和因果推断中广泛使用的方法。

当某项政策只影响部分地区、企业或个体时,可以利用处理组与对照组在政策实施前后的变化差异,识别政策的平均处理效应。

不过,DID并不是能够自动消除所有内生性问题的万能方法。其有效性取决于处理组与对照组的可比性、平行趋势假设以及政策实施过程等关键条件。

1. 双重差分法的基本原理

假设研究某项环保政策对企业污染排放的影响。

研究样本分为:

  • 处理组:受到环保政策影响的企业。

  • 对照组:未受到该政策影响的企业。

  • 政策前:政策尚未实施的时期。

  • 政策后:政策实施之后的时期。

双重差分法通过比较两组企业在政策实施前后的变化差异,构造政策效应估计量。

其基本公式为:

其中:

  • :处理组政策后的结果。

  • :处理组政策前的结果。

  • :对照组政策后的结果。

  • :对照组政策前的结果。

第一项表示处理组的前后变化,第二项表示对照组的前后变化。

两者之差用于剔除共同时间变化和组间不随时间变化的差异。

2. DID的回归模型

标准双重差分模型可以表示为:

其中:

  • :个体或企业在时间的结果变量。

  • :处理组虚拟变量。

  • :政策实施后的时间虚拟变量。

  • :双重差分交互项。

  • :控制变量。

  • :双重差分估计系数。

在满足识别条件的情况下,可以解释为政策对处理组的平均处理效应。

对于包含个体固定效应和时间固定效应的面板数据,通常使用以下模型:

其中,表示个体固定效应,表示时间固定效应。

3. Stata实现标准双重差分回归

假设数据包含以下变量:

  • firm_id:企业编号。

  • year:年份。

  • treat:处理组虚拟变量。

  • post:政策实施后虚拟变量。

  • outcome:结果变量。

  • size:企业规模。

  • lev:资产负债率。

首先生成双重差分交互项:

stata
gen did = treat * post

然后进行基准回归:

stata
reg outcome did treat post size lev, ///
    vce(cluster firm_id)

其中,did的系数反映双重差分估计值。

如果研究数据为面板数据,并希望控制企业固定效应和年份固定效应,可以使用:

stata
xtset firm_id year

xtreg outcome did size lev i.year, ///
    fe vce(cluster firm_id)

这里:

  • fe表示使用个体固定效应。

  • i.year表示控制年份固定效应。

  • vce(cluster firm_id)表示按照企业层面进行聚类稳健标准误调整。

由于企业固定效应已经吸收了企业层面不随时间变化的特征,因此不需要额外加入Treat变量。

如果使用高维固定效应命令,也可以执行:

stata
ssc install reghdfe, replace

reghdfe outcome did size lev, ///
    absorb(firm_id year) ///
    vce(cluster firm_id)

该方法适用于包含大量个体固定效应和时间固定效应的面板数据。

4. 平行趋势检验:DID识别的关键条件

平行趋势假设是传统双重差分法的重要识别条件。

其核心含义是:如果没有政策冲击,处理组和对照组的结果变量应具有相同的平均变化趋势。

需要注意,政策实施前两组结果变量水平不同,并不必然违反平行趋势假设。关键在于两组在没有政策时的变化趋势是否具有可比性。

研究者通常使用事件研究法检验政策实施前的动态变化,并观察处理组与对照组在政策前是否存在明显的差异趋势。

5. Stata事件研究法实现

假设政策在不同企业对应的实施年份变量为policy_year,当前年份为year。

可以先生成相对政策时间:

stata
gen rel_year = year - policy_year

对于从未受到政策影响的企业,需要单独处理其政策时间定义,不能直接将缺失的policy_year当作普通处理年份。

接下来,可以根据研究窗口生成事件时间虚拟变量。

例如,研究政策前3年至政策后3年的动态效应,并将政策前1年作为基准期:

stata
gen event_m3 = (rel_year == -3)
gen event_m2 = (rel_year == -2)
gen event_0  = (rel_year == 0)
gen event_p1 = (rel_year == 1)
gen event_p2 = (rel_year == 2)
gen event_p3 = (rel_year == 3)

这里没有生成rel_year == -1对应的虚拟变量,因为它被设为基准期。

进行事件研究回归:

stata
reghdfe outcome event_m3 event_m2 ///
    event_0 event_p1 event_p2 event_p3 ///
    size lev, ///
    absorb(firm_id year) ///
    vce(cluster firm_id)

需要特别注意,以上示例适用于政策实施时间一致或研究设计能够合理构造相对时间的情况。

如果不同企业在不同年份受到政策影响,且政策效应存在异质性,传统双向固定效应事件研究模型可能产生复杂的加权问题。

此时应考虑适用于分期处理的事件研究方法,并明确处理组、对照组和估计目标。

6. 平行趋势的联合检验

可以使用test命令对政策实施前的事件时间系数进行联合检验:

stata
test event_m3 event_m2

其原假设为:

如果P值较大,说明数据没有提供足够证据拒绝政策前系数联合为零的假设。

但这并不能证明平行趋势必然成立。检验结果还受到样本量、统计功效和模型设定的影响。

因此,实证研究中应结合事件研究图、政策背景和其他稳健性检验进行综合判断。

7. DID常见稳健性检验

为了提高政策效应估计的可信度,研究者通常需要进行多种稳健性检验。

(1)安慰剂检验

将政策实施时间人为提前,或者随机指定处理组,观察是否仍然出现显著的政策效应。

如果虚构政策也产生明显效果,需要进一步检查模型是否受到其他趋势或遗漏因素影响。

(2)更换结果变量

使用与政策作用机制相关的其他指标,检验结论是否具有一致性。

(3)调整样本范围

剔除特殊地区、异常年份或受到其他重大政策冲击的样本,观察估计结果是否稳定。

(4)控制其他政策冲击

如果研究期间存在其他可能影响结果变量的政策,应考虑通过合理的控制变量、样本限制或研究设计处理这些影响。

(5)合理处理标准误

DID中的政策处理通常发生在地区、行业或企业等特定层级,因此标准误应根据处理分配机制和误差相关结构进行聚类。

如果政策在省级实施,仅在企业层面聚类可能无法充分处理同一省份企业之间的相关性。


四、Heckman两阶段模型:处理样本选择偏误

Heckman两阶段模型主要用于解决样本选择偏误问题。

当研究对象是否进入样本受到某些因素影响,而且样本进入机制与结果方程误差项相关时,直接对可观测样本进行回归可能产生选择性偏误。

例如,研究劳动者工资收入时,工资数据通常只能在就业者中观测到。如果劳动者是否就业与其潜在工资水平相关,那么仅使用就业者样本进行OLS回归,可能导致估计结果存在偏误。

Heckman模型通过构建样本选择方程和结果方程,对非随机样本选择进行建模,并在满足相应假设的条件下进行校正。

1. Heckman模型的基本原理

Heckman两阶段模型包含两个方程。

第一阶段:样本选择方程

其中,为潜在选择变量。

实际观测到的选择状态为:

当时,结果变量可以被观测到;当时,结果变量缺失或无法进入研究样本。

第一阶段通常使用Probit模型估计样本进入概率。

第二阶段:结果方程

该方程只在的样本中观测到。

如果选择方程误差项与结果方程误差项相关,那么仅对入选样本进行OLS回归可能产生选择偏误。

Heckman模型通过逆米尔斯比率(Inverse Mills Ratio,IMR)对这种选择机制进行校正。

2. 逆米尔斯比率的含义

对于标准正态选择模型,逆米尔斯比率可以表示为:

其中:

  • :标准正态概率密度函数。

  • :标准正态累积分布函数。

  • :选择方程的线性预测值。

将逆米尔斯比率加入结果方程后,可以得到:

其中,表示选择方程误差项与结果方程误差项的相关系数,表示结果方程误差项的标准差。

如果选择方程与结果方程误差项存在相关性,逆米尔斯比率的系数可能反映样本选择机制带来的系统性差异。

但逆米尔斯比率系数的显著性并不能单独证明模型中的所有设定均正确。

3. Stata使用heckman命令进行两阶段估计

假设研究劳动者教育水平对工资收入的影响。

变量设置如下:

  • wage:工资收入。

  • educ:受教育年限。

  • exper:工作经验。

  • female:性别虚拟变量。

  • married:婚姻状态。

  • employed:是否就业。

首先,使用Probit模型分析劳动者进入就业样本的概率:

stata
probit employed educ exper female married

然后,使用Heckman两阶段模型:

stata
heckman wage educ exper female, ///
    select(employed = educ exper female married) ///
    twostep

其中:

  • wage educ exper female表示结果方程。

  • select(employed = educ exper female married)表示选择方程。

  • twostep表示使用两阶段估计方法。

Stata会先估计样本选择方程,再根据估计结果构造逆米尔斯比率,并将其纳入结果方程进行校正。

需要注意,wage在未就业样本中通常是缺失值。使用Heckman模型时,应明确样本选择变量的定义,并确保结果方程的可观测状态与选择方程保持一致。

4. 使用heckman命令进行极大似然估计

除了两阶段估计,Heckman模型还可以使用极大似然法进行估计。

例如:

stata
heckman wage educ exper female, ///
    select(employed = educ exper female married)

如果不指定twostep,Stata通常采用极大似然估计。

极大似然法在模型分布假设成立时具有相应的统计性质,但对联合分布设定更加敏感。

两阶段估计和极大似然估计各有特点,研究者应根据模型假设、样本特征和研究目的选择合适的估计方法。

5. Heckman模型的结果如何解读?

Heckman模型的输出通常包含结果方程、选择方程以及误差相关结构的相关参数。

重点关注以下内容:

(1)结果方程系数

结果方程中educ的系数反映在模型设定和选择校正条件下,教育水平与工资收入之间的关系。

如果工资采用对数形式,系数通常需要结合对数模型的解释方式进行分析。

(2)选择方程系数

选择方程中的系数反映相关变量与样本进入概率之间的关系。

Probit模型系数并不直接等于概率变化的百分点,需要通过边际效应等方法进行解释。

(3)误差相关参数

Heckman模型通常会报告误差项相关参数及其相关检验结果。

如果模型支持的选择相关检验显示存在明显的相关性,可以认为样本选择机制可能对结果方程估计产生影响。

但检验不显著并不意味着样本选择偏误一定不存在。

6. Heckman模型的识别条件

Heckman模型能否可靠识别,取决于选择方程和结果方程的设定。

理想情况下,选择方程中应包含至少一个不直接进入结果方程的排除变量。

该变量需要影响样本进入概率,但不能在控制其他因素后直接影响结果变量。

例如,研究劳动者工资时,可以考虑某些主要影响就业机会、但不直接影响工资水平的变量。不过,这类变量的有效性必须根据具体制度背景和经济机制进行论证。

如果选择方程与结果方程使用完全相同的解释变量,模型在某些分布假设下仍可能通过非线性函数形式获得识别,但这种识别可能较弱,对模型假设更加敏感。

因此,Heckman模型并不是只要运行两阶段命令就能消除样本选择偏误。排除变量的合理性、选择机制设定和误差项分布假设都需要充分论证。


五、三种方法的适用场景与区别

工具变量法、双重差分法和Heckman模型都可以用于改善实证研究中的识别问题,但它们处理的偏误来源不同。

1. 方法对比

比较维度工具变量法(IV)双重差分法(DID)Heckman模型
核心问题解释变量内生性政策冲击下的因果识别非随机样本选择
主要识别来源外生工具变量处理组与对照组的前后变化差异样本选择机制与分布假设
关键假设工具变量相关性与外生性平行趋势及其他设计条件选择方程与结果方程的设定及分布假设
常用Stata命令ivregressreg、xtreg、reghdfeheckman
主要局限弱工具变量、工具变量无效平行趋势不成立、政策冲击混杂分布假设敏感、识别不足
典型应用研发投入与企业绩效政策实施效果评估就业者工资、上市企业样本选择

2. 如何选择合适的方法?

研究者应首先明确内生性问题的来源,再根据数据结构和识别条件选择方法。

如果核心问题是解释变量存在反向因果关系或遗漏变量偏误,可以考虑工具变量法。

例如,研究企业研发投入对生产率的影响时,如果能够找到具有充分理论依据的外生工具变量,可以使用2SLS估计。

如果研究对象受到明确的政策冲击,可以考虑双重差分法。

例如,某项政策在特定地区分阶段实施,研究者可以利用处理组和对照组的变化差异识别政策效应,但必须重点论证平行趋势和处理组构造的合理性。

如果研究样本是否被观测到受到非随机因素影响,可以考虑Heckman模型。

例如,研究劳动者工资时,只有就业者的工资能够被观测到,可以通过选择方程建模样本进入机制。

如果同一研究同时存在多个问题,也可以结合不同方法,但需要明确各自解决的偏误来源及其识别假设。


六、Stata内生性检验的完整实证操作流程

规范的内生性分析不应停留在运行一条回归命令或查看一个P值上,而应形成从理论分析到稳健性检验的完整流程。

第一步:明确研究问题与变量关系

首先需要确定:

  • 被解释变量是什么。

  • 核心解释变量是什么。

  • 哪些变量可能存在内生性。

  • 内生性可能来自哪些机制。

  • 数据属于截面数据、面板数据还是其他结构。

只有明确内生性来源,才能判断应采用工具变量法、DID还是Heckman模型。

第二步:进行数据清洗与描述性统计

在正式回归之前,应检查缺失值、异常值、变量分布和样本结构。

例如:

stata
describe

summarize performance rd size lev age

misstable summarize performance rd size lev age

对于面板数据,还可以检查企业与年份的唯一性:

stata
isid firm_id year

如果数据中同一企业同一年存在多条记录,应先确认数据结构是否符合研究设计。

第三步:建立基准回归模型

对于一般截面数据,可以先运行OLS:

stata
reg performance rd size lev age, ///
    vce(robust)

对于面板数据,可以根据研究设计加入个体固定效应和时间固定效应:

stata
xtset firm_id year

xtreg performance rd size lev age i.year, ///
    fe vce(cluster firm_id)

基准回归有助于了解变量之间的初步关系,但不能自动解决内生性问题。

第四步:根据研究设计选择内生性处理方法

如果采用工具变量法,应明确工具变量的理论依据,并检查相关性、弱工具变量风险和排除限制。

如果采用DID,应明确处理组、对照组、政策实施时间和识别假设,并进行平行趋势检验。

如果采用Heckman模型,应明确样本选择机制,构建合理的选择方程和结果方程。

第五步:开展关键识别假设检验

不同方法需要关注不同的检验内容。

方法关键检验或诊断
IV第一阶段相关性、弱工具变量诊断、内生性检验、过度识别检验
DID平行趋势检验、事件研究、安慰剂检验、政策冲击干扰分析
Heckman选择方程设定、排除变量合理性、误差相关结构及模型敏感性分析

这些检验只能提供特定假设下的证据,不能代替研究设计本身的合理性论证。

第六步:进行稳健性检验

常见稳健性检验包括:

  • 更换核心变量的测量方式。

  • 调整样本范围。

  • 更换控制变量组合。

  • 调整标准误的计算方式。

  • 使用不同但合理的模型设定。

  • 检查异常值和样本构成变化。

  • 对关键识别假设进行敏感性分析。

稳健性检验应围绕研究中的具体风险展开,而不是单纯增加回归表格数量。

第七步:规范报告实证结果

实证研究报告中,应明确说明:

  1. 为什么认为模型可能存在内生性。

  2. 选择该识别方法的理论依据是什么。

  3. 核心识别假设有哪些。

  4. 采用了哪些检验和诊断方法。

  5. 主要回归系数及其标准误如何变化。

  6. 结果对不同模型设定是否敏感。

  7. 研究结论适用于哪些样本和研究条件。

只有将估计结果与识别假设结合起来,才能避免将统计相关性直接解释为因果关系。


七、Stata内生性检验中的常见错误及解决方案

1. 将OLS与IV回归结果不同直接视为内生性证据

OLS与IV估计结果存在差异,并不必然说明OLS存在内生性偏误。

这种差异也可能来自工具变量较弱、有限样本波动、模型设定不同或工具变量识别的局部效应与OLS估计目标不同。

正确做法是结合正式的内生性检验、工具变量有效性和识别假设进行分析。

2. 仅凭第一阶段显著性判断工具变量有效

第一阶段显著只能说明工具变量与内生解释变量存在一定关联,并不能证明工具变量满足外生性条件。

如果工具变量与误差项相关,即使第一阶段回归非常显著,IV估计仍可能存在偏误。

因此,需要结合理论机制、制度背景和相关诊断进行论证。

3. 忽略弱工具变量问题

弱工具变量可能导致2SLS估计出现较大偏误,并使常规统计推断不可靠。

对于单个内生解释变量和单个工具变量的简单模型,可以关注第一阶段相关统计量,但在复杂模型中,应使用适合具体误差结构和识别设定的弱工具变量诊断方法。

不能将某个固定F统计量阈值机械地用于所有模型。

4. 将DID中的政策后虚拟变量重复加入固定效应模型

在包含完整年份固定效应的DID模型中,政策后虚拟变量通常与年份固定效应存在完全共线性。

因此,使用企业固定效应和年份固定效应时,通常只需要加入处理组与政策后时期的交互项,以及适当的控制变量。

例如:

stata
reghdfe outcome did size lev, ///
    absorb(firm_id year) ///
    vce(cluster firm_id)

这样可以避免重复加入被固定效应吸收的变量。

5. 将平行趋势检验不显著等同于平行趋势成立

政策实施前的事件时间系数不显著,并不能证明处理组和对照组具有完全相同的趋势。

当样本量不足时,即使存在一定程度的趋势差异,也可能无法被统计检验识别。

因此,应结合事件研究图、置信区间、研究背景和敏感性分析进行判断。

6. 忽视分期处理DID的异质性问题

当不同个体在不同时间接受政策处理时,传统双向固定效应模型可能将已经接受处理的个体作为其他处理组的对照组。

如果政策效应随时间或处理组发生变化,传统估计量可能混合多个不同的处理效应,导致结果难以解释。

对于分期处理设计,可以考虑基于组别与时间的平均处理效应方法,并明确对照组的定义和估计目标。

7. 将Heckman模型用于所有缺失数据问题

Heckman模型主要针对特定的非随机样本选择机制,并不适用于所有缺失数据问题。

如果数据缺失源于录入错误、随机缺失或其他机制,应根据缺失数据产生的过程选择适当的方法。

在使用Heckman模型前,应明确哪些样本进入选择方程、哪些样本进入结果方程,以及选择机制是否符合模型假设。

8. 忽视聚类标准误与数据结构

对于面板数据和政策评估研究,同一企业、地区或个体的误差项可能存在相关性。

如果仍然使用普通标准误,可能低估标准误并夸大统计显著性。

因此,应根据政策实施层级、抽样设计和误差相关结构合理选择聚类层级。

当聚类数量较少时,还需要考虑常规聚类稳健推断的局限性,并评估是否需要采用适当的小样本修正或其他推断方法。


八、Stata内生性检验的实用建议

开展实证研究时,可以从以下几个方面提升分析的规范性和可复现性。

第一,优先明确识别问题,而不是先选择命令。

工具变量法、DID和Heckman模型分别依赖不同的识别条件。只有明确问题来源,才能避免方法与研究问题不匹配。

第二,重视理论依据和制度背景。

工具变量的外生性、DID的平行趋势以及Heckman模型的选择机制,都需要结合具体研究场景进行论证。

第三,区分统计显著性与因果识别。

即使回归系数显著,也不能直接认定因果关系已经得到可靠识别。统计显著性、经济意义和识别有效性是不同层面的判断。

第四,关注估计目标。

OLS、IV、DID和Heckman模型可能对应不同的估计目标。比较不同方法的结果时,应说明其识别对象和适用条件,而不能只比较系数大小。

第五,保存完整的分析过程。

建议使用Stata的Do-file记录数据处理、变量生成、模型估计和结果导出过程,确保分析可以重复执行。

例如:

stata
clear all
set more off

* 导入数据
use "data.dta", clear

* 描述性统计
summarize performance rd size lev age

* 基准回归
reg performance rd size lev age, ///
    vce(robust)

* 工具变量回归
ivregress 2sls performance size lev age ///
    (rd = distance), vce(robust)

* 内生性检验
estat endogenous

* 第一阶段诊断
estat firststage

需要根据实际数据调整变量名称、工具变量设定和标准误处理方式。对于不同类型的模型,应分别记录对应的诊断结果和识别假设。


九、总结

Stata内生性检验的关键并不是机械地运行某个命令,而是识别内生性问题的来源,并选择与研究设计相匹配的估计方法。

工具变量法通过外生工具变量识别内生解释变量的因果效应,重点关注工具变量相关性、外生性和弱工具变量问题;双重差分法利用处理组与对照组的前后变化差异识别政策效应,重点关注平行趋势和政策冲击的可比性;Heckman两阶段模型则针对非随机样本选择问题,通过选择方程和结果方程的联合建模进行校正。

在实际应用中,研究者应结合理论分析、数据结构、模型设定和稳健性检验,系统评估估计结果的可靠性。只有充分说明识别假设及其局限,才能使实证研究中的因果解释更加严谨、透明和可信。