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

时间序列数据预测的类型

本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务,不涉及代码,仅仅就不同类型的预测任务和数据划分进行说明。
参考文章:https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/

注:所涉及的概念在数据案例会说明

时间序列数据预测本质就是利用先前的值预测后面的值,在得到一组数据后,需要将数据处理为一个个样本,每个样本中包括先前的数据和要预测的数据,将其作为训练集

1 单变量时间序列数据预测

单变量时间序列数据指的是,除了时间属性数据,只有单一属性的一组数据,比如2010一年间黄金的价格,按天统计,也就是一天一个数据。数据中只有价格这一个属性,共365个数据。
同时单变量也是指数据只有一个序列,一个变量也就是一个特征(feature)。
在这里插入图片描述

1.1 单步预测

单步预测中的单步是指一个时间步长(time step),比如上述黄金价格数据中,每一天就是一个时间步长,即在时间序列数据中每获取一次数据就是一个时间步。

单步预测就是仅仅预测一个时间步长的数据。

单变量时间序列数据的单步预测(单变量单步预测,Univariate Step):利于前边几个时间步长的数据预测下一个时间步长的数据

数据处理:

数据集dateset
[10, 20, 30, 40, 50, 60, 70, 80, 90]

上面的少量数据中,只是单一属性的一组数据。在进行预测前要将数据处理为样本(假设使用3个时间步长的数据预测下一个时间步长的数据),样本结构如下:
以下数据共有6个样本,每个样本中都是前三个时间步长的数据为一组作为输入,下一个时间步长的数据为另一组作为输出。

[10 20 30] 40
[20 30 40] 50
[30 40 50] 60
[40 50 60] 70
[50 60 70] 80
[60 70 80] 90即:输入			输出
[[10, 20, 30],		[40,
[20, 30, 40].		50,
……			]			]

使用这样的数据训练一个模型后,我们就可以使用前连续三个时间步长的数据预测下一个时间步长的数据。

最后我们在看一下样本中输入数据和输出数据的维度:
输入:两个维度,样本总数、用于预测的时间步长,这里分别是6、3
输出:一个维度,样本数量,这里是6

1.2 多步预测

单变量时间序列数据的多步预测(单变量多步预测,Univariate Multi-Step):利于前边几个时间步长的数据预测下面多个时间步长的数据。

本例:使用3个时间步长的数据预测后2个时间步长的数据,

数据处理:

数据集dateset
[10, 20, 30, 40, 50, 60, 70, 80, 90]

样本结构如下:
以下数据共有6个样本,每个样本中都是前三个时间步长的数据为一组作为输入,后两个时间步长的数据为另一组作为输出。

[10 20 30] [40 50]
[20 30 40] [50 60]
[30 40 50] [60 70]
[40 50 60] [70 80]
[50 60 70] [80 90]即:输入			输出
[[10, 20, 30],		[[40,50],
[20, 30, 40],		[50,60],
……]					……		]说明:后面的输入输出也都是这样分析,只是不再表明输入输出和完整的数组结构。

使用这样的数据训练一个模型后,我们就可以使用前连续三个时间步长的数据预测下一个时间步长的数据。

使用这样的数据训练一个模型后,我们就可以使用前连续三个时间步长的数据预测下一个时间步长的数据。

输入数据和输出数据的维度:
输入:两个维度,样本总数、用于预测的时间步长,这里分别是6、3
输出:两个维度,样本数据、预测的时间步长,这里分别是6、2

2 多变量时间序列数据预测

多变量时间序列数据是指,除了时间属性外,还有多个属性或者说特征的一组数据。
在这里插入图片描述

2.1 单步预测

2.1.1 多变量预测

多时间变量数据的单步预测(多变量单步预测,Multivariate Input Series):利用前面的多个时间步的部分属性数据,预测下一个时间步的某个属性数据,与单变量不同,这里每个时间步都有多个数据。以上边电耗数据为例。一种预测方式是:使用三个时间步的平均电流、平均电压的数据,预测一个时间步平均功率。

数据集处理:

[[ 10  15  25][ 20  25  45][ 30  35  65][ 40  45  85][ 50  55 105][ 60  65 125][ 70  75 145][ 80  85 165][ 90  95 185]]

划分样本
以下数据共有6个样本,每个样本中都是前三个时间步长的数据是平均电流和平均电压作为输入,后一个时间步长的平均功率作为输出。

[[10 15][20 25][30 35]] 65
[[20 25][30 35][40 45]] 85
[[30 35][40 45][50 55]] 105
[[40 45][50 55][60 65]] 125
[[50 55][60 65][70 75]] 145
[[60 65][70 75][80 85]] 165
[[70 75][80 85][90 95]] 185

使用这样的方式可以利用前三个时间步的电流、电压数据,预测当前功率(只给电流、电压信息)。

输入数据和输出数据的维度:
输入:三个维度,样本总数、用于预测的时间步长、用于预测的特征数,这里分别是6、3、2
输出:两个维度,样本数据、预测的特征数,这里分别是6、1

2.1.2 并行预测 (全变量预测)

多变量时间序列数据单步并行预测(多变量单步并行预测,Multivariate Multi-Step Parallel Series):使用前面几个时间步的所有属性数据,预测下一个时间步的所有属性数据。以上面的电耗数据为例,使用前3个时间步的平均电流、平均电压、平均功率预测下一个时间的平均电流、平均电压、平均功率。

数据集:

[[ 10  15  25][ 20  25  45][ 30  35  65][ 40  45  85][ 50  55 105][ 60  65 125][ 70  75 145][ 80  85 165][ 90  95 185]]

样本处理:

[[10 15 25][20 25 45][30 35 65]] [40 45 85]
[[20 25 45][30 35 65][40 45 85]] [ 50  55 105]
[[ 30  35  65][ 40  45  85][ 50  55 105]] [ 60  65 125]
[[ 40  45  85][ 50  55 105][ 60  65 125]] [ 70  75 145]
[[ 50  55 105][ 60  65 125][ 70  75 145]] [ 80  85 165]
[[ 60  65 125][ 70  75 145][ 80  85 165]] [ 90  95 185]

使用这样的方式可以利用前三个时间步的电流、电压、功率数据,预测时预测后面1个时间步长的电流、电压、功率。

输入数据和输出数据的维度:
输入:三个维度,样本总数、用于预测的时间步长、用于预测的特征数,这里分别是6、3、3
输出:两个维度,样本数据、预测的特征数,这里分别是6、3

2.2 多步预测

2.2.1 多变量预测

多时间变量数据的多步预测(多变量多步预测,Multiple Input Multi-Step Output):利用前面的多个时间步的部分属性数据,预测后面多个时间步的某个属性数据。以上面的电耗数据为例,一中预测方式是,使用前3个时间步的平均电流、平均电压预测后面2个时间步长的平均功率。
数据集:

[[ 10  15  25][ 20  25  45][ 30  35  65][ 40  45  85][ 50  55 105][ 60  65 125][ 70  75 145][ 80  85 165][ 90  95 185]]

样本处理:

[[10 15][20 25][30 35]] [65 85]
[[20 25][30 35][40 45]] [ 85 105]
[[30 35][40 45][50 55]] [105 125]
[[40 45][50 55][60 65]] [125 145]
[[50 55][60 65][70 75]] [145 165]
[[60 65][70 75][80 85]] [165 185]

使用这样的方式可以利用前三个时间步的电流、电压数据,预测时预测后面2个时间步长的平均功率。

输入数据和输出数据的维度:
输入:三个维度,样本总数、用于预测的时间步长、用于预测的特征数,这里分别是6、3、2
输出:两个维度,样本数据、预测的时间步长,这里分别是6、2

2.2.2 并行预测 (全变量预测)

多变量时间序列数据的多步并行预测(多变量多步并行预测,Multiple Parallel Input and Multi-Step Output):使用前面几个时间步的所有属性数据,预测下一个时间步的所有属性数据。以上面的电耗数据为例,使用前3个时间步的平均电流、平均电压、平均功率预测后面多个时间的平均电流、平均电压、平均功率。

数据集:

[[ 10  15  25][ 20  25  45][ 30  35  65][ 40  45  85][ 50  55 105][ 60  65 125][ 70  75 145][ 80  85 165][ 90  95 185]]

样本处理:

(5, 3, 3) (5, 2, 3)[[10 15 25][20 25 45][30 35 65]] [[ 40  45  85][ 50  55 105]]
[[20 25 45][30 35 65][40 45 85]] [[ 50  55 105][ 60  65 125]]
[[ 30  35  65][ 40  45  85][ 50  55 105]] [[ 60  65 125][ 70  75 145]]
[[ 40  45  85][ 50  55 105][ 60  65 125]] [[ 70  75 145][ 80  85 165]]
[[ 50  55 105][ 60  65 125][ 70  75 145]] [[ 80  85 165][ 90  95 185]]

使用这样的方式可以利用前三个时间步的电流、电压、功率数据,预测时预测后面2个时间步长的电流、电压、功率。

输入数据和输出数据的维度:
输入:三个维度,样本总数、用于预测的时间步长、用于预测的特征数,这里分别是6、3、2
输出:三个维度,样本数据、预测的时间步长、预测的特征数,这里分别是6、2、3

相关文章:

时间序列数据预测的类型

本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务,不涉及代码,仅仅就不同类型的预测任务和数据划分进行说明。 参考文章:https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 注&#xf…...

sk_buff结构体成员变量说明

一. 前言 Socket Buffer的数据包在穿越内核空间的TCP/IP协议栈过程中,数据内容不会被修改,只是数据包缓冲区中的协议头信息发生变化。大量操作都是围绕sk_buff结构体来进行的。 sk_buff结构的成员大致分为3类:结构管理域,常规数据…...

springbatch设置throttle-limit参数不生效

背景描述 当springbatch任务处理缓慢时,就需要使用多线程并行处理任务。 参数throttle-limit用于控制当前任务能够使用的线程数的最大值。 调整throttle-limit为10时,处理线程只有8,再次增大throttle-limit值为20,处理线程依旧为…...

用 tensorflow.js 做了一个动漫分类的功能(一)

前言:浏览某乎网站时发现了一个分享各种图片的博主,于是我顺手就保存了一些。但是一张一张的保存实在太麻烦了,于是我就想要某虫的手段来处理。这样保存的确是很快,但是他不识图片内容,最近又看了 mobileNet 的预训练模…...

看完这篇Vue-element-admin,跟面试官聊骚没问题

Vue-element-admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富…...

2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(5)

目录 模块A 基础设施设置与安全加固 一、项目和任务描述: 二、服务器环境说明 三、具体任务(每个任务得分以电子答题卡为准) A-1任务一 登录安全加固(Windows) 1.密码策略 a.密码策略必须同时满足大小写字母、数…...

基于Java+SpringBoot+Vue+Uniapp前后端分离商城系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...

新建ES别名 添加别名 切换别名

# 查询别名指向到哪个索引 GET bebd_factory_search/_alias # 查询这个索引使用了什么别名 GET bebd_factory_search_1588250935622/_alias # 删除索引 DELETE bebd_factory_search_1588250935622 # 新建别名 POST /_aliases { "actions": [ { "ad…...

MySQL —— 内外连接

目录 表的内外连接 一、内连接 二、外连接 1. 左外连接 2. 右外连接 表的内外连接 表的连接分为内连和外连 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面博客中的查询都是内连接,也是在开发过程中使用的最多…...

EXCEL中文本和数字的相互转换方法

将EXCEL中存为文本的数字转换成数字 如果在 Excel 中,将数字存储为文本格式,可以通过以下步骤将其转换为数字: 选中需要转换格式的单元格或者整列;右键单击,选择“格式单元格”;在弹出的对话框中选择“常…...

React源码分析6-hooks源码

本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 hooks 相关数据结构 要理解 hooks 的执行过程,首先想要大家对 hooks 相关的数据结构有所了解,便于后面大家顺畅地阅读代码。 Hook 每一个 hooks 方法都会生成一个类型为 Hook 的对象&#xff…...

Windows10神州网信政府版麦克风、摄像头的使用

Windows10神州网信政府版默认麦克风摄像头是禁用状态,此禁用状态符合版本规定。 在录课和直播过程中,如果需要使用麦克风和摄像头的功能,可以这样更改: 1、鼠标右键点击屏幕左下角的开始菜单图标,选择windows中的“运…...

微机原理学习总结0:前言

近期结束了微机课程的学习,(指刚考完试),正常情况下,后面应该不会再接触这门课程了,故在此记录自己这段时间的收获。 首先,十分推荐b站的一门课程,老师讲的很细致,很适合…...

LeetCode 1828. 统计一个圆中点的数目

给你一个数组 points ,其中 points[i] [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。 同时给你一个数组 queries ,其中 queries[j] [xj, yj, rj] ,表示一个圆心在 (xj, yj) 且半径为 rj 的圆。 对…...

Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<一>---Spring Boot项目搭建

前言: 接下来又得被迫开启新的一门课程的学习了,上半年末尾淘汰又即将拉开序幕【已经记不清经历过多少次考试了】,需要去学习其它领域的技术作为考试内容,我选了spring boot相关技术,所以。。总之作为男人&#xff0c…...

leetcode 11~20 学习经历

LeetCode 习题 11 - 2011. 盛最多水的容器12. 整数转罗马数字13. 罗马数字转整数14. 最长公共前缀15. 三数之和16. 最接近的三数之和17. 电话号码的字母组合18. 四数之和19. 删除链表的倒数第 N 个结点20. 有效的括号小结11. 盛最多水的容器 给定一个长度为 n 的整数数组 heigh…...

LeetCode 双周赛 98,脑筋急转弯转不过来!

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 昨晚是 LeetCode 第 98 场双周赛,你参加了吗?这场周赛需要脑筋急转弯,转不过来 Medium 就会变成 Hard&#…...

函数的栈帧的创建和销毁

文章目录本章主题:一.什么是函数栈帧1.什么是栈2.什么是函数栈帧二.理解函数栈帧能解决什么问题呢?三.函数栈帧的创建和销毁解析1.预备知识(1) 认识相关寄存器和汇编指令(2)栈帧空间的维护2.解析函数栈帧的…...

python filtermapreducezip

一、filter 过滤 filter 过滤, 从可迭代对象中,筛选出满足条件的元素,再将这些满足条件的元素,组成一个新的可迭代对象。 方式一:filter(过滤方法,可迭代对象) 举例:将一个list中…...

Centos7搭建hadoop3.3.4分布式集群

文章目录1、背景2、集群规划2.1 hdfs集群规划2.2 yarn集群规划3、集群搭建步骤3.1 安装JDK3.2 修改主机名和host映射3.3 配置时间同步3.4 关闭防火墙3.5 配置ssh免密登录3.5.1 新建hadoop部署用户3.5.2 配置hadoopdeploy用户到任意一台机器都免密登录3.7 配置hadoop3.7.1 创建目…...

Vue3中Element-Plus中el-input及el-select 边框样式

如果不需要显示下边框&#xff0c;纯无边框直接将 【border-bottom: 1px solid #C0C4CC; 】注掉或去掉即可。 正常引用组件使用即可&#xff0c;无须自定义样式&#xff0c;最终效果CSS样式。 <style scoped> /* 输入框的样式 */ :deep(.el-input__wrapper) { box-sha…...

NVIDIA英伟达describe-anything软件本地电脑安装部署完整教程

describe-anything是英伟达联合其他大学开发的一款图片视频内容分析总结软件&#xff0c;可通过AI描述任意图片视频选中区域内容&#xff0c;非常强大&#xff0c;下面是describe-anything本地电脑安装部署教程。 首先电脑上安装git https://github.com/git-for-windows/git/…...

WebVm:无需安装,一款可以在浏览器运行的 Linux 来了

WebVM 是一款可以在浏览器中运行的Linux虚拟机。不是那种HTMLJavaScript模拟的UI&#xff0c;完全通过HTML5/WebAssembly技术实现客户端运行。通过集成CheerpX虚拟化引擎&#xff0c;可直接在浏览器中运行未经修改的Debian系统。 Stars 数13054Forks 数2398 主要特点 完整 Lin…...

深度学习面试八股简略速览

在准备深度学习面试时&#xff0c;你可能会感到有些不知所措。毕竟&#xff0c;深度学习是一个庞大且不断发展的领域&#xff0c;涉及众多复杂的技术和概念。但别担心&#xff0c;本文将为你提供一份全面的指南&#xff0c;从基础理论到实际应用&#xff0c;帮助你在面试中脱颖…...

XCTF-web-file_include

解析 <?php highlight_file(__FILE__); // 高亮显示当前PHP文件源代码 include("./check.php"); // 包含检查文件&#xff08;可能包含安全过滤逻辑&#xff09;if(isset($_GET[filename])) { // 检查是否传入filename参数$filename $_GET[f…...

阿里云国际版香港轻量云服务器:CN2 GIA加持,征服海外网络的“速度与激情”!

阿里云国际版香港轻量云服务器&#xff1a;CN2 GIA加持&#xff0c;征服海外网络的“速度与激情”&#xff01; 面对全球化业务拓展对网络连接的严苛要求&#xff0c;阿里云国际版香港轻量云服务器正成为出海企业和开发者的新宠。其核心优势在于搭载了CN2 GIA&#xff08;Glob…...

C#回调函数深度解析

文章目录 前言什么是回调函数C#中实现回调的方式委托(Delegate)事件(Event)Action和FuncPredicateAsyncCallback匿名方法和Lambda表达式 回调函数实际应用场景异步编程事件处理策略模式LINQ查询 回调函数的优缺点优点缺点 最佳实践与注意事项总结相关资源 前言 在现代软件开发…...

Dockerfile 编写经验:优化大小与效率

文章目录 Dockerfile 通用的技巧总结1. 使用多阶段构建2. 最小化层数3. 彻底清理4. 选择合适的基镜像5. 仅安装必要的依赖6. 利用构建缓存 常见陷阱总结 Dockerfile 通用的技巧总结 1. 使用多阶段构建 利用多阶段构建分离构建和运行时环境&#xff0c;仅将必要的产物&#xff…...

RNN 循环神经网络:原理与应用

一、RNN 的诞生背景 传统神经网络&#xff08;如 MLP、CNN&#xff09;在处理独立输入时表现出色&#xff0c;但现实世界中存在大量具有时序依赖的序列数据&#xff1a; 自然语言&#xff1a;"我喜欢吃苹果" 中&#xff0c;"苹果" 的语义依赖于前文 "…...

阿里云服务器采用crontab定时任务使acme.sh全自动化申请续签免费SSL证书,并部署在Linux宝塔网站和雷池WAF

阿里云服务器安装Linux宝塔面板用于部署网站&#xff0c;又安装了雷池WAF用于防护网站&#xff0c;网站访问正常。可以参考文章&#xff1a;Linux服务器安装Linux宝塔面板并部署wordpress网站以及雷池WAF 本文介绍使用 acme.sh 通过 DNS API 全自动申请和续签免费Let’s Encry…...