IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 潜在结果框架(Potential outcomes)与工具变量(Instrumental variable)介绍 -> 正文阅读

[游戏开发]潜在结果框架(Potential outcomes)与工具变量(Instrumental variable)介绍

Potential outcomes framework

什么是potential outcome呢?考虑在医学中,X=0表示不吃药,X=1表示吃药,那么很显然,一个人是没有办法同时吃药与不吃药的,所以我们只能够观测到其中的一个结果,即 Y ( 0 ) \displaystyle Y( 0) Y(0) Y ( 1 ) \displaystyle Y( 1) Y(1),而X只是用于选择观测的结果。

在这里插入图片描述

然而每个人对于吃药的结果是有可能不同的,比如有的人不管吃不吃都没法变好,有的人吃了就能恢复了,有的人吃了反而更难受了,还有的不管吃不吃都能恢复,对应着以下四类。

在这里插入图片描述

可记为

P ( Y ( 0 ) = 0 , Y ( 1 ) = 0 ) = P ( N R ) P ( Y ( 0 ) = 0 , Y ( 1 ) = 1 ) = P ( H E ) P ( Y ( 0 ) = 1 , Y ( 1 ) = 0 ) = P ( H U ) P ( Y ( 0 ) = 1 , Y ( 1 ) = 1 ) = P ( A R ) P( Y( 0) =0,Y( 1) =0) =P( NR)\\ P( Y( 0) =0,Y( 1) =1) =P( HE)\\ P( Y( 0) =1,Y( 1) =0) =P( HU)\\ P( Y( 0) =1,Y( 1) =1) =P( AR) P(Y(0)=0,Y(1)=0)=P(NR)P(Y(0)=0,Y(1)=1)=P(HE)P(Y(0)=1,Y(1)=0)=P(HU)P(Y(0)=1,Y(1)=1)=P(AR)

基于上面的各种情况,我们用Average Causal Effect(ACE)计算的因果效应将是:

A C E ( X → Y ) ≡ E [ Y ( 1 ) ? Y ( 0 ) ] = 0 ? P ( N R ) + 1 ? P ( H E ) + 0 ? P ( H U ) + 1 ? P ( A R ) ? ( 0 ? P ( N R ) + 0 ? P ( H E ) + 1 ? P ( H U ) + 1 ? P ( A R ) ) = P ( H E ) + P ( A R ) ? P ( H U ) ? P ( A R ) = P ( H E ) ? P ( H U ) ∈ [ ? 1 , 1 ] \begin{aligned} ACE\left( X\rightarrow Y\right) & \equiv E[ Y( 1) -Y( 0)]\\ & =0*P( NR) +1*P( HE) +0*P( HU) +1*P( AR)\\ & -( 0*P( NR) +0*P( HE) +1*P( HU) +1*P( AR))\\ & =P( HE) +P( AR) -P( HU) -P( AR)\\ & =P( HE) -P( HU) \in [ -1,1] \end{aligned} ACE(XY)?E[Y(1)?Y(0)]=0?P(NR)+1?P(HE)+0?P(HU)+1?P(AR)?(0?P(NR)+0?P(HE)+1?P(HU)+1?P(AR))=P(HE)+P(AR)?P(HU)?P(AR)=P(HE)?P(HU)[?1,1]?

从随机试验估计ACE

那么ACE能不能从样本总估计呢?当满足ignorebility的时候就可以:

X ⊥ Y ( 0 ) , ? X ⊥ Y ( 1 ) X\bot Y( 0) ,\ X\bot Y( 1) XY(0),?XY(1)

于是

P ( Y ( 0 ) = y ) = P ( Y ( 0 ) = y ∣ X = 0 ) = P ( Y = y ∣ X = 0 ) P ( Y ( 1 ) = y ) = P ( Y ( 1 ) = y ∣ X = 1 ) = P ( Y = y ∣ X = 1 ) P( Y( 0) =y) =P( Y( 0) =y|X=0) =P( Y=y|X=0)\\ P( Y( 1) =y) =P( Y( 1) =y|X=1) =P( Y=y|X=1) P(Y(0)=y)=P(Y(0)=yX=0)=P(Y=yX=0)P(Y(1)=y)=P(Y(1)=yX=1)=P(Y=yX=1)

此外
P ( Y ( 0 ) = 0 ) = ∑ y P ( Y ( 0 ) = 0 , Y ( 1 ) = y ) = P ( N R ) + P ( H E ) = P ( Y = 0 ∣ X = 0 ) P ( Y ( 0 ) = 1 ) = ∑ y P ( Y ( 0 ) = 1 , Y ( 1 ) = y ) = P ( H U ) + P ( A R ) = P ( Y = 1 ∣ X = 0 ) P ( Y ( 1 ) = 0 ) = ∑ y P ( Y ( 0 ) = y , Y ( 1 ) = 0 ) = P ( N R ) + P ( H U ) = P ( Y = 0 ∣ X = 1 ) P ( Y ( 1 ) = 1 ) = ∑ y P ( Y ( 0 ) = y , Y ( 1 ) = 1 ) = P ( H E ) + P ( A R ) = P ( Y = 1 ∣ X = 1 ) (1) \begin{aligned} P( Y( 0) =0) =\sum _{y} P( Y( 0) =0,Y( 1) =y) =P( NR) +P( HE) =P( Y=0|X=0) \\ P( Y( 0) =1) =\sum _{y} P( Y( 0) =1,Y( 1) =y) =P( HU) +P( AR) =P( Y=1|X=0)\\ P( Y( 1) =0) =\sum _{y} P( Y( 0) =y,Y( 1) =0) =P( NR) +P( HU) =P( Y=0|X=1) \\ P( Y( 1) =1) =\sum _{y} P( Y( 0) =y,Y( 1) =1) =P( HE) +P( AR) =P( Y=1|X=1) \end{aligned} \tag{1} P(Y(0)=0)=y?P(Y(0)=0,Y(1)=y)=P(NR)+P(HE)=P(Y=0X=0)P(Y(0)=1)=y?P(Y(0)=1,Y(1)=y)=P(HU)+P(AR)=P(Y=1X=0)P(Y(1)=0)=y?P(Y(0)=y,Y(1)=0)=P(NR)+P(HU)=P(Y=0X=1)P(Y(1)=1)=y?P(Y(0)=y,Y(1)=1)=P(HE)+P(AR)=P(Y=1X=1)?(1)
注意上述等式,只有在满足ignorebility的时候才成立的,此时ACE可以用

P ( Y = 1 ∣ X = 1 ) ? P ( Y = 1 ∣ X = 0 ) = P ( H E ) ? P ( H U ) P( Y=1|X=1) -P( Y=1|X=0) =P( HE) -P( HU) P(Y=1X=1)?P(Y=1X=0)=P(HE)?P(HU)

得到。

反事实与随机试验

从上面的分析我们可以发现,我们只能从实验数据中得到4类人群比例的两两组合,却没有办法得到精确的 P ( N R ) , P ( H E ) , P ( H U ) , P ( A R ) \displaystyle P( NR) ,P( HE) ,P( HU) ,P( AR) P(NR),P(HE),P(HU),P(AR)的值。

为什么我们需要在意他们每个人群的比例呢?直接算ACE不就好了?其实,ACE是一个“不太完善”的指标,因为ACE只是考虑的人群中的平均有效性,但忽略了那些会因为吃药而因此受伤的人,如果要正确的评价药效,那么我们应该用以下“完善”的指标:

吃 药 收 益 = a P ( N R ) + b P ( H E ) + c P ( H U ) + d P ( A R ) 不 吃 药 收 益 = e P ( N R ) + f P ( H E ) + g P ( H U ) + h P ( A R ) 吃药收益=aP( NR) +bP( HE) +cP( HU) +dP( AR)\\ 不吃药收益=eP( NR) +fP( HE) +gP( HU) +hP( AR) =aP(NR)+bP(HE)+cP(HU)+dP(AR)=eP(NR)+fP(HE)+gP(HU)+hP(AR)

其中a,b,c,d对应了每个不同人群下,吃药的收益,而e,f,g,h则是每一类人不吃药的收益,我们的目标是看看上述那个收益较大。显然,通过设置不同的收益,我们会有不同的决策。

但可惜的是,这是一个counterfatual问题,你是无法知道每一类人的比例的,为什么?不妨想想自己属于哪类人?你肯定无法给出答案,毕竟你无法同时知道自己吃药与不吃药后的状态,你只能观测其中一个。

所以我们观测的只是反事实的一小部分而已。

反事实与非随机试验(纯观测数据)

如果没有随机试验,这意味着ignobility是无法满足的,此时,我们没有办法从纯观测数据中得到正确的ACE了,那么我们能不能找到ACE的一个范围呢?考虑以下例子,

在这里插入图片描述

有的人使用了安慰剂,有的人使用了药,但是是否决定用药是非随机的。在这种情况下,我们尝试分析下, P ( H E ) \displaystyle P( HE) P(HE) P ( H U ) \displaystyle P( HU) P(HU)的最大值和最小值。

首先HE是吃了药才好,但不吃药就不好的人。首先 P ( Y = 0 ∣ X = 0 ) \displaystyle P( Y=0|X=0) P(Y=0X=0)里面可能有HE,也可能有NR,就是永远不好的人,另外, P ( Y = 1 ∣ X = 1 ) \displaystyle P( Y=1|X=1) P(Y=1X=1)中可能有HE,也可能有AR,即吃不吃药都好的人。因此 P ( H E ) \displaystyle P( HE) P(HE)的最大值就是当NR,AR都是0的时候,即
m a x ? P ( H E ) = P ( Y = 0 ∣ X = 0 ) + P ( Y = 1 ∣ X = 1 ) = 6 + 7 20 = 0.65 max\ P( HE) =P( Y=0|X=0) +P( Y=1|X=1) =\frac{6+7}{20} =0.65 max?P(HE)=P(Y=0X=0)+P(Y=1X=1)=206+7?=0.65

那么HU的最小值是什么呢?类似的, P ( Y = 1 ∣ X = 0 ) \displaystyle P( Y=1|X=0) P(Y=1X=0)包含了AR和HU的人, P ( Y = 0 ∣ X = 1 ) \displaystyle P( Y=0|X=1) P(Y=0X=1)包含了NR和HU的人,那显然最小值就是这两拨人中,全是AR和NR的人了,于是

m i n ? P ( H U ) = 0 min\ P( HU) =0 min?P(HU)=0

从而 m a x ? A C E = 6 + 7 20 ? 0 \displaystyle max\ ACE=\frac{6+7}{20} -0 max?ACE=206+7??0.

类似的,

m i n ? P ( H E ) = 0 m a x ? P ( H U ) = 4 + 3 20 = 0.35 min\ P( HE) =0\\ max\ P( HU) =\frac{4+3}{20} =0.35 min?P(HE)=0max?P(HU)=204+3?=0.35

从而 m i n ? A C E = 0 ? 4 + 3 20 \displaystyle min\ ACE=0-\frac{4+3}{20} min?ACE=0?204+3?. 所以一个伤心的事实是,我们没有办法从纯观察数据中推断出ACE到底是正面还是负面的效果,他必然是经过0点的。

上面是一个比较直接的做法,我们可以尝试严格地证明一下这个bound。
首先,从上述的分析可以看出来,我们的观察数据本质上就是4个group中的人群的各种组合:
P ( X = 0 , Y = 0 ) = ∑ y P ( X = 0 , Y ( 0 ) = 0 , Y ( 1 ) = y ) = P ( X = 0 , N R ) + P ( X = 0 , H E ) P ( X = 0 , Y = 1 ) = ∑ y P ( X = 0 , Y ( 0 ) = 1 , Y ( 1 ) = y ) = P ( X = 0 , H U ) + P ( X = 0 , A R ) P ( X = 1 , Y = 0 ) = ∑ y P ( X = 1 , Y ( 0 ) = y , Y ( 1 ) = 0 ) = P ( X = 1 , N R ) + P ( X = 1 , H U ) P ( X = 1 , Y = 1 ) = ∑ y P ( X = 1 , Y ( 0 ) = y , Y ( 1 ) = 1 ) = P ( X = 1 , H E ) + P ( X = 1 , A R ) (2) \begin{aligned} P( X=0,Y=0) =\sum _{y} P( X=0,Y( 0) =0,Y( 1) =y) =P( X=0,NR) +P( X=0,HE) \\ P( X=0,Y=1) =\sum _{y} P( X=0,Y( 0) =1,Y( 1) =y) =P( X=0,HU) +P( X=0,AR)\\ P( X=1,Y=0) =\sum _{y} P( X=1,Y( 0) =y,Y( 1) =0) =P( X=1,NR) +P( X=1,HU) \\ P( X=1,Y=1) =\sum _{y} P( X=1,Y( 0) =y,Y( 1) =1) =P( X=1,HE) +P( X=1,AR) \end{aligned} \tag{2} P(X=0,Y=0)=y?P(X=0,Y(0)=0,Y(1)=y)=P(X=0,NR)+P(X=0,HE)P(X=0,Y=1)=y?P(X=0,Y(0)=1,Y(1)=y)=P(X=0,HU)+P(X=0,AR)P(X=1,Y=0)=y?P(X=1,Y(0)=y,Y(1)=0)=P(X=1,NR)+P(X=1,HU)P(X=1,Y=1)=y?P(X=1,Y(0)=y,Y(1)=1)=P(X=1,HE)+P(X=1,AR)?(2)
对比公式(1),我们就可以发现,由于X的取值不同会影响不同群体的人数,从而导致ACE的计算失效。我们还能发现

P ( Y = 0 , X = 0 ) + P ( Y = 1 , X = 1 ) = P ( X = 0 , N R ) + P ( X = 0 , H E ) + P ( X = 1 , H E ) + P ( X = 1 , A R ) = P ( X = 0 , N R ) + P ( H E ) + P ( X = 1 , A R ) ? P ( H E ) \begin{aligned} & P( Y=0,X=0) +P( Y=1,X=1)\\ = & P( X=0,NR) +P( X=0,HE) +P( X=1,HE) +P( X=1,AR)\\ = & P( X=0,NR) +P( HE) +P( X=1,AR)\\ \geqslant & P( HE) \end{aligned} ==??P(Y=0,X=0)+P(Y=1,X=1)P(X=0,NR)+P(X=0,HE)+P(X=1,HE)+P(X=1,AR)P(X=0,NR)+P(HE)+P(X=1,AR)P(HE)?

因此,类似的
0 ? H E ? P ( X = 0 , Y = 0 ) + P ( X = 1 , Y = 1 ) 0 ? H U ? P ( X = 0 , Y = 1 ) + P ( X = 1 , Y = 0 ) 0 ? N R ? P ( X = 0 , Y = 0 ) + P ( X = 1 , Y = 0 ) 0 ? A R ? P ( X = 0 , Y = 1 ) + P ( X = 1 , Y = 1 ) (3) \begin{aligned} 0\leqslant HE\leqslant P( X=0,Y=0) +P( X=1,Y=1) \\ 0\leqslant HU\leqslant P( X=0,Y=1) +P( X=1,Y=0) \\ 0\leqslant NR\leqslant P( X=0,Y=0) +P( X=1,Y=0)\\ 0\leqslant AR\leqslant P( X=0,Y=1) +P( X=1,Y=1) \end{aligned} \tag{3} 0?HE?P(X=0,Y=0)+P(X=1,Y=1)0?HU?P(X=0,Y=1)+P(X=1,Y=0)0?NR?P(X=0,Y=0)+P(X=1,Y=0)0?AR?P(X=0,Y=1)+P(X=1,Y=1)?(3)
最后,回忆下,
P ( Y ( x 0 ) = 1 ) = P ( H U ) + P ( A R ) P ( Y ( x 1 ) = 1 ) = P ( H E ) + P ( A R ) (4) \begin{aligned} P( Y( x_{0}) =1) =P( HU) +P( AR)\\ P( Y( x_{1}) =1) =P( HE) +P( AR) \end{aligned} \tag{4} P(Y(x0?)=1)=P(HU)+P(AR)P(Y(x1?)=1)=P(HE)+P(AR)?(4)
因此,结合公式(2),(4),我们有
P ( X = 0 , Y = 1 ) ? P ( Y ( x 0 ) = 1 ) ? 1 ? P ( X = 0 , Y = 0 ) P ( X = 1 , Y = 1 ) ? P ( Y ( x 1 ) = 1 ) ? 1 ? P ( X = 1 , Y = 0 ) (5) \begin{aligned} P( X=0,Y=1) \leqslant P( Y( x_{0}) =1) \leqslant 1-P( X=0,Y=0)\\ P( X=1,Y=1) \leqslant P( Y( x_{1}) =1) \leqslant 1-P( X=1,Y=0) \end{aligned} \tag{5} P(X=0,Y=1)?P(Y(x0?)=1)?1?P(X=0,Y=0)P(X=1,Y=1)?P(Y(x1?)=1)?1?P(X=1,Y=0)?(5)
根据公式(3)(5)的不等式,我们可以用图把他们画出来,在这里,我们来画一个三维图:

在这里插入图片描述

HE轴上的点表示所有人都是HE,HU轴上的点则表示所有人都是HU,AR轴上的点表示所有人都是AR,最后原点,表示所有人都是NR,因为此时AR,HE,HU都是0,所以都剩下NR了,也就是NR可以通过1-AR-HE-HU得到。

接下来,我们来计算一下这些bound:
0 ? H E ? P ( X = 0 , Y = 0 ) + P ( X = 1 , Y = 1 ) = 7 + 6 20 0 ? H U ? P ( X = 0 , Y = 1 ) + P ( X = 1 , Y = 0 ) = 3 + 7 20 0 ? A R ? P ( X = 0 , Y = 1 ) + P ( X = 1 , Y = 1 ) = 3 + 6 20 3 20 = P ( X = 0 , Y = 1 ) ? P ( H U ) + P ( A R ) ? 1 ? P ( X = 0 , Y = 0 ) = 1 ? 7 20 6 20 = P ( X = 1 , Y = 1 ) ? P ( H E ) + P ( A R ) ? 1 ? P ( X = 1 , Y = 0 ) = 1 ? 4 20 0\leqslant HE\leqslant P( X=0,Y=0) +P( X=1,Y=1) =\frac{7+6}{20}\\ 0\leqslant HU\leqslant P( X=0,Y=1) +P( X=1,Y=0) =\frac{3+7}{20}\\ 0\leqslant AR\leqslant P( X=0,Y=1) +P( X=1,Y=1) =\frac{3+6}{20}\\ \frac{3}{20} =P( X=0,Y=1) \leqslant P( HU) +P( AR) \leqslant 1-P( X=0,Y=0) =1-\frac{7}{20}\\ \frac{6}{20} =P( X=1,Y=1) \leqslant P( HE) +P( AR) \leqslant 1-P( X=1,Y=0) =1-\frac{4}{20} 0?HE?P(X=0,Y=0)+P(X=1,Y=1)=207+6?0?HU?P(X=0,Y=1)+P(X=1,Y=0)=203+7?0?AR?P(X=0,Y=1)+P(X=1,Y=1)=203+6?203?=P(X=0,Y=1)?P(HU)+P(AR)?1?P(X=0,Y=0)=1?207?206?=P(X=1,Y=1)?P(HE)+P(AR)?1?P(X=1,Y=0)=1?204?

我们可以用Mathematica画出来看看:

RegionPlot3D[{y + z <= 1 - 7/20 && y + z >= 3/20 && 
   x + z <= 1 - 4/20 && x + z >= 6/20}, 
   {x, 0, (7 + 6)/20}, {y, 0, (7 + 3)/20}, {z, 0, (3 + 6)/20}, 
 PlotPoints -> 100, Mesh -> None, AxesLabel -> {"HE", "HU", "AR"}, 
 PlotStyle -> Directive[Yellow, Opacity[0.3]]]

在这里插入图片描述

于是,这堆平面里面,最里面的部分就是可行域

在这里插入图片描述

因为ACE只关心HE和HU,所以我们就只看这幅图的底部或者顶部投影,就是所有HU,HE的取值

在这里插入图片描述

这幅图告诉我们,HE的取值区间为[0,0.65],HU的取值区间为[0,0.35],这与我们的分析是一致的。虽然这个东西看起来没什么用,但这个分析方法可以帮助我们分析更多的问题,比如工具变量问题。

工具变量(Instrumental Variables)

显然,当存在confounder的时候ACE是无法识别的,

在这里插入图片描述

这种时候往往采用工具变量的方法

在这里插入图片描述

我们假设存在一个z,不受confouder的影响。举个例子,

在这里插入图片描述

Z表示医生建议吃的药,X表示病人是否真的吃药,Y表示是否变好。这个例子里,简化了下问题,当医生决定不开药的时候,病人是无法得到药的,所以不可能存在 Z = 0 , X = 1 \displaystyle Z=0,X=1 Z=0,X=1的情况。

那么在这种情况下,我们能不能找到X对Y的ACE呢?

首先,根据上一节我们知道,对于每一个关于X,Y的观察数据,我们都能够得到ACE的边界(尽管看起来没什么用),但在这里就不一样了,因为我们发现,不同的z有不同的关于X,Y的观察数据,唯一不同的是X的分布不太一样(因为受到了Z的影响),但我们知道,不管X的分布怎么变,因果效应ACE都是不变的

在这里插入图片描述

所以,我们可以从两个不同Z的观察数据,估计其不同人群的比例,并取交集

在这里插入图片描述

取交集之后,我们再看底部,

在这里插入图片描述

可以发现,我们得到了一个不再经过0点的范围,从这个范围我们可以给出ACE的bound是[0.39,0.78]。事实上,Z可以有更多的取值,我们只需要简单的将他们相交就能得到范围的估计。

在这里插入图片描述

当前很多关于ACE的bound本质上就是这个取交集的操作,如上图.

参考资料

An Introduction to Potential Outcomes, DAGs and Single-World Intervention Graphs

simons-lecture1-handout.pdf

simons-lecture2-handout.pdf

simons-lecture3-handout.pdf

simons-lecture4-handout.pdf

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:32:23  更:2022-03-11 22:33:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 14:37:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码