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

时间序列预测之FiLM

没错,就是看电影

文章目录

  • 前言
    • 1. 问题描述
    • 2. 创新之处
    • 3. 贡献
  • 一、时间序列在legende - fourier域的表示
    • 1. 勒让德投影
    • 2. 傅里叶变换
  • 二、 模型结构
    • 1. LPU: Legendre Projection Unit
    • 2. FEL: Frequency Enhanced Layer
    • 3. 多尺度专家机制的混合
  • 二、实验结果
    • 长时预测
  • 总结
  • 参考


文章信息

  1. 模型: FiLM(Frequency improved Legendre Memory Mode)
  2. 关键词:勒让德投影 Legendre Projection;频率增强;
  3. 作者:Tian Zhou, Ziqing Ma, Xue wang, Qingsong Wen, Liang Sun, Tao Yao, Wotao Yin, Rong Jin
  4. 机构: 阿里
  5. 发表情况:NeurIPS 2022
  6. 网址:FiLM: Frequency improved Legendre Memory Model for Long-term Time Series Forecasting

前言

1. 问题描述

  现有(2022年)预测模型增加模型的复杂性,希望他们能够捕获关键和复杂的历史信息,但结果不尽如人意,下图将真实世界 ETTm1 数据集的真实时间序列与普通Transformer方法和LSTM的预测进行了比较,可以观察到,预测完全偏离了真实情况的分布。
在这里插入图片描述

  作者认为,这些错误来自于这些模型在试图保留真实信号的同时错误地捕获了噪声
  准确预测的两个关键是:1) 如何尽可能完整地捕获关键的历史信息;2) 如何有效去除噪声。因此,为了避免预报不准确,我们不能通过简单地使模型更复杂来改进它。相反,我们将考虑一种鲁棒的时间序列表征方式,它可以捕获时间序列不带噪声的重要模式。

2. 创新之处

  提出更加准确和稳健的时间序列数据表示方法(representations),用于未来预测,特别是长期预测。该方法通过将这些表示与强大的预测模型相结合,在多基准数据集上显著优于现有的长期预测方法。
  第一步,作者直接利用Legendre投影(使用到了LUM: Legendre Memory Units)来动态更新时间序列(固定大小的向量)的表征。然后,该投影层将与不同的深度学习模块相结合,以提高预测性能。直接使用这种表示的主要挑战是信息保存和数据过拟合之间的困境,即:勒让德投影的数量越大,历史数据保存得越多,但越有可能产生噪声数据过拟合
  因此,作为第二步,为了减少噪声信号对勒让德投影的影响,我们通过傅立叶分析低秩矩阵近似的结合引入了一层降维。具体地说,我们保留了勒让德投影的大维度表示,以确保保留历史数据的所有重要细节。然后,我们将傅里叶分析和低秩近似相结合,以保留与低频傅里叶分量高维特征空间相关的部分,进而消除噪声的影响。
  这样,我们不仅可以捕捉到长期的时间依赖,还能有效降低长时预测中的噪声。

3. 贡献

  1. 我们提出了一种Frequency improved Legendre Memory model(FiLM)架构,并混合了专家机制(用于鲁棒的多尺度时间序列特征提取)。

  2. 我们重新设计了Legendre Projection Unit(LPU),使其成为一种通用的数据表示工具,任何时间序列预测模型都可以利用它来解决历史信息保存问题。LPU可以在FEL、MLP、LSTM、CNN、Attention等多种骨干网中作为插件块使用。用相当大小的线性层替换LPU总是会导致性能下降
    在这里插入图片描述

  3. 我们提出Frequency Enhanced Layers(FEL),通过结合傅里叶分析和低秩矩阵逼近来降低维数,以最大限度地减少来自时间序列的噪声信号的影响,并缓解过拟合问题。还从理论和经验两方面验证了该方法的有效性。


一、时间序列在legende - fourier域的表示

1. 勒让德投影

  函数逼近问题旨在得到每次 t t t 时刻的累积历史近似表示。使用勒让德多项式投影,我们可以将一个很长的数据序列投影到有界维度的子空间上,从而对不断发展的历史数据进行压缩或特征表示。

2. 傅里叶变换

二、 模型结构

  FiLM的整体结构如图3所示。FiLM映射一个序列 X ↦ Y X \mapsto Y XY,其中 X , Y ∈ R T × D X, Y \in \mathbb{R}^{T \times D} X,YRT×D,主要利用两个子层:Legendre Projection Unit (LPU) 层和 Fourier Enhanced layer (FEL)。此外,为了捕获不同尺度的历史信息,在LPU层实现了不同尺度专家的混合。同时,引入了可选的数据归一化层RevIN,以进一步增强模型的鲁棒性。值得一提的是,FiLM是一个简单的模型,只有一层LPU和一层FEL。
在这里插入图片描述

  注意:输入 X X X 长度是预测长度 T T T 的整数( n n n)倍, n n n代表不同的尺度, n n n越大,LPU记忆 C C C 也就越大。

1. LPU: Legendre Projection Unit

  LPU是一种状态空间模型: C t = A C t − 1 + B x t C_{t}=A C_{t-1}+B x_{t} Ct=ACt1+Bxt ,其中 x t ∈ R x_{t} \in \mathbb{R} xtR C t ∈ R N C_{t} \in \mathbb{R}^{N} CtRN是记忆单元,N代表勒让德多项式的个数。
  LPU包含两个固定的前缀矩阵A和B,公式如下:
  值得注意的是 C t C_{t} Ct 是输入序列从开始到 t t t 时刻的压缩信息,利用 C t C_{t} Ct 即可重建原始输入(对应figure 6里的take a slice)。
在这里插入图片描述
在这里插入图片描述

2. FEL: Frequency Enhanced Layer

  如下图所示,过程类似于FEDformer。

在这里插入图片描述
  FEL具有单个可学习的权重矩阵( W ∈ R M ′ × N × N W \in \mathbb{R}^{M' ×N×N} WRM×N×N ),是我们需要从数据中学习的内容。然而,这个矩阵可能很大。因此,我们可以将W分解为三个矩阵(如图),将勒让德多项式数设置为 N N N = 256,分解矩阵中 N ′ N^′ N= 4。

3. 多尺度专家机制的混合

  多尺度现象是时间序列预测中一种独特的关键数据偏差。由于我们以统一的重要性对待历史序列点,我们的模型可能缺乏对多尺度的关注。这里,我们的模型实现了一个简单的专家混合策略,该策略利用具有不同时间范围的输入序列 { T , 2 T , … n T } \{T, 2T,…nT\} {T2TnT}预测 T T T个时间步,并将各专家预测结果通过线性层合并。

二、实验结果

长时预测

在这里插入图片描述

总结

参考

【序列推荐、勒让德记忆模型】FiLM: Frequency improved Legendre Memory Model for Long-term Time Series Forec

相关文章:

时间序列预测之FiLM

没错,就是看电影 文章目录 前言1. 问题描述2. 创新之处3. 贡献 一、时间序列在legende - fourier域的表示1. 勒让德投影2. 傅里叶变换 二、 模型结构1. LPU: Legendre Projection Unit2. FEL: Frequency Enhanced Layer3. 多尺度专家机制的混合 二、实验结果长时预测…...

【机器学习】窥数据之序,悟算法之道:机器学习的初心与远方

文章目录 机器学习入门:从零开始学习基础与应用前言第一部分:什么是机器学习?1.1 机器学习的定义1.1.1 举个例子:垃圾邮件分类器 1.2 机器学习的核心思想1.2.1 数据驱动的模式提取1.2.2 为什么机器学习比传统方法更灵活&#xff1…...

OpenCL介绍

OpenCL(Open Computing Language)详解 OpenCL 是一个开源的框架,用于编写在异构平台(包括中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)和其他…...

「Mac畅玩鸿蒙与硬件42」UI互动应用篇19 - 数字键盘应用

本篇将带你实现一个数字键盘应用,支持用户通过点击数字键输入数字并实时更新显示内容。我们将展示如何使用按钮组件和状态管理来实现一个简洁且实用的数字键盘。 关键词 UI互动应用数字键盘按钮组件状态管理用户交互 一、功能说明 数字键盘应用将实现以下功能&…...

【前端知识】npm命令行详细说明

npm命令行详细说明 概述一、定义与功能二、基本命令三、配置文件与注册表四、应用场景五、高级特性 环境设置1. 设置镜像源2. 配置全局依赖存储路径3. 配置缓存路径4. 查看所有配置5. 清除缓存6. 升级npm版本 npm组件打包1. 初始化项目2. 安装依赖3. 构建脚本4. 打包项目5. 发布…...

Python网络爬虫技术详解与实践案例

Python网络爬虫技术详解与实践案例 在大数据和人工智能盛行的今天,数据的获取与分析成为许多项目和业务的关键。网络爬虫作为一种自动化的数据采集工具,广泛应用于数据挖掘、市场分析、情报收集等领域。本文将详细介绍Python网络爬虫的基本概念、工作流程、进阶技巧,并附上…...

【遥感目标检测综述】【GRSS】遥感目标检测与深度学习的相遇:挑战与进展的元综述

Remote Sensing Object Detection Meets Deep Learning: A Meta-review of Challenges and Advances 遥感目标检测与深度学习的相遇:挑战与进展的元综述 论文链接 0.论文摘要和作者信息 摘要 遥感目标检测(RSOD)是遥感领域最基…...

【大数据技术基础】 课程 第3章 Hadoop的安装和使用 大数据基础编程、实验和案例教程(第2版)

第3章 Hadoop的安装和使用 3.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。H…...

【机器学习】机器学习的基本分类-监督学习-决策树-C4.5 算法

C4.5 是由 Ross Quinlan 提出的决策树算法,是对 ID3 算法的改进版本。它在 ID3 的基础上,解决了以下问题: 处理连续型数据:支持连续型特征,能够通过划分点将连续特征离散化。处理缺失值:能够在特征值缺失的…...

云计算vsphere 服务器上添加主机配置

这里是esxi 主机 先把主机打开 然后 先开启dns 再开启 vcenter 把每台设备桌面再vmware workstation 上显示 同上也是一样 ,因为在esxi 主机的界面可能有些东西不好操作 我们选择主机和集群 左边显示172.16.100.200...

Linux笔记---进程:进程替换

1. 进程替换的概念 进程替换是指在一个正在运行的进程中,用一个新的程序替换当前进程的代码和数据,使得进程开始执行新的程序,而不是原来的程序。 这种技术通常用于在不创建新进程的情况下,改变进程的行为。 我们之前谈到过for…...

量化交易backtrader实践(五)_策略综合篇(1)_股票软件指标回测

在第三章6到9节,我们学习和实践了大部分股票软件指标,且这些指标是backtrader内置指标实践中没有讲到过的。然后,在进行策略综合之前,我们先热个身,把一些可能比较有参考意义的股票软件内置指标在backtrader里给实现了…...

4.STM32通信接口之SPI通信(含源码)---软件SPI与W25Q64存储模块通信实战《精讲》

经过研究SPI协议和W25Q64,逐步了解了SPI的通信过程,接下来,就要进行战场实战了!跟进Whappy步伐! 目标:主要实现基于软件的SPI的STM32对W25Q64存储写入和读取操作! 开胃介绍(代码基本…...

MINDAGENT:游戏交互中的新兴性设计

一、摘要 1.问题/研究背景 LLM具有在多智能体系统中执行复杂调度的能力,并可以协调这些代理以完成需要广泛合作的复杂任务。 但是,目前还没有一个标准的游戏场景和相关的测试指标来评估 LLM 在游戏中的表现以及与人类玩家的合作能力。 2.研究目标/动…...

【工具变量】上市公司企业所在地城市等级直辖市、副省级城市、省会城市 计划单列市(2005-2022年)

一、包含指标: 股票代码 股票代码 股票简称 年份 所属城市 直辖市:企业所在地是否属于直辖市。1是,0否。 副省级城市:企业所在地是否属于副省级城市。1是,0否。 省会城市&a…...

C# 动态类型 Dynamic

文章目录 前言1. 什么是 Dynamic?2. 声明 Dynamic 变量3. Dynamic 的运行时类型检查4. 动态类型与反射的对比5. 使用 Dynamic 进行动态方法调用6. Dynamic 与 原生类型的兼容性7. 动态与 LINQ 的结合8. 结合 DLR 特性9. 动态类型的性能考虑10. 何时使用 Dynamic&…...

Css动画:旋转相册动画效果实现

​🌈个人主页:前端青山 🔥系列专栏:Css篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:Css动画:旋转相册动画效果实现 前言 随着Web技术的发展,网页不再局限于静态展示&#…...

Unity 基于Collider 组件在3D 物体表面放置3D 物体

实现 从鼠标点击的屏幕位置发送射线,以射线监测点击到的物体,根据点击物体的法线向量调整放置物体的位置及朝向。 Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit, 100)) {obj.transform.…...

Hbase整合Mapreduce案例1 hdfs数据上传至hbase中——wordcount

目录 整合结构准备java API 编写pom.xmlMain.javaMap.javaReduce 运行 整合结构 准备 上传hdfs data.txt数据 data.txt I am wunaiieq QAQ 123456 Who I am In todays interconnected world the role of technology cannot be overstated It has revolutionized the way we …...

PyQt 中的无限循环后台任务

在 PyQt 中实现一个后台无限循环任务,需要确保不会阻塞主线程,否则会导致 GUI 无响应。常用的方法是利用 线程(QThread) 或 任务(QRunnable 和 QThreadPool) 来运行后台任务。以下是一些实现方式和关键点&a…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...