银河超市的王经理最近很焦虑。黄金货架层的薯片月销三千袋,底层同款却只有两百——供应商拍胸脯说自家薯片优秀,可王经理心里清楚:那个位置,就是放块石头也有人拿。你每天打开 App,看到“猜你喜欢”第一排的商品点击率 8%、第十条只有 1%,产品经理欢欣鼓舞,可算法工程师明白:这 8% 里,有多少是“货架光环”,又有多少是“真实喜欢”?这两个问题,正是推荐系统去偏研究的核心。 这篇文章教你两件武器。第一件叫 Uplift 建模,回答“推荐这个动作本身带来了多少增量”——就像王经理把同款薯片在黄金层和底层各摆一周,对比的是“被摆上去”这件事带来的因果效应。第二件叫 位置偏差校正,回答“点击高是因为位置好,还是因为真的匹配”——就像给底层商品的销量乘上补偿权重,抵消它吃亏的曝光概率。你还会学到 Uplift 树、IPS 逆倾向加权、AUUC 反事实评估,以及它们如何拼成一套完整的去偏方案。

岗位关联

学会 Uplift 与位置去偏,你就能从“追求点击率”升级为“衡量真实决策增量”,在推荐、广告、营销评估中成为能分清因果与关联的稀缺算法人才。

目录
  1. 可视化演示
  2. 认识位置偏差
  3. Uplift建模原理
  4. Uplift树算法
  5. 逆倾向加权(IPS)
  6. 反事实评估
  7. 推荐系统实践
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

位置偏差:观测CTR = 真实质量 + 位置效应 观测CTR (有偏) CTR分解公式 P(click|quality) P(click|pos) = V_ips = (1/n) \u03a3 推荐系统去偏可视化:展示位置偏差对CTR的污染、IPS逆倾向得分去...

认识位置偏差

银河超市的王经理发现一个怪象:黄金货架层的薯片月销三千袋,底层同款却只有两百。供应商说“薯片优秀”,可王经理清楚——黄金层连空气都卖得动。到底是质量好还是位置好?他不知道。推荐系统每天都在上演同一幕:用户打开 App,“猜你喜欢”第一条点击率 8%,第十条只有 1%。产品同学说“排第一的商品最棒”,老练的工程师却要先问:这个商品要是挪到第十条,还能有 8% 吗?

观测到的点击率,其实是两个因素相乘的结果:物品对用户的真实吸引程度,以及它被看到的机会(曝光概率)。位置越靠前,曝光概率越高,点击率天然虚高。这就是“位置偏差”:位置作为一个混入其中的干扰变量,同时影响着“谁被曝光”和“是否被点击”。于是“关联不等于因果”——头部物品点击高,是位置优势与真实质量的混合产物,不能全部算作物品的功劳。

用公式拆开看:

如果不处理位置偏差,模型会学到“靠前 = 用户喜欢”,导致头部富者愈富、尾部优质内容被永久压制。王经理的决定是:把同款薯片在黄金层和底层各放一周,记录销量差——这正是推荐系统从“观测”走向“因果”的第一步。

Pobs(yi=1∣ui, vi, ri)⏟观测点击率  =  Preal(yi=1∣ui, vi)  ×  Ppos(oi=1∣ri)\displaystyle \underbrace{P_{obs}\left(y_i = 1 \mid u_i,\, v_i,\, r_i\right)}_{\text{观测点击率}} \;=\; P_{real}\left(y_i = 1 \mid u_i,\, v_i\right) \;\times\; P_{pos}\left(o_i = 1 \mid r_i\right)
  1. 观测点击率日志里统计到的实际点击率,是被污染的混合值。
    Pobs(yi=1∣ui,vi,ri)P_{obs}(y_i = 1 \mid u_i, v_i, r_i)
  2. 真实匹配度用户与物品的内在相关性,去偏后想恢复的目标。
    Preal(yi=1∣ui,vi)P_{real}(y_i = 1 \mid u_i, v_i)
  3. 位置曝光概率该展示位被用户看到的概率,位置越靠前越大。
    Ppos(oi=1∣ri)P_{pos}(o_i = 1 \mid r_i)
  4. 等式含义观测值由真实相关和位置曝光相乘得到,位置这个“滤镜”混进了点击信号。
  5. 符号读音P 是概率,下标 obs 表示观测、real 表示真实、pos 表示位置。

Uplift建模原理

王经理开始做实验。他选了 200 家分店,100 家把这批薯片摆上黄金层,100 家摆底层。一个月后:黄金层平均销量 800,底层平均 200。差值 600 就是“摆黄金层”这件事本身的增量效应。注意,底层也卖出了 200——这些顾客是无论摆哪里都会买的忠实拥趸,他们不属于增量,却常常被算在功劳簿里。

推荐系统同理。每个用户像一家“试验店”,推荐策略是一个干预按钮 T:T=1 表示被推荐,T=0 表示未被推荐。Uplift(增量效应)回答的正是:同一个用户,在被推荐与未被推荐两个平行世界里,行为差异是多少。它不是简单预测“谁会点击”,而是预测“点击是因为推荐才发生的吗”。

公式定义:

不同用户对推荐的反应差异很大:有的用户不推就不买(高增量),有的推不推都买(零增量),还有的推了反而嫌烦(负增量)。Uplift 的目标,就是预测每个用户自己的 τ。王经理发现:年轻顾客的增量是 700 袋,家庭主妇接近 0。于是他把黄金层留给“最需要人推一把”的人群——同样的货架,产出完全不同。

τ(xi)  =  P ⁣(yi=1∣Ti=1, xi)  −  P ⁣(yi=1∣Ti=0, xi)\displaystyle \tau(x_i) \;=\; P\!\left(y_i = 1 \mid T_i = 1,\, x_i\right) \;-\; P\!\left(y_i = 1 \mid T_i = 0,\, x_i\right)
  1. τ(x_i)用户 i 的增量效应,读作"tau of x i",是 Uplift 模型的预测目标。
    τ(xi)\tau(x_i)
  2. 条件概率 P在给定条件下发生点击的概率,条件写在竖线右侧。
    P(yi=1∣⋅)P(y_i = 1 \mid \cdot)
  3. 治疗组 T=1该用户被推荐了目标物品。
  4. 对照组 T=0该用户没被推荐,作为平行世界的对照。
  5. 相减两组条件概率之差,消除“本来就喜欢”的成分,只留“推荐带来的增量”。

Uplift树算法

王经理手里有十万条顾客购买记录,特征包括年龄、会员等级、品牌偏好。他想让电脑自动找出“对推荐最敏感”的群体。信息部的李工提过决策树:按“买不买”分叉。可王经理要的不是“买不买”,而是“是不是推荐才买的”——普通决策树回答不了因果问题,于是 Uplift 树登场了。

普通决策树分裂时用信息熵或基尼系数衡量纯度,让节点内标签尽可能“同质”。Uplift 树换了个判据:不再看标签纯不纯,而是看“治疗响应差异”——分裂之后,左右两个子节点内部各自的“治疗组均值 − 对照组均值”差异越大越好。一句话:找一个特征阈值,把“推荐增量大的人”和“推荐增量小的人”干净地分开。

常用的分裂准则之一是欧氏距离:

树建好后,每个叶子节点里的“治疗 − 对照”均值,就是落入该叶子的用户的预测增量。剪枝也不看分类准确率,而看增量差异是否显著。王经理最终得到一棵让他惊喜的 Uplift 树:会员等级高、年龄在 25 到 35 的顾客,推荐增量最大。他满意地合上报告,开始调整货架策略。

Δ  =  nLn(yˉLT−yˉLC)2  +  nRn(yˉRT−yˉRC)2\displaystyle \Delta \;=\; \frac{n_L}{n}\left(\bar{y}_L^{T} - \bar{y}_L^{C}\right)^2 \;+\; \frac{n_R}{n}\left(\bar{y}_R^{T} - \bar{y}_R^{C}\right)^2
  1. 样本占比左右子节点各占父节点的比例,作为权重。
    nLn,nRn\frac{n_L}{n}, \quad \frac{n_R}{n}
  2. 组内响应均值子节点内治疗组和对照组各自的平均点击率。
    yˉLT,yˉLC\bar{y}_L^{T}, \quad \bar{y}_L^{C}
  3. 作差相减得到该子节点内的增量效应。
    yˉLT−yˉLC\bar{y}_L^{T} - \bar{y}_L^{C}
  4. 平方把差异放大,同时避免正负增量相互抵消。
    (yˉLT−yˉLC)2\left(\bar{y}_L^{T} - \bar{y}_L^{C}\right)^2
  5. 求最大遍历所有特征和阈值,选出使 Δ 最大的分裂方式。

逆倾向加权(IPS)

王经理想偷懒:不是每家店都做了 100/100 的对照实验,历史数据里黄金层商品多、底层商品少,两组样本严重不平衡。直接比销量,只会再次被位置欺骗。他需要一种“事后补偿”的方法,把底层商品吃亏的曝光概率补回来。

这个方法叫逆倾向加权(Inverse Propensity Scoring,IPS)。逻辑非常生活化:一个商品摆在很难被看到的位置(曝光概率 p 很小),居然还有销量,说明它的真实吸引力极强——它的销量应该乘上大权重 1/p,抵消它吃亏的处境;反之,占尽黄金位置才勉强卖出的商品,权重小一些,免得被“位置光环”抬轿子。

公式如下:

王经理对底层薯片乘以 5 倍权重、黄金层只乘 1.2 倍,重算商品排序,五个被埋没的爆款浮出水面。他感慨:IPS 就像给近视的人配眼镜,曝光概率是视力,1/p 是镜片度数。不过他还没来得及高兴,评估的老问题又来了——怎么证明这套模型真的有效?

R^IPS  =  1n∑i=1nyi⋅1 ⁣[oi=1]p^i,p^i=P ⁣(oi=1∣xi)\displaystyle \hat{R}_{IPS} \;=\; \frac{1}{n}\sum_{i=1}^{n} \frac{y_i \cdot \mathbb{1}\!\left[o_i = 1\right]}{\hat{p}_i}, \qquad \hat{p}_i = P\!\left(o_i = 1 \mid x_i\right)
  1. R 帽经过 IPS 校正后的无偏点击率估计,帽子表示估计量。
    R^IPS\hat{R}_{IPS}
  2. 点击标签 y_i用户是否点击了该物品,取 1 或 0。
    yiy_i
  3. 曝光指示器只统计被曝光(o=1)的样本,没曝光就无法观测点击。
    1[oi=1]\mathbb{1}[o_i = 1]
  4. 倾向得分该物品在位置 x_i 下被曝光(被看到)的概率,通常用模型估计。
    p^i=P(oi=1∣xi)\hat{p}_i = P(o_i = 1 \mid x_i)
  5. 逆倾向权重除以 p 相当于乘以 1/p——曝光概率越低,一旦发生点击,权重越大。
    1p^i\frac{1}{\hat{p}_i}

反事实评估

王经理不能把 200 家店重新实验一遍来验证模型。他真正想问的是:“如果上个月没给张三推荐薯片,他还会买吗?”——现实里没有平行世界,这就是反事实问题。但“没有平行世界”不代表“无法评估”,关键是用对数据和方法。

思路是这样:拿一小部分流量做随机化试验——位置完全打散,让治疗组和对照组在统计上可比,等于制造了一个“平行世界切片”。然后,把模型预测的“增量最高用户”排在前面,看他们在随机试验数据里的真实累计增益曲线。这条曲线下的面积,就是 AUUC(Area Under Uplift Curve)。

公式:

如果模型真能识别增量人群,增益曲线会快速上升随后变平;如果模型是“瞎猜”,曲线会贴着对角线。AUUC 越高,说明把预算投向前排用户的回报越高。王经理用这个指标对比了三家建模公司的方案,选了曲线最陡的那家——因为只有它能把每一分钱都花在真正会被推荐打动的顾客身上。

G(t)  =  1∣Ut∣∑i∈Ut(yiT−yiC),AUUC=∫01G(t)  dt\displaystyle G(t) \;=\; \frac{1}{\left|U_t\right|}\sum_{i \in U_t}\left(y_i^{T} - y_i^{C}\right), \qquad \text{AUUC} = \int_{0}^{1} G(t)\;dt
  1. 排序集合 U_t按模型预测的增量从大到小排序,取前 t 比例的用户。
    UtU_t
  2. 个体响应差治疗组与对照组各自的真实点击结果相减,得到真实增量。
    yiT−yiCy_i^{T} - y_i^{C}
  3. 计算平均对前 t% 用户求平均,得到累计增益。
    1∣Ut∣∑i∈Ut(yiT−yiC)\frac{1}{|U_t|} \sum_{i \in U_t}\left(y_i^{T} - y_i^{C}\right)
  4. 曲线下面积对不同 t 的累计增益积分,AUUC 越大说明越多人被排对了队。
    AUUC=∫01G(t) dt\text{AUUC} = \int_0^1 G(t)\,dt

推荐系统实践

最终,王经理把整套方法装进了超市的“智能货架系统”:采集层记录每个位置的曝光与点击,去偏层用 IPS 校准数据,决策层用 Uplift 树输出每位顾客的推荐增量,评估层用随机分流加 AUUC 每月复盘。四个环节闭环运转。

决策层的核心原则是:不排“点击率最高”,而排“增量最大”。推荐对象不是“他本来就喜欢的东西”,而是“推荐这个动作能额外撬动行为的东西”。数学表达为:

落地时有几个实战细节:一是位置特征要加入模型,但推理时要把位置置为该物品的“平均曝光值”,否则位置会一边当特征一边当偏差;二是要把 5%~10% 的流量保持在随机位置模式,为 IPS 和 AUUC 提供干净数据;三是 IPS 权重需要截断(clip)到合理范围,防止个别极端权重引爆方差。月度看板上,离线 AUUC 提升 15%,线上 A/B 的增量点击提升 8%。

王经理的超市从“凭感觉摆货”升级为“用因果做决策”。他彻底明白了一个道理:黄金货架上的光环会骗人,真正的增长藏在“推荐这个动作本身”带来的增量里。区分因果与关联,从观测走向干预——这正是 Uplift 建模与位置偏差校正的全部意义。

π∗(u)  =  arg⁡max⁡i∈I  τ^i(u)\pi^{*}(u) \;=\; \arg\max_{i \in \mathcal{I}}\; \hat{\tau}_{i}(u)
  1. 最优策略 π\*对用户 u 给出的最优推荐决策。
    π∗(u)\pi^{*}(u)
  2. arg max从候选物品集合中,找出使目标函数取最大值的那个物品。
    arg⁡max⁡i∈I\arg\max_{i \in \mathcal{I}}
  3. 预测增量模型估计的物品 i 对用户 u 的 Uplift 值。
    τ^i(u)\hat{\tau}_{i}(u)
  4. 决策逻辑选增量最大者,而非点击率最高者——因为高点击率可能来自位置光环,增量才代表真实的业务拉动。

AI 应用场景

电商首页“猜你喜欢”位次调优

阶段:模型评估与决策优化

解决的问题:传统 CTR 排序被展示位置污染,顶部商品吃“位置红利”虚高,底部优质商品曝光不足。用 Uplift 模型预测每个商品对该用户的增量,用 IPS 加权校准位置偏差,让真正“推荐才买”的商品获得黄金位。

具体案例:某电商平台在首页 Feed 流上,把“增量最大”的物品排到前两位,A/B 实验显示深位转化提升 12%,底部商品曝光量提升 30%。

信息流广告人群圈选

阶段:人群定向与预算分配

解决的问题:传统投放圈选“高活跃人群”,但高活跃用户不投广告也会买,预算被白白浪费。Uplift 建模找出“看了广告才会下单”的增量人群,把预算集中投向这些人。

具体案例:某新零售客户对 500 万用户做 Uplift 树分层,圈出 80 万增量人群后 ROI 提升 2.3 倍,曝光成本下降 34%。

新品冷启动推荐去偏

阶段:在线学习与评估

解决的问题:新品没有点击历史,容易被位置偏差压制到尾部。用位置随机化加 IPS 校准,给新品公平曝光机会,并用 AUUC 离线验证模型对新品的排序质量。

具体案例:内容平台对新作者视频实施“位置随机打散 + IPS 加权曝光”,一周内新作者均播量提升 45%。

Python 演示

python36 行
import numpy as np rng = np.random.default_rng(42)n = 1000active = np.arange(n) < n // 2          # 前 500 名是活跃用户t = rng.binomial(1, 0.5, n)             # 是否被推荐p_click = 0.1 + 0.4 * active + 0.3 * (t == 1) * activey = rng.binomial(1, p_click, n) pos_prob = 0.95 ** np.arange(n)         # 越靠前曝光概率越高obs_mask = rng.binomial(1, pos_prob, n) == 1y_obs = y.copy()y_obs[~obs_mask] = -1                   # 未曝光无法观测点击 def ips_click_rate(y_obs, obs_mask, pos_prob):    w = 1.0 / np.maximum(pos_prob, 0.05)    seen = obs_mask & (y_obs >= 0)    return (w[seen] * y_obs[seen]).sum() / w[seen].sum() naive = y_obs[y_obs >= 0].mean()ips = ips_click_rate(y_obs, obs_mask, pos_prob)true = p_click.mean() def uplift_by_group(mask):    mt = (t == 1) & mask    mc = (t == 0) & mask    yt = y[mt].mean() if mt.sum() else 0.0    yc = y[mc].mean() if mc.sum() else 0.0    return yt - yc g_active = uplift_by_group(active)g_inactive = uplift_by_group(~active) print(f"朴素点击率={naive:.3f}  IPS校正={ips:.3f}  真实点击率={true:.3f}")print(f"活跃用户增量={g_active:.3f}  非活跃用户增量={g_inactive:.3f}")print("决策:把推荐资源向增量更大的活跃用户倾斜")
目的:用一行数据模拟“位置偏差 + 推荐增量”,对比朴素统计与 IPS 校正的差距,并计算不同人群的 Uplift。
  1. active = np.arange(n) < n // 2前 500 名用户为活跃用户,模拟“活跃度”这个可能与位置相关的隐藏变量。
  2. p_click = 0.1 + 0.4 * active + 0.3 * (t == 1) * active生成点击概率:推荐只对活跃用户产生 0.3 的增量。
  3. pos_prob = 0.95 ** np.arange(n)曝光概率随位置指数衰减,越靠前越容易被看到。
  4. obs_mask = rng.binomial(1, pos_prob, n) == 1按曝光概率随机决定哪些样本被观测到,模拟真实日志的缺失机制。
  5. w = 1.0 / np.maximum(pos_prob, 0.05)IPS 权重是曝光概率的倒数,并用 0.05 下限防止除零和权重爆炸。
  6. naive = y_obs[y_obs >= 0].mean()直接平均可观测样本,得到被位置偏差污染的点击率。
  7. ips = ips_click_rate(y_obs, obs_mask, pos_prob)经过逆倾向加权,得到接近真实的点击率估计。
  8. mt = (t == 1) & mask取出治疗组(被推荐且属于该人群)的子集。
  9. return yt - yc组内增量等于治疗组平均响应减去对照组平均响应。
  10. print(...)对比三列数值,直观看到 IPS 校正了位置偏差。

常见误区

误区我看到排在第一位的商品点击率最高,说明推荐系统已经很棒了,用户就是喜欢这些商品,不需要做什么去偏处理。

正解顶部位置的点击率天然虚高,就像黄金货架放块石头也有人拿。观测点击率 = 真实相关 × 位置曝光,两者纠缠在一起。要想知道真实质量,必须拆开位置的影响,否则永远在给“位置光环”发功劳。

为何常见:因为只看了观测数据,没有对照组;位置信息被当成物品特征学进了模型,模型自然会把“靠前”误认为“被喜欢”。

误区CTR 模型已经能预测点击率,按点击率排序不就是在做推荐吗?为什么要多此一举搞 Uplift?

正解CTR 预测“用户会不会点”,是关联;Uplift 预测“推荐这个动作带来的增量”,是因果。一个高 CTR 用户可能本来就买,推不推无所谓;Uplift 专门找出“不推就不买”的人。就像王经理关心的不是薯片卖了多少,而是“摆上黄金层”这件事多卖了多少。

为何常见:把关联当因果,忽略了推荐系统本身是一个“干预”而不是“观察”。

误区IPS 的权重就是 1/点击率,点击率越高权重越大,而且权重越大越准,不用设置上限。

正解IPS 的权重是 1/曝光概率,不是 1/点击率。曝光概率低(很难被看到)却产生点击,说明物品本身有吸引力,所以权重高。但极端权重会让单个样本主导估计、方差爆炸,实际工程中必须做权重截断(clipping)。

为何常见:混淆了“曝光”与“点击”两个环节,又把统计直觉里的“权重大=更准”错误套用到了因果推断场景。

误区反事实评估需要同一个用户既被推荐又没被推荐,现实中做不到,所以离线模型没法验证好坏。

正解用小流量随机化试验数据制造“平行世界切片”:位置随机打散,治疗组和对照组天然可比。再把模型预测的增量排序拿到试验数据上画增益曲线,AUUC 就能离线比较不同模型的排序质量。王经理没把 200 家店重做实验,照样选出了最好的建模公司。

为何常见:把“反事实”想成了魔法般的平行宇宙,其实它是一套基于随机化与对照的统计设计。

误区位置偏差不过是随机噪声,训练数据足够大之后,模型自然会看清真实相关性,不用刻意处理。

正解位置偏差是系统性混杂,不是随机噪声。它方向一致地让头部虚高、尾部被压,数据越多,模型反而越巩固“靠前代表喜欢”的错误规律。必须用位置特征加随机化、IPS 加权等手段主动去偏。

为何常见:用“误差会相互抵消”的直觉去理解偏差,忽略了偏差是定向的、会随数据量放大的。

面试题

Q1. 位置偏差的本质是什么?

单选题 · easy

  • A.数据标注的低级错误
  • B.物品固有特征的缺失
  • C.位置与质量效应混杂← 正确答案
  • D.用户行为的随机波动

答案:C。位置偏差的本质是展示位置同时影响曝光和点击,导致“位置好”和“物品好”被混在一起,无法直接看出真实质量。它既不是标注错误,也不是随机噪声。

Q2. Uplift 建模估计的是哪个量?

单选题 · easy

  • A.用户点击物品的概率
  • B.推荐行为带来的增量← 正确答案
  • C.物品之间的相似程度
  • D.用户活跃时间的分布

答案:B。CTR 模型预测点击概率(关联),Uplift 预测“被推荐 vs 未被推荐”的行为差异(因果增量)。选项 A 是 CTR 的目标,C 是召回的目标。

Q3. Uplift 树选择分裂特征的依据是什么?

单选题 · mid

  • A.子节点内信息熵增量
  • B.子节点内基尼系数值
  • C.治疗对照响应差异← 正确答案
  • D.节点内样本量最大化

答案:C。Uplift 树的分裂目标是让左右子节点内部的“治疗组均值 − 对照组均值”差异尽量明显,用的是欧氏距离或 KL 散度,而不是普通决策树的信息熵和基尼系数。

Q4. 关于 IPS 逆倾向加权,哪些说法正确?

多选题 · mid

  • A.权重等于曝光概率的倒数← 正确答案
  • B.权重等于点击次数的倒数
  • C.低曝光点击样本权重更高← 正确答案
  • D.极端大权重需截断处理← 正确答案

答案:ACD。IPS 用 1/p 作为权重,p 是曝光概率。曝光概率越小,一旦发生点击说明物品真实吸引力越强,样本权重越大;但权重过大会让方差爆炸,需要 clip。权重绝不是点击次数的倒数。

Q5. 朴素点击率为何会高估头部物品?

单选题 · hard

  • A.头部物品曝光量更平稳
  • B.位置提高曝光与点击率← 正确答案
  • C.头部物品质量必然更高
  • D.用户习惯只点首屏物品

答案:B。观测点击率 ≈ 真实相关 × 位置曝光。头部位置曝光概率高、点击天然多,因此朴素点击率把位置红利算进了物品功劳里。“用户只点首屏”本身就是位置偏差的表现,不是原因。

Q6. AUUC 评估按什么顺序对用户排序?

单选题 · mid

  • A.模型预测点击率降序
  • B.模型预测增量效应降序← 正确答案
  • C.物品曝光概率升序排列
  • D.用户历史活跃度升序

答案:B。AUUC 把用户按 Uplift 模型预测的增量效应从大到小排序,再和随机试验数据里的真实累计增益对照。按点击率排会混入“本来就买”的用户,无法评估增量识别能力。

Q7. 位置偏差校正有哪些可行手段?

多选题 · hard

  • A.训练时将位置作为特征← 正确答案
  • B.小流量随机化位置实验← 正确答案
  • C.逆倾向加权修正观测← 正确答案
  • D.直接删除后排曝光样本

答案:ABC。位置特征加随机化流量加 IPS 加权是工程上常用的组合拳。删除后排样本会丢失信息,还会让训练集更加偏向头部,属于错误操作。

Q8. 治疗组与对照组在各场景中指的是?

单选题 · mid

  • A.被推荐用户与未被推荐← 正确答案
  • B.付费用户与免费用户
  • C.活跃用户与沉默用户
  • D.前排商品与尾部商品

答案:A。Uplift 建模中,治疗组是被施加干预(被推荐)的用户,对照组是未施加干预(不被推荐)的用户。付费与否、活跃度都是协变量而非干预分组。

Q9. 曝光概率趋近 0 时,IPS 估计的方差如何变化?

单选题 · extreme

  • A.方差会快速的减小
  • B.方差维持原状不变
  • C.方差急剧的增大← 正确答案
  • D.方差先增大后减小

答案:C。IPS 权重是 1/p,当 p 趋近 0 时个别样本权重爆炸,主导整个估计,方差急剧增大。实际使用要用权重截断或改用双重稳健(DR)估计来缓解。

Q10. Uplift 建模适用于哪些业务场景?

多选题 · easy

  • A.电商推荐位次调优← 正确答案
  • B.广告投放人群圈选← 正确答案
  • C.新用户冷启动策略← 正确答案
  • D.图片分类标注任务

答案:ABC。只要关心“干预动作带来的增量”就适合 Uplift:推荐位次、广告投放、冷启动策略都属于干预决策。图片分类只做识别,没有干预与反事实问题。