大数据因果推断-正交随机森林和因果森林

本文介绍了正交随机森林(ORF)和因果森林在因果推断中的应用,强调了它们在处理高维混杂因素和异质性治疗效果中的优势。通过仿真和实际数据案例,展示了这两种方法在估计和推断中的效果,并讨论了在机器学习与因果推断结合中的统计推断方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大数据因果推断-正交随机森林和因果森林

使用正交随机森林与因果森林进行因果推断的用例文章。


参考:
[1]Oprescu M , Syrgkanis V , Wu Z S . Orthogonal Random Forest for Causal Inference[J]. Papers, 2019.

[2]Oprescu M , Syrgkanis V , Wu Z S . Orthogonal Random Forest for Heterogeneous Treatment Effect Estimation[J]. Vasilis Syrgkanis, 2018.

[3]Wager S, Athey S. ,2018,“Estimation and Inference of Heterogeneous Treatment Effects using Random Forests”, Journal of the American Statistical Association, 113:523,1228-1242.


引言

因果森林和广义随机森林是一种估计随机森林处理效果异质性的灵活方法。 正交随机森林(ORF)与广义随机森林结合使用正交化技术,该技术可有效消除两阶段估计中的混淆效应。 由于该方法的正交化方面,ORF在存在高维混杂因素的情况下表现尤其出色。

因果推断(causal )是计量经济学最核心的问题之一。传统上,大多数因果推断的应用数据量比较小,对于异质性的讨论不够充分,而现在越来越多的应用开始潜在的对个体的处理效应进行估计。

使用异质性处理效用的一个担心是,一些研究者可能会去寻找那些处理效应比较强的个体,并只报告这些个体的结果。为了解决这些问题,Athey和Imbens在去年JASA的文章中给出了一个基于决策树和随机森林的解决方案,或称因果森林。

该方法本质上是一个非参数的方法。与传统非参数方法,比如临近匹配、基于kernel的方法等相比,该方法具有一个优势即该方法没有『维数诅咒』的问题,而传统方法当变量的维数增加时效果会大打折扣。

当然,没有推断就没有因果推断。决策树、随机森林是机器学习中常用的算法,然而机器学习通常而言重视预测结果而非推断。本文的另一贡献在于,在将随机森林算法与因果推断相结合的同时,给出了估计量的渐进分布和构造置信区间的方法。

决策树是机器学习中常用的算法,该算法使用了一种层级的结构:树,来帮助预测。

其中中间的层次成为节点,而最终的节点我们一般成为「叶」。

以分类问题为例,决策树通常使用递归的方法一层一层的将数据分解为不同的子样本,比如在上图的树中,每个节点都代表一个子样本,为了继续让树增长,需要一个指标度量下一步如何分组才能使得两个分类更能被区分开。比如,C4.5算法使用熵增作为标准,而CART算法使用基尼系数作为标准。CART算法不仅仅可以做分类,还可以做回归,其最终的结果是一个二叉树。由于这些特性,本文使用了CART算法。

在决策树的基础之上,还可以进一步做随机森林(Random forest),即首先使用Bootstrap的想法有放回的在数据中抽样,同时抽取特征(自变量X)的一个子集,进行决策树的预测。以上步骤可以不断重复,形成很多很多决策树,最终的决策结果由所有这些决策树的投票产生。在实践中,随机森林的分类效果通常非常理想。

可参考上述文献。


1 仿真 & 结果

1.1 数据生成

这里,我们使用数据生成过程(DGP)。 DGP由以下方程式描述:
在这里插入图片描述
𝑊是高维混杂因子的矩阵,而𝛽,𝛾具有高度稀疏性。在本GDP过程中:
θ x = exp ⁡ ( 2 × x 1 ) \theta_{x} = \exp(2\times{x_{1}}) θx=exp(2×x1)

# DGP常数
np.random.seed(123)
n = 1000
n_w = 30
support_size = 5
n_x = 1

# Outcome support
support_Y = np.random.choice(range(n_w), size=support_size
### DML(双机器学习)在因果推断中的实现方法 #### 背景介绍 因果推断的目标是从观察数据中估计处理效应,而传统的统计方法可能受到混杂因素的影响。为了克服这一挑战,DML 提供了一种结合机器学习技术来解决高维协变量问题的方法[^1]。 #### 核心思想 双重机器学习的核心在于通过两步过程减少模型误差对因果估计的影响。具体来说,它利用交叉拟合技术正交化策略,使得即使预测模型存在偏差,最终的因果效应估计仍然具有一致性渐近正态性[^2]。 #### 数学表示 假设我们有如下结构方程: \[ Y = g(T, X) + \epsilon_Y \] 其中 \(Y\) 是结果变量,\(T\) 是干预变量,\(X\) 表示一组控制变量。\(\epsilon_Y\) 是噪声项。目标是估计条件平均处理效应 (CATE),即: \[ \tau(x) = E[Y|T=1,X=x] - E[Y|T=0,X=x].\] #### 实现步骤概述 以下是基于 DML 的因果推断的主要实现方式: 1. **初步回归建模** 使用任意灵活的机器学习算法分别对结果变量干预变量进行建模。例如,可以采用随机森林、梯度提升决策树或者神经网络等复杂模型。 ```python from sklearn.ensemble import RandomForestRegressor # 对结果变量建模 model_y = RandomForestRegressor() model_y.fit(X_train, y_train) # 对干预变量建模 model_t = RandomForestRegressor() model_t.fit(X_train, t_train) ``` 2. **残差计算** 利用训练好的模型生成样本外预测值,并进一步计算残差。这一步骤通常涉及 K 折交叉验证以确保无偏估计。 ```python residuals_y = y_test - model_y.predict(X_test) residuals_t = t_test - model_t.predict(X_test) ``` 3. **二次线性回归** 将上述得到的结果变量干预变量的残差作为输入特征重新构建一个简单的线性回归模型,从而获得更稳健的因果效应估计。 ```python from statsmodels.api import OLS ols_model = OLS(residuals_y, residuals_t).fit() causal_effect_estimate = ols_model.params[0] ``` 4. **置信区间与显著性检验** 结合 Bootstrap 或者其他统计工具评估估计量的标准误并报告相应的 p 值。 以上流程展示了如何借助现代机器学习技术改进传统经济计量分析框架下的因果关系研究能力。 #### Python 库支持 实际操作过程中可考虑调用专门设计用于此类任务开源软件包如 `econml` 来简化开发工作流。 ```python from econml.dml import CausalForestDML estimator = CausalForestDML(model_y=model_y, model_t=model_t, discrete_treatment=False) estimator.fit(y=y_data, T=t_data, X=X_features) effects = estimator.effect(X_new_samples) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值