给定目标序列的历史窗口,以及预测时点已经可获得的外生信息,输出后续若干步的目标值。论文将目标序列和辅助序列赋予不同角色,避免必须预测全部协变量。来源:TimeXer 论文,v4。
| 组成 | 作用 |
|---|---|
| 目标的 patch 表示 | 将目标历史切成时间片段,保留局部变化 |
| 外生变量的 variate 表示 | 将每个辅助变量的一段序列编码成变量级 token |
| 目标的 global token | 在目标片段与外部变量之间传递信息 |
| 目标自注意力 | 建模目标片段及 global token 的关系 |
| 交叉注意力 | 由目标 global token 查询外生表示 |
| 预测头 | 将编码表示映射到预测窗口 |
这是一种需要训练的预测模型。模型结构不自动完成特征选择、因果识别或不确定性校准;论文基准表现也不证明它适合当前空气质量或排放任务。
以下以 固定提交的模型为准,B 为批量、L 为 seq_len、C 为数值变量数、H 为 pred_len。
| 输入/模式 | 代码行为与使用要求 |
|---|---|
| x_enc | 形状 [B, L, C];浮点、无未处理 NaN/Inf;MS 的最后一列是目标 |
| features=MS | 最后一列产生目标 patch,其余列作为外生变量;输出 [B, H, 1] |
| features=M | 为多个变量生成预测,输出 [B, H, C];不能把结果当作单目标 MS |
| x_mark_enc | 可选历史时间特征,形状 [B, L, K];经 inverted embedding 作为额外 token |
| x_dec / x_mark_dec | 当前 TimeXer 预测函数未消费这两个参数;传入未来协变量不会让模型自动利用它们 |
| use_norm=1 | 对输入窗口做内部归一化并还原;不替代外层训练数据 scaler 的保存/复用 |
| patch_len | 使用不重叠 unfold;非整除时尾部点不会进入目标 patch。本地示例要求 L 能整除 patch_len,避免无意丢点 |
外生 embedding 的线性层按 seq_len 构造;当前接口将变量放在同一个规则时间轴。直接导入异长/异频协变量或未来预测天气,需要修改数据层与 embedding,并重新验证。该判断来自模型代码和 DataEmbedding_inverted,不要将论文的一般设定当作现成数据接口。
| 场景 | 先做的判断/适配 |
|---|---|
| 浓度预测 | 区分站点、时间、气象、排放代理的可获得时刻;对再分析数据和业务预报分别标注,不能互换验收 |
| 多站点/企业面板 | 单条 CSV 的相邻行被当作连续时间;不能把不同实体首尾拼接滑窗。需实体内取窗、独立标识和分组评估 |
| 未来天气或政策情景 | 核对情景在预测时点的可用性及误差;增加明确的未来协变量通道,不往测试标签或历史列中塞未来值 |
| 缺测/不等间隔 | 显式对齐、缺失标记和插补;只在训练范围拟合处理规则。当前数值运算不是通用缺失值处理器 |
| GCAM 等模型代理 | 核对训练范围、单位、情景覆盖与外推;代理误差检查不能取代原模型的科学验收 |
与持续性、季节性朴素预测及合适的简单基线比较,按提前量和实体报告误差。重叠窗口会对同一时点产生多次预测,汇总前固定按预测起点/提前量计分或去重的规则。污染物接近零时,MAPE 等比例指标需单独核对有效性。
正式使用步骤、基准脚本的测试集访问、输出路径和推理缺口见使用方法。