社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

双重机器学习DML用途, 步骤, 优势, 示例和代码等完整方法, 不信你还不懂, 附code.

计量经济圈 • 2 月前 • 568 次点击  

凡是搞计量经济的,都关注这个号了
邮箱:econometrics666@126.com
所有计量经济圈方法论丛的code程序, 宏微观数据库和各种软件都放在社群里.欢迎到计量经济圈社群交流访问.

接着“1.前沿, 双重机器学习方法DML用于因果推断, 实现它的code是什么?2.使用双重机器学习DML方法进行因果推断和政策评估的案例, 数据和代码分享

今天,看看双重机器学习(Double Machine Learning, DML)的用途, 步骤, 优势, 示例和代码等完整方法。


双重机器学习,也就是人尽皆知的DML,它是一种将现代机器学习方法与传统计量经济学因果推断技术相结合的框架,主要用于在高维数据和复杂非线性关系下估计因果效应。

它通过对干预变量(或称处理变量)和结果变量分别利用机器学习模型进行预测,进而提取两者关于控制变量(协变量)的“残差”,最后对这两个残差进行线性回归,从而实现对因果效应(如平均处理效应ATE或条件平均处理效应CATE)的无偏估计。

这种方法的核心在于构造“正交化”或“去偏”得分,使得即使在使用灵活的、可能存在过拟合风险的机器学习方法时,也能得到渐近正态且稳健的因果效应估计。

它的核心思想是什么呢?

双重机器学习(DML)是一种将现代机器学习方法与传统计量经济学因果推断技术相结合的框架,最早由 Chernozhukov 等人在 2018 年提出。

其核心思想在于:

a.利用机器学习模型分别对结果变量 Y 和处理变量 T关于大量控制变量(协变量)X 进行预测,获得各自的预测值;

b.将实际值与预测值相减,得到残差(也称为“去偏”后的部分),这样一来就消除了协变量对 Y与 T的混杂影响;

c.最后对 Y的残差回归T的残差,所得到的回归系数便是我们关注的因果效应(例如平均处理效应 ATE 或条件平均处理效应 CATE)。

这一过程通常伴随交叉拟合(cross-fitting)和构造正交得分(orthogonal score),使得即使第一阶段的机器学习预测存在一定偏误,最终的因果效应估计仍保持无偏和稳健。

(先用机器学习预测 Y和 T,再用残差回归以消除高维协变量的影响。)

核心步骤:

(1)预测干预变量和结果变量

干预变量(处理变量):使用机器学习模型(如随机森林、梯度提升树等)对干预变量 T 进行预测,得到预测值 T^。
结果变量:使用机器学习模型对结果变量 Y 进行预测,得到预测值 Y^。
控制变量(协变量):这些变量用于预测 TY,但它们的影响会被“去除”。

(2)提取残差

干预变量的残差:计算 T~=TT^,即干预变量的实际值与其预测值的差异。
结果变量的残差:计算 Y~=YY^,即结果变量的实际值与其预测值的差异。
这些残差表示了在去除控制变量影响后,干预变量和结果变量的“净”变化。

(3)线性回归

对残差进行线性回归:将 Y~ 对 T~ 进行回归,得到因果效应的估计值。
回归模型可以表示为:
Y~=θT~+ϵ
其中,θ 是因果效应的估计值,ϵ 是误差项。

正交化(去偏)得分

正交化:通过残差化处理,使得干预变量和结果变量的预测误差与控制变量正交(即不相关)。这一步骤确保了因果效应估计的无偏性。
去偏:即使机器学习模型存在过拟合风险,正交化技术也能减少偏差,使得因果效应估计值渐近正态且稳健。

DML主要用途是啥呢?

DML主要用于以下情境:

因果效应估计:适用于计算平均处理效应(ATE)、条件平均处理效应(CATE)等,特别是在观察性数据中存在大量混杂因素时;在观测性数据中,由于存在大量混淆变量,直接进行简单回归往往无法得到干预效果的准确估计。

DML利用机器学习对混淆因素进行非参数建模,从而“净化”处理变量和结果变量中的混杂影响,进而准确估计干预(例如政策、治疗)对结果的因果效应。

高维数据问题:当协变量维数较高(如金融、基因、文本数据等)时,传统线性回归难以处理,而DML可以利用 LASSO、随机森林、梯度提升、神经网络等灵活模型进行拟合;

高维数据下的变量选择与估计:当协变量数量很多且可能呈现复杂非线性关系时,传统方法(如OLS或匹配方法)往往难以兼顾灵活性和稳定性,而DML可以利用随机森林、Lasso、梯度提升、神经网络等方法进行建模,再通过交叉拟合和正交化处理减少模型选择偏误,从而获得较为稳健的估计结果。

非线性关系建模:处理变量和结果变量间可能存在复杂的非线性关系,通过机器学习方法可捕捉更复杂的数据结构。

(DML在处理高维、非线性数据以及在因果推断中的广泛应用,以及在政策评估和因果效应测定中的应用。)

那DML相对于传统因果推断方法的优势有哪些呢?

优势介绍一下

高维控制与灵活建模

利用机器学习模型(如随机森林、LASSO等)可以捕捉非线性及高维协变量的复杂关系,避免对协变量函数形式做出严格假设。

双重去偏技术

通过对 Y 和 T分别残差化,再进行回归,消除了因协变量带来的混杂偏差,从而得到更稳健的因果效应估计。

正交化与交叉拟合

构造正交(orthogonal)得分与交叉拟合方法能降低模型选择偏误和过拟合风险,提高估计效率和准确性。

适用范围说实话比较广

除了估计 ATE 外,还可以扩展到 CATE 和反事实预测,适用于多种因果推断场景。

(DML 能够有效降低模型误设偏误和过拟合问题,提供比传统 OLS、匹配或工具变量方法更为稳健的估计。)

优势:
1.高维控制与灵活建模
传统因果推断方法(如标准回归、倾向评分匹配、工具变量法等)往往要求对协变量的函数形式做出严格假设,而 DML 利用机器学习模型能够灵活捕捉非线性和高维关系,从而在模型设定上具有更大稳健性。
2.正交化与样本交叉验证
通过将估计过程分为两步——首先利用机器学习方法预测并求得残差,再对残差进行线性回归——DML构造的正交得分(orthogonal score)使得最终估计对第一阶段机器学习方法的偏误不敏感,同时采用交叉拟合(cross-fitting)降低了过拟合的风险。
3.适用范围广
DML框架不仅适用于估计平均因果效应(ATE),还可扩展到异质性因果效应(CATE)和反事实预测等应用场景,提供了一个统一而灵活的因果推断方法。

示例代码

下面给出在 Stata、R 和 Python 中实现 DML 的示例代码。

Stata示例

使用 Stata 中借助 Python 支持的命令包(如 ddml)实现双重机器学习:

这段代码先利用机器学习(随机森林)分别预测 T 和 Y的期望值,再通过交叉拟合得到残差,最后回归残差获得因果效应估计。

R示例

利用 R 的 DoubleML 包实现 DML,示例中生成模拟数据并使用随机森林作为基础模型:

该示例通过 DoubleMLPLR 模型分别对 Y和 T进行预测,并利用交叉拟合消除混杂,得到无偏的处理效应估计。

Python示例

在 Python 中,使用 DoubleML 或 EconML 库实现 DML。例如,以下代码使用 doubleml-for-python 包:

这段代码利用随机森林对 YY 和 TT 分别建模,并通过 5 折交叉拟合计算得到平均处理效应(ATE)。

最后,我们总结一下DML方法:

双重机器学习(DML)是一种专门用于因果推断的统计方法,旨在解决高维数据和非线性模型下因果效应估计的问题。

其核心步骤是:

1.利用机器学习预测 Y和 T – 分别用协变量 X预测结果变量 Y和处理变量 T,得到预测残差(去除协变量解释部分);

2.残差回归 – 对 Y的残差回归 T的残差,利用 Frisch-Waugh-Lovell 定理得到因果效应估计。

3.交叉拟合与正交化 – 通过样本交叉拟合(cross-fitting)和构造正交得分,使得估计对第一阶段机器学习模型的偏误不敏感,从而达到无偏且稳健的效果。

那用途与优势呢?

适用于高维、非线性数据环境下的因果效应(如 ATE 和 CATE)估计;

相对于传统方法(如 OLS、匹配、工具变量等),DML 能够更灵活地处理复杂数据结构,降低模型误设偏差和过拟合风险;

双重机器学习利用两个阶段的机器学习预测与残差回归,结合交叉拟合与正交化思想,有效解决了高维与非线性问题中的因果推断难题,能够在复杂数据环境下提供稳健且无偏的处理效应估计。

*群友可以在社群下载上面完整代码code。
关于机器学习,参看1.机器学习之KNN分类算法介绍: Stata和R同步实现(附数据和代码),2.机器学习对经济学研究的影响研究进展综述,3.回顾与展望经济学研究中的机器学习,4. 最新: 运用机器学习和合成控制法研究武汉封城对空气污染和健康的影响! 5.Top, 机器学习是一种应用的计量经济学方法, 不懂将来面临淘汰危险!6.Top前沿: 农业和应用经济学中的机器学习, 其与计量经济学的比较, 不读不懂你就out了!7.前沿: 机器学习在金融和能源经济领域的应用分类总结,8.机器学习方法出现在AER, JPE, QJE等顶刊上了!9.机器学习第一书, 数据挖掘, 推理和预测,10.从线性回归到机器学习, 一张图帮你文献综述,11.11种与机器学习相关的多元变量分析方法汇总,12.机器学习和大数据计量经济学, 你必须阅读一下这篇,13.机器学习与Econometrics的书籍推荐, 值得拥有的经典,14.机器学习在微观计量的应用最新趋势: 大数据和因果推断,15.R语言函数最全总结, 机器学习从这里出发,16.机器学习在微观计量的应用最新趋势: 回归模型,17.机器学习对计量经济学的影响, AEA年会独家报道,18.回归、分类与聚类:三大方向剖解机器学习算法的优缺点(附Python和R实现),19. 关于机器学习的领悟与反思,20.机器学习,可异于数理统计,21.前沿: 比特币, 多少罪恶假汝之手? 机器学习测算加密货币资助的非法活动金额! 22.利用机器学习进行实证资产定价, 金融投资的前沿科学技术! 23.全面比较和概述运用机器学习模型进行时间序列预测的方法优劣!24.用合成控制法, 机器学习和面板数据模型开展政策评估的论文!25.更精确的因果效应识别: 基于机器学习的视角,26.一本最新因果推断书籍, 包括了机器学习因果推断方法, 学习主流和前沿方法,27.如何用机器学习在中国股市赚钱呢? 顶刊文章告诉你方法!28.机器学习和经济学, 技术革命正在改变经济社会和学术研究,29.世界计量经济学院士新作“大数据和机器学习对计量建模与统计推断的挑战与机遇”,30.机器学习已经与政策评估方法, 例如事件研究法结合起来识别政策因果效应了!31.重磅! 汉森教授又修订了风靡世界的“计量经济学”教材, 为博士生们增加了DID, RDD, 机器学习等全新内容!32.几张有趣的图片, 各种类型的经济学, 机器学习, 科学论文像什么样子?33.机器学习已经用于微观数据调查和构建指标了, 比较前沿!34.两诺奖得主谈计量经济学发展进化, 机器学习的影响, 如何合作推动新想法!
下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。

7年,计量经济圈近2000篇不重类计量文章,

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

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/178888
 
568 次点击