Selection Bias消解方案简述

去偏:什么是bias,为什么要消除bias,何时,怎么消除bias
中论述了我们业务体系中的偏差,以及如何处理他们。
会有bias可以直接消解吗?也有。

定义

  • 建模目标定义
    建模目标:P(Y|X)的条件分布。

  • 预估问题中,常见Selection偏差的定义[5]:
    假设对于特征变量Z,在样本中的边缘分布p'(z)与总体中的边缘分布p(z)不同。那么样本在z上是有bias的。(这里的样本和总体,通常也可以是:训练样本与推断样本)【这里可以是样本与总体,也可以是控制组与对照组】
    譬如训练时,对总体进行了对z的有偏采样。p(z|select=0) != p(z|select=1),即p(z|select) != p(z)
    譬如AB test中对变量xi进行研究(假设AB组别的变量因子分布一致),当p(z|group=A) != p(z|group=B)时,AB分组也是有偏的,可能会影响实验结果。(比如A组很多土豪用户,B组很少)
    注意:这里的z不在x的集合中,即z不属于x
    这样的问题非常常见,譬如在广告,推荐中,显式隐式地都存在这样的问题。

何时selection bias可以消解

  • 1、最严格条件:z与x,y都无关
    eg:
    非常常见的,完全随机:
    比如随机AB实验,我们ab分组的方式与y是无关的(完全随机分组),所以我们建模的时候不用考虑AB分组,即p(y|x,z=A)=p(y|x,z=B)=p(y|x)
    或者完全随机采样。

  • 2、z与y无关:(完全无关不一定是没有z->y,概率建模需要没有任何连接,y->z也不行)
    其实z只要与y无关即可。满足p(y|z) = p(y),则p(y|x, z)=p(y|x)

  • 3、条件独立:譬如:z \rightarrow x \rightarrow y
    当y在 given x的情况下与z无关:p(y|x, z)= P(y|x)。
    eg:
    比如在广告预估场景:y:win,x:bid,z:特征空间
    对成功率建模p(win| bid ,z ) = p(win|bid) 【z为特征空间】
    因为概率的关系建模为:z->bid->win。
    当然,在某些特殊情况下,比如adx平台对某些用户有筛选地控制竞价时,所以其biding landscape是depending on 具体流量的,通常具体流量也可以拿z来部分替代。

  • 4、TODO,需要额外数据建模:x \rightarrow y \rightarrow z
    eg:
    譬如对y=0的样本负采样,联合分布p(y,x)发生了改变,边缘分布p(y),p(x)也发生了变化,理论上所有x的分布都是有偏的,即:p(x| select=0) != p(x| select = 1) 。但是p(y|x)的条件概率分布是不受影响的,所以我们仍然用这种方式进行样本采样,训练。
    不过这里要注意一个陷阱,就是在总体分布上,given x的情况下z是与y独立的,但是当我们通过采样来进行参数估计的时候,如果采样的不合理,同样会造成最终结果有偏[1]。(当然,这里是另外一个问题了,这种方式为什么可行,在什么条件下能优化我们ranking问题,其实也是需要严谨的推导的。详细见非均衡数据分类,以及采样对其的影响 以及论文[0]的chapter 3。)

可能陷阱

  • 1、忽略y、z的相关性
    概率建模:z->x->y,z->y
    控制组与对照组p(z) != p'(z),由于有z->y,所以我们不能忽略z
    eg:
    在营销等领域,譬如x的含义是“是否发优惠券”,我们想知道发券对用户转化y的影响p(y|x)。对于这个问题,其实我们实际上想知道revenue = p(y|x=1) - p(y|x=0)。以此来对x进行决策【x其实也可以有多值选择,譬如多档位的优惠券】。单纯这样建模是错误的,因为y可能受到z的影响更大,如果我们按一定的条件(跟z相关)发券后,这样建模很可能得到错误的结论。【当然,完全随机实验能解决这个问题,完全随机实验其实就是让x独立于z,切断z->x的连接】
    所以对于这样的问题,一般来说,我们天然地就通过p(y|x,z)来建模,revenue=p(y|x,z=1) - p(y|x,z=0)可以用来估计预期增益。但是由于x变量(发券)是我们人为控制的,如果这个控制策略本身导致样本非常不balance,比如样本中给男性发的券大大低于女性,但也会导致估计的偏差[1]。

  • 2、Covariate Shift
    如果z是偏差变量,那么将z带入模型,通过p(y|x,z)建模确实能解决不少的问题。
    但是往往现实中z会伴随着一些样本unbalance的问题【部分unbalanced的问题,不一定都会导致预估出来的条件概率误差太大,譬如上述undersampling的例子】,或者covariate shift的问题【上述unbalanced dataset的问题,如果较为严重,譬如样本中根本没有给男性发券,其实就是一种直觉理解的covariate shift】。
    eg:
    譬如常见的ctr,cvr建模。例如y是转化,z是点击,x是特征变量。同样地,x->z->y,x->y
    我们关心的目标是:
    点击率:p(z=1|x)
    转化率:p(y=1|z=1, x)
    通过概率建模,其中的概率分布关系是没有问题的。
    但是这里隐含的Covariate Shift是,我们建模的时候用z=1的样本建模,推断的时候用全量的样本推断。
    z是观察变量,但是是我们预估y前无法观测到的。
    由于 p(z=1|x)* p(y=1|z=1, x) = p(y=1, z=1|x)。因此我们可以通过p(y=1, z=1|x) / p(z=1|x) 来建模cvr。这两个概率都是可以直接在全量样本上建模,一定程度上解决covariate shift的问题[2]【有问题,请勿参考ESMM】
    PS:covariate shift起因大致可以分为两种(1) sample selection bias and (2) non-stationary environments.[3]。前者(1)可以比较明确地定义并建模,其中的一些情况在论文[0]中有比较详细的阐述与分析解决方案。后者(2)常见于时间空间变化(整个环境,状态的变化)下状态发生变化的情况,还有譬如adversarial modeling(例如adversary总在寻找缺陷进行变化的攻击)

  • 3、过度追求unbiased
    unbiased estimator一定比biased estomator好吗?答案是否定的。直观就很好理解,譬如一个estimator 是biased的,但是其bias与variance都很小。另一个unbiased estimator,虽然没有bias,但是variance非常大。这种时候,我们也可能会prefer前者。

Refer
  • [0] When is undersampling effective in unbalanced classification tasks?
  • [1] 样本不balance会导致估计本身有偏严重,导致模型在不同类别(变量取值)下如果variance差别太大。从直觉上很好理解样本越少,其数据本身不确定性越大,数据量越大越能代表总体。理论如下:
    1、根据中心极限定理,其样本均值的variance与样本容量n成反比。
    2、最大似然估计对variance的估计本身有偏,样本越少偏差越大(分母为n,分母为n-1的情况下,样本variance才是总体variance的无偏估计)。
  • [2] 相关思路在Esmm中用乘法的方案实现(文中认为除法会有一定的数值不稳定性)。我认为,其实这里中的bias是non-stationary environments,而非是文章中所述的ssb,因为这个本身不是一个主动选择过程))【因为曝光未点击的样本,我们不知道真实label,这部分是missing data,无法直接选择做样本】。(bias的种类在后面的PS中有阐述)【当然,从理论上如何划分(是哪种bias),并不是问题关键所在,理论的完备某种程度上只是让其更优雅而已】
    当然,由于样本本身的稀疏性,p(y=1, z=1|x)【ctcvr】的建模本身就很困难,所以说可以有很多tricky的方法来辅助,譬如进行多阶段的训练,对p(z=1|x)【ctr】进行frozen来辅助训练【ctcvr】。


    【更新:ESMM这篇文章,我仔细推导了一下对CVR模型侧的loss,应该是有点问题的。当ctcvr=1时,其loss与直接训练是一致的。当ctcvr=0时,其梯度会弥散:当pCvr接近1或者接近0,梯度都是接近0,这种状态导致比较明显的第一层就存在的梯度弥散,当然也许正是这个原因,对于CVR塔的参数过高的负样本问题也能缓解一下?关于对cvr塔输出节点o的梯度:
    \frac {\partial Loss}{\partial o}=(pCvr - 1) *\frac {label - pCtr*pCvr}{1-pCtr * pCvr}
    其中:
    pCvr=\sigma(o),
    pCtr为ctr的预估分
    label为ctcvr的label(对ctr部分偏导为0)
    label=0,pCtr=0.99时,对o的loss曲线

    label=0,pCtr=0.5时,对o的loss曲线

    可以看出,1、loss方向是对的,label=0,激活函数与o正相关,对o产生正梯度。2、label=0在pcvr=1处梯度弥散。3、预估ctr越高,对cvr的梯度越高(这部分样本权重越高)这其中的第三点,是与Propensity score的思路是相反的,所以这是主要的问题所在。


    【同时,在Large-scale Causal Approaches to Debiasing Post-click
    Conversion Rate Estimation with Multi-task Learning这篇文章中,作者也指出ESMM是biased。同时这篇文章其实解决了ESMM的loss的问题,直接将pCtr引入作为propensity score(做IPW),创新点在于使用了multi-ipw(多目标同时训练),引入imputation model来解决同时训练ctr与cvr带来的误差】(IPW本身相关思路其实并不创新,propensity score可见:An Introduction to Propensity Score Methods for Reducing the Effects of Confounding in Observational Studies,其实通过pCtr优化cvr估计,就是将click变量作为confounder。类似思路可见:Nonresponse weighting adjustment
    using estimated response probability)以及:Item Popularity and Recommendation Accuracy,
    以及Weighting Regressions by Propensity Scores。对于当前问题,理论上:对于click=1的样本,权重为\frac 1 {pCtr},对于click=0,权重为\frac 1 {1-pCtr},不过其中click=0样本的ground truth我们无法获得。见Recommendations as Treatments: Debiasing Learning and Evaluation。IPWE:https://en.wikipedia.org/wiki/Inverse_probability_weighting。工程上,ctr在所有曝光样本上建模,cvr在observed data(点击样本)上建模(cvr部分的loss只包含observed data的样本),用pctr的倒数作为样本权重加权。这里有个比较反直觉的是:虽然在click=0的情况下,Y(cvr)的ground truth我们不知道,但是用ipw的情况下,我们并没有直接考虑未点击样本,也能得到unbiased estimator。
    PS:注意,当前问题中,SSB其实click并不能直接解释为confounder。(Confounding Bias与Selection Bias不等价)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容