在Stata中进行稳健性检验是实证分析中的重要环节,旨在验证核心结论的可靠性和不受特定假设或模型设定的影响,稳健性检验的方法多样,涵盖模型设定、变量度量、样本选择等多个维度,而Stata提供了丰富的命令支持这些检验,以下将详细介绍常用的稳健性检验命令及其应用场景,帮助研究者系统开展稳健性分析。

模型设定相关的稳健性检验命令
模型设定的假设(如线性关系、误差项分布等)可能影响结果,需通过调整模型设定进行检验。
替换模型形式
若核心模型为线性回归(regress),可尝试非线性模型(如泊松回归poisson、负二项回归nbreg)或分位数回归qreg,检验系数方向和显著性是否稳定,检验收入对消费的影响是否在消费分布的不同分位数上一致:
qreg consumption income, q(0.5) // 中位数回归 qreg consumption income, q(0.25) // 下四分位回归 qreg consumption income, q(0.75) // 上四分位回归
加入交互项或控制变量
遗漏变量可能导致内生性,可通过加入潜在遗漏变量或交互项检验结果敏感性,在基准回归中加入地区与时间的交互项:
regress y x1 x2 i.region#c.year, robust
工具变量法(IV)处理内生性
当核心解释变量存在内生性时,使用工具变量法(如ivreg2)可检验结果的稳健性,需确保工具变量满足相关性和外生性假设:

ivreg2 y (x1 = z1 z2), robust first // 两阶段最小二乘法,输出第一阶段结果
变量度量相关的稳健性检验命令
变量度量方式(如连续变量离散化、替换代理变量)可能影响结论,需通过调整变量度量进行检验。
连续变量离散化或分组
将连续变量按分位数或特定阈值分组,转换为分类变量后重新回归,将收入按四分位数分为四组:
xtile income_group = income, nq(4) // 按四分位数生成收入组 regress y i.income_group, robust
替换核心变量代理变量
若核心变量存在多种度量方式(如企业规模可用员工人数或总资产代理),可替换代理变量后重新估计:
regress y size1 size2 x1, robust // size1为员工人数,size2为总资产
变量缩放或标准化
为消除量纲影响,可对连续变量进行标准化(均值为0,标准差为1)后回归,检验系数符号和显著性:

egen std_x1 = std(x1) // 对x1标准化 regress y std_x1 x2, robust
样本选择相关的稳健性检验命令
样本范围(如剔除特殊样本、子样本分析)可能影响结果,需通过调整样本进行检验。
剔除特殊样本或异常值
使用summarize识别异常值(如超过3倍标准差),通过if条件剔除后回归:
summarize x1, detail local sd = r(sd) local mean = r(mean) regress y x1 x2 if abs(x1 - `mean') < 3*`sd', robust // 剔除3倍标准差外样本
子样本分析
按样本特征(如行业、地区、产权性质)分组回归,检验结果在不同子样本中是否一致,按企业产权性质分组:
regress y x1 x2 if private == 1, robust // 民营企业子样本 regress y x1 x2 if state == 1, robust // 国有企业子样本
更换样本期间
若数据为时间序列或面板数据,可调整样本期间(如剔除危机年份、缩短或延长观测期)检验结果稳定性:
regress y x1 x2 if year >= 2010 & year <= 2020, robust // 限定样本期间
内生性与测量误差处理命令
内生性和测量误差是影响结果稳健性的常见问题,需通过特定方法检验。
固定效应模型(FE)与随机效应模型(RE)
面板数据中,需通过Hausman检验选择固定效应或随机效应模型:
xtreg y x1 x2, fe // 固定效应模型 estimates store fe xtreg y x1 x2, re // 随机效应模型 estimates store re hausman fe re // Hausman检验,若p<0.05选择FE
双重差分法(DID)的平行趋势检验
使用did_imputation或event_study_interact命令检验平行趋势假设,确保DID结果的稳健性:
did_imputation y, ivar(unit) time(year) treatment(treat)
处理效应模型(PSM-DID)
当处理组和对照组存在选择偏误时,结合倾向得分匹配(PSM)和DID可提升稳健性:
psmatch2 treat x1 x2, outcome(y) common caliper(0.01) // PSM匹配 didregress (y) (treat), group(unit) time(year) // 匹配后DID
常用稳健性检验命令汇总表
| 检验维度 | 常用命令 | 功能说明 |
|---|---|---|
| 模型设定替换 | qreg、poisson、ivreg2 |
分位数回归、非线性模型、工具变量法,检验模型形式敏感性 |
| 变量度量调整 | xtile、egen std、replace |
变量分组、标准化、替换代理变量,检验度量方式影响 |
| 样本选择调整 | if条件、by分组、tsset+tsspell |
剔除异常值、子样本分析、更换样本期间,检验样本范围影响 |
| 内生性处理 | xtreg fe/re、didregress、psmatch2 |
固定效应/随机效应、DID、PSM-DID,解决内生性和选择偏误 |
| 异常值与影响点 | predict r、predict rstudent、dfbeta |
识别残差、学生化残差、DFBETA统计量,检验异常值对结果的影响 |
相关问答FAQs
问题1:如何判断是否需要进行稳健性检验?
答:稳健性检验并非所有研究都必须,但以下情况需重点关注:① 核心解释变量与被解释变量关系可能受模型设定(如线性假设)影响;② 变量度量存在多种方式(如主观评价vs客观指标);③ 样本中存在特殊观测值(如极端值、政策冲击点);④ 研究结论涉及政策含义或理论贡献,需确保结果不受特定样本或方法驱动,若基准回归结果在多种设定下均显著且方向一致,则结论更可靠。
问题2:稳健性检验结果不显著时如何处理?
答:若某项稳健性检验结果与基准回归差异较大(如系数符号相反或显著性消失),需首先检查检验方法是否恰当(如工具变量是否满足外生性、PSM匹配是否平衡),若方法无误,则需考虑结论的局限性:可能是核心假设不成立(如平行趋势假设 violated),或变量度量/样本选择存在偏差,应在论文中坦诚报告该检验结果,并讨论其对结论的影响,而非选择性报告显著结果,可尝试多种稳健性检验方法,若多数检验支持基准结论,则可认为结果仍具有一定稳健性。
