当前位置: 首页 > 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…...

5G CPE核心器件-基带处理器(三)

5G CPE 核心器件 -5G基带芯片 基带芯片简介基带芯片组成与结构技术特点与发展趋势5G基带芯片是5G CPE中最核心的组件,负责接入5G网络,并进行上下行数据业务传输。移动通信从1G发展到5G,终端形态产生了极大的变化,在集成度、功耗、性能等方面都取得巨大的提升。 基带芯片简…...

鸿蒙next版开发:拍照实现方案(ArkTS)

文章目录 拍照功能开发步骤1. 导入相关接口2. 创建会话3. 配置会话4. 触发拍照5. 监听拍照输出流状态 结语 在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机功能,特别是拍照功能。本文将详细介绍如何在ArkTS中实现拍照功能,并提供代码…...

C++面试突破---C/C++基础

1.C特点 1. C在C语言基础上引入了面对对象的机制,同时也兼容C语言。 2. C有三大特性(1)封装。(2)继承。(3)多态; 3. C语言编写出的程序结构清晰、易于扩充,程序可读性好。…...

项目搭建+修改

一 : 在列表成功回调函数,追加数据中,添加修改的按钮 for (let x of res) {//追加数据$("#table").append(<tr><td><input type"checkbox" class"ck" value"\${x.uid}"></td><td>\${x.uid}</td>…...

每日算法一练:剑指offer——树篇(4)

1.计算二叉树的深度 某公司架构以二叉树形式记录&#xff0c;请返回该公司的层级数。 示例 1&#xff1a; 输入&#xff1a;root [1, 2, 2, 3, null, null, 5, 4, null, null, 4] 输出: 4 解释: 上面示例中的二叉树的最大深度是 4&#xff0c;沿着路径 1 -> 2 -> 3 -&…...

Nginx静态资源配置

基本配置原则 明确资源目录&#xff1a;为不同类型的静态资源指定不同的路径&#xff0c;这样可以避免路径冲突&#xff0c;并且便于管理。正确设置文件权限&#xff1a;确保 Nginx 具有读取静态资源的权限。缓存优化&#xff1a;为静态资源设置缓存头&#xff08;如 expires&…...

困扰解决:mfc140u.dll丢失的解决方法,多种有效解决方法全解析

当电脑提示“mfc140u.dll丢失”时&#xff0c;这可能会导致某些程序无法正常运行&#xff0c;给用户带来不便。不过&#xff0c;有多种方法可以尝试解决这个问题。这篇文章将以“mfc140u.dll丢失的解决方法”为主题&#xff0c;教大家有效解决mfc140u.dll丢失。 判断是否是“mf…...

D3.js 初探

文章目录 D3.js 简单介绍选择集与方法数据绑定方法选择集添加DOM元素以及删除元素理解update enter 以及 exit关于比例尺layout 布局force layout 坐标轴元素添加动态效果demo1: 绘制简单柱状图 #D3.js 初探 最近在做一个Data Visualization 的项目&#xff0c;由于对最终呈现的…...

linux常用指令 | 适合初学者

linux常用指令 1.ls: 列出当前&#xff0c;目录中的文件和子目录 ls 2.pwd: 显示当前工作目录的路径 pwd3.cd切换工作目录 cd /path/to/director4.mkdir:创建新目录 mkdir directory_name5.rmdir:删除空目录 rmdir directory_name6.rm: 删除文件或目录 rm file_name r…...

用 NotePad++ 运行 Java 程序

安装包 网盘链接 下载得到的安装包: 安装步骤 双击安装包开始安装. 安装完成: 配置编码 用 NotePad 写 Java 程序时, 需要设置编码. 在 设置, 首选项, 新建 中进行设置, 可以对每一个新建的文件起作用. 之前写的文件不起作用. 在文件名处右键, 可以快速打开 CMD 窗口, 且路…...