pytorch实战(五)——时间序列多步预测的五种方法介绍

news2024/11/26 4:29:05

当需要根据已有的时间序列数据,预测未来多个时刻的状态时,被称之为时间序列多步预测。
时间序列多步预测有五种策略,分别为:
1、直接多步预测(Direct Multi-step Forecast)
2、递归多步预测(Recursive Multi-step Forecast)
3、直接递归混合预测(Direct-Recursive Hybrid Forecast)
4、多输出预测(Multiple Output Forecast)
5、seq2seq预测(seq2seq Forecast)
下面进行详细介绍。假设已知的时间序列数据为[1 2 3 4],需要预测紧跟其后的[x y]

1、直接多步预测(Direct Multi-step Forecast)

方法是训练两个模型,其中一个模型用于预测x,另一个模型用于预测y,即:
model1:[1 2 3 4]->[x]
model2:[1 2 3 4]->[y]
缺点主要有两个,第一个为需要为未来的每个状态建立相应的模型,计算负担较大,第二个为无法充分利用时间序列的相关性,即model1的预测结果无法被model2使用。

2、递归多步预测(Recursive Multi-step Forecast)

方法是训练一个固定的模型,按照递归的方法对x与y进行预测,其中的关键是,模型可以使用前一个时间步的预测结果来对下一个时间步进行预测,即:
[1 2 3 4]->[x]
[2 3 4 x]->[y]
优点是利用了时间序列的相关性。
缺点是将预测值作为观测值,会造成误差的累积,当需要预测的时间序列很长时,容易导致性能迅速下降。

3、直接递归混合预测(Direct-Recursive Hybrid Forecast)

该方法综合了直接多步预测和递归多步预测方法的特性。
训练两个模型,其中一个模型用于预测x,另一个模型用于预测y,需要注意的是,第二个模型可以利用第一模型的预测结果。
model1:[1 2 3 4]->[x]
model2:[2 3 4 x]->[y]

4、多输出预测(Multiple Output Forecast)

训练一个固定的模型,该模型的输出有两个值。更具体的来说,就相当于最后的dense层含有两个神经元,每个神经元就是一个值。
[1 2 3 4]->[x y]
优点是后一个时间步的预测和前一个时间步的预测是独立的,不会造成误差的累积。
缺点是,事实上,x和y应该是具有时序关系的,如果完全独立的预测他们的话,会造成信息的损失,引起误差。

5、seq2seq预测(seq2seq Forecast)

方法与多输出预测类似,都是训练一个固定的模型,该模型的输出有两个值。
[1 2 3 4]->[x y]
但是最大的不同是,该方法采用了如下图所示的seq2seq结构。
在这里插入图片描述
该结构采用了LSTM、attention+seq2seq、transformer、bert等网络结构,因此能够考虑输出的标签之间的序列依赖性,有效利用了预测值之间的时序关系,解决了多输出预测方法的缺陷,有利于提高预测精度。

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

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

相关文章

Redis5.0+——主从复制

说明 主机数据更新后根据配置和策略,自动同步到备机的master/slave机制,Master以写为主,Slave以读为主(一主一从,一主多从) 能实现目的 读写分离,性能拓展容灾区快速恢复(当一个从…

【软件测试】资深测试的总结,接口测试中的最常见的几个错误......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 为了彻底进行API接口…

入门力扣自学笔记221 C++ (题目编号:1739)

1739. 放置盒子 题目: 有一个立方体房间,其长度、宽度和高度都等于 n 个单位。请你在房间里放置 n 个盒子,每个盒子都是一个单位边长的立方体。放置规则如下: 你可以把盒子放在地板上的任何地方。 如果盒子 x 需要放置在盒子 y…

工作流运行

工作流运行 定义内涵 工作流运行是工作流模板的依次执行,在工作流运行时,用户可以随时取消或查看正在 运行的任务。由于工作流运行的模板的不同,运行过程中可能会产生不同的新资源,如数据 处理类型的工作流会产生新的数据集&…

DJ15 8086 中断程序设计

目录 一、8086/8088 中断系统 1. 8086/8088 中断源类型 2. 中断向量表 3. CPU 中断类型码的获取方法 二、8259A 的引线及内部结构 1. 外部引线 2. 内部结构 3. 与系统总线的连接方式 4. 级联连接方式 5. 中断触发方式 三、8259A 的工作过程 四、8259A 的工作方式 …

K. The Robot(思维 + 看数据范围)

Problem - 1468K - Codeforces 有一个机器人在一个格子场上,这个格子场在各个方向都是无尽的。最初,机器人位于坐标为(0,0)的单元中。他将执行由一串大写拉丁字母 "L"、"R"、"D"、"U "描述的命令。当一个命令被…

使用凸优化来调整基于毫米波的无线通信参数(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 随着通信产业尤其是个人移动通信的高速发展,无线电频谱的低端频率已趋饱和,即使是采用高斯滤波最小频移…

CentOS7安装runc

CentOS7安装runc前言一、runc简介二、安装runc1.安装 libseccomp-dev2.获取runc源代码2.1先创建 $GOPATH/src/github.com 目录2.2go get下载源代码2.3checkout最新的代码2.4编译并安装runc2.5查看runc版本总结前言 本文记录CentOS7安装runc的过程。 一、runc简介 RunC 是一个…

UWB定位算法介绍

典型的无线定位方法主要有四种: 1.基于信号到达时间(TOA); 2.基于信号到达时间差(TDOA); 3.基于信号到达角度(AOA) 4.基于接信号强度(RSSI) 各自有着不同的优势和应用范围。 定位时一分为两步,第一步:测量时间、角度、信号强度; 第二步…

FFmpeg基础: YUV像素格式介绍和使用

文章目录YUV像素格式YUV采样YUV格式分类YUV存储模式FFmpeg读取YUV数据YUV和RGB转换YUV像素格式 在图片中我们一般都是通过RGB(红-绿-蓝)格式来表示一个像素点。而在视频当中为了兼容黑白和彩色视频我们通过YUV来表示一个像素点,YUV中Y表示像素点的灰度(也就是亮度分…

【nowcoder】笔试强训Day6

目录 一、单选题 二、多选题 三、编程题 3.1不要二 3.2 把字符串转成整数 一、单选题 1.下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换: A dstString.frombytes(src,”GBK”).getbytes(“UTF-8”) B dstnew String (src,”GBK”).getb…

计算机视觉与图形学-神经渲染专题-非刚体NeRF

《Fast Non-Rigid Radiance Fields from Monocularized Data》链接:https://graphics.tu-bs.de/publications/kappel2022fast摘要单目动态场景下的 3D 重建和新颖视图合成最近受到越来越多的关注。现有工作在合成给定和前向拍摄的真实世界数据下可以合成较好的结果&…

iPhone如何恢复丢失/消失的通讯录联系人,试试这6 种恢复方案

“在我更新 iOS 后,数百个联系人从我的 iPhone 上消失了。我试图从 iCloud 恢复我的联系人存档。我所看到的只是“没有可用的档案”。请来人帮忙!” 每当发布新的 iOS 版本时,许多 iPhone 用户都会争先恐后地开始更新。然而,他们…

【Python学习记录】matplotlib绘图基本配置

✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录前言1、设置颜色2、设置每个点marker3、设置标题、X轴、Y轴文字4、设置刻度5、同一图中画多条线、绘制图例6、设置图层顺序7、多个图的设置subplot8、保存图片总结前言 matplotlib是p…

python中文编码json中文输出问题

python2.x版本的字符编码有时让人很头疼,遇到问题,网上方法可以解决错误,但对原理还是一知半解,本文主要介绍 python 中字符串处理的原理,附带解决 json 文件输出时,显示中文而非 unicode 问题。首先简要介…

人机交互-广州DACAI触摸屏开发中遇到的一些(屏幕和编程)问题

目录 背景 一、屏幕相关 1、厂家给的指令集资料可能有错误,请以软件VisualTFT中的指令助手为准。 2、屏幕程序下载方式 3、SD卡文件格式问题 4、画面id的问题 巨坑!!! 5、子画面变暗的问题 6、 VisualTFT自带的键盘问题 …

【openGauss】一键编译openGauss3.1+dolphin,体验新增的mysql兼容特性

前言 前两天写了一篇openGauss3.1关于mysql的相关特性,但由于openGauss官网提供下载的版本还是9月30号第一次发布的版本,很多特性都还没合入,所以不少爱好者不能轻易体验到。 虽然openGauss已经提供了“一键式编译脚本”,但是还是得做一些前…

Linux系统下的常用文件目录指令

文件目录指令 pwd (Print Working Directory):显示当前工作目录的绝对路泾 ls (list) 基本语法:ls[选项][目录或是文件]常用选项 -a:显示当前目录所有的文件和目录,包括隐藏的。 -l:以列表的方式显示信息 cd (change directory) :切换到指定目录 基本语法:cd参数理…

5G无线技术基础自学系列 | 5G网络速率问题分析

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 前面介绍了接入性和移动性两类问题的处…

node.js+uni计算机毕设项目湖南工商大学财务信息查询小程序(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…