Skip to content

PatchTST 全览流程图收束

Abstract

这是整套文档的出口,把所有层汇总成一张端到端流程图。 读完这一页,你应该能在脑子里复现 PatchTST 从命令行到预测输出的完整路径。


1. 端到端流程图(含 tensor shape)


2. 各文档覆盖范围 × tensor 变化汇总表

文件覆盖代码层关键 tensor 入关键 tensor 出核心操作
01-Level1命令行 → PatchTST(config)-PatchTST 实例参数流,⚠️ n_headers typo
02-Level2DataLoader → forward 入参CSV(2,9,3) / (2,11,3)label_len 推断,dec_input 无用
03-Level3forecast() 9步骨架(2,9,3)(2,7,3)全链 shape 概览
04APatchEmbedding(2,3,9)(6,4,8)padding / unfold / reshape / Linear
04BEncoder + FlattenHead(6,4,8)(2,7,3)einsum attention / Conv1d FFN / Flatten
09(当前)汇总(2,9,3)(2,7,3)-

3. PatchTST 设计决策回顾

决策 1:patch 而非单点 token

单点 token(Informer 等)patch token(PatchTST)
token 数量seq_len(如 96)patch_num(如 4)
attention 复杂度O(seq_len²)O(patch_num²)
每 token 信息量单个时间步连续 patch_len 步的聚合
局部时间结构丢失保留

决策 2:channel-independent

channel-mixingchannel-independent(PatchTST)
变量间交互
参数量随 enc_in 增长与 enc_in 无关
对变量间相关性的利用
实证效果(PatchTST 论文)常被噪声主导更稳健

决策 3:normalize + denormalize

每个样本、每个变量独立归一化(Reversible Instance Normalization 思路),防止不同变量尺度差异影响模型训练,预测后再还原到原始量纲。


4. 与 DLinear / Informer 的结构对比

维度DLinearInformerPatchTST
核心操作线性层稀疏 attentionpatch + full attention
token 粒度无 token时间步patch
变量策略共享/独立线性channel-mixingchannel-independent
Decoder有(生成式)无(encoder-only)
归一化RevIN 思路
Level 4 复杂度1 文件2 文件(Encoder+Decoder)2 文件(Embedding+Encoder)

5. 下一步读什么

如果想继续深入:

  • iTransformer:把 channel-mixing 的 attention 做到极致,变量间 attention 而非时间步 attention
  • TimesNet:用 2D 卷积替代 attention,从不同时间分辨率捕捉周期
  • Autoformer:序列分解 + auto-correlation 的另一种思路

*记录并在线阅读我的笔记*