【Uplift】建模方法篇

https://zhuanlan.zhihu.com/p/362788755

概述

有多种方法可以评估ACE(平均因果效应)或ITE(个体因果效应),这里我们关注的是ITE估计,即利用Uplift Modeling的方法,为每个样本(如用户)分别估计干预/不干预时的结果,得到treatment(干预)想退control(不干预)的uplift(增量)值。增量建模有多种分类方法,既可以按照对增量的直接建模和间接建模分,也可以依据实现方式分为Meta-Learning和Tree-Based等。

参考各个文献,为了便于理解,本文将要整理的方法分为4种来介绍:The Class Transformation Method、Meta-Learning Method、Tree-Based Method、NN-Based Method。

The Class Transformation Method

参考[1],该方法应该归于Meta-Learning Method,这里为了不混淆单列出来。该方法适用于Treatment和Outcome都是二类分类的情况,通过将预测目标做单类的转换,从而实现单模型预测。

首先,考虑随机试验的情况,定义新的目标变量
Z i = Y i o b s W i + ( 1 − Y i o b s ) ( 1 − W i ) Z_{i}=Y_{i}^{o b s} W_{i}+\left(1-Y_{i}^{o b s}\right)\left(1-W_{i}\right) Zi=YiobsWi+(1Yiobs)(1Wi)
此时,当Y=1,W=1或Y=0,W=0时,Z=1。那么,对uplift有
τ ( X i ) = 2 P ( Z i = 1 ∣ X i ) − 1 \tau\left(X_{i}\right)=2 P\left(Z_{i}=1 \mid X_{i}\right)-1 τ(Xi)=2P(Zi=1Xi)1

注:推导过程理解
P ( Z i = 1 ∣ X i ) = P ( Y i = 1 , W i = 1 ∣ X i ) + P ( Y i = 0 , W i = 0 ∣ X i ) P(Z_i=1|X_i)=P(Y_i=1,W_i=1|X_i)+P(Y_i=0,W_i=0|X_i) P(Zi=1Xi)=P(Yi=1,Wi=1Xi)+P(Yi=0,Wi=0Xi)
P ( W i = 1 ∣ X i ) = P ( W i = 0 ∣ X i ) = 1 2 P(W_i=1|X_i)=P(W_i=0|X_i)=\frac{1}{2} P(Wi=1Xi)=P(Wi=0Xi)=21

τ ( X i ) = P ( Y i = 1 ∣ X i , W i = 1 ) − P ( Y i = 1 ∣ X i , W i = 0 ) = P ( Y i = 1 , W i = 1 ∣ X i ) P ( W i = 1 ∣ X i ) − P ( Y i = 1 , W i = 0 ∣ X i ) P ( W i = 0 ∣ X i ) = 2 [ P ( Y i = 1 , W i = 1 ∣ X i ) − P ( Y i = 1 , W i = 0 ∣ X i ) ] = [ P ( Y i = 1 , W i = 1 ∣ X i ) − P ( Y i = 1 , W i = 0 ∣ X i ) ] + [ 1 2 − P ( Y i = 0 , W i = 1 ∣ X i ) − 1 2 + P ( Y i = 0 , W i = 0 ∣ X i ) ] = P ( Z i = 1 ∣ X i ) − P ( Z i = 0 ∣ X i ) = 2 P ( Z i = 1 ∣ X i ) − 1 \tau(X_i)=P(Y_i=1|X_i,W_i=1)-P(Y_i=1|X_i,W_i=0) \\ =\frac{P(Y_i=1,W_i=1|X_i)}{P(W_i=1|X_i)}-\frac{P(Y_i=1,W_i=0|X_i)}{P(W_i=0|X_i)} \\ =2[P(Y_i=1,W_i=1|X_i)-P(Y_i=1,W_i=0|X_i)]\\ =[P(Y_i=1,W_i=1|X_i)-P(Y_i=1,W_i=0|X_i)]\\+[\frac{1}{2}-P(Y_i=0,W_i=1|X_i)-\frac{1}{2}+P(Y_i=0,W_i=0|X_i)]\\ =P(Z_i=1|X_i)-P(Z_i=0|X_i)\\ =2P(Z_i=1|X_i)-1 τ(Xi)=P(Yi=1Xi,Wi=1)P(Yi=1Xi,Wi=0)=P(Wi=1Xi)P(Yi=1,Wi=1Xi)P(Wi=0Xi)P(Yi=1,Wi=0Xi)=2[P(Yi=1,Wi=1Xi)P(Yi=1,Wi=0Xi)]=[P(Yi=1,Wi=1Xi)P(Yi=1,Wi=0Xi)]+[21P(Yi=0,Wi=1Xi)21+P(Yi=0,Wi=0Xi)]=P(Zi=1Xi)P(Zi=0Xi)=2P(Zi=1Xi)1

最后,我们考虑一般情况,适用于非平衡非随机试验的数据,可用任意机器学习算法估计(同CATE):
Y i ∗ = Y i ( 1 ) W i p ^ ( X i ) − Y i ( 0 ) ( 1 − W i ) ( 1 − p ^ ( X i ) ) Y_{i}^{*}=Y_{i}(1) \frac{W_{i}}{\hat{p}\left(X_{i}\right)}-Y_{i}(0) \frac{\left(1-W_{i}\right)}{\left(1-\hat{p}\left(X_{i}\right)\right)} Yi=Yi(1)p^(Xi)WiYi(0)(1p^(Xi))(1Wi)

### 使用 Uplift因果推断建模方法开发信贷额度敏感模型 #### 定义目标与背景 在信贷领域,建立一个能够有效预测不同客户群体对于授信额度变化反应差异性的模型至关重要。通过引入Uplift建模技术以及因果推断理论,可以更精准地识别哪些因素影响客户的还款行为及其对信用限额调整的态度。 #### 数据准备阶段 考虑到实际业务场景中的复杂性和多样性,在构建此类模型之前需先收集并处理好相应的训练集。这通常涉及以下几个方面的工作: - **获取高质量的数据源**:确保所使用的数据涵盖了足够的历史交易记录、用户基本信息以及其他可能关联的因素。 - **预处理工作**:清洗缺失值、异常点;编码分类变量;标准化数值特征等操作都是必不可少的前置步骤[^3]。 #### 构建 T-Learner 模型实例 一种常见的做法是采用T-Learner框架来进行初步探索。该方式主要依赖于分别拟合两个独立的学习器——一个是用来估计接受特定政策(比如提高或降低某类用户的贷款上限)之后的结果分布情况;另一个则是针对未采取行动情形下的预期表现作出推测。两者之间的差距即代表了因干预措施而产生的增量效应大小。 ```python from sklearn.model_selection import train_test_split import numpy as np import pandas as pd from lightgbm import LGBMClassifier def t_learner(data, target_col='conversion', treatment_col='treatment'): treated_df = data[data[treatment_col]==1] control_df = data[data[treatment_col]==0] X_treated, y_treated = treated_df.drop([target_col], axis=1), treated_df[target_col] X_control, y_control = control_df.drop([target_col], axis=1), control_df[target_col] clf_treated = LGBMClassifier().fit(X_treated, y_treated) clf_control = LGBMClassifier().fit(X_control, y_control) def predict_uplift(new_data): pred_prob_treated = clf_treated.predict_proba(new_data)[:, 1] pred_prob_control = clf_control.predict_proba(new_data)[:, 1] return pred_prob_treated - pred_prob_control return predict_uplift ``` 此代码片段展示了如何利用LightGBM库快速搭建起一套简单的T-Learner结构用于计算个体层面潜在收益的变化量[^1]。 #### 应用 S-Learner 或其他高级策略 除了上述提到的基础版本外,还有更多灵活多变的选择可供考虑。例如S-Learner允许我们将实验组标记作为额外输入加入单一回归函数之中从而简化整体架构设计过程;而对于某些特殊应用场景,则或许更适合尝试基于树形结构优化过的Tree-based causal models以获得更好的泛化能力。 #### 结合 Qini 曲线评估性能 完成模型训练后,还需要借助诸如Qini图这样的工具来直观展示各个方案之间相对优势所在,并据此挑选最优解应用于最终决策支持环节当中去。具体而言就是绘制出累积增益百分比随样本比例增加的趋势线以便比较不同算法的有效程度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值