【文章学习系列之模型】TIMESNET

本章内容

  • 文章概况
  • 模型流程
  • 实验结果
    • 结果1
    • 结果2
    • 具体对比
      • 长时预测
      • 短时预测
      • 缺失值填充
      • 异常检测
      • 分类
  • 模型分析
  • 总结

文章概况

《TIMESNET: TEMPORAL 2D-VARIATION MODELING FOR GENERAL TIME SERIES ANALYSIS》是2023年发表于ICLR上的一篇文章,主要针对时序预测问题提出了一种新方法。值得一提的是,该论文的作者同时还是2021年Autoformer的作者,因此代码的整体框架变动不大。

文章代码链接自取:
文章链接
代码链接

模型流程

【文章学习系列之模型】TIMESNET_第1张图片
过去常见的时间序列模型主要通过提取时序数据相邻离散时间点之间的关系获得时序数据的特征,短期内难以获得突破性进展。本文作者对时间序列中对周期进行观察,将复杂的时间变化分解为多个周期内【intraperiod-variation】和周期间【 interperiod-variation】的变化过程,将一维时间序列转化为基于多周期的二维张量,将时间变化扩展至二维空间,打破了一维时间序列在表示能力上的局限性。

以此为基础,文章提出TimesNet基础框架,主要流程如下。
【文章学习系列之模型】TIMESNET_第2张图片
注意点:
1.在上图的“二维特征提取inception”阶段,作者选择在计算机视觉领域中特征提取效果不错的inception结构作为所提模型的基础结构,因此在这样的情况下整个模型被作为基础模型。换句话说,该部分可换用视觉领域其他更有效的结构,如ResNext、ViT等。
2.长度填补可理解类似ViT模型中patch division操作,为了使大矩阵成功划分为若干个小方块,需要进行一定的填充。在这边则是为了让一维数据转化为不同长宽的二维数据。后续的长度截断同样是在填充的维度上进行的,以方便后续k个张量的合并。
3.上图只展示了最后一层全连接,其他情况都是为了提取特征或调整长度,没有全都列出。
4.上图的“标准化”解释:在数据输入后首先进行的是平稳化处理,在最后输出预测结果之前又进行了一次逆平稳化,具体内容可见Non-stationary Transformer。

实验结果

结果1

【文章学习系列之模型】TIMESNET_第3张图片
作者测试了本文的基础模型在五大预测任务中的效果,分别为短时预测【天气预报、交通、能源消耗】、长时预测【天气预报、交通、能源消耗】、缺失值填充【电力和天气】、异常检测【工业维护】以及分类【识别和医学诊断】,结果表明TimesNet领先其他模型,成为近正五边形战士。

结果2

【文章学习系列之模型】TIMESNET_第4张图片
对于TimesBlock中使用的二维特征提取方法Inception,作者将其替换为其他更优秀的特征提取模块,发现在异常检测任务中确实能够提高模型的整体效果。

具体对比

长时预测

【文章学习系列之模型】TIMESNET_第5张图片

短时预测

【文章学习系列之模型】TIMESNET_第6张图片

缺失值填充

【文章学习系列之模型】TIMESNET_第7张图片

异常检测

【文章学习系列之模型】TIMESNET_第8张图片

分类

【文章学习系列之模型】TIMESNET_第9张图片
(更多结果可见文章附录)

模型分析

表示分析
作者计算了第一层和最后一层表示之间的中心核对齐(CKA)相似度。数值越高,表示相似度越高。最终发现,在预测和异常检测方面,更好的性能对应着较高的相似度,与另外两个任务相反。一方面反映了不同任务对表示属性有着不同的要求,另一方面表现出TimesNet对不同属性要求的抽象能力优异。
【文章学习系列之模型】TIMESNET_第10张图片

时间二维变化
【文章学习系列之模型】TIMESNET_第11张图片
TimesNet可以捕获多重时间周期,同时反映了时间点和时间段之间的位置。
(这部分我没太看的明白,如果是想展现top3转换成的二维数据和实际一维数据的关系,我感觉不太直观,也有可能是我没get到那个点。我觉得可以把一维时序的原始数据按照二维数据的长宽展开并画个热力图与之对应可能会直观些。)

总结

以上便是TimesNet论文的基本内容,如有纰漏还请指正。
一维至二维的转换给时序预测打开了一条新的道路;数学/通信领域的方法在深度学习模型的构建上一直发挥着重要的作用,这已经是作者第二次将FFT利用进模型设计中(第一次是Autoformer,如果还有那我就不清楚了)。
最近在将该模型使用到我的气象时序任务预测中,效果确实是不错的,上面的论文分享都基于对短时、长时预测任务下代码的理解,后续有空再去多学习一些时序预测模型。

你可能感兴趣的:(深度学习零散记录,学习,人工智能,机器学习)