美文网首页机器学习-算法理论
Debiasing:Formulation & Summariz

Debiasing:Formulation & Summariz

作者: shudaxu | 来源:发表于2021-07-01 22:37 被阅读0次

    Formulation:

    Bias的类型其实有很多,其中有的是非常明确的,而有的问题并非well defined。我们这里讨论如何将各种Bias都准确地形式化出来,构建一个体系化的框架来帮助大家思考。我们在Confounding Bias & Selection Bias中已经讨论了两种Bias,这里进行一些总结,以及更广泛的讨论。

    • Confounding Bias Formulation:
      Internal Invalidity:confounder从内部无效化p(y|do(x)) \neq p(y| x)
      Causal Effect Estimation讨论了Confounding Bias的解决方法,以及Backdoor-Criterion等等。
      这个问题实际运用场景,主要在我们做Uplift Modeling,以及AB test中等等有所涉及。

    • Selection Bias Formulation:
      External Invalidity:从外部无效化p_{sample}(y|x) \neq p_{population}(y|x),即sample的估计无法generalize到population中。如果用Variable s=1,0代表是否被选进sample,则可以表示为:p(y|x,s=1) \neq p(y|x)
      其实,这个是业界面临的普遍问题,在很多系统中都存在各式各样的Selection Bias,在工业界的一些运用和思路在Bias消解简述中有所概览。下面会给出更泛化的情景,以及更普遍的解决方案。

    • 其他 Bias
      并不是统计学中well defined的bias。其中有很多直觉的东西。很多这些bias需要case by case的study。但是其中的思路多数与Confounding and Selection Bias有相通之处,这里不做详细展开。比如Popularity bias, Position Bias等等[4],还有很多更广泛意义上的bias,系统中存在的bias,也是需要case by case的理解分析。一些讨论可见:广义Bias

    Method:

    • 0、 Selection No Bias判定:天然独立/条件X独立,不需要去偏
      a、如果满足Y \perp S,即天然独立。则不需要去偏。
      b、如果满足在given X的情况下,Y与Selection过程条件独立:即Y \perp S| X。则直接在Selection后的Sample上估计,得到的概率也是Population level 的无偏概率
      即:p(y|x,s=1) = p(y|x)

    • 1、 Selection Bias:借助external(population level) data引入Adjustment[1] **
      推论:如果在Biased的Sample数据中,有个我们可以在
      population level观测的集合Z,满足在观测z,x变量的情况下,ys条件独立:即y \perp s| x, z,则可以通过p(y|x) = \sum_z p(y|x,c,s=1) p(c|x)从有偏数据恢复出原本的分布。
      这个的推导如下:
      p(y|x) = \sum_z p(y,z|x)【全概率公式】
      =\sum_z p(y|x,z) p(z|x)【贝叶斯公式】
      =\sum_z p(y|x,z,s=1) p(z|x)【条件独立】
      由此,我们可以通过在Selection有偏的sample上进行p(y|x,z,s=1)的估计。并通过在population level的p(z|x)的估计来得到(recovery)无偏的估计p(y|x)
      注意0:z选择的目标就是为了隔绝SY,即两者之间的路径都被
      阻塞。在我们已知G_s的情况下,z具体的选择方案可以参考D-Seperation,Backdoor-Criterion中关于Block Path的定义以及选择的方法(当然,选择方式不同,但是推理方法类似)。
      注意1:z变量是可以在
      population level**被观测和估计出来的,p(z|x)并未受到Selection变量s的影响(譬如用户年龄age)。
      注意2:如果x \perp z也是有可能的,此时p(z|x)可以直接替换成p(z)简化。
      注意3:这个external data其实是个比较强的假设,因为我们必须在population level进行估计,或者起码它能无偏有效地泛化到population level。

    • 2、Selection Bias:Inverse-Probability Weighting
      方案1通过隔绝S对Y的影响,相当于引入z,在根据z在population level的分布,对z积分,来消除sample与population的差异,达到目的。但是这种情况的条件并不一定所有情况下都满足,在不满足的情况下我们需要替代的方案。(核心在于变量s要受且仅受一些我们可以在population level观测的的变量集合z
      直觉上,我们通过直接估计p(s)也能得到类似的效果。所以我们可以根据被选择的概率来进行调整[3]:即inverse-probability weighted sample(multiplicity of sample也有等同效果)
      L(D')= \sum_{i=1}^n w_i c(h,x_i,y_i),其中w_i=\frac {P_D(x_i,y_i)}{P_{D'}(x_i,y_i)}
      c为cost function,h \in H为Hypothesis集合H中的元素,w_i为样本(cost)的权重。D为真实分布,D'为采样后分布。
      证明:
      E(L(D')) = \sum_{x_i,y_i}^n P_{D'}(x_i,y_i) * \frac {P_D(x_i,y_i)}{P_{D'}(x_i,y_i)} c(h,x_i,y_i)【根据期望的定义】
      = \sum_{x_i,y_i}^n P_{D'}(x_i,y_i) c(h,x_i,y_i) = E(L(D))
      但是这里就有一个问题了,如果对于true distributionD是我们unobserved,则P_D(x_i,y_i)无法统计计算。
      所以我们定义selection variable s,通过该变量连接P_DP_{D'},即:
      定义:
      P_{D'}(x,y) := P_D(x,y | s=1)
      由于:
      P_{D}(x,y)=\frac {P_{D}(x,y| s=1) P_{D}(s=1)}{P_{D}(s=1| x,y)}
      =\frac {P_{D}(s=1)}{P_{D}(s=1| x,y)} P_{D'}(x,y) 【带入上述P_{D'}定义】
      由于通常sy是无关的。(准确来说,在given x情况下是无关的)。
      这里其实有隐患,在[5]中有所讨论
      所以:
      \frac {P_{D}(x,y)}{P_{D'}(x,y)} = \frac {P_{D}(s=1)}{P_{D}(s=1| x)},由于P_{D}(s=1)为常数,所以替换上述权重
      即:w_i= \frac {1}{P_{D}(s=1| x)}

    • 3、Confounding Bias:通过Backdoor-Criterion引入Adjustment
      详细见Causal Effect Estimation

    • 4、Confounding Bias:引入Propensity Score
      PSM,PSW的方法。详细见AB test中修正Bias的方法。

    • 5、同时有Confounding Bias & Selection Bias:简述
      a、方案1,通过Backdoor-Criterion + s-Recovery的变量共同做Adjustment[1]
      b、方案2,根据上述方法分别去偏,其他组合方式都不互相影响。

    思考

    关于何时应当Debiasing?其实,更多时候,越是底层的系统,可能越需要Debiasing,而上层的系统,可能反而任务没那么重。比如我们更应该关注粗排,召回拉链排序,特征统计等问题上的Debias【比如Popularity Bias,Position Bias等】,而精排本身是为了精准地给出即时预测,某些Bias反而可能不是Bias了。

    Refer
    [1]
    a、s-Recovery 的条件,在不进行先验的分布参数化的情况下,我们能否从biased的数据中获取无偏概率:Recovering from Selection Bias in Causal and Statistical Inference
    b、在Selection Bias的情况下去除Confounding bias:上述论文的以下章节:Recoverability of Causal Effects

    [2] Popularity Bias
    Managing Popularity Bias in Recommender Systems
    with Personalized Re-ranking

    [3]详细见:Sample selection bias correction theory
    Sec4还有 关于weighting对acc的影响,以及其error如何估计

    Elkan 2001; Zadrozny 2004; Smith and Elkan
    2007; Storkey 2009; Hein 2009; Cortes et al. 2008)

    [4]工业界一些Debias的研究
    https://zhuanlan.zhihu.com/p/342905546

    [5]这里是个矛盾点:
    Sample Selection Bias Correction Theory 假设了sy无关(因为unselected data没有label y,所以如果与y相关就没法估计了,其实大部分情况下,很可能也确实无关)。但是在Recovering from Selection Bias in Causal and Statistical Inference中的结论相反。后者的结论是,如果sy独立,则根本不需要debiasing。
    这两者看似矛盾,其实不是,因为根本原因是:有未观测变量U的存在。真正单纯的S \leftarrow X \rightarrow Y在真实环境中很难存在。(比如在一个推荐系统中的CTR模型,U是用户此刻的心情,影响了其下滑的概率,从而影响了S,当然,心情也会影响其点击行为Y
    例如真实G_sS \leftarrow X \rightarrow YS \leftarrow U \rightarrow Y,由于U的存在,Selection变量S的影响会被U pickup,再传递给Y,即,given X的情况下YS不独立Y \not\perp S | X,所以P(Y| X, S=1) \neq P(Y|X),即直接在S=1的sample上估计P(Y| X, S=1)跟真实概率是不同的,是是有偏的。
    另外,由于Confounder U的存在,其实P(S|X,Y) \neq P(S|X),即这里也是有偏的,所以上述方法,虽然名义上消除了Selection Bias,但是实际上在w_i的计算上,引入了新的bias。但是由于P(S|X)可以通过population level的数据进行估计,所以比Selection 本身带来的bias要小?
    但是我们通过X估计S的时候虽然没有观测到U,但是由于我们有Population Level的数据,起码P(S|X)是无偏的,,但是我们用IPS来去偏的方法是可行(无偏)的。
    其他讨论见:
    a、Stratification and Weighting Via the Propensity Score in Estimation of Causal Treatment Effects: A Comparative Study
    b、Estimation of Regression Coefficients When Some Regressors Are Not Always Observed

    [6]prediction与inference的区别
    关于Inference and prediction的差异:
    https://stats.stackexchange.com/questions/457410/inference-prediction-model-fit第二个回答。以及
    Inference更在意解释性,缩减bias。Prediction更在意预估能力(predictive power),同时缩减bias and variance。To Explain or to Predict?(Galit Shmueli)
    Inference通常用goodness of fit来评估。而Prediction需要holdout test set来评估。
    TODO仅此似乎也不能完全解释上述结论的矛盾性

    相关文章

      网友评论

        本文标题:Debiasing:Formulation & Summariz

        本文链接:https://www.haomeiwen.com/subject/pvjjultx.html