Detecting and quantifying causal associations in large nonlinear time series datasets

基于大规模非线性时间序列的因果关系推断

这篇论文发表在SCIENCE ADVANCES,它属于中科院分区一区的,影响因子在13.77

作者:Jakob Runge

他主要从事与地球科学领域相关的因果推断和统计机器学习方面的工作。这篇文章发表于他在英国帝国理工大学任职期间,目前他任职于德国宇航中心数据科学研究所。

研究背景

从观测的时间序列数据中确定因果关系,并量化因果连接强度一直是地球系统或人体等复杂动力系统领域的关键问题。随着信息化程度的不断提高,目前可获取的数据量呈现爆炸式增长。这也就推进了因果探索中数据驱动方法的发展。

基于前面提到的情况,在复杂系统中,获取的数据通常是高维度的,而且基于人们对与这些复杂系统的前期研究可知,这些数据通常情况下都是非线性的而且表现出强烈的自相关。在考虑实验的可重复性及进行实验的花费方面,通常可以获取的数据样本量有限。在高维度、非线性等特征下,利用数据驱动的方法探究因果关系是一个挑战。

目前在探索因果关系领域已经有了许多成熟的算法,比如常见的计算时间序列之间的相关性、格兰杰因果效应以及经典的PC算法。但是这些算法都存在着一定的问题,比如计算相关性的方法没有办法确定因果连接的方向,只能得到一个无向图;传统的格兰杰因果效应只能探究二元变量之间的因果效应,而且这种因果关系的推断依赖于数据的时间上的先后顺序,目前也有人对格兰杰因果效应进行了改进,提出了多元格兰杰因果推断,但这种方法在处理高维数据时会产生大量的计算导致很低的效率;而经典的PC算法在处理弱自相关数据时还能保持良好的检测效率,但在处理强自相关数据时其准确率会显著降低。

本文提出的PCMCI算法是对PC算法的改进,PCMCI算法探究的是基于滞后时间上的依赖关系,可以高效的处理高维且具有强自相关特征的数据,在独立性检测环节中可以自由组会线性或者非线性的独立性测试,以此去适应线性或非线性的数据,而且该算法还可以很好的控制假阳性,通过后续的模拟实验验证出该算发估计出的因果效应大小更接近真实。

基本假设

首先应用该算法需要基于三个基本假设以及两个附加假设。

因果充分性假设

因果充分性假设表明在给定的观测数据中不存在无法观测到的隐藏变量,也就是说不存在任何未观测到的变量会对因果关系产生任何影响,不论是直接或者间接。在右边的图中展示出的就是一个不满足因果充分性假设的例子,灰色的框表示的就是我们可以观测到的数据,而变量U表示的就是隐藏变量他分别在滞后时间tao=1和2对变量X及Z产生影响,若是满足因果充分性假设,那么就不应该存在任何隐藏变量U。

 因果马尔可夫性假设

它表明的是对于网络中任一变量,如果他的父节点已知,那么该变量条件独立于其他非后代节点,也就是说一旦知道某时刻某节点的父节点值,那么过去时刻的其他变量都与预测当前节点状态无关,也就是通过D分离推条件独立。

忠诚性假设

它与因果马尔可夫性相反,它是由条件独立推D分离,也就是在给定变量集的条件下,两变量相互独立或条件独立,那么这两变量之间的路径被分离。换句话说也就是图中包含了马尔可夫条件隐含的所有条件独立关系。

无瞬时连接存在

也就是图中同一时间片内无连接存在,只构建时间片间的连接也就是滞后时间连接

平稳性假设

也就是说构建出的网络结构以及连接强度不会随着时间的推移而发生变化

具体实现

传统的PC算法在构建因果关系时分为两个阶段,首先构建出一个无方向性的骨架,之后在通过逻辑规则确定连接之间的方向;

而PCMCI在PC算法的基础上进行了改进,同时它的实施过程也包括两个阶段,首先第一阶段为条件集筛选阶段,在这个过程中利用了PC算法的一个变体PC-stable得到一个初始父节点集合或者说叫模糊父节点集合,因为在这个阶段的到的集合不仅包含真实的父节点,同时还有虚假的父节点存在;第二阶段为条件独立性测试阶段,在这个过程中利用了瞬时条件独立性测试,将第一阶段筛选出来的初始父节点集作为条件集,同时考虑了该变量的父节点集以及滞后变量的父节点集,根据因果马尔可夫性以及忠实性假设可知父节点集包含了全部的独立性条件也就是足够去建立条件独立性关系,而附加的滞后变量的父节点集则是考虑了自相关的影响。

PCMCI算法
    1、条件集筛选
        利用PC算法(骨架阶段)得到每个变量的初始父节点集
    2、条件独立性测试
        利用瞬时条件独立性检验(MCI)对每对变量再次进行判断

伪代码

条件集选择阶段

首先它会将集合初始化为全集,之后迭代进行独立性检测,当P = 0时,也就是进行第一次检测,这时执行的是无条件的独立性检测,在这一步中会直接排除独立的节点,并对剩余的节点进行排序;之后的每次迭代都执行的是条件独立性检验,使用的条件就是条件集中前P个依赖性最强的节点,并重复选取条件集Q次,但后续通过实验证明Q的大小对实验结果的影响并不大,所以为了便于计算设定只取1次最强的组合进行测试。直到集合中剩余变量的数量等于迭代次数P时,执行完最后一次条件独立性检验后停止,得到最终的条件集。

瞬时条件独立性检测(MCI)

MCI阶段,依然是迭代进行条件独立性检测,只不过这次在计算的时候添加了一个额外的条件,就是滞后变量的父节点集中前Px个最强的变量。就像是前面说过的一样,根据因果马尔可夫性可知变量的父节点集已经足够去推断独立性,也就是足够排除共驱动及间接连接的影响;而额外添加的条件可以处理自相关的关系,使最后得到的连接及连接强度更接近真实。

图解

这个示例的目的是检验在t-2时刻X1的值是否对t时刻X3的值产生影响。首先是利用PC-stable的条件集筛选阶段。在初次迭代中通过无条件独立性检验,可以排除独立的节点,图中对于X1和X3而言,X4都被排除,并对剩余的变量按依赖性从大到小进行排序;之后在剩余变量中选取最强的组合不断进行条件独立性检验,最后就可以得到条件集,就是图里颜色最深的变量,这时候得到的条件集中并不是只有父节点,同时还存在虚假的父节点,在图中用星号标出。

下面就进行MCI阶段,在这里因为我们要检测的是t-2时刻X1对t时刻X3的连接是否存在,所以我们要考虑的第一个条件集也就是X3的父节点集,在图中用蓝色块表示,此外还需要考虑滞后节点的条件集,也就是在t-2时刻变量X1的父节点集,在图中用红色块表示,将计算得到的P值与设定好的阿尔法进行比较,判断连接是否存在。

参数选择

τmax
    根据实际的应用场景进行选择
    尽可能选择较大的τmax
px
    为了减少计算量,设置 px = 3
αpc
    1.条件集中包含全部真实父节点
    2.条件集尽可能小

默认设置 αpc = 0.2

qmax
    默认为1

算法性能比较

首先作者先将PCMCI算法与相关性法和FullCI进行比较,其中节点的颜色代表自相关的强度,连接的颜色代表效应大小其中灰色表示虚假连接,粗细表示检测效率。可以看出基于相关性检测出了非常多的虚假链接而且基本得不到连接的方向性信息;FullCI的方法基本可以还原真实的连接图样,但在加入多余变量后会导致数据维度升高进而导致更低的检测效率;而PCMCI算法通过进行条件集筛选可以有效的降低数据维度,进而得到更高的检测效率。

这张图展示的是在线性条件下PCMCI与多种算法的对比。横坐标表示的是网络中节点数量,纵坐标分别是真阳和假阳性,在每个网络尺寸中都包含两个值,其中左边的值表示在弱自相关条件下得到的结果,右边的值表示在强自相关。可以从图中看出,相关性法会导致较高的假阳性,Lasso和Pc算法都过份的控制假阳性,同时当节点数量增加时Lasso算法的真阳性变化很大,而PC算法在处理强自相关数据时无法得到较高的真阳性。FullCI算法在节点数量大于20时基本不适用。论文中提出的PCMCI算法在保持较高检测率时还能控制假阳性在期望的水平。

总结

总结一下PCMCI算法,首先该算法是对PC算法的改进,使其能更好的适用于强自相关数据,同时还能有效的控制假阳性。该算法可以在两个阶段自由选取线性或非线性独立性检验方法,使其能适用于线性或非线性连接。

但是由于一些假设的存在,该算法并不能构建出同时期连接,并且在解释因果性时需要注意的是无隐藏变量存在这一前提条件。


以上仅仅是前段时间的学习笔记记录,如有错误,欢迎指正

图片来自网络或论文中截图

强烈推荐对因果推断感兴趣的朋友去仔细阅读一下这篇论文以及该作者的其他文章!!!

论文学习笔记:Detecting and quantifying causal associations in large nonlinear time series datasets相关推荐

  1. 论文学习笔记1——《机器学习的理论局限与因果革命的7大火花》(因果推理必将带来现有人工智能领域研究的再一次巨大突破)

    论文学习笔记1: Theoretical Impediments to Machine Learning With Seven Sparks from the Causal Revolution -- ...

  2. 动态环境下的SLAM:DynaSLAM 论文学习笔记

    动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...

  3. 识别和追踪主题层次的影响力者(来自2018 Machine Learning 论文学习笔记)

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com . 以下内容是个人的论文阅读笔记,内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 文章目录 论文来源 论 ...

  4. 论文学习笔记 POSEIDON: Privacy-Preserving Federated Neural Network Learning

    论文学习笔记 POSEIDON: Privacy-Preserving Federated Neural Network Learning NDSS 2021录用文章 目录 论文学习笔记 POSEID ...

  5. 【论文学习笔记-2】高分辨率3D深度重建

    [论文学习笔记-2] 高分辨率3D深度重建 背景介绍 模型 目标 Related Works 背景介绍 应用场景广泛:桥,电缆etc 高分辨率图像的特点:像素多,potential disparity ...

  6. Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social...》论文学习笔记

    Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social Effects in Recom ...

  7. 论文学习笔记: Learning Multi-Scale Photo Exposure Correction(含pytorch代码复现)

    论文学习笔记: Learning Multi-Scale Photo Exposure Correction--含pytorch代码复现 本章工作: 论文摘要 训练数据集 网络设计原理 补充知识:拉普 ...

  8. 网规第二版:第8章 网络规划与设计论文学习笔记(含历年真题)(完结)

    第8章 网络规划与设计论文学习笔记 8.1写作范围要求 1.网络技术应用与对比分析 2.网络技术对应用系统建设的影响 3.专用网络需求分析.设计.实施和项目管理 4.下一代网络技术分析 8.2论文考试 ...

  9. 论文学习笔记 MUSE: Secure Inference Resilient to Malicious Clients

    论文学习笔记 MUSE: Secure Inference Resilient to Malicious Clients 一.背景介绍-神经网络推理 二.在半诚实模型下的模型提取攻击 2.1 模型结构 ...

  10. 论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost

    论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost 一.安全神经网络推理 二.论文主要思想 三 ...

最新文章

  1. 坑爹的微软官方文档:SQL无人值守安装
  2. 64位操作系统下IIS报“试图加载格式不正确的程序”错误
  3. MySQL高级 - 锁 - 锁的概述及分类
  4. layui按钮展开、_layui框架,点击某个按钮,让layui的日期插件选中的值清空
  5. 关于MapReduce单词统计的例子:
  6. Linux PWN从入门到熟练
  7. 从0开始架构一个IOS程序——03 — -分包用添加pch全局引用文件
  8. sqlplus 调试存储过程
  9. jpa 原生sql 查询返回一个实体_JPA查询--使用原生sql 并且把查询结果转为实体对象...
  10. 排序系统 c语言程序设计,c语言程序设计(排序算法).docx
  11. Linux Workqueue
  12. cpu_time()函数
  13. Carsim应用:LKA车道保持辅助系统(LQR控制器模型)
  14. Couldn't Copy Base System 错误处理办法
  15. wo 27s虚拟服务器,联通光猫wo-27s设置上网
  16. 计算机硬件配件怎么查,如何查看计算机主板型号?主板型号在哪里[方法]
  17. 编程创建一个Cale计算类,在其中定义2个变量(属性)表示两个操作数,定义四个方法实现求和、差、乘、商(要求除数为0的话,要提示)``并创建两个对象,分别测试 。
  18. Linux批量检测网络策略
  19. centos挂载u盘只读_centos挂载u盘只读_针对优盘在linux下文件只读的解决方案
  20. Kafka服务器命令总结

热门文章

  1. 明源售楼系统技术解析(三)付款定义新增、修改、删除
  2. 【BUUCTF】[WUSTCTF2020]alison_likes_jojo
  3. 远程访问ESXi网页控制台
  4. join有哪几种方式?内外连接有什么区别?
  5. 原始数据哪里找?这些网站要用好!200个国内外数据网站大全
  6. webhook小试水(无需外网服务器)
  7. 软考系统集成项目管理工程师模拟题
  8. 【MFC】多国语言工具栏
  9. 自然语言处理——中英文分词工具(还可做词性标注与命名实体识别)
  10. 国际象棋棋盘 java_java绘制国际象棋与中国象棋棋盘