因果图中的重要概念

简介: 本文用直观的图的形式介绍因果图模型中的若干重要概念

变量 = 节点 = 顶点

variables_schema.png

因果推断是个科学发现问题,所以随机变量是最基本的概念。在因果图中,变量以节点顶点的形式存在。

在其他图工具中,一般是先构建图,然后再填入节点。如果图不存在了节点也随之消失。与这些图工具不同,bcoz将节点视为基本对象。
你可以用同一组节点构建多个图。这与我们处理科学问题的思路一致:先知晓变量,然后从中获得因果关系。

变量可以是离散值也可以是连续值,不同数值类型对应不同的搜索算法。

当导入数据时变量会自动创建,或者手动创建图时手动创建变量。

数据集

dataset_schema.png

数据集分为2部分:第一部分是变量集合 V,第二部分是这些变量的观测值集合 X 或这些变量的协方差矩阵 Σ

数据集在导入数据时创建。

graph_schema.png

G 由节点集合 V 和边集合 E 组成。每条边有4部分信息:一对节点和一对端点。
例如边 (A, B, -, >) 表示 A -> B,边 (B, C, <, >) 表示 B <-> C
这使得图的表示非常灵活:既可以表示无向边,也可以表示双向边,甚至一些特殊边。
A -> B 也以描述为“A对B存在直接因果效应”。

背景知识

knowledge_schema.png

在因果发现算法中,往往需要背景知识(先验知识)作为输入辅助搜索。
背景知识由一组变量、禁忌边列表和必要边列表组成。

构建背景知识时你可以将背景知识视为独立内容--这也就是为什么称其为背景知识。
但是背景知识不能脱离输入的变量,只有这样才能建立禁忌边和必要边,也就是“关于什么的知识”。

搜索算法

search_schema.png

因果发现问题可以简单理解为,首先我们有一组变量,然后在这些变量能组成的 所有 图中,找到一个能够正确描述这些变量之间因果关系的图。

到底要搜索多少图呢?

变量数 有向无环图数
1 1
2 3
3 25
4 543
5 29281
6 3781503
... ...
20 超过宇宙中原子的数量

这就是为什么我们需要一个算法来搜索,而不是人眼来检查。搜索算法会用很多技巧快速找到答案,不会一个一个图去分析。

搜索算法是一个函数,有对应的输入和输出。输入项为:

  • 数据集(必选)
  • 背景知识
  • 算法设置,不同算法设置参数不同

输出为一个图或与数据相容的一组图(也叫图的“等价类”)。图的类型根据算法不同而不同。

参数化模型和实例化模型

概率图只能给我们定性信息,它回答变量之间的因果影响,但不会告诉我们定量的因果效应有多大。
他们对图中变量的概率分布施加约束,但不会完全指定概率分布。因此我们需要模型。

因果模型向图中添加这些缺失的信息:模型指定概率分布,如果我们对某些变量施加干预可以得到其概率分布。

模型适用于如下几个不同任务:

  1. 给定我们确信的图和数据,我们可以你和模型学习因果效应的大小;
  2. 给定我们想要评估的图和数据,我们可以训练并测试模型来衡量图对数据描述的质量;
  3. 给定图,我们可以指定模型来生成该图的模拟数据,用于评估搜索搜索算法。

有两类令人混淆的模型,他们的区别整理在下表:

贝叶斯模型(Bayes Model) 结构方程模型(SEM)
参数化模型 图(DAG)中的节点是离散变量,每个变量有一组可选值 图(DAG)中的节点是连续变量(均值和方差以初始化但未赋值),外加一系列线性参数(系数已初始化但未赋值)
实例化模型 根据图中每个变量的父节点,给每个变量赋予其可能值的概率 值赋给线性结构方程所有参数(均值、方差和边系数)

我们区分参数化模型和实例化模型。参数模型只是 初始化 对象,这里我们决定用哪种模型(贝叶斯还是结构方程模型)。
然后实例化模型对模型参数赋值。

贝叶斯参数化模型和实例化模型

bayes_pm_schema.png

“贝叶斯模型” 仅意味着模型适配 离散数据。他与贝叶斯推断没有特殊关系。这里用“贝叶斯模型”仅仅是因为处理离散数据的DAG被称为“贝叶斯网络”。

一个贝叶斯参数化模型对象包含一个图、图中每一个变量的可选值。图必须是有向无环图(DAG)。

bayes_im_schema.png

一个贝叶斯实例化模型对象包含贝叶斯参数化模型的一切,外加一组条件概率表--每张表对应一个节点,基于图中它的父节点。

结构方程参数化和实例化模型

sem_pm_schema.png

结构方程模型用于在某种变量间关系假设下拟合连续数据。既可以拟合标准结构方程模型也可以拟合广义结构方程模型。

线性模型意味着变量间的关系可以用线性方程描述。例如,假设我们有图 X -> Y <- Z,我们可以将其描述为标准参数化结构方程模型:

f2.png

其中 ϵ1, ϵ2, ϵ3 是满足高斯分布的独立随机变量。

结构方程参数化模型包含一个图,外加需要指定概率分布的所有变量的列表。在上面的例子中,参数是

f3.png

然而在结构方程参数化模型对象中,这些参数的值是待定的;这些值通过实例化模型指定(见实例化模型)。

如果选择广义结构方程参数化模型,你可以指定父子变量间的非线性关系,并且每个变量可以是非高斯分布的。
例如你可以指定某个变量与其父变量满足二次方程关系:

f1.png

你可以指定误差项 ϵ 具有均匀(0, 1)分布。

注意:尽管广义结构方程模型相比标准结构方程给了你更大的自由,同时也需要你做更多的约束。你必须给出分布的参数化形式,否则无法通过数据训练出模型。
目前没有非参数化模型拟合方法。

sem_im_schema.png

结构方程实例化模型为所有参数赋值--在上面的例子中,需要给参数 α,β 赋值,同时给出误差项 ϵ 的均值和方差。

目录
相关文章
|
16天前
R语言分析协变量之间的非线性关系
R语言分析协变量之间的非线性关系
17 5
|
7月前
|
人工智能 数据挖掘
这图怎么画 | 相关分析棒棒糖图
这图怎么画 | 相关分析棒棒糖图
46 0
|
4月前
|
算法 Java 图计算
图计算中的最短路径算法是什么?请解释其作用和常用算法。
图计算中的最短路径算法是什么?请解释其作用和常用算法。
22 0
|
7月前
|
算法 测试技术 C++
C++算法:图中的最短环
C++算法:图中的最短环
|
7月前
Induction hypothesis(归纳假设
Induction hypothesis(归纳假设)是一种基于归纳推理的假设或推测,通常用于科学、工程和数学等领域中。它是一种从特殊情况或实例中推断出一般性结论或规律的方法。归纳假设是基于观察到的数据或现象,通过对这些数据或现象进行总结和归纳,从而得出一个更普遍的结论或规律。 使用归纳假设的方法可以分为以下几个步骤:
269 5
|
算法 C语言
【数学模型】层次分析
【数学模型】层次分析
【数学模型】层次分析
|
11月前
|
机器学习/深度学习
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(二)
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(二)
1100 0
|
11月前
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(一)
离散数学_十章-图 ( 2 ):图的术语和几种特殊的图(一)
60 0
|
11月前
|
机器学习/深度学习
离散数学_十章-图 ( 4 ):图的表示和图的同构
离散数学_十章-图 ( 4 ):图的表示和图的同构
182 0
|
12月前
|
数据库
关系数据规范化理论
关系数据规范化理论