Py学习  »  机器学习算法

被问爆了! Stata19这6大更新, 让因果推断和机器学习终于丝滑了.

计量经济圈 • 3 月前 • 346 次点击  
图片

凡是搞计量经济的,都关注这个号了

邮箱:econometrics666@126.com

所有计量经济圈方法论丛的code程序 , 宏微观数据库和各种软件都放在社群里.欢迎到计量经济圈社群交流访问.

 

 

 

Stata 19在计量经济学领域推出了一系列重要的更新,全面覆盖机器学习、因果推断、贝叶斯分析、生存分析、面板数据建模以及工具变量估计等核心方法。

这些更新直接解决了实证研究中常见的计量估计问题,例如,通过集成学习与CATE估计应对效应的异质性,借助控制函数法缓解内生性偏误,利用贝叶斯框架提升弱识别情境下的估计稳定性,并以高效的算法设计降低复杂模型的计算负担。

 

*注意: 一直有群友询问Stata最新的软件包,可以直接在社群里下载即可,使用起来很丝滑。

接下来,我们干脆按照方法类别系统地梳理下Stata 19的新增功能,逐一介绍相关命令、对应的计量方法及其所解决的具体估计问题。

1.机器学习与预测建模

可以通过H2O工具轻松地实现集成决策树算法。

上述命令已整合至h2oml套件中,主要包括三类估计命令:h2oml gbregress(梯度提升回归)、h2oml rfregress(随机森林回归和h2oml gbbinclass(梯度提升二元分类)。

此外,套件还提供了若干后处理命令,比如h2omlgraph permimp用于绘制变量的重要性图,h2oml predict用于生成预测结果,便于模型的评估与结果的可视化。

该方法采用了梯度提升机和随机森林等集成决策树算法。与传统的线性回归或逻辑回归相比,集成决策树不仅能有效地捕捉到复杂的非线性关系,还能更好地处理多重共线性和缺失数据等问题,同时在预测的准确性和模型的可解释性之间也取得了很好的平衡。

新方法不仅保留了对变量重要性的解释能力,还显著地提升了模型的泛化性能,因此更适用于预测任任务。

2.因果推断

在因果推断方面,Stata 19新增了多项重要功能,有效地提升了研究者识别和估计处理效应异质性的能力。

A.首先是估计条件平均处理效应(CATE),在Stata中可通过cate命令实现。

该命令能够灵活地估计不同颗粒度的处理效应。它既可以输出每个个体在给定特征条件下的条件平均处理效应,也可以按预设分组或通过数据驱动的方式自动地识别子群体,并分别估计出各组的平均处理效应,从而揭示政策效果的异质性分布。

该方法将机器学习与双重稳健估计量相结合,并基于潜在结果框架来识别处理效应在不同个体间的异质性。

传统的平均处理效应(ATE)或处理组的平均处理效应(ATT)估计方法通常假设处理效应在所有个体间是同质的,忽略了其随个体特征变化的条件异质性,容易导致政策评估结果的估计偏差。相较之下,基于条件平均处理效应(CATE)的方法无需预先设定函数形式,能够更灵活地识别出处理效应较高或较低的子群体,从而为精准的政策建议提供了实证依据。

B.其次,还拓展了控制函数法的应用,新增了cfregresscfprobit两个命令,分别用于处理包含内生变量的线性回归模型与二元选择模型。

控制函数法的核心思路是,先通过第一阶段回归估计内生变量,然后将其残差作为控制项引入第二阶段回归,从而有效地缓解由连续型或二元内生变量引发的估计偏误。

相较于传统的工具变量法(两阶段最小二乘法),该方法在非线性模型中更具灵活性与稳健性,尤其适用于工具变量难以获取或其有效性存疑的研究情况。

3.面板数据与固定效应

A. 高维固定效应估计

Stata 19显著增强了高维固定效应的估计能力,支持在aregxtreg, feivregress 2sls等命令中同时吸收多个高维分类变量及其交互项。

该功能基于交替投影算法进行计算的优化,有效地缓解了大数据场景下面板模型常见的计算瓶颈,例如有时候需要同时控制个体、行业、年份等多维固定效应时的估计效率问题。

以往,此类估计可能耗时数分钟甚至更久,如今可缩短至秒级完成,大幅提升了分析的效率。此外,咱们能够便捷地估计包含复杂交互结构的固定效应模型,进一步拓展了高维面板数据的建模能力。

B.相关随机效应模型(correlated random effect)

Stata 19新增了cre命令,用于拟合相关随机效应模型。该方法基于Mundlak与Chamberlain的思路,在随机效应模型中引入解释变量的组内均值(即每个个体在时间维度上的平均值),从而有效地缓解了传统的随机效应估计中因不可观测的异质性与解释变量相关所导致的估计偏误。

相关随机效应模型融合了固定效应与随机效应两类模型的优势。一方面,它能够像固定效应模型那样控制不可观测的个体异质性,缓解内生性问题;另一方面,又保留了随机效应模型估计时间不变(time-invariant)的变量系数的能力。

该特点使研究者在处理面板数据时,无需在模型的设定上做出非此即彼的取舍,拥有了更为灵活且稳健的分析工具。

C.面板数据向量自回归模型(Panel VAR)

Stata 19新增了xtvar命令,用于拟合面板数据向量自回归(Panel VAR)模型。该方法将传统的时间序列VAR模型拓展至面板数据框架,既能刻画多个变量之间的动态交互关系,又能兼顾不同个体(比如地区或企业)之间的异质性特征。

相较于传统的VAR模型仅基于单一时间序列、忽略横截面差异的局限性,面板VAR模型通过同时利用时间维度与个体维度的信息,显著地提升了动态因果关系的识别精度,尤其适用于分析多地区或多企业间经济变量的联动演化过程。

D.Mundlak检验辅助模型选择

Stata 19新增了estat mundlak后估计命令,可以在执行xtreg等面板回归后直接调用它。

该检验通过考察解释变量组均值的联合显著性,判断不可观测的个体效应是否与解释变量相关,从而为研究者在固定效应、随机效应及相关随机效应模型之间提供基于数据驱动的选择依据,有效地避免了因模型误设所导致的估计偏误。

相较于传统的豪斯曼(Hausman)检验,Mundlak检验仅需进行一次回归估计,即可直接采用聚类稳健标准误进行推断,操作更为简便,且在小样本或异方差情境下表现得更为稳健。

4.贝叶斯分析方法

A. 线性模型的贝叶斯变量选择

Stata 19新增了bayesselect命令,专门用于线性回归模型的贝叶斯变量选择。该方法采用专门设计的系数先验分布,包括全局–局部收缩先验(比如horseshoe先验)和spike-and-slab先验,能够自动地识别出与因变量关系最密切的预测变量子集。

相较于逐步回归等传统的变量选择方法,贝叶斯方法在估计过程中同时考虑了参数的不确定性和模型的不确定性,避免了因忽略不确定性而导致的推断过于乐观问题,使变量的筛选结果更为稳健可靠。

该命令输出丰富的后验统计量,包括各变量的后验包含概率、后验均值、后验标准差以及可信区间(credible interval),为研究者提供了量化、透明的变量筛选依据。

B. 贝叶斯分位数回归

Stata 19支持通过bayes: 前缀与qreg命令结合,拟合贝叶斯分位数回归模型。该方法以非对称拉普拉斯分布(asymmetric Laplace distribution)作为似然函数,结合参数的先验分布,为分位数的回归系数提供了完整的后验分布估计。

相较于经典的分位数回归需要依赖大样本渐近理论来计算标准误,贝叶斯分位数回归无需大样本近似,即使在样本量较小的情况下,也能基于后验分布进行可靠的假设检验与可信区间的估计,从而提供了更为稳健、全面的统计推断。

此外,该方法对误差项的分布假设较为宽松,能够有效地应对异方差与重尾误差等常见问题,进一步提升了分位数估计的可靠性与适用性。

C. 贝叶斯自举方法

Stata 19在bayesmh命令中新增了对贝叶斯自举(Bayesian bootstrap)的支持,允许咱们在模型的估计过程中引入贝叶斯自举权重,从而实现了基于重采样思想的贝叶斯推断。

该方法由Rubin于1981年提出,将贝叶斯推断与重采样思想相结合:一方面继承了经典的自举对数据分布的弱假设和灵活性,另一方面通过先验分布融入额外信息,使推断更具适应性。

贝叶斯自举尤其适用于小样本情境或涉及复杂的抽样设计(比如分层、加权抽样)的研究,能够在保留样本结构信息的同时提供比传统的自举更精确的不确定性估计。

值得注意的是,bayesmh命令如今已经支持采用非对称拉普拉斯分布(asymmetric Laplace distribution)作为似然函数,为建模偏态或重尾等非正态响应变量提供了有力工具。结合贝叶斯自举与灵活的似然设定,Stata 19进一步增强了贝叶斯方法在复杂数据场景下的适应能力与建模的灵活性。

5.生存分析与元分析

A. 区间删失多事件Cox模型

Stata 19新增了stmgintcox命令,用于拟合区间删失条件下的多事件Cox比例风险模型。该方法基于边际模型框架处理多种事件类型,能够有效地分析事件发生时间仅知其所在区间(而非确切时点)的复杂生存数据。

在医学随访或复发事件研究中,研究者通常只能确定事件发生在两次访视之间,而无法获知其确切的发生时间。面对这类区间删失数据,传统的生存分析方法容易产生估计偏误;而stmgintcox命令通过专门构造的似然函数与高效的数值算法,显著地提升了估计精度与计算效率。

此外,该命令支持聚类稳健标准误,可处理同一研究对象多次事件之间的相关性,进一步增强了模型在实际应用中的适用性与稳健性。

B. 相关系数的元分析功能

Stata 19的元分析工具套件新增了对相关系数作为效应量的支持。研究者可直接使用meta set命令,将相关系数及其标准误设定为效应量,并在此基础上执行完整的元分析流程,包括异质性检验、亚组分析、发表偏倚评估以及森林图可视化等。

这一功能弥补了以往meta命令主要聚焦于均值差、风险比等效应量的局限性,使研究者能够系统地整合多个研究中报告的变量间关联强度,特别适用于心理学、教育学等领域对构念(construct)间关系的综合评估。

此外,Stata 19新增了专门用于心理测量学元分析的meta psycorr命令,支持对相关系数进行衰减校正(比如信度校正)和范围限制校正(range restriction correction),从而更准确地估计变量间的真实关联强度,显著地提升了相关系数元分析的准确性与可靠性。

6.工具变量与动态模型

A. 工具变量识别的结构向量自回归模型

Stata 19新增了ivsvar 命令,支持通过外部工具变量识别结构向量自回归(SVAR)模型的参数,摆脱了对传统的短期或长期约束的依赖。

传统的SVAR分析通常需要施加理论驱动的识别约束(比如同期或跨期限制),但这类约束往往带有较强的主观性,若设定不当,可能扭曲变量间的动态因果关系。相比之下,ivsvar允许研究者引入外生工具变量进行模型识别,显著地提升了设定的客观性与估计结果的稳健性。

模型估计完成后,咱们可以继续使用熟悉的irf命令系列计算并可视化结构脉冲响应函数,从而系统地分析变量之间的动态因果效应。

B. 工具变量局部投影脉冲响应函数

Stata 19新增了ivlpirf命令,将局部投影(local projection)方法与工具变量估计相结合,可以在存在内生性问题时稳健地估计脉冲响应函数。

传统的VAR模型的脉冲响应函数对模型设定较为敏感,特别是当冲击变量存在内生性时,估计结果容易产生偏误。局部投影方法通过对多期滞后项直接回归来估计响应路径,其本身已较传统的VAR方法更为稳健;而ivlpirf命令进一步引入工具变量以控制内生性,使其在面临遗漏变量、测量误差或反向因果等常见问题时,仍然能够获得可靠的动态因果效应估计量。

该方法兼具灵活性与稳健性,为研究者分析结构性冲击的动态传导机制提供了更为可靠的实证工具。

C. 弱工具变量情形下的稳健推断

为应对弱工具变量导致传统推断失效的问题,Stata 19新增了estat weakrobust后估计命令。在执行ivregress等工具变量回归后,咱们可以调用该命令获得对弱工具变量稳健的置信区间与假设检验结果,包括Anderson–Rubin检验和条件似然比检验(conditional likelihood ratio test)等。

当工具变量与内生变量的相关性较弱时,这些方法仍能维持正确的检验水平,有效地规避了传统Wald检验在弱工具情形下常见的严重大小扭曲(size distortion)问题,从而为工具变量分析提供了更为可靠的统计推断基础。

D. 潜类模型的类数选择辅助工具

Stata 19新增了lcstats命令,用于系统比较由fmmgsem拟合的不同类数潜类模型。该命令可自动生成对比表格,汇总各模型的对数似然值、AIC、BIC等信息准则,为研究者选择最优类数提供了客观依据。

在潜类分析中,类数的确定往往缺乏明确标准,容易受到主观判断的影响。lcstats命令通过整合多维度拟合指标并以结构化形式呈现,显著降低了类数选择的随意性,提升了模型设定的科学性与结果的可重复性。

还有很多其他更新,可以进一步到社群交流讨论。

这些更新都显著增强了Stata 19应对现代计量挑战的能力,尤其在处理大数据、效应异质性与模型不确定性等复杂场景时表现相当出色。与此同时,一系列辅助功能的改进,比如Do-file Editor的代码自动补全、热图绘制、collect表格系统以及多帧数据修改等,也大幅提升了日常分析的工作效率与群友的体验。

 

新命令与方法汇总表

 

1.国外教授整理了高效使用Stata的48个小技巧, 制作动图的代码爱了!2.用Stata绘制25种从简到难的数据图, 提供完整代码和绘图结果!3.PDF出来了! 使用Stata学应用微观计量方法的宝典第二版电子版!4.如何高效使用Stata进行实证, 为你推荐百多页的学习Tips材料!

关于Stata, 1.Stata19新增功能有哪些? 满满干货拿走不谢,2.Stata资料全分享,快点收藏学习3.Stata统计功能、数据作图、学习资源4.Stata学习的书籍和材料大放送, 以火力全开的势头5.史上最全Stata绘图技巧, 女生的最爱 ,6.把Stata结果输出到word, excel的干货方案,7.编程语言中的函数什么鬼?Stata所有函数在此集结,8.世界范围内使用最多的500个Stata程序,9.6张图掌握Stata软件的方方面面, 还有谁, 还有谁? 10.LR检验、Wald检验、LM检验什么鬼?怎么在Stata实现

11.Stata15版新功能,你竟然没有想到,一睹为快,12."高级计量经济学及Stata应用"和"Stata十八讲"配套数据,13.数据管理的Stata程序功夫秘籍,14.非线性面板模型中内生性解决方案以及Stata命令15.把动态面板命令讲清楚了,对Stata的ado详尽解,16. 半参数估计思想和Stata操作示例,17.Stata最有用的points都在这里,无可替代的材料18.PSM倾向匹配Stata操作详细步骤和代码,干货十足,19.随机前沿分析和包络数据分析 SFA,DEA 及Stata操作

20.福利大放送, Stata编程技巧和使用Tips大集成 ,21.使用Stata进行随机前沿分析的经典操作指南,22.Stata, 不可能后悔的10篇文章, 编程code和注解,23.用Stata学习Econometrics的小tips, 第二发礼炮,24.用Stata学习Econometrics的小tips, 第一发礼炮,25.广义合成控制法gsynth, Stata运行程序release,26. 多重中介效应的估计与检验, Stata MP15可下载,27.输出变量的描述性统计的方案

28.2SLS第一阶段输出, 截面或面板数据及统计值都行,29.盈余管理指标的构建及其Stata实现程序, 对应解读和经典文献,30.Python, Stata, R软件史上最全快捷键合辑!,31. 用Stata做面板数据分析, 操作代码应有尽有,32.用Stata做面板数据分析, 操作代码应有尽有,33.没有这5个Stata命令, 我真的会活不下去!,34.第一(二)卷.Stata最新且有趣的程序系列汇编,35.第三卷.Stata最新且急需的程序系列汇编,36. 第四卷.Stata最新且急需的程序系列汇编

 

下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。

8年,计量经济圈近2500篇不重类计量文章,

可直接在公众号菜单栏搜索任何计量相关问题,

Econometrics Circle

数据系列 空间矩阵 | 工企数据 | PM2.5 | 市场化指数  | CO2数据 |  夜间灯光 官员方言  | 微观数据  | 内部数据

计量系列匹配方法 | 内生性 | 工具变量  | DID | 面板数据 | 常用TOOL | 中介调节  | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 |  因果识别 | 社会网络 | 空间DID

数据处理Stata  | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等  |

干货系列能源环境 | 效率研究 | 空间计量 |  国际经贸 | 计量软件 | 商科研究 | 机器学习 |  SSCI | CSSCI | SSCI查询 | 名家经验

计量经济圈组织了一个计量社群,有如下特征:热情互助最多前沿趋势最多 、社科资料最多、社科数据最多、科研牛人最多、海外名校最多。因此,建议积极进取和有强烈研习激情的中青年学者到社群交流探讨,始终坚信优秀是通过感染优秀而互相成就彼此的。

图片图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/193007