Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Causal Discovery

因果发现从数据中还原因果图。了解 PC 算法及其后续算法如何运作、它们有哪些假设,以及一个可运行示例。

因果发现旨在从数据中推断哪些变量导致了哪些结果,并生成一张有向图;从 X 指向 Y 的箭头表示 X 直接影响 Y。标准机器学习会学习足以支持预测建模的关联。因果发现则会追问,在干预下这些关联是否依然成立,例如改变机器设置或交通信号灯时序。它会输出一组候选因果结构,其中往往有些边仍未定向,随后再由领域专家和实验进一步完善。

哪些因素让因果结构可学习#

因果图通常是有向无环图(DAG),与贝叶斯网络使用的结构相同,但按因果关系来解读:每个箭头都表示直接影响。发现算法依赖三个标准假设。根据因果马尔可夫条件,已知某个变量的直接原因后,该变量便独立于所有并非其结果的变量。忠实性假设认为,数据中的每个独立关系都来自图结构,而非恰好相互抵消的影响。因果充分性假设则认为,不存在同时导致两个已测量变量的未测量变量。

即使满足这三个假设,观察数据也不总能揭示边的方向。链式结构 X → Y → Z、反向链式结构 X ← Y ← Z,以及分叉结构 X ← Y → Z 都意味着相同的独立性模式,即已知 Y 后,X 和 Z 相互独立,因此无论有多少观察数据,都无法区分它们。碰撞结构 X → Y ← Z 则不同。X 和 Z 本身相互独立,但已知 Y 后就会变得相关;这种特征能够确定两个箭头的方向。

因此,算法会返回马尔可夫等价类:一张部分定向图,其中已定向的边方向确定,未定向的边则可能朝任一方向。这个相同的性质也解释了数据集偏差的一个经典来源:对碰撞变量进行筛选或调整,会在其原因之间制造一种依赖关系,而这种关系在完整总体中并不存在。

发现算法#

大多数方法可归为三类。以 PC 为代表的基于约束的算法以 Peter Spirtes 和 Clark Glymour 命名,他们于 1991 年发表了该算法。算法从完全连接的无向图开始,删除条件独立性检验通过的变量之间的边,然后确定碰撞点方向。FCI 将此方法扩展到存在隐藏混杂因素的情况。基于分数的算法,例如贪心等价搜索(GES),会在图中搜索得分最高的图,分数可采用贝叶斯信息准则;而 NOTEARS 将无环性重新表述为平滑约束,使搜索能够通过梯度下降进行连续优化。LiNGAM 等函数方法假设关系是线性的、噪声是非高斯分布,因此即使只有两个变量,也能识别每条边的方向。

因果发现库还允许将时间顺序、物理约束和专家知识作为背景规则,禁止或要求特定边的存在,从而缩小搜索范围,并确定仅凭数据无法判断方向的边。开源库 causal-learn 实现了这三类方法。下面的示例根据一个已知碰撞点生成数据,并使用 PC 找回该结构:

import numpy as np
from causallearn.search.ConstraintBased.PC import pc

rng = np.random.default_rng(0)
n = 5000

# 真实结构:雨和体育场活动都会导致拥堵
rain = rng.normal(size=n)
event = rng.normal(size=n)
congestion = rain + event + rng.normal(scale=0.5, size=n)

# PC 通过检验条件独立性,仅凭数据恢复图结构
data = np.column_stack([rain, event, congestion])
result = pc(data, alpha=0.05, node_names=["rain", "event", "congestion"], show_progress=False)
print(result.G)

输出列出了两条有向边:rain --> congestion 和 event --> congestion。由于雨和活动相互独立,但已知拥堵后会变得相互依赖,PC 将两条边都定向了。如果真实结构是一条从雨到拥堵再到延误的链,两条边就会保持无向。

因果发现的应用领域#

生物学领域提供了一个早期里程碑。2005 年,Karen Sachs 及其同事通过单细胞测量,学习了包含 11 种蛋白质和磷脂的蛋白质信号网络,找回了大多数已知连接;作者随后通过实验室实验确认了一个新预测的连接。在气候科学中,由 Jakob Runge 开发并通过 Tigramite 软件包实现的 PCMCI 等时间序列方法,能够在处理滞后和自相关的同时,发现气候变量之间的因果联系,非常适合时间序列分析。PyWhy 生态系统将因果发现工具与 DoWhy 配合使用,进入下一步:在图结构确定后估计效应大小。

计算机视觉可以提供这些变量。在交通视频中使用 Ultralytics YOLO26 进行目标计数,可以统计穿过某条线或某个区域的车辆和行人;将每个时间间隔内记录的计数与天气、活动日程和信号灯时序合并后,就可以运行因果发现算法。

  • 因果表示学习:从像素等原始输入中学习因果变量本身及变量之间的图结构。因果发现则从已经测量的变量开始。
  • 可解释 AI(XAI):解释哪些输入影响了模型的预测,但不会声称改变某个输入就会改变现实世界中的结果。
  • 特征工程:选择并构建有助于预测的输入,包括仅与目标相关的变量。因果图则会识别出那些变化会推动目标变化的变量。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来