2.1 偏差(Bias) 的来源
首先要理解Bias的产生一般来自于混淆因素(Confounding Factor),也就是我们在研究某个干预T(Treatment,比如 电商平台发放给用户的折扣券额度)对某个结果Y(outcome,比如 用户购买行为实际产生的利润)的因果层面的干预效应(treatment effect),同时 电商公司的干预分配机制(treatment assignment mechanism,比如 电商公司如何决定不同用户的优惠券额度)是根据用户画像进行机器学习建模得到预测购买量,所以具有较大预测购买量的群体会获得更大折扣。同时如果我们的机器学习模型效果好的话,具有较大预测购买量的群体也会产生更大利润。此时,预测购买量就成了同时在因果上影响上述干预T以及结果 Y的混淆因素X(confounding factor)。
这便会导致,大额度折扣券用户(treated group)即使获得小额度折扣券(当然,这种情况我们无法观测,是所谓的反事实潜在结果),相比小额度折扣券用户(untreated group)也会产生更大的购买利润,因为这些得到大额折扣券的用户群体在我们的机器学习建模下就被预测为具有更大的预测购买量。
直观来说就是,分入实验组的群体和分入对照组的群体,在干预实施之前两组都没有收到干预! 结合实际例子理解,即我们通过某种策略对用户进行了分组,得到 大额度折扣券用户组 和 小额度折扣券用户组,而此时我们还没有真的发放优惠券。这时,两组用户已存在一定的偏差(Bias),这是由我们的分组策略导致的。也就是说,得到的两组用户除了即将施加或不施加干预之外,存在其他因素不一致,即作为混淆因素的预测销售不一致,因此两组之间不具备可比性!
2.2 潜在结果框架下Bias的数学表示及讨论
从数学角度描述,也就是:
Bias
=
E
[
Y
0
∣
T
=
1
]
−
E
[
Y
0
∣
T
=
0
]
\text{Bias} = E[Y_0|T=1] - E[Y_0|T=0]
Bias=E[Y0∣T=1]−E[Y0∣T=0]
其中,
E
[
Y
0
∣
T
=
1
]
E[Y_0|T=1]
E[Y0∣T=1] 为treated group 实际无法观测到的反事实潜在结果,
E
[
Y
0
∣
T
=
0
]
E[Y_0|T=0]
E[Y0∣T=0] 为 untreated group 实际观测到的事实潜在结果。
用潜在结果的语言表示:
- 衡量相关性association/correlation:
E [ Y ∣ T = 1 ] − E [ Y ∣ T = 0 ] E[Y\mid T=1]-E[Y\mid T=0] E[Y∣T=1]−E[Y∣T=0] - 衡量因果性causation:
E [ Y 1 − Y 0 ] E[Y_1 - Y_0] E[Y1−Y0]
首先我们来关注对相关性的衡量. 对实验组,观测到的结果为 Y 1 Y_1 Y1. 对照组观测到的结果为 Y 0 Y_0 Y0.
E [ Y ∣ T = 1 ] − E [ Y ∣ T = 0 ] = E [ Y 1 ∣ T = 1 ] − E [ Y 0 ∣ T = 0 ] E[Y \mid T=1]-E[Y \mid T=0]=E\left[Y_1 \mid T=1\right]-E\left[Y_0 \mid T=0\right] E[Y∣T=1]−E[Y∣T=0]=E[Y1∣T=1]−E[Y0∣T=0]
我们同时添加或减少一个实验组的反事实结果项 E [ Y 0 ∣ T = 1 ] E\left[Y_0 \mid T=1\right] E[Y0∣T=1].
E [ Y ∣ T = 1 ] − E [ Y ∣ T = 0 ] = E [ Y 1 ∣ T = 1 ] − E [ Y 0 ∣ T = 0 ] + E [ Y 0 ∣ T = 1 ] − E [ Y 0 ∣ T = 1 ] E[Y \mid T=1]-E[Y \mid T=0]=E\left[Y_1 \mid T=1\right]-E\left[Y_0 \mid T=0\right]+E\left[Y_0 \mid T=1\right]-E\left[Y_0 \mid T=1\right] E[Y∣T=1]−E[Y∣T=0]=E[Y1∣T=1]−E[Y0∣T=0]+E[Y0∣T=1]−E[Y0∣T=1]
然后我们整理上式
E [ Y ∣ T = 1 ] − E [ Y ∣ T = 0 ] = E [ Y 1 − Y 0 ∣ T = 1 ] ⏟ A T T + { E [ Y 0 ∣ T = 1 ] − E [ Y 0 ∣ T = 0 ] } ⏟ B I A S E[Y \mid T=1]-E[Y \mid T=0]=\underbrace{E\left[Y_1-Y_0 \mid T=1\right]}_{A T T}+\underbrace{\left\{E\left[Y_0 \mid T=1\right]-E\left[Y_0 \mid T=0\right]\right\}}_{B I A S} E[Y∣T=1]−E[Y∣T=0]=ATT E[Y1−Y0∣T=1]+BIAS {E[Y0∣T=1]−E[Y0∣T=0]}
上面这个公式,几乎是因果推断中最重要的一个等式!左边是对 相关性的衡量,右边则是对因果性衡量,即实验组上的平均干预效应(Average Treatement Effect on Treatment,ATT),加上可将两种关系进行联系的一个偏差项!
我们可以有以下结论:
- 首先,相关不等于因果!
- 偏差来自于:分入实验组的群体和分入对照组的群体在干预实施之前的区别;
- 我们也可以说,存在干预之外的因素使得实验组和对照组有所不同,而这种不同就是我们所谓的偏差!
- 结合实际而言,偏差的产生往往来自于我们的混淆因素,比如电商折扣券例子中公司根据用户画像进行机器学习建模并得到的购买销售量!两组用户不进仅将具有不同的干预,也已经具有一个我们无法作为干预进行控制,但会和干预(例子中的折扣)一同改变的混淆因素——购买预测量!
2.3 Bias = 0 的实际意义
那么,什么时候因果可以等于相关呢?当不存在偏差,即满足
E
[
Y
0
∣
T
=
1
]
=
E
[
Y
0
∣
T
=
0
]
E[Y_0|T=1] = E[Y_0|T=0]
E[Y0∣T=1]=E[Y0∣T=0]
偏差为 0,则有
E
[
Y
∣
T
=
1
]
−
E
[
Y
∣
T
=
0
]
=
E
[
Y
1
−
Y
0
∣
T
=
1
]
⏟
A
T
T
E[Y \mid T=1]-E[Y \mid T=0]=\underbrace{E\left[Y_1-Y_0 \mid T=1\right]}_{A T T}
E[Y∣T=1]−E[Y∣T=0]=ATT
E[Y1−Y0∣T=1]
等式左侧衡量的相关性等于等式右侧衡量的因果性!
而等式 E [ Y 0 ∣ T = 1 ] = E [ Y 0 ∣ T = 0 ] E[Y_0|T=1] = E[Y_0|T=0] E[Y0∣T=1]=E[Y0∣T=0] 其实也非常符合直觉,即实验组和对照组在分组完成,实施干预前,两组非常相似。也就是两组除干预之外,在其他因素上都应该是相似的,也就是两组是可以进行比较的!
也因为他们的相似性,在实验组和对照组上的干预的因果效应是相同的,解释如下:
由于实验组和对照组的相似性,
E
[
Y
1
−
Y
0
∣
T
=
1
]
=
E
[
Y
1
∣
T
=
1
]
−
E
[
Y
0
∣
T
=
1
]
=
E
[
Y
1
∣
T
=
1
]
−
E
[
Y
0
∣
T
=
0
]
=
E
[
Y
∣
T
=
1
]
−
E
[
Y
∣
T
=
0
]
\begin{aligned} E\left[Y_1-Y_0 \mid T=1\right] & =E\left[Y_1 \mid T=1\right]-E\left[Y_0 \mid T=1\right] \\ & =E\left[Y_1 \mid T=1\right]-E\left[Y_0 \mid T=0\right] \\ & =E[Y \mid T=1]-E[Y \mid T=0]\end{aligned}
E[Y1−Y0∣T=1]=E[Y1∣T=1]−E[Y0∣T=1]=E[Y1∣T=1]−E[Y0∣T=0]=E[Y∣T=1]−E[Y∣T=0]
此时,我们实际观测到的实验组对照组结果均值的差值即变成了
A
T
T
ATT
ATT。此外,如果实验组和对照组只在有无干预这一点上有所区别,那么我们也会有:
E
[
Y
1
∣
T
=
0
]
=
E
[
Y
1
∣
T
=
1
]
E[Y_1\mid T=0] = E[Y_1 \mid T =1]
E[Y1∣T=0]=E[Y1∣T=1]
即 实验组和对照组对于干预会产生相同的响应!
最关键的 Bias = 0 后的效果
此时,便有实验组和对照组上的因果/干预效应相同,
E
[
Y
1
−
Y
0
∣
T
=
1
]
=
E
[
Y
1
−
Y
0
∣
T
=
0
]
E[Y_1-Y_0\mid T=1] = E[Y_1-Y_0\mid T=0]
E[Y1−Y0∣T=1]=E[Y1−Y0∣T=0]
并且,我们实际观测到的两组的结果均值差距也可以直接衡量我们的 ATT 和 ATE,
E
[
Y
∣
T
=
1
]
−
E
[
Y
∣
T
=
0
]
=
A
T
T
=
E
[
Y
1
−
Y
0
∣
T
=
1
]
=
causal impact on control
=
E
[
Y
1
−
Y
0
∣
T
=
0
]
=
A
T
E
=
E
[
Y
1
−
Y
0
]
\begin{aligned} E[Y|T=1]-E[Y|T=0] &=ATT=E[Y_1-Y_0|T=1] \\ &=\text{causal impact on control}= E[Y_1-Y_0|T=0]\\ &=ATE = E[Y_1-Y_0] \end{aligned}
E[Y∣T=1]−E[Y∣T=0]=ATT=E[Y1−Y0∣T=1]=causal impact on control=E[Y1−Y0∣T=0]=ATE=E[Y1−Y0]
总结
简练的说,也就是
E
[
Y
∣
T
=
1
]
−
E
[
Y
∣
T
=
0
]
=
A
T
T
=
A
T
E
E[Y|T=1]-E[Y|T=0]=ATT=ATE
E[Y∣T=1]−E[Y∣T=0]=ATT=ATE
即观测到的实验组和对照组之间的结果的差距便是平均因果效应! 因为此时除干预本身之外,实验组和对照组在其他因素上没有任何区别,也就是不存在偏差,那么所有我们观测到的两组之间的差异都只能归因于干预。
而因果推断中最困难艰巨的一项任务便是消偏(Debiasing),也就是试图找一个聪明的策略去消除偏差从而确保实验组和对照组是可比的,并使得我们所观测到的两组结果的差距只来自于平均因果/干预效应!