https://zhuanlan.zhihu.com/p/362411150
【Uplift】模拟数据篇
文章目录
增量建模对数据要求相对严格,尤其是要用于评估模型效果的数据集。如果是实际业务场景,则需要有随机试验数据作为验证集。另一方面,增量建模的机制比较明确,因此可以通过构建模拟数据集来验证建模方法的效果。
下面几篇文章都提出了相应的数据集,本文选取部分示例作介绍
[1]Uplift Modeling with Multiple Treatments and General Response Types
[2]Quasi-Oracle Estimation of Heterogeneous Treatment Effects
[3]Feature Selection Methods for Uplift Modeling
[4]A Large Scale Benchmark for Uplift Modeling【真实数据】
[5]CausalML【与[2]一致】
模拟数据集的组成
一个完整的数据集包括X、W、Y三个数据。
X,特征变量。通常包括三种:①影响W、Y的;②仅影响Y的;③与W、Y无关的。分别表示混淆变量、其他对Y预测有帮助的、与本问题无关的噪声。
W,干预的选择。可以是单变量二值类型的,也可以是多值的。可以由“倾向得分”通过伯努利分布采样得到,而倾向得分可能由部分X变量得到。
Y,预测目标。不同干预的结果的差异即为uplift。
模拟数据集示例
[2]R-Learner论文中的4种模拟,也是CausalML中用的,回归
注:这里causalML官方文档说明有问题,但其代码跟原文差不多
倾向性得分: e ∗ ( X i ) e^*(X_i) e∗(Xi);噪声级别: σ \sigma σ;因果效应函数: τ ∗ ( ⋅ ) \tau^*(\cdot) τ∗(⋅);Y的平均水平: b ∗ ( X i ) b^*(X_i) b∗(Xi)。
d维变量X及其分布: X i ∼ P d X_i\sim P_d Xi∼Pd.
干预W的选择: W i ∣ X i ∼ Bernoulli ( e ∗ ( X i ) ) W_{i} \mid X_{i} \sim \text { Bernoulli }\left(e^{*}\left(X_{i}\right)\right) Wi∣Xi∼ Bernoulli (e∗(Xi)).
噪声: ε i ∣ X i ∼ N ( 0 , 1 ) \varepsilon_{i} \mid X_{i} \sim \mathcal{N}(0,1) εi∣Xi∼N(0,1).
Y的取值: Y i = b ∗ ( X i ) + ( W i − 0.5 ) τ ∗ ( X i ) + σ ε i Y_{i}=b^{*}\left(X_{i}\right)+\left(W_{i}-0.5\right) \tau^{*}\left(X_{i}\right)+\sigma \varepsilon_{i} Yi=b∗(Xi)+(Wi−0.5)τ∗(Xi)+σεi.
A.复杂的组成,简单的因果
b ∗ ( X i ) = sin ( π X i 1 X i 2 ) + 2 ( X i 3 − 0.5 ) 2 + X i 4 + 0.5 X i 5 b^{*}\left(X_{i}\right)=\sin \left(\pi X_{i 1} X_{i 2}\right)+2\left(X_{i 3}-0.5\right)^{2}+X_{i 4}+0.5 X_{i 5} b∗(Xi)=sin(πXi1Xi2)+2(Xi3−0.5)2+Xi4+0.5Xi5
X i ∼ Unif ( 0 , 1 ) d , e ∗ ( X i ) = trim 0.1 { sin ( π X i 1 X i 2 ) } X_{i} \sim \operatorname{Unif}(0,1)^{d}, \quad e^{*}\left(X_{i}\right)=\operatorname{trim}_{0.1}\left\{\sin \left(\pi X_{i 1} X_{i 2}\right)\right\} Xi∼Unif(0,1)d,e∗(Xi)=