(12)时间序列预测之MICN(CNN)

news2025/1/15 8:05:00

文章目录

  • 前言
    • 1. challenge
  • 一、网络结构
    • 1. MHDecomp
    • 2. Trend-cyclical Prediction Block
    • 3. Seasonal Prediction Block
      • MIC Layer
      • Merge
  • 实验结果
    • 1.长时预测
  • 总结
  • 参考


文章信息

  1. 模型: MICN (Multi-scale Isometric Convolution Network)
  2. 关键词: 长时预测, 局部和全局信息, 多分枝结构,不同的潜在模式
  3. 作者:Huiqiang Wang, Jian Peng, Feihu Huang, Jince Wang, Junhui Chen, Yifei Xiao
  4. 机构:四川大学
  5. 发表情况: ICLR 2023 notable top 5%( Published: 02 Feb 2023, Last Modified: 15 Feb 2023 )
  6. 网址: MICN: Multi-scale Local and Global Context Modeling for Long-term Series Forecasting

前言

1. challenge

  TCN :使用因果卷积来建模时间因果关系,并使用扩张卷积来扩展感受野。它可以更好地整合序列的局部信息。然而,受感受野大小的限制,TCN往往需要很多层来建模时间序列的全局关系,这大大增加了网络的复杂性和模型的训练难度。
  Transformer:时间算复杂度高,许多tokens之间的注意力计算是没有必要的。而且此类模型不能像CNN结构那样对局部特征进行有针对性的建模。
  在本文中,我们将 CNN 的建模视角与 Transformers 的建模视角相结合,从序列本身的现实特征,即局部特征和全局特征相关性来构建模型。


一、网络结构

  多尺度等距卷积网络(MICN)使用多个不同卷积核的分支分别对序列的不同潜在模式进行建模。对于每个分支,我们使用基于下采样卷积局部模块提取序列的局部特征,在此基础上,我们使用基于等距卷积全局模块建模全局相关性。最后,采用Merge操作将多个分支中不同模式的信息进行融合。该设计将时间和空间复杂性降低到线性,消除了许多不必要的冗余计算。
  模型的整体实现:多尺度混合分解(MHDecomp)块来分离输入序列的复杂模式。然后用季节预测块(Seasonal Prediction Block)预测季节信息,用趋势-周期预测块(Trend-cyclical Prediction Block)预测趋势-周期信息。然后将预测结果相加,得到最终的预测 Y p r e d Y_{pred} Ypred.
在这里插入图片描述

1. MHDecomp

  直接将多个池化得到的结果进行平均来获得周期项
在这里插入图片描述

2. Trend-cyclical Prediction Block

表示为MICN-regret,文中未提及具体设计。

3. Seasonal Prediction Block

在这里插入图片描述

  季节预测模块首先对输入进行 Embedding,其次使用 个堆叠的 MIC(Multi-scale isometric Convolution) 层预测未来。

MIC Layer

  每个 MIC 层中,有多个代表不同尺度的 Branch,如上图中浅蓝色部分所示。每个 branch 实际上就是一个 Local-Global 模块。Local-Global 模块如下图:
在这里插入图片描述
  Local部分先将输入通过 k e r n e l = i kernel=i kernel=i平均池化之后,在进行 s t r i d e = k e r n e l = i stride=kernel=i stride=kernel=i1维卷积的降采样,这一步将序列缩小为了原来的 i i i 倍。Global部分输入就是之前Local部分的输出,通过等距卷积对之前的各个Local部分的特征进行建模,然后得到全局关系,最后通过转置卷积的上采样回复到原来的长度。其中等距采样如下:
在这里插入图片描述
  在此,还采用了因果卷积的思路,不考虑未来信息。这里的等距卷积是对TCN的复杂计算和自注意力机制的改进。
在这里插入图片描述

Merge

  使用2维卷积将不同尺度的输出拼接在一起。
在这里插入图片描述

实验结果

1.长时预测

在这里插入图片描述

总结

参考

ICLR 2023 | 用于长时间序列预测的多尺度混合分解模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式——Facade(门面)设计模式

摘要 本文介绍了外观设计模式,这是一种通过简单接口封装复杂系统的设计模式。它简化了客户端与子系统之间的交互,降低了耦合度,并提供了统一的调用接口。文章还探讨了该模式的优缺点,并提供了类图实现和使用场景。 1. 外观设计模…

opencv-android编译遇到的相关问题处理

1、opencv-android sdk下载 下载地址:https://opencv.org/releases/ 下载安卓SDK即可 2、解压下载好的SDK 3、导入opencv的SDK到安卓项目中 导入步骤在/OpenCV-android-sdk/sdk/build.gradle文件的注释中写的非常详细,大家可安装官方给出的步骤导入。…

go语言读取yaml配置文件内容

1、config.yaml配置文件内容假设如下 name: "example" version: 1.0 settings:timeout: 30debug: truefeatures:- feature1- feature22、定义结构体 go语言定义结构体匹配yaml内容 package mainimport ("fmt""log""os""gopkg.…

STL算法之其它算法_下

random_shuffle 这个算法将[first,last)的元素次序随机排列。也就说,在N!中可能的元素排列中随机选出一种,此处N为last-first。 N个元素的序列,其排列方式为N!中,random_shuffle会产生一个均匀分布,因此任何一个排列被…

模拟简单的iOT工作流

没有实际接触过iOT的流程,应该实际使用比这个接口返回要复杂,只是演示~希望能参与实际的接口接入,而不是只展示个假数据。 启动RabbitQ 使用的是3.8.5 启动命令 RabbitMQ Service - start RabbitMQ Command Prompt rabbitmqctl start_app …

【快速入门 LVGL】-- 1、STM32 工程移植 LVGL

目录 一、LVGL 简述 二、复制一个STM32工程 三、下载 LVGL 四、裁剪 源文件 五、工程添加 LVGL 文件 六、注册 显示 七、注册 触摸屏 八、LVGL 心跳、任务刷新 九、开跑 LVGL 十、控件的事件添加、响应处理 十 一、几个好玩小事情 十 二、显示中文 ~~ 约定 ~~ 在…

关于线扫相机的使用和注意事项

引言 线扫相机作为工业视觉系统中的核心设备之一,以其高分辨率和高速成像的特点被广泛应用于印刷质量检测、电子元件检测、纺织品缺陷检测等领域。本文从线扫相机的基本原理出发,探讨其使用方法,并总结在实际应用中的注意事项,为…

MybatisPlus字段类型处理器TypeHandler

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 简介 官网:字段类型处理器 在 MyBatis 中,类型处理器(TypeHandle…

c++编译版本问题#error C++17 or later compatible compiler is required to use xx

问题解决方向 网上多数给出的解决方法是找到setup.py,然后修改extra_compile_args参数中的cxx,由-stdc14改为-stdc17,但是这个方法在我这里没用。 所以我重新理解了下这个error,应该是说为了编译安装当前的库,需要的…

【AI大模型】大型语言模型LLM基础概览:技术原理、发展历程与未来展望

目录 🍔 大语言模型 (LLM) 背景 🍔 语言模型 (Language Model, LM) 2.1 基于规则和统计的语言模型(N-gram) 2.2 神经网络语言模型 2.3 基于Transformer的预训练语言模型 2.4 大语言模型 🍔 语言模型的评估指标 …

一文理解多模态大语言模型——下

作者:Sebastian Raschka 博士, 翻译:张晶,Linux Fundation APAC Open Source Evangelist 编者按:本文并不是逐字逐句翻译,而是以更有利于中文读者理解的目标,做了删减、重构和意译&#xff0c…

uC/OSII学习笔记(二)任务的堆栈检验

加入OSTaskCreateExt()创建拓展任务函数的使用。 加入OSTaskStkChk()堆栈检验函数的使用。 堆栈检验函数可检查任务堆栈的使用字节数量和空闲字节数量。 具体使用方法如下: 1.创建拓展任务OSTaskCreateExt()用于堆栈检验,堆栈检验必须用拓展任务OSTaskCr…

WPF+LibVLC开发播放器-进度条显示和拖动控制

进度条显示和拖动控制 视频教程界面上代码实现进度条显示进度进度条拖动视频进度 效果 视频教程 WPFLibVLC开发播放器-进度条控制 界面上 界面上线增加一个Slider控件&#xff0c;当做播放进度条 <SliderName"PlaySlider"Grid.Row"1"Width"800&qu…

【Rust WebAssembly 入门实操遇到的问题】

Rust WebAssembly 入门实操遇到的问题 什么是WebAssembly跟着教程走wasm-pack build error总结 什么是WebAssembly WebAssembly&#xff08;简称Wasm&#xff09;是一种基于堆栈的虚拟机的二进制指令 格式。Wasm 被设计为编程语言的可移植编译目标&#xff0c;支持在 Web 上部…

同为科技(TOWE)柔性定制化PDU插座

随着科技的进步&#xff0c;越来越多的精密电子设备&#xff0c;成为工作生活密不可分的工具。 电子电气设备的用电环境也变得更为复杂&#xff0c;所以安全稳定的供电是电子电气设备的生命线。 插座插排作为电子电气设备最后十米范围内供配电最终核心部分&#xff0c;便捷、安…

AI RPA 影刀基础教程:开启自动化之旅

RPA 是什么 RPA 就是机器人流程自动化&#xff0c;就是将重复的工作交给机器人来执行。只要是标准化的、重复的、有逻辑行的操作&#xff0c;都可以用 RPA 提效 准备 安装并注册影刀 影刀RPA - 影刀官网 安装 Chrome 浏览器 下载链接&#xff1a;Google Chrome 网络浏览器 …

HTTP 长连接(HTTP Persistent Connection)简介

HTTP长连接怎么看&#xff1f; HTTP 长连接&#xff08;HTTP Persistent Connection&#xff09;简介 HTTP 长连接&#xff08;Persistent Connection&#xff09;是 HTTP/1.1 的一个重要特性&#xff0c;它允许在一个 TCP 连接上发送多个 HTTP 请求和响应&#xff0c;而无需为…

VS与SQL Sever(C语言操作数据库)

作者这里使用的是程序是&#xff1a; Visual Studio SQL Sever (1 对VS的操作 1.首先我们打开Visual Studio Installer&#xff0c;并以管理员身份运行 2.点击修改 3.先选择数据存储和处理&#xff0c;再在右方添加处理工具&#…

基于“开源 2+1 链动 O2O 商城小程序”的门店拉新策略与流程设计

摘要&#xff1a;在数字化商业浪潮席卷之下&#xff0c;实体门店面临着激烈的市场竞争&#xff0c;如何高效拉新成为关乎门店生存与发展的关键问题。本文聚焦于“开源 21 链动 O2O 商城小程序”&#xff0c;深入探讨结合多种手段的门店拉新策略及详细流程设计。通过剖析到店扫码…

微服务即时通讯系统(5)用户管理子服务,网关子服务

用户管理子服务&#xff08;user文件&#xff09; 用户管理子服务也是这个项目中的一个业务最多的子服务&#xff0c;接口多&#xff0c;但是主要涉及的数据表只有user表&#xff0c;Redis的键值对和ES的一个搜索引擎&#xff0c;主要功能是对用户的个人信息进行修改管理&#…