大数据因果推断-正交随机森林和因果森林
使用正交随机森林与因果森林进行因果推断的用例文章。
参考:
[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