2024/1/14周报

文章目录

  • 摘要
  • Abstract
  • 文献阅读
    • 题目
    • 问题与创新
    • 方法
      • A.CEMDAN方法
      • B.LSTM网络
      • C. CEEMDAN-LSTM模型
    • 实验过程
      • 数据集与数据预处理
      • 参数设置
      • 评价指标和参数
    • 实验结果
  • 深度学习
    • GRU
      • GRU前向传播
      • GRU的训练过程
  • 总结

摘要

本周阅读了一篇基于CEEMDAN-LSTM的金融时间序列预测模型的文章,文中提出了一种基于自适应噪声的完全集成经验模式分解(CEMDAN)和长短期记忆(LSTM)网络的金融时间序列预测模型,经过CEEMDAN分解、小波阈值去噪和重构,得到去噪后的信号。使用去噪信号代替原始信号作为LSTM网络的输入,可以获得更准确的最终预测结果,此外还对GRU的理论内容进行进一步的学习。

Abstract

This week, an article on the financial time series prediction model based on CEEMDAN-LSTM is readed. In this paper, a financial time series prediction model based on adaptive noise and fully integrated empirical mode decomposition (CEMDAN) and long-term and short-term memory (LSTM) networks is proposed. After CEEMDAN decomposition, wavelet threshold denoising and reconstruction, the denoised signal is obtained. Using the denoised signal instead of the original signal as the input of LSTM network can obtain more accurate final prediction results, and the theoretical content of GRU is studyed.

文献阅读

题目

Financial time series forecasting model based on CEEMDAN-LSTM

问题与创新

目前广泛使用的金融数据去噪方法是通过小波去噪等方法对整个序列进行去噪或平滑处理,然后将结果划分到两个不同的数据集中,通常被称为训练集和测试集。这实际上是在去噪过程中使用未来信息,可以提高历史数据的拟合度。然而使用未来的数据并不能真正提高预测能力。
本文提出了一种基于自适应噪声的完全集成经验模式分解(CEMDAN)和长短期记忆(LSTM)网络的金融时间序列预测模型。在实际应用中,未来的信息不能用于预测,因此引入滑动时间窗将原始序列分解为等长序列的簇。经过CEEMDAN分解、小波阈值去噪和重构,得到去噪后的信号。使用去噪信号代替原始信号作为LSTM网络的输入,将获得更准确的最终预测结果。以平安银行的股价数据为例,多种模型被用来预测其价格。结果表明,与标准LSTM模型和常用的结合经验模态分解的预测方法相比,所提出的CEEMDAN-LSTM模型具有更好的预测效果。在一段时间内使用滑动窗口对数据进行去噪更具有实际意义。

方法

A.CEMDAN方法

经验模态分解具有自适应性,克服了小波分解需要设置基函数的问题。EMD本质上是一个稳定化过程,它通过一个固定的模态将序列从不同尺度的平稳波动项和一个残差趋势项中分离出来,每个波动项称为固有模态函数(IMF)。原始信号S(t)可以用分解项的求和形式来描述。有以下等式:
在这里插入图片描述

IMFi(t)和R(t)分别表示第i个IMF,即残差函数。n表示IMF分量的总和。

CEEMDAN在EMD分解后加入带有辅助噪声的IMF分量,而不是直接将高斯白色噪声信号加入到原始信号中。 CEEMDAN分解中,在获得一阶IMF分量后进行整体平均计算,然后对剩余部分重复上述操作,有效地解决了白色噪声从高频向低频传递的问题。CEEMDAN算法可以描述如下:
(1) 将高斯白色噪声添加到原始信号
在这里插入图片描述

j ∈ [1,.,J],ωj(t)表示第j个具有正态分布的噪声信号,ω j为噪声系数。
(2) 对每个Sj(t)进行EMD分解,得到第一个IMF在这里插入图片描述 ,然后提取CEEMDAN的第一个IMF
在这里插入图片描述
(3) 计算去除第一模态分量后的残差R1(t):
在这里插入图片描述

(4) 重复(1)至(3),直至残留信号符合要求。原始信号可以表示为
在这里插入图片描述

信号经过CEEMDAN分解后,不能直接丢弃高频分量。可以对高频信号部分进行滤波去噪,然后利用去噪后的信号进行重构,既可以避免信息的大量损失,又可以滤除部分噪声。

常用的去噪方法是小波阈值去噪法:
在这里插入图片描述

f ′(t)表示滤波后的函数,符号表示符号函数。在(7)中,median返回中位数。

B.LSTM网络

控制单元状态信息增加或减少的结构称为门。在LSTM块中有三个这样的门,即遗忘门,输入门和输出门。通过这些门结构,LSTM可以记忆、更新、遗忘一些信息。
在这里插入图片描述

以遗忘门举例说明:
遗忘门通过将先前状态ht-1的输出和当前状态输入信息xt输入到sigmoid函数中,生成0和1之间的值,并将其与单元状态相乘,结果0表示遗忘,1表示完全记住。
在这里插入图片描述

C. CEEMDAN-LSTM模型

现实中,股票市场金融时间序列受短期噪声影响较大,因此以损失少量信息为代价,在进行预测前对序列进行去噪处理,有助于提高预测的准确性和可靠性。

本文提出的模型流程图如图2所示:
在这里插入图片描述

  1. 原始信号处理:获取的股市数据包括多个维度,每个维度的数据需要单独提取和处理。
  2. 信号分解-去噪-重构:对分解后的IMF信号不进行去噪处理,而是只对噪声能量高的IMF分量进行去噪处理。
  3. 数据预测:去噪后,重建的信号通过LSTM网络得到最终的预测值。虽然神经网络只有4层,但去噪后的信号具有更明显的特征,通过网络仍然可以得到更好的预测结果。

实验过程

数据集与数据预处理

选取平安银行2010年1月至2021年12月的九项特征数据作为原始数据。每天的数据形成一个九维向量,具有九个特征:最高价、最低价、开盘价、收盘价、换手率、昨日收盘价、成交量、涨跌、成交金额。2010年1月至2018年12月的数据作为训练集,2019年1月至2021年12月的数据作为测试集。

为了克服特征序列之间维数不同的影响,提高模型精度,提高迭代求解的收敛速度,首先对数据进行归一化处理:
在这里插入图片描述

得到网络输出后,需要通过逆归一化得到最终结果。

参数设置

将滑动时间窗口设置为120,并使用最近的10个历史数据来预测下一个值。通过滑动窗口,可以获得长度为120的多个序列。每个序列去噪后,最后10个结果作为LSTM的输入,网络的输出是预测值。

评价指标和参数

该模型的效果一般通过以下四个评价指标来衡量:
在这里插入图片描述

实验结果

下图表示使用相同数据集的三个不同模型的预测误差:
在这里插入图片描述

在三个指标上,ES-LSTM和CEEMDAN-LSTM模型的预测性能相近,且明显优于原始模型LSTM。与ES-LSTM模型相比,CEEMDAN-LSTM模型性能非常接近,并且可以反映更详细的变化,在金融时间序列特别是股票价格序列中更加实用。

深度学习

GRU

GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。GRU既然是LSTM的变体,因此也是可以解决RNN网络中的长依赖问题。

在LSTM中引入了三个门函数:输入门、遗忘门和输出门来控制输入值、记忆值和输出值。而在GRU模型中只有两个门:分别是更新门和重置门。具体结构如下图所示:
在这里插入图片描述

图中的zt和rt分别表示更新门和重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门控制前一状态有多少信息被写入到当前的候选集 在这里插入图片描述上,重置门越小,前一状态的信息被写入的越少。

GRU前向传播

根据上面的GRU的模型图,推导出GRU网络的前向传播公式:
在这里插入图片描述

GRU的训练过程

从前向传播过程中的公式可以看出要学习的参数有Wr、Wz、Wh、Wo。其中前三个参数都是拼接的(因为后先的向量也是拼接的),所以在训练的过程中需要将它们分割出来:
在这里插入图片描述

输出层的输入:
在这里插入图片描述

输出层的输出:
在这里插入图片描述

在得到最终的输出后,就可以写出网络传递的损失,单个样本某时刻的损失为:
在这里插入图片描述

则单个样本的在所有时刻的损失为:
在这里插入图片描述

采用后向误差传播算法来学习网络,所以先得求损失函数对各参数的偏导(总共有7个):
在这里插入图片描述

其中各中间参数为:
在这里插入图片描述

在算出了对各参数的偏导之后,就可以更新参数,依次迭代知道损失收敛。

概括来说,LSTM和CRU都是通过各种门函数来将重要特征保留下来,这样就保证了在long-term传播的时候也不会丢失。此外GRU相对于LSTM少了一个门函数,因此在参数的数量上也是要少于LSTM的,所以整体上GRU的训练速度要快于LSTM的。不过对于两个网络的好坏还是得看具体的应用场景。

总结

GRU是LSTM的简化轻量版,训练速度快于LSTM,但并不意味着任何场景都优于LSTM,还要具体问题具体分析。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FineBI实战项目一(22):各省份订单个数及订单总额分析开发

点击新建组件,创建各省份订单个数及订单总额组件。 选择自定义图表,将province拖拽到横轴,将cnt和total拖拽到纵轴。 调节纵轴的为指标并列。 修改横轴和纵轴的标题。 修改柱状图样式: 将组件拖拽到仪表板。 结果如下:…

windows同时安装mysql5.0和8.0步骤(完美测试)

mysql5.0和mysql8.0配置如下 1.把如下配置复制下替换到my.ini中 mysql5.0配置如下 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirF:\mysql-5.7.38 # 设置mysql数据库的数据的存放目录 datadirF:\mysql-5.7.38\data # 允许最大连接数 max_connections200 #…

【linux驱动开发】在linux内核中注册一个杂项设备与字符设备以及内核传参的详细教程

文章目录 注册杂项设备驱动模块传参注册字符设备 开发环境: windows ubuntu18.04 迅为rk3568开发板 注册杂项设备 相较于字符设备,杂项设备有以下两个优点: 节省主设备号:杂项设备的主设备号固定为 10,在系统中注册多个 misc 设备驱动时&…

JRebel热部署

热部署 什么热部署,简单来说我们正常的java项目需要编写java代码,但电脑执行的可不是java代码,而是转换后的class文件。这也意味着我们对程序进行微调,也要重新编译才能让程序展示我们需要的状态 而且不仅仅是我们手写的java文件…

统计学-R语言-4.3

文章目录 前言直方图茎叶图箱线图练习 前言 本篇介绍的是数值型数据怎么进行数据可视化,本篇介绍的有直方图、茎叶图、箱线图。 直方图 直方图(Histogram)用于描述连续型变量的频数分布,实际应用中常用于考察变量的分布是否对称…

谷粒商城P139集——云服务器frp内网穿透+nginx完美解决方案

1、修改本地HOST C:\Windows\System32\drivers\etc 目录下 host文件 上面前面是自己的云服务器ip 测试:如域名为gulimall.com 备注如果自己的云服务器nginx端口不是80 访问的时候记得打开 可以访问9200或者nacos尝试 则在浏览器中输入gulimall.com:9200&#xf…

解决“Ubuntu系统与windows系统之间不能执行复制粘贴”之问题

在win11中,发现“Ubuntu系统与windows系统之间不能互相复制粘贴”,只能通过“FPT客户端FileZilla”才能交换文件,但遇到字符串,就没法实现了,因此,在两个系统之间实现互相复制和粘贴字符串,就很…

x86是什么?

x86是一系列CPU架构的统称,这一术语起源于1978年,当时Intel发布了其首款16位微处理器——8086。这款处理器在当时引起了极大的关注,因为它首次引入了许多先进的技术,如寄存器间接寻址和分段内存管理等。随后,Intel又相…

【InternLM 大模型实战】第四课

XTuner 大模型单卡低成本微调实战 FINETUNE简介指令跟随微调增量预训练微调LoRA & QLoRA XTuner简介功能亮点适配多种生态适配多种硬件 8GB 显卡玩转LLMFlash AttentionDeepSpeed ZeRO 动手实战环节环境配置微调准备配置文件模型下载数据集下载修改配置文件开始微调将得到的…

中间人攻击如何进行防护

中间人攻击(Man-in-the-Middle Attack,简称 MITM 攻击)是一种常见的网络攻击方式,攻击者通过截获两个通信实体之间的通信数据,并在此基础上进行篡改、窃取或伪造等恶意行为。这种攻击方式因其攻击手段的隐蔽性和难以防…

LeetCode讲解篇之47. 全排列 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 初始化一个nums中元素是否被访问的数组used、记录还需要递归的深度deep,遍历nums,如果当前元素被访问过或者当前元素等于前一个元素且前一个元素没被访问过就跳过该次遍历,否则选择当前…

基于SSM+vue的篮球场预约管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

mac上部署单体hbase

1. 简介 HBase 是一个开源的、分布式的、版本化的典型非关系型数据库。它是 Google BigTable 的开源实现,并且是 Apache 基金会的 Hadoop 项目的一部分1。HBase 在 Hadoop Distributed File System (HDFS) 上运行,作为一个列式存储非关系数据库管理系统…

JFinal综合信息管理系统

项目地址:mendianyu/AdvancedManagement: 综合信息管理系统 (github.com) 项目演示地址:软件构造大作业演示视频_哔哩哔哩_bilibili 项目功能 一:基于Jfinal构建信息管理系统,要求包含用户管理,翻译业务模块管理&…

redis复习总结

我的redis 1. redis集群 主从集群【哨兵集群】:主从集群是指中,存在一个master节点和多个slave节点。master节点负责接收客户端的读写,slave节点负责读操作。主节点一旦接收到数据的变更,就会将数据同步至slave节点。 但这样的…

集合(二)Collection集合Set

一、Set介绍: 是一个散列的集合,数据会按照散列值存储的,如两个hello的散列值相同,会存储在同一个地址中,所以看到的就是只有一个hello在集合中了。 1、Set集合有两个主要的实现子类:Hashset和Treeset。ha…

ZooKeeper 实战(四) Curator Watch事件监听

文章目录 ZooKeeper 实战(四) Curator Watch事件监听0.前言1.Watch 事件监听概念2.NodeCache2.1.全参构造器参数2.2.代码DEMO2.3.日志输出 3.PathChildrenCache3.1.全参构造器参数3.2.子节点监听时间类型3.2.代码DEMO 4.TreeCache4.1.构造器参数4.2.代码DEMO4.3.日志输出 ZooKe…

代码随想录算法训练营第四天 |链表总结

1、每次先加判断: if (head null) {return head;} 2、ListNode dummy new ListNode(-1, head);和ListNode dummy new ListNode(-1);区别: 在Java中,ListNode dummy new ListNode(-1, head); 和 ListNode dummy new ListNode(-1); 的主…

软考学习笔记--操作系统-进程管理

进程管理是一个具有独立功能的程序关于数据集合的一次可以并发执行的运行活动,是系统进行资源分配和调度的基本单位。相对于程序,进程是动态的概念,而程序是静态的概念,是指令的集合。进程具有动态性和并发性,需要一定…

LeetCode讲解篇之39. 组合总和

文章目录 题目描述题解思路题解代码 题目描述 题解思路 首先排序数组,然后开始选择数字,当选择数字num后,在去选择大于等于num的合法数字,计算过程中的数字和,直到选数字和等于target, 加入结果集,若数字和…