ICLR2025-MMFNET:用于多变量时间序列预测的多尺度频率掩码神经网络
title:MMFNET: MULTI-SCALE FREQUENCY MASKING NEURAL NETWORK FOR MULTIVARIATE TIME SERIES FORECASTING
paper:https://arxiv.org/pdf/2410.02070
code:暂未公开
highlights:MMFNet 是一种新颖的模型,旨在通过多尺度频率掩码分解方法来增强长期多变量时间序列预测。该模型通过将时间序列转换为不同尺度的频率段,并使用可学习的掩码自适应地过滤掉不相关的成分,从而捕捉细粒度、中间和粗粒度的时间模式。
MMFNet采用多尺度频域分解方法,以捕捉频域中的动态变化。
MMFNet利用可学习的频率掩码,根据时间序列片段的频谱特性,自适应地过滤掉无关的频率成分。
背景
虽然单尺度频域分解提供了频域中时间序列数据的全局视角,但它缺乏在序列中定位特定频率分量的能力。此外,这种方法假设频率分量在整个序列中保持不变,因此无法解释在实际时间序列中经常观察到的非平稳行为。此外,FITS 采用的低通滤波器可能会无意中消除准确预测所需的关键短期波动。低通滤波器的固定截止频率可能不是各种时间序列数据集的普遍最佳频率,这进一步限制了其适应性。
方法
在本文中,我们提出了 MMFNet,这是一种旨在通过多尺度掩蔽频率分解方法增强 LTSF 的新模型。MMFNet 通过在多个尺度上分割时间序列,在频域中捕获精细、中等和粗颗粒模式。在每个尺度上,MMFNet 都采用可学习掩码,根据路段的频谱特性自适应地过滤掉不相关的频率分量。MMFNet 提供了两个关键优势:
(i) 多尺度频率分解使 MMFNet 能够有效地捕获数据的短期波动和更广泛的趋势;
(ii) 可学习的频率掩码自适应地过滤不相关的频率分量,使模型能够专注于信息量最大的信号。
这些功能使 MMFNet 非常适合在复杂的时间序列中捕获短期和长期依赖关系,将其定位为各种 LTSF 任务的有效解决方案。
作者首先定义了什么是长时序列预测和单尺度频率变换(SFT):
长时序列预测就是使用一段已知的历史序列预测未来相当长度时间的值:
而SFT 是指将时域数据在单个全局尺度上转换为频域而不对时间序列进行分割的过程。这种变换通常使用快速傅里叶变换 (FFT) 等方法执行,该方法可以有效地计算离散傅里叶变换 (DFT)。SFT 将整个信号分解为正弦分量,从而能够分析其频率成分。每个频率分量可以表示为:
尽管 SFT 能够捕获广泛的时间模式,例如通过低通滤波捕获长期趋势或通过高通滤波捕获短期波动,但其全局应用会统一处理整个信号。这种统一的处理可能会导致在不同尺度上发生的重要局部时间变化和非平稳行为的丢失。
基于此,作者定义了多尺度频率变换:
相比但尺度频率变换,MMFT 将信号划分为多个尺度,每个尺度都经过频率分解。在每个尺度上,都会应用可学习的频率掩码,以保留信息量最大的频率分量,同时选择性地丢弃噪声。这种多尺度方法使模型能够适应非平稳信号,捕获跨越不同时间范围的复杂依赖关系。通过利用多个尺度的频率分解并应用自适应掩码,MMFT 通过关注数据中的短期波动和长期趋势来提高长期预测的准确性。这种方法提高了模型的灵活性和稳健性,特别适用于非平稳和多变量时间。
MMFNet 通过结合所提出的 MMFT 方法来捕获不同尺度上复杂的频率特征,从而增强时间序列预测。MMFNet 的整体架构如图包括三个关键组件:多尺度频率分解、掩蔽频率插值和频谱反转。
**1. 多尺度 Frequency Decomposition **
Fragmentation:
将时间序列数据分解为不同长度的段,以捕获多个比例的特征:将归一化后的输入序列 X 分为三组片段:精细片段、中尺度片段和粗尺度片段。
精细分段 (Xf ine) 由较短的分段组成,这些分段捕获时间序列的详细高频分量,从而能够检测在较长分段中可能遗漏的复杂模式和异常。
中级段 (Xintermediate) 长度适中,旨在捕捉中级形态和趋势,在精细段和粗段之间取得平衡。
粗略尺度区段 (Xcoarse) 由较长的区段组成,这些区段捕获数据中更广泛的低频趋势和总体模式。
这种多尺度碎片化使模型能够有效地捕获和利用不同时间尺度的模式。分解
将多尺度时域段转换为相应的频率分量,以捕获各种时间尺度上的频率模式。对于每个分段,应用 DCT 来提取频域表示。
这种转换使 MMFNet 能够在频域中捕获和分析多个时间尺度的模式,从而增强其识别和解释时间序列数据中复杂模式的能力。
**2. Masked Frequency Interpolation **
掩码频率插值利用可学习的掩码在频域中自适应地过滤不同尺度的频率分量,然后通过线性层神经网络进行重建。这种方法使模型能够学习和应用针对不同数据集量身定制的特定于比例的筛选策略。
- 掩码
区别于传统方法使用预定义截止频率的固定低通滤波器来过滤频率分量。因为这些方法假设某些频率在整个时间序列中普遍重要或不相关,这一假设可能不适用于频率分量相关性随时间变化的非平稳数据。且这种过度过滤的方式会导致关键细节丢失,从而导致过度简化的表示和模型在预测和信号分析等任务中的性能下降。
为了避免以上问题,MMFNet 采用自适应屏蔽技术来捕获频域中的动态行为。给定频率段 XDCT ,将生成一个可学习掩码来自适应地过滤频率分量。掩码通过根据不同频率分量与任务的相关性来减弱或强调它们,从而调整它们的重要性。此过滤过程通过元素乘法应用,表示为:
这种自适应机制提高了模型捕获有意义模式的能力,同时最大限度地减少了不相关或噪声信息的影响。
- 插值
掩蔽的频段 Xmask DCT 通过线性层转换为预测的频域段 Xpred DCT。此线性转换将筛选后的频率分量映射到与模型的预测目标一致的目标频率表示。具体来说,将完全连接(密集)层应用于掩蔽频率分量,此作可以表示为:
这种转换进一步细化了频域信息,产生了 Xpred DCT ,这对于重建准确的时域预测至关重要。通过利用细化的频率信息并减少不相关频率分量的影响。
3. 频谱反转Spectral Inversion
使用 iDCT 将插值的频率分量转换回时域,与之前的 DCT 过程相反。iDCT 单独应用于预测的频域段 X f ine pred DCT 、 Xintermediate pred DCT 和 Xcoarse pred DCT 。区段的 iDCT 由以下公式给出:
这个方程通过对每个频率分量的贡献求和来重建时域信号(Davis & Marsaglia, 1984)。
一旦对每个标度分别执行 iDCT,就会将得到的时域信号组合在一起。此积分步骤通过组合精细、中间和粗调的输出来合并多尺度频率信息。最终重建的信号保留了原始输入的关键特性,同时结合了通过掩蔽频率滤波实现的增强插值。
实验
结论
MMFNet 通过采用 MMFT 方法显著推进了长期多变量预测。通过对基准数据集的全面评估,我们证明 MMFNet 在预测准确性方面始终优于最先进的模型,凸显了它在捕获复杂数据模式方面的稳健性。通过将多尺度分解与可学习的掩码滤波器有效地集成在一起,MMFNet 可以捕获复杂的时间细节,同时自适应地减轻噪声,使其成为适用于各种 LTSF 任务的多功能且可靠的解决方案。
ICLR2025-MMFNET:用于多变量时间序列预测的多尺度频率掩码神经网络的更多相关文章
- TensorFlow实现时间序列预测
常常会碰到各种各样时间序列预测问题,如商场人流量的预测.商品价格的预测.股价的预测,等等.TensorFlow新引入了一个TensorFlow Time Series库(以下简称为TFTS),它可以帮 ...
- 用python做时间序列预测一:初识概念
利用时间序列预测方法,我们可以基于历史的情况来预测未来的情况.比如共享单车每日租车数,食堂每日就餐人数等等,都是基于各自历史的情况来预测的. 什么是时间序列? 时间序列,是指同一个变量在连续且固定的时 ...
- 下篇 | 使用 🤗 Transformers 进行概率时间序列预测
在<使用 Transformers 进行概率时间序列预测>的第一部分里,我们为大家介绍了传统时间序列预测和基于 Transformers 的方法,也一步步准备好了训练所需的数据集并定义了环 ...
- Python中利用LSTM模型进行时间序列预测分析
时间序列模型 时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征.这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺 ...
- 基于 Keras 用 LSTM 网络做时间序列预测
目录 基于 Keras 用 LSTM 网络做时间序列预测 问题描述 长短记忆网络 LSTM 网络回归 LSTM 网络回归结合窗口法 基于时间步的 LSTM 网络回归 在批量训练之间保持 LSTM 的记 ...
- facebook开源的prophet时间序列预测工具---识别多种周期性、趋势性(线性,logistic)、节假日效应,以及部分异常值
简单使用 代码如下 这是官网的quickstart的内容,csv文件也可以下到,这个入门以后后面调试加入其它参数就很简单了. import pandas as pd import numpy as n ...
- 腾讯技术工程 | 基于Prophet的时间序列预测
预测未来永远是一件让人兴奋而又神奇的事.为此,人们研究了许多时间序列预测模型.然而,大部分的时间序列模型都因为预测的问题过于复杂而效果不理想.这是因为时间序列预测不光需要大量的统计知识,更重要的是它需 ...
- 上篇 | 使用 🤗 Transformers 进行概率时间序列预测
介绍 时间序列预测是一个重要的科学和商业问题,因此最近通过使用基于深度学习 而不是经典方法的模型也涌现出诸多创新.ARIMA 等经典方法与新颖的深度学习方法之间的一个重要区别如下. 概率预测 通常,经 ...
- 时间序列预测之--ARIMA模型
什么是 ARIMA模型 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model).也记作ARIM ...
- Kesci: Keras 实现 LSTM——时间序列预测
博主之前参与的一个科研项目是用 LSTM 结合 Attention 机制依据作物生长期内气象环境因素预测作物产量.本篇博客将介绍如何用 keras 深度学习的框架搭建 LSTM 模型对时间序列做预测. ...
随机推荐
- FastAPI Pydantic动态调整Schema
title: FastAPI Pydantic动态调整Schema date: 2025/3/29 updated: 2025/3/29 author: cmdragon excerpt: Pydan ...
- .net WorkFlow 流程设计
WikeFlow官网:www.wikesoft.com WikeFlow学习版演示地址:workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com ...
- ESP32+Arduino入门教程(二):连接OLED屏
前言 文中视频效果可在此次观看:ESP32+Arduino入门教程(二):连接OLED屏 接线 现在先来看看接线. 我的是0.91寸的4针OLED屏. OLED引脚 ESP32-S3引脚 GND GN ...
- .NET 阻止关机机制以及关机前执行业务
本文主要介绍Windows在关闭时,如何正确.可靠的阻止系统关机以及关机前执行相应业务.因有一些场景需要在关机/重启前执行业务逻辑,确保下次开机时数据的一致性以及可靠性. 以下是实现这一需求的几种方法 ...
- ArrayBlockingQueue的poll方法底层原理
一.ArrayBlockingQueue的poll方法底层原理 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞 ...
- mysql分区自动维护(SpringBoot+MybatisPlus)
1.环境 SpringBoot + MybatisPlus + MySQL 2.简介 通过定时器@Scheduled每日触发,查询当前库中所有分区表(这里以时间段进行分区) 判断剩余分区是否小于自定义 ...
- 🔥Elasticsearch(ES)(版本7.x)数据更新后刷新策略RefreshPolicy
简介 在Elasticsearch 7.x版本中,当更新数据时(例如索引.更新或删除文档),这些更改并不会立即对搜索可见.为了让这些更改能够被搜索到,需要了解和选择合适的刷新策略(Refresh Po ...
- robotframework-python3安装指南
参考https://blog.csdn.net/ywyxb/article/details/64126927 注意:无论是在线还是离线安装,最好在管理员权限下执行命令 1.安装Python36(32位 ...
- 一个 CTO 的深度思考
今天和一些同事聊了一会,以下是我的观点 我的观点,成年人只能筛选,不能培养 在组织中,应该永远向有结果的人看齐.不能当他站出来讲话的时候,大家还要讨论讨论,他虽然拿到结果了,但是他就是有一点点小问题. ...
- 腾讯云短信发送【java】
先去官网申请secretId, secretKey,然后创建对应的模板 maven引入包 <dependency> <groupId>com.tencentcloudapi&l ...