Uplift modeling for clinical trial data 论文阅读

Uplift modeling for clinical trial data 论文阅读P(Y=1∣X1,…,Xm,G=T)−P(Y=1∣X1,…,Xm,G=C)=PT(Y=1∣X1,…,Xm)−PC(Y=1∣X1,…,Xm)\begin{array}{l}P\left(Y=1\midX_{1},\ldots,X_{m},G=T\right)\\\quad-P\left(Y=1\midX_{1},\ldots,X_{m},G=C\right)\\\quad=P^{T}\left(Y=1\midX_{1},\ldots,X_{m}\right)-P^{C}

原文地址:Uplift modeling for clinical trial data

这篇文章主要提出了一种用one-mode就可以计算出样本uplift值的方法,并在此基础上提出了一种用来提升one-model准确度的半监督方法。

论文中的符号标记

  • X 1 , … , X m ∈ R X_{1}, \ldots, X_{m} \in \mathbb{R} X1,,XmR :单个样本中m个特征
  • Y ∈ { 0 , 1 } Y \in\{0,1\} Y{
    0,1}
    : outcome 即 label的值,比如优惠券问题中是否购买行为
  • G ∈ { T , C } G \in\{T, C\} G{
    T,C}
    :样本所属group, treatment 和 control组,样本被分到T组合C组的概率简写为 P T P^{T} PT P C P^{C} PC
  • D T D^{T} DT and D C D^{C} DC : T组样本和C组样本
  • d i T = ( x i T , y i T ) \mathbf{d}_{i}^{T}=\left(\mathbf{x}_{i}^{T}, y_{i}^{T}\right) diT=(xiT,yiT) :T组中的第i个样本(C组类推)
  • M T M^{T} MT and M C M^{C} MC: 分别通过T组样本和C组样本训练出来分类模型(two-model)
  • M U M^{U} MU: 用T组和C组样本训练出来的uplift-model(one-model)
  • 论文中提到的one-model 一般指使用标签转化的uplift-model
  • 论文中提到的two-model 一般指使用两个分类器的two-model

另外需要注意的是,对于模型的预测值Y

  • two-model中的分类器,预测值为[0,1] ,两个分类器的diff为[-1,1]
  • one-model的预测值为[-1,1]

two-model下uplift值计算

uplift的理论计算值如下:
P ( Y = 1 ∣ X 1 , … , X m , G = T ) − P ( Y = 1 ∣ X 1 , … , X m , G = C ) = P T ( Y = 1 ∣ X 1 , … , X m ) − P C ( Y = 1 ∣ X 1 , … , X m ) ( 1 ) \begin{array}{c} P\left(Y=1 \mid X_{1}, \ldots, X_{m}, G=T\right) -P\left(Y=1 \mid X_{1}, \ldots, X_{m}, G=C\right) \\ \quad=P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right)-P^{C}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) \end{array} \qquad(1) P(Y=1X1,,Xm,G=T)P(Y=1X1,,Xm,G=C)=PT(Y=1X1,,Xm)PC(Y=1X1,,Xm)1
但是在实际情况中,一个样本只可能命中一种行为,所以在two-model的方法中,分别基于特征 X 1 , … , X m X_{1}, \ldots, X_{m} X1,,Xm在T组和C组上训练分类器 M T M^{T} MT and M C M^{C} MC, 对于某个样本,分别用两个分类器去预测该样本分到被T和被C时label的值,二者diff作为其lift值,数学表达式如下:

M U ( X 1 , … , X m ) = M T ( X 1 , … , X m ) − M C ( X 1 , … , X m ) ( 2 ) \begin{aligned} M^{U}\left(X_{1}, \ldots, X_{m}\right) &=M^{T}\left(X_{1}, \ldots, X_{m}\right)-M^{C}\left(X_{1}, \ldots, X_{m}\right) \qquad(2) \end{aligned} MU(X1,,Xm)=MT(X1,,Xm)MC(X1,,Xm)2
虽然two-model的方法适合于各种分类器模型,但是这种方法更关注与预测T组和C组各自的分类准确度,而不是lift值。

class variable transformation method (标签转化法)

为了解决这two-model不能直接预测lift值的问题,论文提出了一种基于类别转化的one-model的方法。
这一部分主要介绍one-model方法的理论依据
首先定义了新的类别 Z ∈ { 0 , 1 } Z \in\{0,1\} Z{
0,1}

Z = { 1  if  G = T  and  Y = 1 1  if  G = C  and  Y = 0 0  otherwise.  ( 3 ) Z=\left\{\begin{array}{ll} 1 & \text { if } G=T \text { and } Y=1 \\ 1 & \text { if } G=C \text { and } Y=0 \\ 0 & \text { otherwise. } \end{array}\right. \qquad (3) Z=110 if G=T and Y=1 if G=C and Y=0 otherwise. (3)
即在T组并且Y=1或者在C组Y=0的样本, Z = 1 Z=1 Z=1,其他情况Y=0,如果用 Z Z Z当做新的label,那么基于T组合C组组合成的数据,可以训练一个用于预测 Z Z Z模型,则 Z Z Z的条件概率如下
P ( Z = 1 ∣ X 1 , … , X m ) = P ( Z = 1 ∣ X 1 , … , X m , G = T ) P ( G = T ∣ X 1 , … , X m ) + P ( Z = 1 ∣ X 1 , … , X m , G = C ) P ( G = C ∣ X 1 , … , X m ) = P ( Y = 1 ∣ X 1 , … , X m , G = T ) P ( G = T ∣ X 1 , … , X m ) + P ( Y = 0 ∣ X 1 , … , X m , G = C ) P ( G = C ∣ X 1 , … , X m ) ( 4 ) \begin{array}{l} P\left(Z=1 \mid X_{1}, \ldots, X_{m}\right) \\ =P\left(Z=1 \mid X_{1}, \ldots, X_{m}, G=T\right) P\left(G=T \mid X_{1}, \ldots, X_{m}\right) +P\left(Z=1 \mid X_{1}, \ldots, X_{m}, G=C\right) P\left(G=C \mid X_{1}, \ldots, X_{m}\right) \\ =P\left(Y=1 \mid X_{1}, \ldots, X_{m}, G=T\right) P\left(G=T \mid X_{1}, \ldots, X_{m}\right) +P\left(Y=0 \mid X_{1}, \ldots, X_{m}, G=C\right) P\left(G=C \mid X_{1}, \ldots, X_{m}\right) \qquad (4) \end{array} P(Z=1X1,,Xm)=P(Z=1X1,,Xm,G=T)P(G=TX1,,Xm)+P(Z=1X1,,Xm,G=C)P(G=CX1,,Xm)=P(Y=1X1,,Xm,G=T)P(G=TX1,,Xm)+P(Y=0X1,,Xm,G=C)P(G=CX1,,Xm)(4)
因为 G ∈ { T , C } G \in\{T, C\} G{
T,C}
是独立于特征变量 X 1 , … , X m ∈ R X_{1}, \ldots, X_{m} \in \mathbb{R} X1,,XmR 的,所以
P ( G ∣ X 1 , … , X m ) = P ( G ) P\left(G \mid X_{1}, \ldots, X_{m}\right)= P(G) P(GX1,,Xm)=P(G)
所以可将(4)式改写为
P ( Z = 1 ∣ X 1 , … , X m ) = P T ( Y = 1 ∣ X 1 , … , X m ) P ( G = T ) + P C ( Y = 0 ∣ X 1 , … , X m ) P ( G = C ) ( 5 ) \begin{aligned} P(Z=&\left.1 \mid X_{1}, \ldots, X_{m}\right) \\ &=P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) P(G=T) +P^{C}\left(Y=0 \mid X_{1}, \ldots, X_{m}\right) P(G=C) \quad (5) \end{aligned} P(Z=1X1,,Xm)=PT(Y=1X1,,Xm)P(G=T)+PC(Y=0X1,,Xm)P(G=C)(5)
假设样本分到T和C组的概率是相等的,即 P ( G = T ) = P ( G = C ) = 1 2 P(G=T)=P(G=C)=\frac{1}{2} P(G=T)=P(G=C)=21, 可以将(5)式改写为
2 P ( Z = 1 ∣ X 1 , … , X m ) = P T ( Y = 1 ∣ X 1 , … , X m ) + P C ( Y = 0 ∣ X 1 , … , X m ) = P T ( Y = 1 ∣ X 1 , … , X m ) + 1 − P C ( Y = 1 ∣ X 1 , … , X m ) \begin{array}{l} 2 P\left(Z=1 \mid X_{1}, \ldots, X_{m}\right) \\ =P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right)+P^{C}\left(Y=0 \mid X_{1}, \ldots, X_{m}\right) \\ =P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) +1-P^{C}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) \end{array} 2P(Z=1X1,,Xm)=PT(Y=1X1,,Xm)+PC(Y=0X1,,Xm)=PT(Y=1X1,,Xm)+1PC(Y=1X1,,Xm)

P T ( Y = 1 ∣ X 1 , … , X m ) − P C ( Y = 1 ∣ X 1 , … , X m ) = 2 P ( Z = 1 ∣ X 1 , … , X m ) − 1 ( 6 ) \begin{array}{c} P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right)-P^{C}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) \\=2 P\left(Z=1 \mid X_{1}, \ldots, X_{m}\right)-1 (6) \end{array} PT(Y=1X1,,Xm)PC(Y=1X1,,Xm)=2P(Z=1X1,,Xm)16
可以看到(6)式左边即为(1)式(uplift的理论计算值),优化模型去预测 Z Z Z即优化模型去预测样本的lift值。
到此,论文用很完美的理论解决了two-model没法直接预测lift值的问题。

注意这里有个很强的假设,数据集中T组和C组数量占比为1:1,在实际情况中可通过采样实现。

半监督的模型优化迭代

虽然one-model可以直接预测lift值,但是two-model在一些任务上的表现也非常好。这一部分主要提出了一种半监督的方法,通过two-model和one-model互相为彼此的数据集添加新的样本,使得各自的模型训练的更好。
在这里插入图片描述

算法输入:T组数据 D T D^T DT 和 C组数据 D C D^C DC
算法输出: uplift model M U M^U MU
step1~2: 对数据进行复制和标记,原始数据只有两类 D T D^T DT D C D^C DC D c T D_{c}^{T} DcT D c C D_{c}^{C} DcC表示用于two-model(即classifier)的T组数据和C组数据, D u T D_{u}^{T} DuT D u C D_{u}^{C} DuC表示用于one-model(即uplift model)的T组合C组数据。
D c T D_{c}^{T} DcT D c C D_{c}^{C} DcC 分别用于two-model的两个分类器训练使用,而 D u T D_{u}^{T} DuT D u C D_{u}^{C} DuC一起用于uplift-model训练使用。
repeat:
step4:用 D u T D_{u}^{T} DuT D u C D_{u}^{C} DuC训练uplift-model,基于标签转换法
setp5:用 D c T D_{c}^{T} DcT训练two-model中的一个分类器, M T M^{T} MT
step6:用 D c C D_{c}^{C} DcC训练two-model中的另外一个分类器, M C M^{C} MC
step7:将 x c C ∈ D c C \mathbf{x}_{c}^{C} \in D_{c}^{C} xcCDcC中的数据添加treatment标记,转化为对应的uplift-model中的样本,并用uplift-model去预测该样本,得到label y c T y_{\mathrm{c}}^{T} ycT
step8: 与step7相似,用uplift-model预测的是 D c T D_{c}^{T} DcT中添加control标记的样本
step11~12: 将通过 M U M^U MU预测 D c C D_{c}^{C} DcC得到的新样本加入到 D c T D_{c}^{T} DcT中,反之亦然。(哪些样本应该加入见下文补充1)
step9: 用 M T M^T MT对uplift-model中的C组数据 x u C \mathbf{x}_{u}^{C} xuC进行预测得到label y u T y_{u}^{T} yuT,step10也一样
step13~14:样本融合,与step11-12类似(哪些样本应该加入见下文补充1)
重复step 4~14直到收敛

通过step7、9、11、12 完成了uplift-model干预下的two-model各自classifier的样本重构
通过step9、10、13、14完成了two-model干预下的uplift-model的样本重构。

补充1

在step11、12中需要决定 M U M^U MU预测的样本,哪些需要被选出来加入到two-model的T和C组的数据中,这里选择模型比较确信的样本,对于 M U M^U MU而言就是预测值接近1和-1的样本,即有如下筛选法:
x c C = arg ⁡ max ⁡ x c C ∈ D C ∣ M U ( x c C ) ∣ ( 选 择 样 本 ) y c T = { 1  if  M U ( x c C ) > 0 0  otherwise.  ( 打 标 ) \begin{array}{l} \mathbf{x}_{c}^{C}=\underset{\mathbf{x}_{c}^{C} \in D^{C}}{\arg \max }\left|M^{U}\left(\mathbf{x}_{c}^{C}\right)\right| \qquad (选择样本) \\ y_{c}^{T}=\left\{\begin{array}{ll} 1 & \text { if } M^{U}\left(\mathbf{x}_{c}^{C}\right)>0 \\ 0 & \text { otherwise. } \end{array}\right. \quad (打标) \end{array} xcC=xcCDCargmaxMU(xcC)()ycT={
10 if MU(xcC)>0 otherwise. 
()

而对于two-model 的classifier M T 、 M C M^T、M^C MTMC而言,就是模型预测接近0和1的样本,即有如下筛选法
x u C = arg ⁡ max ⁡ x u C ∈ D C max ⁡ { M T ( x u C ) , 1 − M T ( x u C ) } ( 选 择 样 本 ) y u T = { 1  if  M T ( x u C ) > 1 2 0  otherwise  ( 打 标 ) \begin{array}{l} \mathbf{x}_{u}^{C}=\underset{\mathbf{x}_{u}^{C} \in D^{C}}{\arg \max } \max \left\{M^{T}\left(\mathbf{x}_{u}^{C}\right), 1-M^{T}\left(\mathbf{x}_{u}^{C}\right)\right\} \qquad (选择样本)\\ y_{u}^{T}=\left\{\begin{array}{ll} 1 & \text { if } M^{T}\left(\mathbf{x}_{u}^{C}\right)>\frac{1}{2} \\ 0 & \text { otherwise } \end{array}\right. \qquad (打标) \end{array} xuC=xuCDCargmaxmax{
MT(xuC),1MT(xuC)}
()
yuT={
10 if MT(xuC)>21 otherwise 
()

在该算法中,模型与数据相互相互干预情况如下图所示,不同颜色的线表示模型预测的数据的情况和数据转移的情况。two-model和one-model都会从对方的T和C组数据中取一些加入对方的T和C组,利用对立的模型调整自身的数据,即从不同的视角进行优化。
这样,通过该算法,让two-model和one-model的T组和C组数据不断丰富,同时也让 M U 、 M T 、 M C M^U、M^T、M^C MUMTMC三个模型也训练的更好。
Uplift modeling for clinical trial data 论文阅读

今天的文章Uplift modeling for clinical trial data 论文阅读分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32273.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注