【Uplift】模拟数据篇

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_dXiPd.

干预W的选择:W i ∣ X i ∼  Bernoulli  ( e ∗ ( X i ) ) W_{i} \mid X_{i} \sim \text { Bernoulli }\left(e^{*}\left(X_{i}\right)\right)WiXi Bernoulli (e(Xi)).

噪声:ε i ∣ X i ∼ N ( 0 , 1 ) \varepsilon_{i} \mid X_{i} \sim \mathcal{N}(0,1)εiXiN(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)+(Wi0.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(Xi30.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\}XiUnif(0,1)d,e(Xi)=trim0.1{sin(πXi1Xi2)}

τ ∗ ( X i ) = ( X i 1 + X i 2 ) / 2 \tau^{*}\left(X_{i}\right)=\left(X_{i 1}+X_{i 2}\right) / 2τ(Xi)=(Xi1+Xi2)/2

B.随机试验

b ∗ ( X i ) = max ⁡ { X i 1 + X i 2 , X i 3 , 0 } + max ⁡ { X i 4 + X i 5 , 0 } b^{*}\left(X_{i}\right)=\max \left\{X_{i 1}+X_{i 2}, X_{i 3}, 0\right\}+\max \left\{X_{i 4}+X_{i 5}, 0\right\}b(Xi)=max{Xi1+Xi2,Xi3,0}+max{Xi4+Xi5,0}

e ∗ ( x ) = 1 2 , X i ∼ N ( 0 , I d × d ) e^*(x)=\frac{1}{2},X_{i} \sim \mathcal{N}\left(0, I_{d \times d}\right)e(x)=21,XiN(0,Id×d)

τ ∗ ( X i ) = X i 1 + log ⁡ ( 1 + e X i 2 ) \tau^{*}\left(X_{i}\right)=X_{i 1}+\log \left(1+e^{X_{i 2}}\right)τ(Xi)=Xi1+log(1+eXi2)

C.复杂的结果,简单的倾向,固定的因果

b ∗ ( X i ) = 2 log ⁡ ( 1 + e X i 1 + X i 2 + X i 3 ) b^{*}\left(X_{i}\right)=2 \log \left(1+e^{X_{i 1}+X_{i 2}+X_{i 3}}\right)b(Xi)=2log(1+eXi1+Xi2+Xi3)

X i ∼ N ( 0 , I d × d ) , e ∗ ( X i ) = 1 / ( 1 + e X i 2 + X i 3 ) X_{i} \sim \mathcal{N}\left(0, I_{d \times d}\right), \quad e^{*}\left(X_{i}\right)=1 /\left(1+e^{X_{i 2}+X_{i 3}}\right)XiN(0,Id×d),e(Xi)=1/(1+eXi2+Xi3)

τ ∗ ( X i ) = 1 \tau^{*}\left(X_{i}\right)=1τ(Xi)=1

D.Treat变量与Control变量无关的

注:这里W=1时Y与x1,x2,x3相关;W=0时,与x4,x5相关。
b ∗ ( X i ) = ( max ⁡ { X i 1 + X i 2 + X i 3 , 0 } + max ⁡ { X i 4 + X i 5 , 0 } ) / 2 b^{*}\left(X_{i}\right)=\left(\max \left\{X_{i 1}+X_{i 2}+X_{i 3}, 0\right\}+\max \left\{X_{i 4}+X_{i 5}, 0\right\}\right) / 2b(Xi)=(max{Xi1+Xi2+Xi3,0}+max{Xi4+Xi5,0})/2

X i ∼ N ( 0 , I d × d ) , e ∗ ( X i ) = 1 / ( 1 + e − X i 1 + e − X i 2 ) X_{i} \sim \mathcal{N}\left(0, I_{d \times d}\right), e^{*}\left(X_{i}\right)=1 /\left(1+e^{-X_{i 1}}+e^{-X_{i 2}}\right)XiN(0,Id×d),e(Xi)=1/(1+eXi1+eXi2)

τ ∗ ( X i ) = max ⁡ { X i 1 + X i 2 + X i 3 , 0 } − max ⁡ { X i 4 + X i 5 , 0 } \tau^{*}\left(X_{i}\right)=\max \left\{X_{i 1}+X_{i 2}+X_{i 3}, 0\right\}-\max \left\{X_{i 4}+X_{i 5}, 0\right\}τ(Xi)=max{Xi1+Xi2+Xi3,0}max{Xi4+Xi5,0}

[3]Feature Selection论文中的模拟数据集,分类

  • 上述三种X变量组成,分别有m1,m2,m3个,共m个。
  • X的取值:取随机数,并做线性、非线性变换。

x i j ∼ N ( 0 , 1 ) z i j = f ( x i j ) , f ( x ) ∈ { x , x 2 , x 3 , m a x ( 0 , x ) , s i n ( x ) , c o s ( x ) } x_{ij}\sim N(0,1)\\ z_{ij}=f(x_{ij}),f(x)\in\{x,x^2,x^3,max(0,x),sin(x),cos(x)\}xijN(0,1)zij=f(xij),f(x){x,x2,x3,max(0,x),sin(x),cos(x)}

  • Y的取值:Sigmoid函数算概率,之后用伯努利分布采样得到观测值。a 1 a_1a1表示Y值得baseline情况,a 2 a_2a2表示treatment的平均效应,β j \beta_jβj是加权系数(对前m1个特征取β j = U / m 1 , U ∼ N ( 0 , 1 ) \beta_j=U/m_1,U\sim N(0,1)βj=U/m1,UN(0,1);对中间m2个特征取0.5),e i j ∼ N ( 0 , 0.3 ) e_{ij}\sim N(0,0.3)eijN(0,0.3)表示噪声。

Pr ⁡ ( Y i = 1 ∣ X = x i , Z = z i , W = w i ) = 1 1 + exp ⁡ ( − a 1 − ∑ j = 1 m 1 z i j β j − w i ⋅ ( a 2 + ∑ j = m 1 + 1 m 1 + m 2 z i j β j ) + e i j ) \operatorname{Pr}\left(Y_{i}=1 \mid X=x_{i}, Z=z_{i}, W=w_{i}\right)=\\\frac{1}{1+\exp \left(-a_{1}-\sum_{j=1}^{m_{1}} z_{i j} \beta_{j}-w_{i} \cdot\left(a_{2}+\sum_{j=m_{1}+1}^{m_{1}+m_{2}} z_{i j} \beta_{j}\right)+e_{i j}\right)}Pr(Yi=1X=xi,Z=zi,W=wi)=1+exp(a1j=1m1zijβjwi(a2+j=m1+1m1+m2zijβj)+eij)1

  • W的取值:等概率随机分配。

[1]CTS论文中的模拟数据集,回归

单Treatment变量多值类型。X共50维,通过f ( X ) f(X)f(X)做非线性变换,对每种treatment分别依赖于一维特征,再加噪声得到(下面的T表示W)。
Y = { f ( X ) + U [ 0 , α X 1 ] + ϵ  if  T = 1 f ( X ) + U [ 0 , α X 2 ] + ϵ  if  T = 2 f ( X ) + U [ 0 , α X 3 ] + ϵ  if  T = 3 f ( X ) + U [ 0 , α X 4 ] + ϵ  if  T = 4 Y=\left\{\begin{array}{ll} f(X)+\mathrm{U}\left[0, \alpha X_{1}\right]+\epsilon & \text { if } T=1 \\ f(X)+\mathrm{U}\left[0, \alpha X_{2}\right]+\epsilon & \text { if } T=2 \\ f(X)+\mathrm{U}\left[0, \alpha X_{3}\right]+\epsilon & \text { if } T=3 \\ f(X)+\mathrm{U}\left[0, \alpha X_{4}\right]+\epsilon & \text { if } T=4 \end{array}\right.Y=f(X)+U[0,αX1]+ϵf(X)+U[0,αX2]+ϵf(X)+U[0,αX3]+ϵf(X)+U[0,αX4]+ϵ if T=1 if T=2 if T=3 if T=4
其中f ( X ) f(X)f(X)如下,a i , b j i , c j i a^i,b^i_j,c^i_jai,bji,cji随机选择
f ( x 1 , . . , x 50 ) = ∑ i = 1 50 a i ⋅ exp ⁡ { − b 1 i ∣ x 1 − c 1 i ∣ − ⋯ − b 50 i ∣ x 50 − c 50 i ∣ } f(x_1,..,x_{50})=\sum_{i=1}^{50} a^{i} \cdot \exp \left\{-b_{1}^{i}\left|x_{1}-c_{1}^{i}\right|-\cdots-b_{50}^{i}\left|x_{50}-c_{50}^{i}\right|\right\}f(x1,..,x50)=i=150aiexp{b1ix1c1ib50ix50c50i}
其他的α = 0.4 \alpha=0.4α=0.4,约E [ ∣ f ( X ) ∣ ] E[|f(X)|]E[f(X)]的5%;ϵ ∼ N ( 0 , σ 2 ) , σ = 0.8 \epsilon \sim N(0,\sigma^2),\sigma=0.8ϵN(0,σ2),σ=0.8,非零高斯噪声,是因果效应α \alphaα的两倍。


版权声明:本文为jianbinzheng原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。