来源: PaperWeekly  编辑:王菁
校对:林亦霖本文约1700字,建议阅读5分钟本文中各类 forest-based methods 主要从 split 和 predict 两个角度展开,忽略渐进高斯性等理论推导。

1. Random Forest

传统随机森林由多棵决策树构成,每棵决策树在第 i 次 split 的时候,分裂准则如下(这里关注回归树):

其中  表示在  的划分情况下, 所在的叶子结点。随机森林构建完成后,给定测试数据 ,预测值为:

2. Causal Forest

类似地,因果森林由多棵因果树构成,由于需要 Honest estimation(用互不重合的数据  分别进行 split 和 estimate),因此相较于决策树,每棵因果树 split 的分裂准则修改如下:

其中:

在叶子结点内可以认为所有样本同质,所以因果森林构建完成后,给定测试数据 ,其预测值为:

3. Generalized Random Forest

广义随机森林可以看作是对随机森林进行了推广:原来随机森林只能估计观测目标值 ,现在广义随机森林可以估计任何感兴趣的指标 。

3.1 predict

先假设我们在已经有一棵训练好的广义随机森林,现在关注给定测试数据,如何预测我们感兴趣的指标?

通过公式 (2) 和 (3),传统随机森林预测的做法是:

1. 在单棵树中,将测试数据  所在叶子结点的观测目标值取平均作为该树对  的预测;

2. 在多棵树中,将单棵树的不同预测结果取平均作为最终的预测结果。

而在广义随机森林中,首先基于因果森林得到各数据  相对于测试数据  的权重 ,之后加权求解局部估计等式,具体地:

权重估计阶段:将数据  与测试数据  在同一叶子结点中的“共现频率”作为其权重,如下:

加权求解局部估计等式阶段:下式中  表示我们感兴趣的参数, 表示我们不感兴趣但必须估计的参数, 表示观测到的与我们感兴趣的参数相关的值。

在 predict 阶段,我们可以证明,随机森林恰好是广义随机森林的一个特例,证明如下:

首先,在随机森林的 setting 下,,我们感兴趣的参数恰好是 ;

极大似然函数为 ,其 score function 为 ;

因此公式 (11) 为:

因此有 ,可得:

3.2 split

首先,由于广义随机森林的目标是准确估计感兴趣的参数 ,因此针对单一节点  与一组样数据 ,估计参数  的方法是:

接着,我们要将节点 P 分裂为两个子节点 ,分裂的目标是极小化感兴趣的参数的误差:

但是实际上  是不可见的,经过一番推导,最终可以发现最小化  等价于最大化下面的公式:

也就是说,最小化感兴趣的参数的误差等价于最大化两个子节点的异质性。

如果每个  都通过求解式 (12) 获得,那算法的计算复杂度非常高,因此可以通过 gradient-based 的方法去得到  的近似解:

至此,我们可以将 split 分成两个阶段:

标记阶段:计算父节点的 ,之后针对每个样本计算虚拟的目标值:

回归阶段:分裂准则为最大化式 (14):

在 split 阶段,也可以证明随机森林是广义随机森林的一个特例:

首先,在随机森林的 setting 下,score function 为 ;

此时:

3.3 局部估计等式

在广义随机森林中,假设下列的数据产生过程:

这里 ,有:

此时  相当于:

带上权重  的时候类似。

3.4 other

causal forest 和 generalized random forest 的分裂准则其实是等价的,只不过式 (4) 考虑了下式的 b 和 c 两部分,式 (13)/(15) 只考虑了 b 部分:

4. Orthogonal Random Forest

orthogonal random forest 只是在 generalized random forest 的基础上进行了两个改动:

加了 DML:在一开始先拟合 ,得到残差(first stage);再对残差跑 generalized random forest(second stage)。与广义随机森林的 score function (16) 相比,正交随机森林的 score function 的定义如下:

此时  相当于:

带上权重  的时候类似:

在 predict 阶段强调 locally,即拟合  的时候(DML 的 first stage)使用上权重 。

5. TO DO

记录一个还没想明白的问题,路过的大佬有懂的欢迎讨论。

到这里我们可以发现一个节点内的数据的 HTE 有两种计算方式:

一种是如式 (8) 所示,直接计算不同 treatment 组的期望相减,即 ;

另外一种是求解式 (12) 的局部估计等式。

在随机森林假设的线性 treatment effect 的情况下,这两种计算本质上是等价的。那为什么式 (13) 中的  不能直接用第一种方式求,而是要大费周章地用梯度去近似呢?

目前的结论:上述等价性成立的前提是线性 effect 和二元 treatments 假设,第二种计算方式可以推广到多元甚至连续 treatments。

参考文献

[1] Athey S, Imbens G. Recursive partitioning for heterogeneous causal effects[J]. Proceedings of the National Academy of Sciences, 2016, 113(27): 7353-7360.

[2] Wager S, Athey S. Estimation and inference of heterogeneous treatment effects using random forests[J]. Journal of the American Statistical Association, 2018, 113(523): 1228-1242.

[3] Athey S, Tibshirani J, Wager S. Generalized random forests[J]. The Annals of Statistics, 2019, 47(2): 1148-1178.

[4] Oprescu M, Syrgkanis V, Wu Z S. Orthogonal random forest for causal inference[C]//International Conference on Machine Learning. PMLR, 2019: 4932-4941.

因果森林总结:基于树模型的异质因果效应估计相关推荐

  1. 基于参数化模型(MANO)的手势姿态估计---全面剖析

    目前, 主流的手部姿态估计的技术方案是使用马普所于2017年提出的MANO参数化模型, 在此基础上回归3D坐标, 这是因为MANO有很合理的结构以及定义好的前向动力学树.本文的目的在于为大家介绍,基于 ...

  2. 为何基于树的模型在表格型数据中能优于深度学习?

    为何基于树的模型在表格型数据中能优于深度学习? FesianXu 20220908 at Baidu Search Team 前言 基于树的模型(Tree-based model),比如GBDT,XG ...

  3. 因果推断10--一种大规模预算约束因果森林算法(LBCF)

    论文:A large Budget-Constrained Causal Forest Algorithm 论文:http://export.arxiv.org/pdf/2201.12585v2.pd ...

  4. 树模型(1)-入门指南

    原文地址:https://www.analyticsvidhya.com/blog/2016/04/complete-tutorial-tree-based-modeling-scratch-in-p ...

  5. 树模型(六):XGBoost

    0 XGB vs GBDT 正则项:在使用CART作为基分类器时,XGBoost显式地加入了正则项来控制模型的复杂度,有利于防止过拟合,从而提高模型的泛化能力. 二阶导数:GBDT在模型训练时只使用了 ...

  6. 机器学习(三)树模型

    机器学习(一)LR 机器学习(二)SVM 机器学习(三)树模型 机器学习(四)聚类 机器学习(三)树模型 目录 二.树模型 1.ID3 2.C4.5 3.CART树 (1)算法步骤 (2)举例 (3) ...

  7. 【机器学习】为什么在信用风险建模中首选树模型?

    信用风险建模是一个可以使用机器学习来提供解决方案的领域,因为它能够从大量异构数据中找到答案.在信用风险建模中,还需要推断特征,因为它们在数据驱动的决策中非常重要. 在这篇文章中,我们来研究什么是信用风 ...

  8. Python计算树模型(随机森林、xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化、基于特征排列的特征重要性(feature permutation)计算及可视化

    Python计算树模型(随机森林.xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化.基于特征排列的特征重要性(feature permutation)计算及可视化 目录

  9. 连续因果森林模型的构造与实践

    桔妹导读:近年来,因果推断逐渐成为了机器学习中的热点话题.增益模型(Uplift Model)作为工业界因果推断与机器学习结合最成熟的算法之一,在智能营销中有着广泛的应用.目前大多数增益模型仅讨论了二 ...

最新文章

  1. 基于oracle的数据系统,基于Oracle 的数据库系统
  2. Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional
  3. 谷歌生物医学专用翻译_文献翻译|知云翻译,写论文必备~
  4. 连接MySQL的10060错误:Can't connect to MySQL server on '*.*.*.*'(10060)
  5. java---实现闹钟的基本功能
  6. springboot aop使用_Spring Boot 的自动配置,是如何实现的?
  7. 【spring boot】8.spring boot的日志框架logback使用
  8. 101个MySQL调试和优化技巧
  9. 合成孔径雷达算法与实现_地基干涉合成孔径雷达图像非线性大气相位补偿方法...
  10. 二项式定理等价变换与简单推论
  11. 基于分段解析法的单自由度反应谱程序
  12. 动物基因组测序基础分析流程总结(GWAS全流程第一部分:WGS基础流程)
  13. charles介绍及代理设置
  14. Matlab的主成分分析
  15. 记录一个 Python 的 re.match() 的小坑
  16. LeetCode: 872. Leaf-Similar Trees
  17. #{}和¥{}的区别
  18. 入侵检测系统和入侵防护系统的区别
  19. 记录AOSP源码编译刷机(pixel 4a)
  20. 好用的chrome浏览器网页翻译插件

热门文章

  1. 手机远程启动汽车,汽车远程启动还是手机控制好!有一种远程手机启动热车系统非常的不错是什么功能知道吗?
  2. php必应壁纸 分辨率,Python爬取必应壁纸的代码实例
  3. C语言abs函数与fabs函数,函数abs 和fabs
  4. Airbnb如何应用AARRR策略成为全球第一民宿平台
  5. Mac 安装 TeamViewer 打开应用闪退
  6. Qualcomm MSM8916 将开关机动画放置到指定分区做法
  7. 测试工程师如何跟进用户反馈
  8. 完整的次世代3D游戏建模制作流程,学习教程分享
  9. oracle00312,ORA-00322 ORA-00312 恢复
  10. 电脑 蓝屏报错:SYSTMEM SCAN AT RAISED IRQL CAUGHT IMPROPER DRIVER UNLOAD