当前位置: 首页 > news >正文

改进图卷积+informer时间序列预测代码

本代码尝试将它转移用到时间序列中,创新思维的三维转二维,利用部分卷积进行特征提取,将提取的结果放入informer或者tranformer进行预测,预测还不错(适用的领域效果比二维差一点,但是这个思路用的人几乎没有人用!创新点很强)同时证实了引入图卷积的可行性。

1.informer

Informer 是一种用于时间序列预测的深度学习模型,特别适用于长序列的时间序列数据。它是基于 Transformer 结构的一种改进,主要解决了传统 Transformer 在处理长序列时计算复杂度高的问题。

1.1Informer 的关键机制

  1. 稀疏自注意力机制(ProbSparse Attention)

    • 传统的 Transformer 使用全局自注意力机制,即对于输入的每个时间步,它都计算与其他所有时间步的相似性。这种方法的计算复杂度是,当序列很长时,这种计算开销是巨大的。
    • Informer 提出了稀疏自注意力机制,选择性地关注最重要的时间步,具体来说,它通过概率稀疏抽样方法,仅计算具有较大贡献的自注意力分数,减少了无用计算。
  2. 因子分解编码器(Distilling Operation)

    • Informer 在编码器中引入了多层的因子分解模块,通过每层编码器对序列信息的稀疏化处理,逐步提取关键特征。这一机制能够显著减少冗余信息,进一步降低计算复杂度。
  3. 多头自回归生成(Autoformer-like Output Layer)

    • 在解码器部分,Informer 借鉴了 Autoformer 的思想,通过多头自回归生成的方式,逐步预测未来的时间步。它在解码过程中利用先前预测的值来预测下一个时间步,从而逐步生成整个序列。
  4. 长尾预测能力

    • Informer 针对长尾分布的时间序列数据进行了优化,使得模型在处理分布不均衡的数据时表现更加稳定。通过稀疏机制和因子分解编码器,Informer 能够更好地捕捉到长尾分布中的关键特征。

1.2优势

Informer 的这些创新使得它在处理长序列时间序列数据时具有更高的效率和准确性。它适用于各种实际应用场景,如风电、光伏发电预测、交通流量预测等。

2.改进图卷积

  图卷积网络 (GCN) 在基于骨骼的动作识别中得到了广泛的应用并取得了显著的成果。在 GCN 中,图拓扑在特征聚合中占主导地位,因此是提取代表性特征的关键。在这项工作中,我们提出了一种新的通道拓扑细化图卷积 (CTR-GC),以动态学习不同的拓扑结构,并有效地聚合不同通道中的关节特征,以进行基于骨骼的动作识别。所提出的 CTR-GC 通过将共享拓扑学习为所有通道的通用先验,并使用每个通道的通道特定相关性对其进行优化,对通道拓扑进行建模。我们的细化方法引入了很少的额外参数,并显著降低了对通道拓扑进行建模的难度。此外,通过将图卷积重新表述为统一形式,我们发现 CTR-GC 放松了对图卷积的严格约束,从而获得了更强的表示能力。将 CTR-GC 与时间建模模块相结合,我们开发了一个名为 CTR-GCN 的强大图卷积网络,由图像迁移到时间序列创新点很足。目前很多一区二区的思路都是用这种。

论文原文:https://ieeexplore.ieee.org/document/9710007

3.实验结果

                         

4.完整源码及其讲解视频

https://space.bilibili.com/51422950?spm_id_from=333.1007.0.0


http://www.mrgr.cn/news/70320.html

相关文章:

  • MySQL 8.0与PostgreSQL 15.8的性能对比
  • 大数据实验4-HBase
  • 如何选择服务器
  • Java中的File和IO流
  • 每日一练:【优先算法】双指针之快乐数(medium)
  • Mac 环境变量配置基础教程
  • java XMLStreamConstants.CDATA 无法识别 <![CDATA[]]>
  • Verilog和VHDL有什么区别?
  • YOLO 网络的原理及发展史
  • 《Linux服务与安全管理》| 文件权限管理操作
  • 实时高效,全面测评快递100API的物流查询功能
  • 【K8S系列 】在K8S集群怎么查看各个pod占用的资源大小与详细解决方案【已解决】
  • 【工作技术栈】【arthas】arthas使用方式总结(诊断问题+方法执行)
  • 沃德云商协:助力多组织无障碍沟通与合作的平台
  • 2024年精选SaaS招聘系统平台汇总
  • gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?
  • 2024MoonBit全球编程创新挑战赛参赛作品“飞翔的小鸟”技术开发指南
  • 模糊搜索:在不确定性中寻找精确结果
  • PEF22554HTV3.1 品牌INTEL 电信 IC 调帧器,线路接口单元(LIU) P-TQFP-144-6 在售20000PCS
  • 云时代基础设施模型:可变与不可变之析
  • APO全量日志对接logstash和fluent日志采集生态
  • 人工智能、机器学习与深度学习:层层递进的技术解读
  • FPGA学习笔记#5 Vitis HLS For循环的优化(1)
  • 健身中心健身管理系统的设计与实现(源码+数据脚本+论文+技术文档)
  • 剧本杀app开发,行业发展的新方向
  • qt ui设计案例--登录界面