Uplift 经典模型介绍

Uplift 经典模型介绍

  • 1. 元学习相关模型
    • 1.1 双模型(Two Model, T-Learner)
    • 1.2 单模型(Single Model, S-Learner)
    • 1.3 X-Learner模型
  • 2. Uplift树模型
    • 2.1 CTS算法
    • 2.2 因果森林
    • 2.3 广义随机森林(GRF)
    • 2.4 正交随机森林(ORF)
  • 3. 剪枝方法
    • 3.1 重采样(resampling)
    • 3.2 单调约束
    • 3.3 最小增益
    • 3.4 最小样本数
  • 4. Uplift特征选择
  • 5. 因果推断常用开源库

1. 元学习相关模型

1.1 双模型(Two Model, T-Learner)

  • 针对单Treatment而言,双模型的做法具体而言,将实验组和对照组分别建模,最后两个模型预测结果做差即为lift

  • 针对多Treatment而言,对各个实验组和对照组分别建模,然后每个实验组依次和对照组的预测结果做差,得到每个实验组对应的lift

  • 优缺点:
    • 双模型优点是简单直观,可以复用常见的机器学习模型(LR、Tree Model、NN)。
    • 缺点是数据利用不充分,没有很好地拟合两个群体之间的差异(也即lift信号)且对模型误差容易被放大。假设单个模型准确率都是90%,那么最后预测lift的精度只有81%.

1.2 单模型(Single Model, S-Learner)

  • 单模型的方式将处理变量T当做输入特征进行训练,预测时将同一样本特征进行多次输入,每次只是改变不同的T值。一般而言,
    表示对照组,
    代表各个实验组。
  • 单模型相比双模型的方式有以下几个优势:
    • 模型训练时数据利用更充分.
    • 建模更加简单,只需要一个简单的逻辑回归或树模型(随机森林、Xgboost、Lightgbm).
    • 能对处理变量或者其他变量进行强制的单调约束,双模型无法做到这一点.

1.3 X-Learner模型

  • X-Learner是对T-Learner和S-Learner进行了融合,这里以单Treatment为例,具体步骤如下:
    • 分别对实验组和对照组进行建模得到模型
      (同T-Learner)

    • 计算实际产出和预估产出之间的差,得到推算治疗效应。

    • 使用
      作为特征,
      作为标签建立对照组模型
      ;使用
      作为特征,
      作为标签建立实验组模型
      .
      此处可以是分类或者回归模型

    • 每个样本得到两个预测值
      ,然后进行加权(权重计算可以采用倾向评分模型g(x)),随机试验中可以直接用用户数占比,相同的流量时权重等于0.5.

2. Uplift树模型

  • 随机森林的Uplift模型与普通的随机森林的主要的区别就是分裂指标的不同。以下是几种常见的分裂指标:
    • 一些特殊的方法
    • 求左右节点的差异

    • 基于信息论的分裂指标

这里
是差异度量,
分别是treatment组合control组的概率分布。因此,这个分裂的表示是分裂后的发散增益程度。对于
,有以下三种方式Kullback, Euclidean、Chi-Squared:
    • 在因果树模型中, Athey and Imbens提出以下分裂标准:

可以发现,当二分类结果时,该分裂指标等价于上述的欧式分裂标准方式。值得注意的 事,Athey and Imbens提出一种"诚实"的方法,没有使用相同的数据进行生成树并估计叶子之间的uplift。而是把数据分为两部分,一部分用于生成树结果,另外一部分用于估算叶子节点的uplift值。


2.1 CTS算法

  • 直接建模最大化预期相应

Uplift 经典模型介绍_第1张图片


2.2 因果森林

Uplift 经典模型介绍_第2张图片
  • 诚实树
    • 构建诚实树的时候将训练样本划分为两个部分I、J,其中I用来评估,J用来进行分割。
    • 引入双样本的目的是消除偏差,实践中发现双样本树在均方误差方面也可以改善标准的随机森林。

2.3 广义随机森林(GRF)

GRF的想法是利用一部分数据来构建随机森林,然后利用随机森林从另一部分数据中寻找和给定个体x相似的个体,然后利用这些相似的个体经过一个加权打分函数(log-likelihood等)的优化,求解对应于个体x的感兴趣的参数。在进行随机森林的每一颗树的每一次的划分时,在节点处都是感兴趣的参数(target parameters)和不感兴趣的参数(nuisance parameters)同时估计的,所以GRF在高维confounder的时候效果并不是很好。

2.4 正交随机森林(ORF)

ORF的可以算是借鉴了GRF和DML两者的想法,我们可以用不同于文章描述的方式来理解,咱们将数据分成三份:

  • 其中一份类似于GRF一样去构造一个随机森林,这个随机森林也是用来量化个体之间的相关性的,只不过ORF在做树的划分的时候,每一个节点处感兴趣的参数和不感兴趣的参数也是利用DML的想法来估计的(一部分数据用来估计不感兴趣的参数,然后再用另一部分数据来估计感兴趣的参数)
  • 利用第二份数据估计给定个体x的局部(利用第一步的随机森林来定义相似性)拟合对应的不感兴趣的参数
  • 利用最后一份数据在给定个体x局部(利用第一步的随机森林来定义相似性)拟合感兴趣的参数

3. 剪枝方法

3.1 重采样(resampling)

  • 一般随机采样8倍的原始数据集,其中1份用于决策树划分,其他7份用于评估。此处,可以设置一个阈值
    , 其中
    ,假如7份验证数据的预测结果的标准差大于该阈值,则进行剪枝。

3.2 单调约束

  • 如对处理变量T施加单调约束,则在某个叶子节点如果各个组之间不满足单调约束,则进行剪枝。如在网约车场景中,我们假设折扣和弹性是呈现单调关系的。lift(100折) >= lift(90折) >= lift(80折) >= lift(70折) >= lift(60折) ···

3.3 最小增益

  • 假设某次分裂产生的增益值小于某一个阈值,则进行剪枝。

3.4 最小样本数

  • 假设某次分裂时该节点中的样本数小于某个阈值或者该节点内任意一个组的节点数小于某个阈值时,进行剪枝。

4. Uplift特征选择

  • Deep IV
  • CausalML特征选择工具

5. 因果推断常用开源库

  • EconML
  • CausalML
  • Dowhy

你可能感兴趣的:(机器学习,人工智能,深度学习,python,算法)