本篇博客的内容主要是对Judea的Causality 一书中第二章五至八小节的内容进行梳理。

IC算法

归纳因果关系
IC算法以潜在的DAG D0生成的稳定概率分布P^\ \hat P \, P^作为输入,并输出一个表示D0等价类的模式H(P^)\ H(\hat P) \, H(P^)。

1、对于V中的每一对变量a和b,寻找集合Sab,使得在P^\ \hat P \, P^中,a和b条件独立于Sab。构建一个无向图G,当且仅当Sab不存在时,顶点a和b之间存在一条相连的边。
2、对于每一对非相邻,且有共同邻居c的变量a和b,检测c是否属于Sab

  • 如果是,继续
  • 如果不是,添加指向c的箭头(a->c<-b)

3、在得到的部分有向图中,为尽可能多的无向边确定方向,但要满足两个条件:

  • (i)不应创建新的v型结构;
  • (ii)不应形成定向循环。

v结构:two coverging arrows whose tails are not connected by an arrow,大约是指chain、fork和collider三种?)

IC算法没有明确步骤I和步骤3的细节,为优化这两个步骤提出了一些改进。其中一个著名的改进为PC算法。Spirtes和Gly-mour(1991)在步骤1中提出了搜索集合Sab的一般系统方法。首先构建所有顶点都相连的完整图,然后从基数为0的集合Sab开始,接着是基数为1,依此类推,一旦发现分离,边就会递归地从完整图中移除。

IC算法的第3步可以通过多种方式系统化。Verma和Pearl(1992)表明,从任何模式开始,要获得最大方向的模式需要以下四个规则:

Meek(1995)证明了这四条规则是足够的,因此重复应用最终会将所有常见的箭头指向D0的等价类。此外,如果起始方向仅限于v型结构,则不需要规则R4。

IC算法的第三步的另一个系统化方法是由Dor和Tarsi(1992)的算法提供的,该算法测试(在多项式时间内)给定的部分有向非循环图是否可以完全有向,而无需创建新的v-结构或有向循环。该测试基于递归删除具有以下两个属性的任何顶点v:

  1. 没有边是从v向外的;
  2. 通过无向边与v相连的v的每一个邻居节点也与v的所有其他邻居节点相邻。

一个部分有向无环图在DAG中有一个可容许的扩展当且仅当它的所有顶点都可以这样移除。因此,为了找到最大方向的模式,我们可以(i)对每个无向边a-b分别尝试两个方向a->b和a<-b,并且(ii)测试是否两个方向,或者仅仅一个方向,是否具有扩展。唯一可定向箭头的集合构成所需的最大定向模式。

对于每个潜在结构L,存在L在O上的一个依赖等价的潜在结构(L在0上的投影),其中每个未观察到的节点是一个根节点,正好有两个观察到的子节点。我们将这个概念明确地描述如下:

投影(projection)


投影是两个潜在结构之间的关系。关于上述定义中部分符号说明如下:

定理2.6.2:任何潜在结构至少有一个投影。

IC*算法

潜在变量的归纳因果关系

IC*算法取一部分的分布P^\ \hat P \, P^,并输出一个带标记的部分有向图。

可以证明,在P^\ \hat P \, P^的任何一个极小模型(minimal model)的一个投影中存在某个连接(link),必须表明P^\ \hat P \, P^的每一个极小模型中都存在一个因果路径。因此,我们的研究缩小到寻找P^\ \hat P \, P^的任何最小模型的特别的投影,并且识别合适的的连接(link)。值得注意的是,这些链接可以通过IC算法的一个简单变体(这里称为IC*)来识别,该算法采用分布P并返回一个标记的模式,这是一个部分有向非循环图,包含四种类型的边:

IC*的步骤1和步骤2与IC相同,但步骤3中的规则不同;它们不调整边的方向,而是将箭头添加到边的各个端点,从而适应双向边。

IC*算法的案例(洒水器)

  • 1、此结构所包含的条件独立性可以使用d-分离标准读取,与这些独立性相对应的最小条件集由Sad={b,c},Sae={d},Sbc={a},Sbe={d},Sce={d},IC*的步骤1产生图2.3(b)所示的无向图。
  • 2、三元组(b,d,c)是唯一满足步骤2条件的,因为d不在Sbc中。因此,我们得到图2.3(c)的部分有向图。
  • 3、步骤3的规则R1适用于三元组(b,d,e)和(c,d,e),因为b和e是不相邻的,并且d处有一个箭头来自b而不是e。因此,我们在e处添加一个箭头,并标记链接,以获得图2.3(d)。这也是IC的最终输出,因为此时R1和R2不再适用。

    IC
    中link的含义:有些连接标记为单向的(表示真正的因果关系),有些是无标记的单向的(表示潜在的因果关系),有些是双向的(表示虚假的关联),有些是无方向的(表示仍不确定的关系)。

潜在原因(Potential Cause)


如果下列条件成立,变量X对另一个变量Y(即从P^\ \hat P \, P^可得到的变量Y)具有潜在的因果影响。

  1. 在任何情况下X与Y都是相互依赖的。

  2. 存在一个变量Z和一个环境S,使得:

    (i)在给定S的前提下,X和Z相互独立,和
    (ii)在给定S的前提下,Z和Y相互依赖。

所谓“环境(context)S”,我们指的是一组与特定值相关的变量。

在下图中,变量b是变量d的潜在原因(X=b,Y=d,Z=c,S=a)

真正的原因(Genuine Cause)


一个变量X是另一个变量Y的真正原因,当存在一个变量Z使得以下任意一点成立:
1、X和Y在任何环境下都是相互依赖的,且存在一个环境S满足:
(i)Z是X的潜在原因(根据定义2.7.1),
(ii)给定S的条件下,Z和Y相互依赖,和
(iii)给定S∪X的条件下,Z和Y相互独立;

2、X和Y在条件1中定义的关系的可传递闭合中。

还是刚才那幅图:

令X=d,Y=e,Z=b,S= ∅,则满足条件1(i)~(iii),即d是e的真正原因。

虚假的联系(Spurious association)


两个变量X和Y之间是虚假的联系如果他们在某些环境(context)中是相互依赖的且存在两个其他变量(Z1和Z2)和两个环境(S1和S2)使得:
1、给定S1,Z1和X相互依赖,
2、给定S1,Z1和Y相互独立,
3、给定S2,Z2和Y相互依赖,
4、给定S2,Z2和X相互独立,

条件1和条件2使用Z1和S1来消除Y是X的原因,可以对照定义2.7.1的条件(i)-(ii);条件3和条件4使用Z2和S2来消除X是Y的原因。这使得潜在共同原因成为观察到的X和Y之间依赖性的唯一解释,如结构所示Z1–>X<–>Y<–Z2型.

时间信息可用时,定义2.7.2和2.7.3将大大简化,因为位于X之前且与X相邻的每个变量现在都符合X的“潜在原因”。此外,如果环境S在X之前被限制,则相邻(即2.7.1的条件1)的条件就不需要。这些考虑会导致更简单的条件来区分真实原因和虚假原因,如下所示:

具有时间信息的真实的因果关系


定义2.7.4其实与定义2.7.2是类似的,只是2.7.4中使用时间信息来确定Z是X的潜在原因。

具有时间信息的虚假的因果关系


通过研究刚刚给出的定义,我们发现所有因果关系都是从至少三个变量中推断出来的。具体地说,允许我们断定一个变量不是另一个变量的因果结果的信息以“不及物三元组”的形式出现。

例如,如果我们发现条件(Sab),其中变量a和b分别与第三个变量c相关,但a和b彼此独立,那么第三个变量不能作为a或b的原因(回想一下,在稳定分布中,共同原因的存在意味着影响之间的依赖);相反,c必须是它们的共同影响(a–>c<–b)或通过共同原因与a和b有关,形成一个模式,如a<–>c<–>b。这确实是允许IC*算法开始在图中确定边的方向(步骤2)和指定指向c的箭头的条件。也正是这种不及物模式,用于确定在定义2.7.1中,X不是Y的结果,在定义2.7.2中,Z不是X的结果。在定义2.7.3中,我们有两个不及物三元组(Z1,X,Y)和(X,Y,Z2),因此排除了X和Y之间的直接因果关系,这意味着虚假的联系是它们依赖性的唯一解释。

引入时间分析的原因
从非时态数据中确定因果影响的方向,引发了一些关于时间与因果解释之间关系的哲学问题。例如,根据定义2.7.2或定义2.7.4可指定变量X与Y之间的箭头的方向为X–>Y,但是这却与可用的时间信息产生冲突(比如随后的一项发现表明Y先于X)。由于定义2.7.4背后的基本原理是基于对因果关系统计方面的强烈直觉(例如,与某些因果关系无关),很明显,这种冲突如果发生,是相当罕见的。于是,问题就产生了:为什么仅仅由统计依赖性决定的因果方向与时间的流动有关?
(就是比如说X是Y的原因,但是Y却发生在X之前,听起来很违背直觉)
在人类话语中,因果解释满足两种预期:时间性和统计性(temporal and sta­tistical)。时间方面表现为原因应优先于影响;统计方面希望有一个完整的因果解释来掩盖其各种影响(即使这些影响有条件地独立);

统计时间(statistical time)


给定一个经验分布P,P的统计时间是任意顺序的变量,它们与P的至少一个最小因果结构一致。

时间偏差(temporal bias)


在大多数自然现象中,物理时间与至少一个统计时间一致。

统计时间与物理时间不一定是一致的,这相当于一个坐标系选择的问题。物理时间和统计时间的一致性是人类选择语言原语的副产品,而不是物理现实的特征。

[1] Pearl J. Causality: models, reasoning, and inference[M]. 2000.

推断因果关系理论(inferred causation)(下)相关推荐

  1. 因果推断 | 因果关系推断-系列电子书资源

    因果推断 | 因果关系推断-系列电子书资源 不得不看的书! 00.『为什么』关于因果关系的新科学 <The Book of Why: The New Science of Cause and E ...

  2. 权重衰减(weight decay)在贝叶斯推断(Bayesian inference)下的理解

    权重衰减(weight decay)在贝叶斯推断(Bayesian inference)下的理解 摘要 权重衰减 贝叶斯(Bayes inference) 视角下的权重衰减 似然函数(log like ...

  3. 因果推断----因果关系之梯

    因果关系之梯 关联(第一层级):通过观察寻找规律. 如果观察到某一事件改变了观察到另一事件的可能性,我们便说这一事件与另一事件相关联. 基于被动观察做出预测.典型问题是"如果我观察到-会怎样 ...

  4. 双11的前奏,电商正在用诺贝尔经济学奖的理论等你下锅

    文|ihahe 来源 | 螳螂财经(ID:TanglangFin) 一年一度的双11正处在预热前奏.此时,商家"磨刀霍霍",用户"摩拳擦掌",一场电商大战正要一 ...

  5. 如何由电磁理论引出牛顿力学下的引力场方程

    转自:http://blog.renren.com/share/260663504/8140626257 来源: 余坤 Whyeemcc的日志 两 个月前的某几天在教室里,翻看费曼物理学讲义的时候,上 ...

  6. [基础|理论|实验]linux下的文件读写

    1.在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统文件API:(2)C语言I/O库函数. 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用 ...

  7. 计算机网络原理ospf协议配置思考题,动态路由协议之OSPF理论篇(下)(含虚链路的实验)...

    # OSPF多区域原理与虚链路 ## 一.OSPF多区域的生成 原因:改善网络的可扩展性(多区域).快速收敛(控制域内路由器数量) ### 1.三种通信量 1. 域内通信量--单个区域内的路由器之间交 ...

  8. python爬虫基础入门理论篇(下)

    网络基础 2.1.网络协议 2.1.1什么是协议? 协议可以理解为"规则",是数据传输和数据的解释规则,下图是简单图解 2.1.2.OSI七层参考模型 物理层:可以理解为我们的网线 ...

  9. 因果推断会是下一个AI热潮吗?朱迪亚•珀尔新作《因果论》重磅上市!

    从"大数据时代和机器学习热潮"到"第二次因果革命",从以数据为中心到数据理解的转变不仅涉及技术上的转变,还意味着更加深刻的范式转换. 因果关系理论与现有机器学习 ...

最新文章

  1. 信道编码之差错控制方式
  2. 互联网协议入门(一)
  3. git submoule 更新_微软Surface Duo双屏手机键盘更新:支持分体式输入
  4. rss 阅读源_如何使用RSS更有效地阅读
  5. SenchaTouch中出现数据覆盖 以及 “Cannot call method 'setData' of nul”l错误的可能原因
  6. er图转换成关系模型的例题,将ER图转换为关系模型
  7. 安装VMware Workstation 16 Pro 和 ubuntu-16.04.7-desktop-amd64.iso
  8. access统计各职务人数_东莞各阶段学生人数统计|终于知道为什么在东莞总是学位紧缺了...
  9. 中南大学 科学计算和MATLAB 初级语言学习01_02
  10. EasyUI:combobox设置不可编辑更改
  11. java gbk 内码_JAVA 中文转GBK内码方法
  12. JavaWeb学习笔记4
  13. CSS——下拉框的制作(以小米商城为例)
  14. 通信原理_画出数字基带传输系统的基本系统框图,并说明数字序列如何转化为合适在信道中传输的波形
  15. Python---excel筛选
  16. MAC电脑关机卡住黑屏菊花转圈的解决方法
  17. iOS中获取NSError错误信息汇总
  18. 石器时代地图->魔力宝贝地图
  19. 解鞍卸甲——手写简易版Spring框架(终):使用三级缓存解决循环依赖问题
  20. 常见的液晶显示模块类型

热门文章

  1. 帮我用python画一个单车
  2. Comi - 小程序 markdown 渲染和代码高亮解决方案
  3. linux 打开telnet 端口命令行,linux系统打开telnet端口的方法
  4. telnet端口连接失败怎么办 telnet端口连接失败解决方法
  5. ireader掌阅ocean3和kindle oasis3区别 哪个好
  6. 教育网的同学有福了!!腾讯TT 4.6.1“教育网专版”发布
  7. ansys matlab 调用,在matlab中调用ansys的方法 [转,原创:Elvin]
  8. oracle存储过程游标写法,Oracle存储过程,游标使用
  9. 2023实验室装修设计十大要点,附注意事项和流程
  10. 异界圣皇最新章节列表