反事实因果(Counterfactual)简介

您所在的位置:网站首页 事实观点是什么意思 反事实因果(Counterfactual)简介

反事实因果(Counterfactual)简介

2024-07-17 21:19| 来源: 网络整理| 查看: 265

Counterfactual 简介 确定的反事实

反事实是什么?用了例子说明,比如你去了二仙桥,走的是成华大道,但是用了很久才到,于是你就想要是当初坐地铁就好了。你会发现,“要是坐地铁就好了”这个推断只有在发生了“走成华大道用了很久”这个事实下才成立的。什么意思呢,就是一般情况下走成华大道跟地铁是差不多的,但是当天路上发生了一个事故耽误了很久,在已知事实下,你才能推断出坐地铁更好的结论,否则这个结论是不成立的。显然,我们常用的average treatment effect都无法表达这一类推断,因此,我们必须设计新的语言来描述他。在此之前可以先看上面这个例子怎么用数学来求解:

用 x = 1 \displaystyle x=1 x=1表示走成华大道,用 x = 0 \displaystyle x=0 x=0表示坐地铁,用 z = 1 \displaystyle z=1 z=1表示堵车,一个结构方程模型(SCM)写作如下: z = U z y = x ( z + U y ) + ( 1 − x ) U y z=U_{z}\\ y=x( z+U_{y}) +( 1-x) U_{y} z=Uz​y=x(z+Uy​)+(1−x)Uy​

其中 U z , U y \displaystyle U_{z} ,U_{y} Uz​,Uy​是噪声,这些噪声决定了当天的状态,于是,因为你走的成华大道 x = 1 \displaystyle x=1 x=1,用了2小时,因为你知道,只有堵车才会用2小时,所以一定发生了堵车,因此 z = 1 \displaystyle z=1 z=1,然后你可以反推出, U z = 1 , U y = 1 \displaystyle U_{z} =1,U_{y} =1 Uz​=1,Uy​=1,那么如果当初你坐地铁 x = 0 \displaystyle x=0 x=0,你需要的时间就是 y = 0 + U y = 1 \displaystyle y=0+U_{y} =1 y=0+Uy​=1这就是反事实。

所以推断这种确定的反事实的一个基本套路就是,用观测到的事实,反推出当时的噪声U,然后修改其中的变量,得到SCM计算的结果就是反事实。

不确定的反事实

刚才给出了一个确定的反事实推理,但是有时候反事实是不能确定的。比如这个世界有两类人,一种是永远快乐的人,一种是有猫才快乐的人。现在你给了一个人一只猫,然后那个人很快乐,那你是没有办法区分这个人到底是哪种人的,你只能通过这两类人群的概率来猜测这个人到底是什么人,然后通过这个概率来预测出,如果你不给这个人一只猫,他到底会不会快乐。

形式化地来讲, T = 1 \displaystyle T=1 T=1表示给猫, T = 0 \displaystyle T=0 T=0表示没给,Y服从以下过程:

Y = { 1 U = always happy T U = cat-needer Y=\begin{cases} 1 & U=\text{always happy}\\ T & U=\text{cat-needer} \end{cases} Y={1T​U=always happyU=cat-needer​

如果我们观测到事实, T = 1 , Y = 1 \displaystyle T=1,Y=1 T=1,Y=1,那么我们没办法反推出U,但可以肯定的是,这个U只可能是 a l w a y s   h a p p y \displaystyle always\ happy always happy或 c a t − n e e d e r \displaystyle cat-needer cat−needer,于是根据这两人群的概率 p ( U = c a t − n e e d e r ) = 0.6 , p ( U = a l w a y s   h a p p y ) = 0.4 \displaystyle p( U=cat-needer) =0.6,p( U=always\ happy) =0.4 p(U=cat−needer)=0.6,p(U=always happy)=0.4,我们可以推断,如果不给猫 T = 0 \displaystyle T=0 T=0那么, P ( Y u ( 0 ) = 1 ) = 0.4 \displaystyle P( Y_{u}( 0) =1) =0.4 P(Yu​(0)=1)=0.4.

反事实计算框架

从上述的例子可以看出,反事实是需要依赖于SCM才能实现的,所谓SCM就是, v i = f i ( p a i , u i ) \displaystyle v_{i} =f_{i}( pa_{i} ,u_{i}) vi​=fi​(pai​,ui​)的方程, p a i \displaystyle pa_{i} pai​是 v i \displaystyle v_{i} vi​的父亲, u i \displaystyle u_{i} ui​是 v i \displaystyle v_{i} vi​的噪声,用 M = < U , V , F > \displaystyle M=< U,V,F > M=表示这个集合,为了表达,干预操作 d o ( X = x ) \displaystyle do( X=x) do(X=x),我们可以将x对应的 f x = x \displaystyle f_{x} =x fx​=x强行等于某个值,于是令 F \displaystyle F F变成 F x \displaystyle F_{x} Fx​,从而得到子模型, M = < U , V , F x > \displaystyle M=< U,V,F_{x} > M=。

对于每个 v i \displaystyle v_{i} vi​,我们都可以用外生变量U表示,于是

p ( y ) ≜ p ( Y = y ) = ∑ { u ∣ Y ( u ) = y } P ( u ) p( y) \triangleq p( Y=y) =\sum _{\{u|Y( u) =y\}} P( u) p(y)≜p(Y=y)={u∣Y(u)=y}∑​P(u)

这个意味着,所有能够使得 Y = y \displaystyle Y=y Y=y的 U \displaystyle U U的总的概率就是 Y = y \displaystyle Y=y Y=y的概率。利用这个等式,我们可以计算,所有经过 d o ( x ) \displaystyle do( x) do(x)之后, Y x = y \displaystyle Y_{x} =y Yx​=y的概率:

p ( Y x = y ) = ∑ { u ∣ Y x ( u ) = y } P ( u ) p( Y_{x} =y) =\sum _{\{u|Y_{x}( u) =y\}} P( u) p(Yx​=y)={u∣Yx​(u)=y}∑​P(u)

基于此,我们就能写出任意反事实模型的推导,如 p ( Y x = y , X = x ′ ) \displaystyle p( Y_{x} =y,X=x') p(Yx​=y,X=x′)你会发现这个 X = x ′ \displaystyle X=x' X=x′与 Y x \displaystyle Y_{x} Yx​是冲突的,但这仍然是可算的:

p ( Y x = y , X = x ′ ) = ∑ { u ∣ Y x ( u ) = y   &   X ( u ) = x ′ } P ( u ) p( Y_{x} =y,X=x') =\sum _{\{u|Y_{x}( u) =y\ \&\ X( u) =x'\}} P( u) p(Yx​=y,X=x′)={u∣Yx​(u)=y & X(u)=x′}∑​P(u)

这意味着,我们需要先筛选出所有使得 X ( u ) = x ′ \displaystyle X( u) =x' X(u)=x′发生的 u \displaystyle u u(根据事实反推U),然后再穷举所有 u \displaystyle u u,并计算 Y x ( u ) = y \displaystyle Y_{x}( u) =y Yx​(u)=y的概率(根据U的分布,猜测干预x的结果).

显然,计算多个不同干预的结果也是可行的:

p ( Y x = y , Y x ′ = y ′ ) = ∑ { u ∣ Y x ( u ) = y   &   Y x ′ ( u ) = y ′ } P ( u ) p( Y_{x} =y,Y_{x'} =y') =\sum _{\{u|Y_{x}( u) =y\ \&\ Y_{x'}( u) =y'\}} P( u) p(Yx​=y,Yx′​=y′)={u∣Yx​(u)=y & Yx′​(u)=y′}∑​P(u)

参考资料

到二仙桥走成华大道完整版

Pearl, Judea. Causality. Cambridge university press, 2009. 第七章

《因果推理导论》课程(2020) by Brady Neal



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3