TimeXer - 重新审视时序预测内的外生变量
如有侵权或其他问题,欢迎留言联系更正或删除。
1. 背景
① 使用 “外生变量” 预测是普遍且不可或缺的预测范式,因为时序数据内的变化往往受到外部因素影响,仅根据历史数据预测未来本质上不可能。
② “外生变量” 被引入 predictor ,用于提供信息,不参与具体预测。
2. 核心问题
① 将 “外生变量” 及 “内生变量” 同等对待,不仅会导致显著的时间及记忆复杂性,还会涉及内生序列与外部信息间不必要的相互作用。(“冗余”)
② 其次,外部因素可能对内生序列产生因果影响,因此模型有望对不同变量间的系统时滞进行推理。
③ 此外,作为一种在实际场景中广泛应用的实用预测范式,模型必须处理不规则和异质的外生序列,包括:值缺失、时间错位、频率失配和长度差异。
3. 文章贡献
① 利用内生 patch 级 token 捕捉时序内依赖性;
② 为处理任意不规则的外生变量,TimeXer 采用外生变量的变量级表示,以无缝整合外部因素对内生变量的影响;
③ 受视觉 Transformer 的启发,我们为每个内生序列引入可学习的全局 token,用于反映序列的宏观信息,该全局 token 同时与补丁级内生 token 和变量级外生 token 进行交互。
4. 模型结构
5. Method
① Endogenous Embedding(内部建模):
Patching 操作:
Patches 位置嵌入:
内生token 和外生 token 的粒度不同,直接组合会导致信息无法对应。为此,给每个内生变量加了一个能学习的全局标记,用它作为宏观代表跟外生变量互动。这样就能把外生序列里的因果信息,顺畅地传递至内生的时间块里:
② Exogenous Embedding(外部建模):
不同变量间的相互作用可通过 “变量级” 表示更自然地捕获,“变量级” 表示适用于任意不规则性,如:缺失值、未对齐的时间戳、不同的频率、不一致的回溯长度。
相比,“Patch 级” 表示对外生变量过于细粒度,不仅引入了显著的计算复杂性,还引入了不必要的噪声信息。
训练线性投影器:
获取外生向量的 “变量级” 嵌入表示:
③ 内生、外生注意力机制:
④ 前馈传播:
⑤ 具体预测及损失函数:
6. 实验结果
短时预测实验结果:
多元预测实验结果:
PS:归纳一下:
第一,它重新审视了不应对 “变量间”(协变量) 及 “内生特征间” 使用一样的建模方式;
第二,它使用了一个全局 token,沟通内部及外部;
不错的工作!