Causal Inference on Time Series Data with the Tigramite Package¶
讲者: Jakob Runge
来源: OCIS (Online Causal Inference Seminar)
日期: 2025-10-14
主题: 因果推断
视频: https://youtu.be/DZbLQ-WLrD0 · 幻灯片
本页据讲座录音的自动转写(ASR)生成。人名 / 术语 / 公式 / 具体的率与界可能被听错,关键处请对照视频或讲者论文核对。
一、这场报告在讲哪条工作线¶
这场报告介绍的是 Tigramite 软件包,一个专注于时间序列数据的因果推断 Python 库。讲者 Jakob Runge 将这项工作放在一个更大的背景下:对复杂动态系统进行因果推断。这些系统(如地球气候、生物地球科学过程)的数据具有独特的挑战——高度自相关、非线性、时滞、潜在混杂、非平稳性、采样率不匹配以及空间-时间维度等。
该子方向的奠基性工作包括 Peter Spirtes 和 Clark Glymour 等的 PC 算法(含因果发现中的条件独立性检验框架)以及 Judea Pearl 的结构因果模型(SCM) 和 do-calculus(用于效应识别)。主流路线分为两大类: 1. 因果发现(Causal Discovery):从观测时间序列中学习因果图结构(通常是时间序列图或过程图)及其对应的潜在混杂结构。 2. 因果效应估计(Causal Effect Estimation):在已知(或部分已知)图结构下,利用调整公式、do-calculus 或工具变量等方法估计特定干预的因果效应。
当前的前沿工作方向包括:处理瞬时因果关系(PCMCI+, Runge, 2020)、学习潜在混杂(L-PCMCI, Gerhardus & Runge, 2020;一种时间序列版本的 FCI 算法)、在多环境/面板数据中利用上下文变量(J-PCMCI+, Günther et al., 2023,类似固定效应回归的因果发现版本)、以及学习非平稳系统下的因果体制(R-PCMCI, Saggioro et al., 2020)。在因果效应方面,前沿工作关注在时间序列图中寻找最优调整集(Runge, NeurIPS 2021),以及非线性非加性的因果中介分析。
这场报告站在哪: 它的位置不是提出新的单个方法,而是整合。Runge 的团队过去几年在以上所有前沿方向上都有方法贡献(PCMCI 系列),现在他们把这些方法打包进一个统一的、模块化的 Python 包 Tigramite。所以这场报告与其说是介绍新理论,不如说是对一个方法论“生态系统”的全面演示,尤其面向对地球科学、气候科学等复杂系统感兴趣的应用研究者。报告中同时强调了一个 问题-假设-数据(QAD)框架和一个大规模流程图,试图指导用户如何根据自身数据特征和科学问题选择合适的因果方法。这是与纯理论报告很不一样的定位。
二、最小内核 / 一个最简例子¶
符号与模型设定(以时间序列图为例):
- 可观测数据:一个长度为 T 的时间序列,包含 2 个变量。记为 \( X_t \) 和 \( Y_t \),其中 \( t = 1, \dots, T \)。数据是向量 \( (X_t, Y_t) \)。假设系统是 平稳的,即因果结构不随时间改变。
- 潜在不可观测量:潜在的混杂变量(如果有,记为 \( U_t \)),以及潜在的噪声项。
- 结构因果模型 (SCM):假设每个时间点的变量由一个结构方程决定,只依赖于其过去值和当前其他变量的过去值(以及潜在当前值,如果允许瞬时关系)。例如,一个简单的线性自回归模型:
\[X_t = \alpha X_{t-1} + \beta Y_{t-1} + \epsilon_t^x\]\[Y_t = \gamma X_{t-1} + \delta Y_{t-1} + \epsilon_t^y\]其中 \( \epsilon_t^x, \epsilon_t^y \) 是独立同分布的随机噪声。
- 目标结构:时间序列图。它是一个有向图,节点是所有时刻的所有变量(\( \dots, X_{t-1}, Y_{t-1}, X_t, Y_t, X_{t+1}, \dots \))。一条边从 \( V_{t-\tau} \) 指向 \( W_t \) 表示 \( V_{t-\tau} \) 是 \( W_t \) 的直接原因。最简例子只考虑滞后阶数 \( \tau_{max}=1 \),图就是一个重复的模块。这是一个无限图,但因为我们假设平稳且只考虑有限滞后,可以得到一个有限的投影图(类似总结图(summary graph)或过程图(process graph))。
- 估计目标 (Estimand):
- 因果发现:学习出这个有限投影图的结构(哪些边存在)。
- 因果效应:例如,估计一个硬干预(intervention)\( do(X_t = x) \) 对未来 \( Y_{t+1} \) 的平均因果效应(ATE)。即 \( E[Y_{t+1} | do(X_t = x)] - E[Y_{t+1} | do(X_t = x')] \)。
最简特例(d=1, 两个时间点, 二值处理, 无滞后混杂与滞后治疗):
- 假设一个极其简化的、非平稳的 i.i.d. 横截面视角,只考虑两个时间点:\( t=1 \) 和 \( t=2 \)。变量为 \( X_1, Y_1, X_2, Y_2 \)。目标:估计 \( X_1 \) 到 \( Y_2 \) 的因果效应,并只控制一个滞后混杂 \( Y_1 \)。
-
过程:用户假设数据结构如下(一个简单的有向无环图 DAG):
\[X_1 \rightarrow Y_2\]\[Y_1 \rightarrow Y_2\]\[(X_1, Y_1) \text{ 之间存在未指定的联系(可能相关,也可能有隐含混杂)}\]但在这个设定中,如果我们想估计 \( X_1 \) 对 \( Y_2 \) 的总效应,由后门准则可以识别为:\[E[Y_2 | do(X_1 = x)] = \sum_{y_1} E[Y_2 | X_1 = x, Y_1 = y_1] P(Y_1 = y_1)\]Tigramite 的CausalEffects类会先根据用户提供的图(或学习到的图)找到最优调整集(即Y_1),然后用用户指定的sklearn估计器(如一个简单的线性回归)来拟合条件期望 \( E[Y_2 | X_1, Y_1] \),最后通过调整公式计算总效应。 -
因果发现特例(PCMCI 的最简思想):
- PC1(滞后条件独立):对每个可能的滞后 \( X_{t-\tau} \rightarrow Y_t \),使用条件独立性检验(如偏相关系数为 0)来筛选候选父集。先对所有可能的原因(所有滞后变量)进行无条件或低维条件检验,大幅缩小搜索空间。
- MCI(瞬时条件独立):然后,对筛选出的候选边再次进行更严格的条件独立性检验,其中条件集包括该变量所有其他已确定的父变量。这一步的目的是排除因自相关带来的虚假相关。 例如,如果真实模型是 \( X_{t-1} \rightarrow Y_t \),PCMCI 会先检验 \( X_{t-1} \perp Y_t \) 是否成立(不成立,因为存在边),然后在检验 \( X_{t-1} \perp Y_t | Y_{t-1} \) 是否成立(不成立,因为 \( Y_{t-1} \) 不是真正的混杂,调整它不会打破 \( X_{t-1} \) 和 \( Y_t \) 之间的相关性,因为真实的因果是 \( X_{t-1} \rightarrow Y_t \);但如果 \( Y_{t-1} \rightarrow X_{t-1} \),那调整 \( Y_{t-1} \) 就是必须的)。总之,MCI 试图检验当控制了变量自身和候选原因的所有其他父项后,\( X_{t-\tau} \) 是否仍与 \( Y_t \) 相关。
三、报告主体:讲者讲了什么¶
-
[0:00:02-0:01:17] 开场与动机:自我介绍(Potsdam 大学,AI 主席),介绍背景——复杂动态系统(气候、地球系统)的因果问题。举了洪水驱动、极端事件、气候临界点、混合建模(加速气候模型)、遥相关网络等例子。这些是 Tigramite 包针对的主要问题领域。
-
[0:01:30-0:04:40] 时间序列数据对因果推断的挑战:概括了 2019 年一篇视角论文中的挑战清单,分为过程层的挑战(高度自相关、非线性时滞、多时间尺度、重尾或极端噪声)、数据层挑战(时空数据、未观测变量、亚采样、测量误差、选择偏差、分类数据、测年不确定性),以及标准统计挑战(样本量、高维性)。
-
[0:04:40-0:08:20] PCMCI 方法家族介绍:这是他团队主要的方法贡献。核心概念是时间序列图(stationary, infinite graph)及其有限投影。梳理了 PCMCI 方法族谱:
- PCMCI+ (2020):允许瞬时因果关系。
- L-PCMCI (Gerhardus & Runge, 2020):允许潜在混杂(学习时间序列的最大祖先图(MAG))。
- J-PCMCI+ (Günther et al., 2023):结合多数据集/上下文,自动发现如何通过上下文变量解决隐蔽混杂,类比于面板数据中的固定效应回归。
- R-PCMCI (Saggioro et al., 2020):非平稳系统,自动学习多个因果体制(regime)及其切换点。
-
[0:08:20-0:13:30] QAD 框架与方法流程图:讲者强调为实践者服务,重点介绍了他 2023 年在 Nature Reviews Earth & Environment 发表的综述/指南论文。核心概念是 Pearl 的因果层次(Causal Hierarchy) 和 QAD (Questions-Assumptions-Data) 框架。他详细讲解了一个巨大的流程图,引导用户从“你的问题是什么?”“变量定义好了吗?”“数据有特定结构吗?”等逐渐决定使用因果发现、因果效应估计还是反事实分析,以及应选择何种具体方法。这一部分展示了讲者希望能帮助实践者做出规范化选择的想法。
-
[0:13:30-0:24:00] Tigramite 包概述与数据帧设计:
- 核心设计理念:将数据处理、条件独立性检验、发现算法、效应估计进行解耦,模块化。核心是围绕一个
DataFrame对象设计。 DataFrame功能:支持单轨或多轨数据(不同环境/数据集)、掩码(mask)处理(例如只使用夏季月份、分块重采样)、向量变量(将多个列指定为一个因果node)、参考点(reference point,类似分时段的子样本选择,用于自助法)。这个DataFrame的construct_array方法能将用户的 query(例如 X=[(0, -1)], Y=[(1,0)], Z=[...])自动处理成无缺失的、适合 sklearn 的矩阵。- 因果发现:初始化方法(如
PCMCI)后,通过run_jpcmciplus(...)运行,可加入先验知识(硬约束:必须存在、必须不存在等)。 - 条件独立性检验:提供了多种选项:
ParCorr(线性高斯)、稳健偏相关、加权最小二乘、GPDC(高斯过程距离相关,非线性加法,有 GPU 版)、CMIknn(基于 k-nn 的 k-NN 估计条件互信息,最通用)、G_square(分类数据)、RegressionCI(混合数据)。所有检验类都继承一个基类CondIndTest,并提供run_test(X, Y, Z)接口,输出 p 值。 - 掩码与置换检验:
CMIknn的显著性检验可以进行解析近似或局部置换检验。
- 核心设计理念:将数据处理、条件独立性检验、发现算法、效应估计进行解耦,模块化。核心是围绕一个
-
[0:24:00-0:31:00] 因果效应与中介效应估计:
CausalEffects类:需要用户提供图(可以是 DAG 或 ADMG,包括静态和时域版本)。用户可以指定最优调整集(基于 Runge, NeurIPS 2021 的理论,对线性 SCM 是渐近最优的,对非线性也是数值优的)或用户自定义调整集。内部使用sklearn估算器(如随机森林、多层感知机,取决用户选择)进行拟合。支持硬干预和软干预。CausalMediation类:支持非线性非加法依赖关系的自然直接效应和自然间接效应。内部使用一个复杂类来协调连续和分类变量。LinearMediation类:基于路径系数的线性中介分析,效率更高。- 例子:如幻灯片[0:30:19-0:30:30]所示,在估计时,讲者展示了一个时间序列图的有限投影,并用多层感知机拟合一个非线性因果效应,用自助法估算不确定性。
-
[0:31:00-0:34:00] Toy Model 与 Tutorials:Tigramite 提供了一个
toymodels模块,基于结构因果过程生成合成数据。用户可指定链接字典(变量 j 受变量 i 在滞后 τ 的影响,系数和函数形式),生成噪声,并可生成干预数据(硬或软)。这允许用户在已知真实因果结构的场景下测试方法。包内还包含一个覆盖发现、效应估计、特征学习、数据挑战的教程集合,旨在通过案例指导实践。 -
[0:34:00-0:40:00] 应用与路线图:展示了广泛的应用(气候、地球科学、生物地球科学、人体健康等)。讲者强调扩展性:当前通过 joblib 并行化,部分方法有 GPU 支持(GPDC torch版)。早期路线图包括:集成更多发现算法、增加验证方法(评估假设违反,如忠实度违反)、扩展因果效应估计(集成 ID 算法,处理前门、工具变量)、反事实分析、完善基准测试及方法参数选择辅助系统。
-
[0:40:00-0:58:00] Q&A 环节(关键讨论):
- [0:40:20] 非平稳性处理:讲者明确指出,像标准 PCMCI 假设平稳性;R-PCMCI 假定有限个体制转换。对于其他非平稳,建议:滑动窗口(若平滑变化)、季节性掩码(若有先验)、或构造一个额外的节点
S并强制其作为所有其他节点的父项来“条件化”非平稳性,类似固定效应。讲者谨慎地对经济学中常用的差分法提出警告:差分改变了因果变量的含义(从温度变为温度变化),其因果效应的解读不同。 - [0:44:00-0:46:12] 因果效应的种类与识别:图本身是 ADMG(因为滞后导致的双向边),因此时间序列图的有限投影是一个 ADMG。目前包仅实现了基于调整(adjustment)的估计方法(即后门准则及其推广),不包含前门准则、工具变量或通用 do-calculus 算法(ID算法)。对于联合干预(joint interventions)依然适用,因为调整准则可以扩展,但讲者将此列为未来工作。
- [0:46:12-0:49:00] 验证与不确定性:利用 bootstrap 对因果发现结果进行多次运行并生成多数投票图,作为有限样本不确定性评估。讲者也与 Thomas Richardson 讨论过 bootstrap 理论意义,目前其解读是数值性的。近期工作与信度假设检验(检测忠诚度违反)有关,使算法对这些违反更加稳健。
- [0:51:00-0:55:00] 高阶/多变量关系与协同效应:对“高阶多元关系”问题,讲者回应目前条件独立性检验都可处理多元 X/Y/Z(如 CMIknn)。对于协同因果关系(即 X1 和 X2 仅联合时才影响 Y,但边际独立,导致忠诚度违反),Tigramite 的处理方式是:如果用户先验知道 X1 和 X2 是协同的,则把它们定义为一个向量节点(vector variable),然后用该向量节点进行因果发现。
- [0:40:20] 非平稳性处理:讲者明确指出,像标准 PCMCI 假设平稳性;R-PCMCI 假定有限个体制转换。对于其他非平稳,建议:滑动窗口(若平滑变化)、季节性掩码(若有先验)、或构造一个额外的节点
四、对应论文与开放问题¶
-
这场报告对应的主要论文(及合作者信息):
- 主要综述/指南: Runge, J., et al., "Causal inference for time series data: a review and guide", Nature Reviews Earth & Environment, 2023. (提到了 QAD 框架、流程图)
- PCMCI 原始论文: Runge, J., et al., "Detecting and quantifying causal associations in large nonlinear time series datasets", Science Advances, 2019. (符号 PCMCI 最初出自这里)
- PCMCI+ : Runge, J., "Discovering contemporaneous and lagged causal relations in autocorrelated nonlinear time series datasets", NeurIPS, 2020.
- L-PCMCI : Gerhardus, A., & Runge, J., "High-recall causal discovery for autocorrelated time series with latent confounders", NeurIPS, 2020.
- J-PCMCI+ : Günther, W., et al., "Causal discovery for time series with multiple environments and contexts", NeurIPS, 2023.
- R-PCMCI : Saggioro, E., et al., "Learning causal networks with non-stationary regimes", 未指定会议,但提到 2020。
- 最优调整集: Runge, J., "Optimal adjustment sets for causal effect estimation in time series graphs", NeurIPS, 2021.
- Mediation 2015 NatComm: 可能对应一篇较早的应用论文,具体标题不确定。
- Review/Guide 2019: ‘Causal inference for time series… perspective paper’ 可能对应:Runge, J., et al., "Inferring causation from time series in Earth system sciences", Nature Communications, 2019.
- 因果发现与 bootstrap: ‘we have one paper about this’:可能是最近的团队论文,提到了 bootstrap 对时间序列因果发现的具体应用,但标题未知。
- COSMI 数据基准平台:
cosmi.net(一个公开的时间序列因果发现基准平台)。
-
报告留下的开放问题(每条扎根于转写/幻灯片):
- 非平稳数据与隐性机制建模:尽管有 R-PCMCI,但用户问能否将非平稳性建模为“潜在属性”。讲者只能提供手动构造节点或滑动窗口的变通方案,没有自动化、模型非平稳性的标准方法。 (扎根于 [0:31:18-0:32:10] 问答和 [0:51:50-0:52:30] 关于自动建模非平稳性的问题)
- 因果效应识别方法的完整性:包目前只实现了基于调整(adjustment)的估计,缺失了 do-calculus 的通用 ID 算法(对前门、IV 等情形)、工具变量方法、以及通用因果效应估计框架。这个局限在 [0:44:00-0:45:36] 被明确讨论。
- 最优调整集的有限样本性质:最优调整集理论建立在渐近方差最小化上,在有限样本和非线性模型下的表现(如稳定性、与交叉拟合结合的方差估计)需要更深入的研究。此外,包中对于非线性模型的最优调整集只是处于“数值上常表现更好”的状态([0:29:40-0:30:12])。
- 综合验证方法:用户问到如何在没有金标准的情况下评估因果发现结果。讲者提到了 bootstrap 和最新关于忠实度假设检验的工作,但他自己也指出“这是一个很大的话题,相关研究还需要更多投入”([0:46:30-0:48:17])。如何在实际应用中系统性地提供有限样本不确定性或依赖度指标(贝叶斯或频率学派的)是一个开放挑战。
- 协同因果关系与忠实度违约自动检测:对于“X1+X2 共同导致 Y 但各自边际独立”这种协同情形,包没有标准实现,只能依赖于用户先验知识和向量变量定义。如何自动检测并利用此类结构是开放问题([0:53:30-0:55:10])。
- 算法与超参数自动选择:当前方法选择流程图仍依赖用户交互。如何将这些规则自动化为一个推荐系统(推荐 CI 检验类型、如何决定是否线性、如何自动设定滞后长度)是讲者本人的路线图项([0:39:17-0:39:30])。而且,对于不同变量认为不同性质(部分线性部分非线性)的混合图,没有内置的自动模式选择。
Maintained by 陈星宇 · Homepage · Source on GitHub