Judea Pearl. Direct and indirect effects. In Proceedings of the 17th conference on uncertainty in artificial intelligence. Morgan Kaufmann Publishers Inc., 2001.

CDE: Controlled Direct Effect;

NDE: Natural Direct Effect;

NIE: Natural Indirect Effect.

TDE: Total Direct Effect;

TIE: Total Indirect Effect;

PDE: Pure Direct Effect;

PIE: Pure Indirect Effect.

主要内容

graph LR
X(X) -->Z(Z) --> Y(Y)
X --> Y

设想, 药物\(X\)的影响通过俩种途径:

  1. 直接对身体产生的影响;
  2. 服用药物\(X\)会导致头疼, 故患者大概率会服用镇痛剂, 镇痛剂会利于(或者不利于)恢复.

如果我们直接计算causal effect, 则二者都会纳入其中, 但是往往我们所关心的只是单纯的\(X \rightarrow Y\)这一部分, 也即direct effect, 那么如何计算呢?

CDE

average CDE的计算是:

\[\mathbb{E}[Y|do(X=x), do(Z=z)]
-\mathbb{E}[Y|do(X=x^*), do(Z=z)],
\]

之所以被称之为controlled direct effect, 是因为我们认为的限定\(Z=z\).

用上面的例子来说就是, 我们限定所有人服用的镇定剂为\(z\).

NDE

average NDE的计算是:

\[\mathbb{E}[Y|do(X=x), do(Z=Z_{x*})]
-\mathbb{E}[Y|do(X=x^*)],
\]

相当于, 一个人服用了药物\(x\), 但是我们骗他说服用了药物\(x^*\), 导致其服用镇定剂的量是本应该服用药物\(x^*\)后的量.

不同于CDE, NDE的计算要略微复杂一点:

需要满足:

\[Y_{xz} \amalg Z_{x^*} | W,
\]

这里\(W\)是confounder.

此时:

\[NDE(x, x^*, Y) = \sum_{w, z}[\mathbb{E}[Y_{x,z}|w] - \mathbb{E}[Y_{x^*,z}|w]]P(Z_{x^*}=z|w)P(w).
\]

NIE

有些时候我们想要的是支线\(X \rightarrow Z \rightarrow Y\), 此时我们需要计算NIE:

average NIE的计算是

\[\mathbb{E}[Y|do(X=x^*), do(Z=Z_{x})]
-\mathbb{E}[Y|do(X=x^*)].
\]

类似的解释.

满足

\[Y_{x^*, z} \amalg Z_x | W,
\]

可以得到

\[NIE(x, x^*, Y) = \sum_{w, z}\mathbb{E}[Y_{x^*,z}|w][P(Z_{x}=z|w) - P(Z_{x^*}=z|w)]P(w).
\]

TDE, TIE, PDE, PIE

可以发现:

\[\begin{array}{rl}
\mathbb{E}[Y_{x}]
- \mathbb{E}[Y_{x^*}]
&=\mathbb{E}[Y_{xz}]
-\mathbb{E}[Y_{x^*z^*}] \\
&=\underbrace{(\mathbb{E}[Y_{xz}]-\mathbb{E}[Y_{xz^*}])}_{TIE} +
\underbrace{(\mathbb{E}[Y_{xz^*}]-\mathbb{E}[Y_{x^*z^*}])}_{PDE}\\
&=\underbrace{(\mathbb{E}[Y_{xz}]-\mathbb{E}[Y_{x^*z}]])}_{TDE} +
\underbrace{(\mathbb{E}[Y_{x^*z}]-\mathbb{E}[Y_{x^*z^*}])}_{PIE}.
\end{array}
\]

Direct and Indirect Effects的更多相关文章

  1. 【因果推断经典论文】Direct and Indirect Effects - Judea Pearl

    Direct and Indirect Effects Author: Judea Pearl UAI 2001 加州大学洛杉矶分校 论文链接:https://dl.acm.org/doi/pdf/1 ...

  2. 【论文笔记】用反事实推断方法缓解标题党内容对推荐系统的影响 Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue

    Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue Authors: 王文杰,冯福利 ...

  3. Manifesto of the Communist Party

    A spectre is haunting Europe – the spectre of communism. All the powers of old Europe have entered i ...

  4. Python中的内置函数

    2.1 Built-in Functions The Python interpreter has a number of functions built into it that are alway ...

  5. 美国政府关于Google公司2013年度的财务报表红头文件

    请管理员移至新闻版块,谢谢! 来源:http://www.sec.gov/ 财务报表下载↓ 此文仅作参考分析. 10-K 1 goog2013123110-k.htm FORM 10-K   UNIT ...

  6. Fancytree Javascript Tree的入门使用

    Fancytree Javascript Tree的入门使用 一.概念----是做什么的能干什么 Fancytree是一个Javascript控件,它依赖于: <script src=" ...

  7. Fancytree Javascript Tree TreeTable 树介绍和使用

    Fancytree是一个非常棒的Javascript控件,功能强大,文档健全.在做Javascript Tree控件选型时,主要基于以下几点选择了Fancytree 在Javascript Tree控 ...

  8. doxygen

    //commndline: doxygen Doxyfile /**comment /* /** time diff@pre precondition@post endcondition@throw ...

  9. Unity 5 Game Optimization (Chris Dickinson 著)

    1. Detecting Performance Issues 2. Scripting Strategies 3. The Benefits of Batching 4. Kickstart You ...

随机推荐

  1. MVC、MVVM模式

    MVC 上个世纪70年代,美国施乐帕克研究中心,就是那个发明图形用户界面(GUI)的公司,开发了Smalltalk编程语言,并开始用它编写图形界面的应用程序. 到了Smalltalk-80这个版本的时 ...

  2. linux shell中的条件判断语句

    http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...

  3. 【Git项目管理】分布式 Git - 分布式工作流程

    分布式 Git - 分布式工作流程 你现在拥有了一个远程 Git 版本库,能为所有开发者共享代码提供服务,在一个本地工作流程下,你也已经熟悉了基本 Git 命令.你现在可以学习如何利用 Git 提供的 ...

  4. 文件管理与XMl、JSON解析

    1.使用内部存储器 你可以直接保存文件在设备的内部存储.默认情况下,文件保存在你的应用程序的内部存储,其他应用程序或用户不能访问.当用户卸载你的应用城西是,这些文件被删除. (一)在内部存储创建并写入 ...

  5. OpenStack之七: compute服务(端口8774)

    注意此处的bug,参考o版 官网地址 https://docs.openstack.org/nova/stein/install/controller-install-rdo.html 控制端配置 # ...

  6. struct vs class in C++

    在C++中,除了以下几点外,struct和class是相同的. (1)class的成员的默认访问控制是private,而struct的成员的默认访问权限是public. 例如,program 1会编译 ...

  7. 【Python】【Module】os

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...

  8. 【Java基础】ArrayList初始化操作

    要用60个零初始化列表,请执行以下操作: List<Integer> list = new ArrayList<Integer>(Collections.nCopies(60, ...

  9. Redis缓存穿透、缓存击穿以及缓存雪崩

    作为一个内存数据库,redis也总是免不了有各种各样的问题,这篇文章主要是针对其中三个问题进行讲解:缓存穿透.缓存击穿和缓存雪崩.并给出一些解决方案.这三个问题是基本问题也是面试常问问题. 这篇文章我 ...

  10. HTML DOM 对象 - 方法和属性

    一些常用的 HTML DOM 方法: getElementById(id) - 获取带有指定 id 的节点(元素) appendChild(node) - 插入新的子节点(元素) removeChil ...