当时间不再整齐:给不规则时间序列的因果发现打开一扇窗
医院ICU里,一个病人的生命体征数据是这样的:
- 心率:每5分钟自动记录一次
- 血压:护士每2小时手动测量一次
- 体温:每天4次定时测量
- 血氧:只在病情变化时按需测量
- 实验室检查:医生开医嘱时才有
如果你想知道"是血压下降导致了心率上升,还是反过来",传统方法直接歇菜——因为几乎所有因果发现方法都假设时间序列是规则采样的:所有变量在相同的时间点被观测,间隔固定。
Feedzai和里斯本大学团队的论文《Causal Discovery on Irregular Time Series》(arXiv:2607.18226)做了一件简单但重要的事:把PCMCI+——规则时间序列因果发现的SOTA方法——扩展到不规则时间序列。
PCMCI+是什么?
先说说PCMCI+。这是Runge等人在2020年提出的因果发现算法,被认为是规则多变量时间序列因果发现的state-of-the-art。
PCMCI+的核心思路分两步: 1. 条件独立性测试:对于每一对变量(X_i, X_j),测试它们在给定其他变量的条件下是否独立 2. 因果图构建:根据条件独立性结果构建因果图——如果X_i和X_j在给定条件集后依然不独立,说明它们之间有因果边
关键在于"条件集"怎么选。PCMCI+用了一个聪明的方法:先考虑同时刻的同期效应(contemporaneous),再考虑跨时间步的滞后效应(lagged)。对于滞后效应,它假设当前时刻t的X_i可能由t-1, t-2, ..., t-τ_max时刻的任何变量导致。
这个τ_max就是问题所在。 它假设时间步是离散且等间距的——t-1就是"一个时间步之前",所有变量的"一个时间步"都一样长。
但在不规则采样下,"一个时间步"没有意义。心率的t-1是5分钟前,血压的t-1是2小时前,它们根本不在同一个时间尺度上。
从固定滞后到时间窗口
论文的第一个改动:把"固定滞后"替换成"时间窗口"。
具体来说,不再假设"t-1时刻的变量",而是定义一个时间窗口$[t - k\mu - \delta, t - k\mu + \delta]$,其中:
- $\mu$是平均事件间隔
- $k$是第几个滞后窗口(k=1,2,...,τ_max)
- $\delta$是窗口半宽
这个改动看似简单,但解决了一个根本问题:不规则时间序列里,"第k个滞后"不再是某个确定的时间点,而是一个时间范围。 窗口越宽,能容纳的不规则性越大,但也越可能混入不同滞后的信息。
论文还提出了一个改进:重叠窗口(Overlapping Windows)。让相邻窗口部分重叠,这样在窗口边界附近的观测可以同时贡献给两个滞后表示。这减少了对窗口边界任意性的敏感度。
高斯窗口:更柔软的边界
离散窗口还有一个问题:硬边界。一个观测要么在窗口里(权重1),要么在窗口外(权重0)。如果某个观测恰好在窗口边界上,它的一点点时间差异就会导致它被完全纳入或完全排除。
论文的第二个改动更优雅:高斯窗口(Gaussian Window)。
不再用二元权重,而是用高斯函数给每个观测赋权:
$$w(\delta; k, \mu, \sigma) = \exp\left(-\frac{(\delta - k\mu)^2}{2\sigma^2}\right)$$
其中$\delta = t - t'$是观测与目标时间的距离,$k\mu$是目标延迟,$\sigma$控制衰减速度。
这个设计很直觉:
- 观测时间恰好等于目标延迟$k\mu$时,权重最大(=1)
- 观测时间偏离目标延迟时,权重平滑衰减
- $\sigma$越大,窗口越宽,更多观测被纳入但权重更低
合成数据:已知答案的考试
因果发现的一个老大难问题是:真实数据上你不知道因果图是什么,所以没法评估算法对不对。 你只能用合成数据(已知因果结构)来测试。
论文设计了4个实验场景,每个场景是一个不同的因果图结构。数据生成过程是: 1. 按高斯分布生成事件间隔$\Delta_m \sim \mathcal{N}(\mu_c, \sigma_c^2)$ 2. 按一阶自回归过程生成事件特征值 3. 按预设的邻接矩阵A生成跨变量的因果效应 4. 加入独立噪声流
通过调整$\sigma_c$可以控制不规则程度——$\sigma_c$越大,事件间隔越不均匀。
评估指标是:
- SHD(Structural Hamming Distance):预测因果图和真实因果图之间的编辑距离,越低越好
- Recall:真实因果边中被正确发现的比例
- Precision:发现的因果边中真实存在的比例
结果:高斯窗口全面胜出
论文的核心发现可以概括为一句话:在所有实验场景下,高斯窗口扩展都显著优于标准PCMCI+,并且在大多数场景下也优于离散窗口扩展。
几个关键模式:
1. 标准PCMCI+在不规则数据上严重退化——它假设的固定滞后结构被破坏,导致大量虚假因果边或遗漏真实因果边 2. 离散窗口扩展有改善但不够稳定——硬边界对窗口宽度敏感,不同参数选择可能给出不同结果 3. 高斯窗口最稳健——在所有信噪比下都能保持高recall和高precision,在实验1、3、4中甚至在每个信噪比下都达到最大recall(找到了所有真实因果边)
论文还做了一个有意思的消融分析:只看滞后边,不看同期边。结果发现所有方法的表现都有提升,特别是precision。这说明标准PCMCI+在不规则数据上容易把"不存在同期边"误判为"存在同期边",从而干扰整体性能。这个发现指向了未来的一个研究方向:如何在不规则时间序列上更好地区分同期效应和滞后效应。
为什么这件事重要?
不规则时间序列不是边缘情况,而是现实世界的默认情况:
- 医疗数据:不同检查项目的频率不同,急诊病人的监测频率随病情变化
- 金融交易:交易事件是事件驱动的,不是等间隔的
- 传感器网络:不同传感器的采样频率不同,可能因网络延迟而丢失数据点
- 用户行为数据:用户在App里的点击、浏览、购买事件是完全不规则的
- 气候数据:不同气象站的观测频率不同,历史数据更是参差不齐
这篇论文的方法保留了原始时间戳,不做插值,直接在不规则数据上做因果发现。这是一个更诚实的方法——数据本来就不规则,假装它规则只会自欺欺人。
和其他方法的区别
需要说明的是,不规则时间序列的因果发现并非完全没有前人工作。但之前的方法要么:
- 假设连续时间模型(如Hawkes过程),对数据生成过程有较强假设
- 针对特定领域设计(如fMRI数据的动态因果建模)
- 只处理两个变量,不能扩展到多变量系统
这种"最小改动、最大兼容"的设计哲学,让方法容易被社区采纳——你不需要重写整个因果发现管线,只需要替换滞后窗口的构建方式。
局限与未来方向
论文也坦诚了几个局限:
1. 只有合成数据实验——没有在真实不规则时间序列上验证。合成数据的因果结构是人为设计的,真实数据的因果结构可能更复杂 2. 窗口参数需要手动设定——$\mu$、$\sigma$、$\delta$等参数的选择缺乏自动化方法 3. 同期效应和滞后效应的交互——论文发现这两者在不规则数据上的区分是个难题,但没有给出解决方案 4. 计算成本——重叠窗口和高斯窗口都会增加计算量,论文没有讨论在大规模数据上的可扩展性
未来的方向可能包括:
- 在真实数据上验证(医疗、金融、气候)
- 自动选择窗口参数的方法
- 处理同期效应和滞后效应的统一框架
- 和连续时间因果模型(如神经微分方程)的结合
一个更广的视角
这篇论文让我想到一个更广的趋势:机器学习正在从"规则数据"向"不规则数据"迁移。
早期机器学习假设数据是IID(独立同分布)、规则、结构化的。深度学习时代放松了IID假设(序列数据、图数据),但大多数模型依然假设输入是规则张量。
Transformer在某种意义上已经处理了"不规则"——注意力机制不依赖位置,位置编码是后加的。但在时间序列领域,"规则采样"的假设依然根深蒂固。
这篇论文是这股迁移潮流中的一朵浪花——把因果发现从"规则时间"解放到"不规则时间"。类似的迁移也在其他领域发生:从规则网格到不规则网格(图神经网络)、从固定分辨率到多分辨率(小波网络)、从等间隔采样到事件驱动(脉冲神经网络)。
现实世界的数据从来不是整齐的。我们的方法,终于开始追上现实的复杂度了。
---
*论文链接:arXiv:2607.18226* *作者:Martim Penim, Ricardo Ribeiro Pereira, Jacopo Bono, Hugo Ferreira, Mário A. T. Figueiredo, Pedro Bizarro* *机构:Feedzai, Instituto Superior Técnico (里斯本大学), Instituto de Telecomunicações* *关键词:因果发现、不规则时间序列、PCMCI+、时间窗口、高斯加权*