因果发现31种高效经典方案汇总,附配套算法和代码

因果发现(Causal Discovery)是一个复杂的过程,其目标是从大量的数据中确定变量之间的因果关系。这个过程通常涉及到的是如何从纷繁复杂的数据中发现其中隐含的因果关系。有时,研究者可以通过随机实验进行干预来发现因果关系,但由于开销、道德考虑等原因有时无法进行这样的实验,通常只有观测数据,而缺乏干预数据。

因此,如何有效地进行因果发现,成为了一个非常具有挑战性的问题。目前,有许多研究者正在努力开发新的方法。而在已有的方法中,也有许多成果很值得我们学习。

我这次就帮大家整理了31种使用观测数据/观测和干预数据混合进行结构发现的方法,主要分为2大类:基于组合/搜索的算法和基于连续优化的算法。篇幅原因只做简单介绍,建议同学们收藏了仔细学习。

方法原文及源码需要的同学看文末

基于组合/搜索的算法

1.Distinguishing cause from effect using quantiles: Bivariate quantile causal discovery

二元分位数因果发现

算法简述:论文通过最小描述长度原则,将因果关系与分位数回归联系起来,开发了一种新方法,称为二元分位数因果发现(bQCD),它假设没有混淆、选择偏见或反馈,并使用多个分位数水平来区分因果关系。这种方法不仅适应于加法,还适应于乘法或位置-尺度产生机制。在合成和真实数据集上的实证比较表明,bQCD在各种实现中表现出稳健性,计算效率高,优于现有方法。

2.Learning DAGs without imposing acyclicity

在不强加非周期性的情况下学习DAG

算法简述:论文探讨是否有可能在不显式施加无环性约束的情况下从数据中学习一个有向无环图(DAG)。 作者将结构性学习作为稀疏矩阵分解问题来解决,并通过经验表明解决 ℓ1-penalized optimization 可以很好地恢复真实图,而且通常可以恢复几乎所有DAG图。 此外,这种方法计算效率高,并且不会像经典结构性学习算法那样受到组合复杂性爆炸的影响。

3.Learning directed graphical models from Gaussian data

从高斯数据中学习有向图形模型

算法简述:本文介绍了一种新的有向图形模型——高斯图形交互模型(GGIM),它基于图上平稳高斯过程和拉普拉斯矩阵的方程。通过简单理论,作者解释了图形模型中的边代表的含义。当限制在无向图上时,GGIM的拉普拉斯矩阵相当于标准逆协方差矩阵,表示条件依赖关系。作者还定义了平稳高斯过程中两个元素之间的有向条件独立性。学习稀疏GGIM的问题可以转化为LASSO问题。

4.Chacterizing distribution equivalence and structure learning for cyclic and acyclic directed graphs

循环和非循环有向图的分布等价性和结构学习的特征

算法简述:这篇文章提出了一个通用、统一的等价性概念,用于线性高斯因果定向图形模型。在这个概念中,两个结构被视为等价,如果它们可以生成相同的数据分布。此外,作者还提出了一个较弱的等价性概念quasi-equivalence,它表示从观察数据中可以识别的程度。文章还提出了分析和图形方法来表征两个结构的等价性,并提出了一个基于得分的从观察数据中学习结构的方法,可以成功地处理不同类型的结构。

5.Causal structure learning from time series: large regression coefficients may predict causal links better in practice than small p-values

从时间序列中学习因果结构

算法简述:论文考察了如何将现有思想结合起来,在具有现实世界地球科学数据常见挑战的半现实和现实时间序列数据上取得具有竞争力的性能。作者还讨论了a)利用线性方法识别非线性系统中因果联系的原理,b)基于模拟的解释,说明为什么大的回归系数在实践中可能比小的p值更好地预测因果联系,以及为什么归一化数据有时会妨碍因果结构学习。

  • 6.Bayesian causal structure learning with zero-inflated Poisson Bayesian networks

  • 7.Causal learning with sufficient statistics: an information bottleneck approach

  • 8.Causal discovery from heterogeneous/nonstationary data with independent changes

  • 9.Causal discovery from soft interventions with unknown targets: characterization and learning

  • 10.A simultaneous discover-identify approach to causal inference in linear models

基于连续优化的算法

1.Disentangled generative causal representation learning

解耦生成式因果表征学习

算法简述:本文提出了一种解耦生成式因果表示学习(DEAR)方法,用于处理潜在变量之间存在因果关系的情况。该方法使用结构因果模型作为双向生成模型的先验,并通过GAN损失和监督信息进行联合训练。实验证明,DEAR方法在因果可控生成和下游任务中具有有效性和优势。

2.Causal adversarial network for learning conditional and interventional distributions

用于学习条件分布和干预分布的因果对抗网络

算法简述:论文提出了一种新的因果对抗网络(CAN),它可以从数据中学习因果关系,并根据条件或干预生成样本。与现有的因果GAN不同,CAN不需要预先给出的因果图。CAN包括两个部分:标签生成网络(LGN)和条件图像生成网络(CIGN)。LGN学习并从标签的因果模型中采样,然后将这些标签提供给CIGN,它学习标签与像素之间的关系,并根据这些关系生成图像。这个框架还具有一个干预机制,使模型能够从干预分布中生成样本。

3.DAGs with No Fears: A closer look at continuous optimization for learning Bayesian networks

深入了解贝叶斯网络学习的连续优化

算法简述:论文重新审视了一个名为NOTEARS的连续优化框架,用于学习贝叶斯网络。文章首先将现有循环性的代数特征推广到一类矩阵多项式,重点关注每条边只有一个参数的情况,证明了NOTEARS公式中Karush-Kuhn-Tucker(KKT)最优条件无法满足,除非在特殊情况下。然后为等价改写的问题求得了KKT条件,并证明了它们确实是必要的,并将它们与图中某些边缺失的显式约束联系起来。如果得分函数是凸的,那么这些KKT条件对于局部最小性也是充分的,尽管约束是非凸的。在KKT条件的启发下,作者提出了一种局部搜索后处理算法,并证明它通常可以将所有测试算法的结构Hamming距离提高2倍或更多。

4.On the role of sparsity and DAG constraints for learning linear DAGs

稀疏性和DAG约束对学习线性DAG的作用

算法简述:论文研究了如何学习DAG(有向无环图)的结构。由于DAG的搜索空间很大,这使得学习其结构非常具有挑战性。以前的方法使用了最小二乘目标和DAG的代数特征,但需要硬性DAG约束,这可能会导致优化困难。作者提出了一种新的方法,它考虑了稀疏性和DAG约束在学习DAG模型中的作用。

在理论和实验中,作者证明了软稀疏性和DAG约束可以用来学习DAG,还提出了一种基于似然的评分函数,它不需要硬性DAG约束,可以更容易地解决优化问题。

5.Differentiable causal discovery under unmeasured confounding

可微分的未测量混杂因素下的因果发现

算法简述:本文提出了一种基于不同微分代数约束的因果发现方法,用于处理混杂系统中由于未测量变量的存在而导致的数据混杂问题。该方法使用离散搜索过程选择编码观察变量之间普通条件独立约束的无环有向混合图(ADMGs),特别是祖传ADMGs。通过推导出完全表征祖传ADMGs空间的不同微分代数约束,并将因果发现问题转化为连续优化问题,设计了可微程序来寻找最佳拟合的ADMG。

  • 6.DYNOTEARS: Structure learning from time-series data

  • 7.Learning neural causal models from unknown interventions

  • 8.A critical view of the structural causal model

  • 9.Causal discovery with reinforcement learning

  • 10.Amortized learning of neural causal representations

  • 11.Amortized causal discovery: Learning to infer causal graphs from time-series data

  • 12.Causal discovery in physical systems from videos

  • 13.CASTLE: regularization via auxiliary causal graph discovery

  • 14.Gradient-based neural DAG learning

  • 15.Masked gradient-based causal structure learning

  • 16.CausalVAE: disentangled representation learning via neural structural causal models

  • 17.Causal autoregressive flows

  • 18.Learning DAGs without imposing acyclicity

  • 19.Learning sparse nonparametric DAGs

  • 20.Causal discovery from incomplete data: a deep learning approach

  • 21.Efficient and scalable structure learning for Bayesian networks: Algorithms and Applications

关注下方《学姐带你玩AI》🚀🚀🚀

回复“因果发现”领取方法原文及源码

码字不易,欢迎大家点赞评论收藏!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/163808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决PDF预览时,电子签章、日期等不显示问题

文章目录 问题描述问题排查问题解决 问题描述 在预览PDF时,部分签章或控件没有显示。如下图: 正确应该要这样: 问题排查 根据网上搜索,排查,我先看看,pdf.worker.js 里的这三行代码,是否已经注…

JVM 类加载

① 类加载过程 从上面的图片我们可以看出整个 JVM 执行的流程中,和程序员关系最密切的就是类加载的过程了,所以 接下来我们来看下类加载的执行流程。 对于一个类来说,它的生命周期是这样的: 其中前 5 步是固定的顺序并且也是类加载…

Android : Spinner(列表选项框) + BaseAdapter -简单应用

​​容器与适配器:​​​​​ http://t.csdnimg.cn/ZfAJ7 示例图: 实体类 Demo.java package com.example.mygridviewadapter.entity;public class Demo {private String text;private int img;public Demo(String text, int img) {this.text…

虚拟机解决Linux中Uos和Deepin登录密码忘记的问题 标题Linux Uos Deepin

Uos是切换网络模式解决的(之前有绑定过用户) 因为之前用的是桥接模式登录的时候一直无法联网,改为Nat模式后可以和电脑共用一个网络ip,可以重置密码了,以此解决 ps: 特别说明rw single init/bin/bash 方法和systemd.debug-shell1方法已经失效,不要再做无谓的尝试了Deepin23社区…

Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)

1、需求 使用Vue Element UI 实现在列表的操作栏新增一个复制按钮&#xff0c;复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面&#xff0c;本文实现为跳转到新增页面。 2、实现 1&#xff09;列表页 index.vue <el-table> <!-- 其他列 --> <el-t…

JOSEF 漏电继电器 LLJ-100FG φ45 50-500mA 卡轨安装

系列型号&#xff1a; LLJ-10F(S)漏电继电器LLJ-15F(S)漏电继电器LLJ-16F(S)漏电继电器 LLJ-25F(S)漏电继电器LLJ-30F(S)漏电继电器LLJ-32F(S)漏电继电器 LLJ-60F(S)漏电继电器LLJ-63F(S)漏电继电器LLJ-80F(S)漏电继电器 LLJ-100F(S)漏电继电器LLJ-120F(S)漏电继电器LLJ-125F(S…

推荐一个简单的在线压缩PNG和JPG图片大小的网址

问题描述&#xff1a;推荐一个简单的在线压缩PNG和JPG图片大小的网址 解决&#xff1a; https://www.iloveimg.com/zh-cn/compress-image/compress-png

将对象转成URL参数

背景 有的时候前端跳转到其他平台的页面需要携带额外的参数&#xff0c;需要将对象转成用 & 连接的字符串拼接在路径后面。 实现方法

C++中对SQLite进行增删改查

#include <iostream> #include <sqlite3.h>// 创建数据库连接 sqlite3* OpenDatabase(const char* dbFilePath) {sqlite3* db;// 打开数据库if (sqlite3_open(dbFilePath, &db) ! SQLITE_OK) {std::cerr << "Error opening database." <<…

HTTP ERROR 403 No valid crumb was included in the request

1、报错截图&#xff1a; 2、产生原因&#xff1a; 开启了csrf&#xff0c;即跨站请求伪造 3、新版本不支持页面修改&#xff0c;故需要修改jenkins配置文件 3.1 进入编辑配置文件 vim /etc/sysconfig/jenkins 3.2 修改JENKINS_JAVA_OPTIONS&#xff0c;并保存修改 JENKI…

深度学习之四(循环神经网络Recurrent Neural Networks,RNNs)

概念 循环神经网络(Recurrent Neural Networks,RNNs)是一类专门用于处理序列数据的神经网络,它在处理时考虑了序列数据的顺序和上下文信息。RNNs 在自然语言处理、时间序列分析、语音识别等领域得到广泛应用。 1. 基本结构: RNN 的基本结构包含一个或多个循环单元,每个…

Ubuntu 系统上使用 QQ 邮箱的 SMTP 服务器发送邮件,msmtp(已验证)

安装 msmtp sudo apt-get update sudo apt-get install msmtp2 .配置 msmtp nano ~/.msmtprcdefaults auth on tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.logaccount qq host …

Lua脚本解决redis实现的分布式锁多条命令原子性问题

线程1现在持有锁之后&#xff0c;在执行业务逻辑过程中&#xff0c;他正准备删除锁&#xff0c;而且已经走到了条件判断的过程中&#xff0c;比如他已经拿到了当前这把锁确实是属于他自己的&#xff0c;正准备删除锁&#xff0c;但是此时他的锁到期了&#xff0c;那么此时线程2…

Android : ExpandableListView(折叠列表) +BaseExpandableListAdapter-简单应用

示例图&#xff1a; 实体类DemoData.java package com.example.myexpandablelistview.entity;public class DemoData {private String content;private int img;public DemoData(String content, int img) {this.content content;this.img img;}public String getContent()…

STM32——外部中断

文章目录 0.中断关系映射1.使能 IO 口时钟&#xff0c;初始化 IO 口为输入2.设置 IO 口模式&#xff0c;触发条件&#xff0c;开启 SYSCFG 时钟&#xff0c;设置 IO 口与中断线的映射关系。3.配置NVIC优先级管理&#xff0c;并使能中断4.编写中断服务函数。5.编写中断处理回调函…

springboot多数据源集成

springboot多数据源集成 1、添加依赖2、添加配置3、代码使用4、动态切换数据库 1、添加依赖 <!--多数据源--> <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version…

[个人笔记] Windows的IT运维笔记

IT技术 - 运维篇 第二章 Windows的IT运维笔记 IT技术 - 运维篇系列文章回顾一、Windows10专业版添加gpedit.msc二、海康威视前端页面导出通道名称参考链接 系列文章回顾 第一章 快速下载微软评估版本镜像的方法 一、Windows10专业版添加gpedit.msc 执行以下bat脚本 echo off…

Rust使用iced构建UI时,如何在界面显示中文字符

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 iced的基本逻辑是&#xff1a; UI交互产生消息message&#xff0c;message传递给后台的update&#xff0c;在这个函数中编写逻辑&#xff0c;然后通过…

护法革命:CIMIVO+SOTUY洗前发膜让发丝重获“芯”生

爱美之心人皆有之,经常烫染或者是在太阳下暴晒,都会对发丝造成一定的伤害,一旦发丝受损,就会导致发芯内部角蛋白流失、化学键连接断裂,进而出现各种发质问题。为此,日本知名化妆品集团NABOCUL旗下发芯修护引领品牌ENNEO创新研发两大核心成分:CIMIVO、SOTUY,能够从根源修护发芯内…

EXCEL小技巧

1、两列文本合并显示&#xff1a; CONCATENATE(B6,E6) &#xff08;如果显示公式而非文本&#xff0c;就是公式输错了&#xff0c;比如后缺少空格&#xff09;