Loading [MathJax]/jax/output/CommonHTML/jax.js

logo

【Paper】TimeXer:融合外生变量的时间序列预测 Transformer 模型

wangzf / 2026-01-12


目录

一、研究背景与问题

  1. 时间序列预测的现实需求:时间序列预测在气象、电力、交通等领域应用广泛, 但现实场景中数据常存在部分观测特性,仅依赖目标变量(内生变量)难以保证预测准确性。
  2. 外生变量的重要性:外生变量(如经济指标、人口变化、社会事件等)能为内生变量预测提供关键外部信息。 例如,电价预测需结合市场供需等外生变量,仅靠历史电价数据无法精准预测。
  3. 现有方法的局限性
    • 传统单变量/多变量预测范式:要么平等对待所有变量,增加计算复杂度;要么忽略外生变量信息,导致预测偏差。
    • Transformer 类模型缺陷:
      • PatchTST 等基于 patch 的模型擅长捕捉时间依赖但弱于多变量关联;
      • iTransformer 等基于变量的模型擅长变量间关联但难以捕捉时间内部变化。
    • 外生变量处理难题:现实中存在缺失值、时间错位、频率不匹配、长度差异等不规则问题,现有模型难以适配。

二、模型核心设计

TimeXer 在不修改标准 Transformer 结构的前提下,通过精巧的嵌入层和注意力机制, 实现内生与外生变量的协同建模,核心包括三部分:

1. 变量嵌入策略

解决粒度不匹配问题

变量类型 嵌入方式 目的
内生变量 1. Patch 级嵌入:将内生序列分割为非重叠 patch,每个 patch 通过线性投影转为 D 维时间 token,捕捉细粒度时间依赖;
2. 全局 token 嵌入:学习 1 个全局 token,作为宏观表征,衔接外生变量与内生 patch
同时捕捉时间内部依赖和变量间关联
外生变量 变量级嵌入:每个外生序列直接通过线性投影转为 1 个 D 维变量 token,不进行 patch 分割 适配不规则外生变量(如缺失、错位),降低计算复杂度

2. 注意力机制

双层次依赖捕捉

3. 预测与损失

三、实验设计与结果

1. 实验设置

2. 核心实验结果

3. 消融实验(验证核心模块有效性)

设计方案 核心修改 性能变化(以 EPF 数据集平均 MSE 为例) 结论
原始模型(Ours) Patch+Global(内生)+Variate(外生) 0.307 基准性能
替换外生嵌入 外生变量用 Patch 嵌入替代 Variate 嵌入 0.316 外生变量的变量级嵌入更有效,Patch 嵌入增加噪声
移除全局 token 仅保留内生 Patch 嵌入 0.316 全局 token 是衔接外生-内生变量的关键
替换交叉注意力 用“加法”或“拼接+自注意力”替代交叉注意力 0.329/0.312 交叉注意力能更精准传递外生信息,避免无效交互

4. 泛化性与鲁棒性验证

四、模型分析与讨论

  1. 注意力可解释性:可视化注意力权重发现,TimeXer 会对与内生变量趋势相似的外生变量分配更高注意力(如 CO2 浓度预测中, 对空气密度注意力高于最大风速),符合物理因果逻辑。
  2. 效率优势:在 ECL 数据集(320 个外生变量)上,TimeXer 内存占用(1.13GB)低于 iTransformer(1.23GB), 训练时间(24ms/iter)接近 PatchTST(15ms/iter),因避免外生变量间的无效交互,复杂度为 O(C)(C 为外生变量数), 低于 iTransformer 的 O(C²)。
  3. 局限性:在 Traffic 数据集上,TimeXer 的 MAE 接近 iTransformer,但 MSE 差距较大, 原因是 patch 级表征更关注整体趋势,对尖峰(spike)数值预测精度不足, 需通过调整 patch 长度或增加全局 token 数量优化。

五、结论与贡献

  1. 核心贡献
    • 提出 TimeXer 模型,首次在标准 Transformer 架构中实现内生与外生变量的协同建模,无需修改 Transformer 组件;
    • 设计 patch 级+变量级双粒度嵌入和层次化注意力,解决外生变量不规则性和变量间无效交互问题;
    • 在 12 个数据集上验证 SOTA 性能,同时具备通用性、鲁棒性和可扩展性。
  2. 应用价值:适配现实中缺失值、时间错位、频率不匹配等复杂场景,可应用于电力、气象、交通等领域的精准预测。
  3. 代码开源:https://github.com/thuml/TimeXer。

参控资料

  1. TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables
  2. TimeXer GitHub