2024/1/14周报

news2024/9/25 7:23:31

文章目录

  • 摘要
  • 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,还要具体问题具体分析。

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

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

相关文章

Spark---RDD(Key-Value类型转换算子)

文章目录 1.RDD Key-Value类型1.1 partitionBy1.2 reduceByKey1.3 groupByKeyreduceByKey和groupByKey的区别分区间和分区内 1.4 aggregateByKey获取相同key的value的平均值 1.5 foldByKey1.6 combineByKey1.7 sortByKey1.8 join1.9 leftOuterJoin1.10 cogroup 1.RDD Key-Value…

通过代理连接sftp

通过nginx代理连接sftp 1.问题描述2.代码实现3.nginx配置3.1 创建sftp.stream文件3.2 修改nginx配置 4.重启nginx生效 1.问题描述 问题是这样的。我们现在需要在微服务所在内网的A机器连接到外网的sftp,但是网络又不能直接到达。然后A机器到B机器是通过的&#xff…

设计模式之策略模式【行为型模式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某…

新手入门:软件在测试过程中可能出现哪些问题?走,去看看~

对于很多测试新手来说,想要把自己的测试技术练得更精进,扎实自己的理论知识是必不可少的一门功课。下面,我们就一起来复习一下,那些让我们一知半解或者记不全的理论知识吧。 01 什么是软件测试? 最老套,但…

不要再搞混标准化与归一化啦,数据标准化与数据归一化的区别!!

数据标准化与归一化 1. 数据的标准化(Standardization):2. 数据的归一化(Normalization):总结(数据标准化和数据归一化的不同之处和相同之处) 1. 数据的标准化(Standardi…

【数据结构】二叉树问题总结

目录 1.二叉树前序遍历,中序遍历和后序的实现 2.层序遍历 3.求二叉树中的节点个数 4.求二叉树中的叶子节点个数 5.求二叉树的高度 6.求二叉树第k层节点个数 7.二叉树查找值为x的节点 8.单值二叉树 9.二叉树最大深度 10.翻转二叉树 11. 检查两颗树是否相同…

【Linux实用篇】Linux常用命令(2)

目录 1.3 拷贝移动命令 1.3.1 cp 1.3.2 mv 1.4 打包压缩命令 1.5 文本编辑命令 1.5.1 vi&vim介绍 1.5.2 vim安装 1.5.3 vim使用 1.6 查找命令 1.6.1 find 1.6.2 grep 1.3 拷贝移动命令 1.3.1 cp 作用: 用于复制文件或目录 语法: cp [-r] source dest ​ 说明: …

数据分析概述2(详细介绍机器学习

目录 1.名词解释:1.1算法和模型1.2参数和超参数 2.基础算法:3.高级算法:4.数据准备5.常用python包小结: 1.名词解释: 1.1算法和模型 算法:用于训练模型的方法,分为有监督学习、无监督学习、半…

Centos7安装K8S

Centos7安装K8S 安装过程中没有出现的错误可以往下 根据以前一些博主写的博客,在小阳翻了不下几十篇博客之后,我果断是放弃了,于是找到了官网地址,然后也有坑 1. 关闭防火墙 systemctl stop firewalld systemctl disable firew…

算法通关村番外篇-LeetCode编程从0到1系列四

大家好我是苏麟 , 今天带来算法通关村番外篇-LeetCode编程从0到1系列四 . 矩阵 1672. 最富有客户的资产总量 描述 : 给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产…

【UEFI基础】EDK网络框架(IP4)

IP4 IP4协议说明 IP全称Internet Protocol,它属于网络层,对其下各种类型的数据链路层进行了包装,这样网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。 IP层的主要作用就是“实现终端…

java应用CPU过高查找原因

用top查到占用cpu最高的进程pid 根据进程ID找到占用CPU高的线程 ps -mp 60355 -o THREAD,tid | sort -r 用 printf "%x \n" 将tid换为十六进制:xid printf "%x \n" 6036 根据16进制格式的线程ID查找线程堆栈信息 jstack 60355 |grep ebcb -A…

Fiddler怎么抓请求做接口

第一步:安装fiddler 可以在官网下载最新版本 VIP小伙伴可以在课前准备下载,如果已经安装,请忽略 打开fiddler开始抓取测试对象的请求,以教管系统登录为例 打开fiddler,准备开始抓取,清空会话,开启抓取状态,因为fiddler默认抓取http协议,所以这里不需要设置什么。 打开系统登…

Windows项目部署流程

一、部署前需要的工作 ①配置环境变量:将所需的软件和工具的安装路径添加到系统的环境变量中,以便在命令行中可以直接使用。 ②部署项目文件:将项目的文件和代码复制到服务器上的指定目录中,例如Web服务器的网站根目录。 ③配置…

idea使用谷歌翻译 有道翻译 百度翻译

中文版:文件——设置——工具——Translation,然后选择需要配置的翻译 英文版:File——settings——Tools——Translation,然后选择需要配置的翻译 谷歌翻译大家可以度娘直接搜索Google_translation_win 有道和百度翻译得去注册申…

什么是有机搜索引擎优化以及如何入门

什么是有机搜索引擎优化? 有机搜索引擎优化,简称 SEO,是指从搜索引擎的无偿搜索结果中增加网站流量的做法。 未付费搜索结果是获得的列表,而不是付费的。 这样做的目的是让您的网页在与您业务相关的未付费搜索结果中排名靠前。…

Spring自带分布式锁你用过吗?

环境:SpringBoot2.7.12 本篇文章将会为大家介绍有关spring integration提供的分布式锁功能。 1. 简介 Spring Integration 是一个框架,用于构建事件驱动的应用程序。在 Spring Integration 中,LockRegistry 是一个接口,用于管理…

无需任何三方库,在 Next.js 项目在线预览 PDF 文件

前言: 之前在使用Vue和其它框架的时候,预览 PDF 都是使用的 PDFObject 这个库,步骤是:下载依赖,然后手动封装一个 PDF 预览组件,这个组件接收本地或在线的pdf地址,然后在页面中使用组件的车时候…

黑马程序员 Docker笔记

本篇学习笔记文档对应B站视频: 暂时无法在飞书文档外展示此内容 同学们,在前两天我们学习了Linux操作系统的常见命令以及如何在Linux上部署一个单体项目。大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的同学以外&a…

学习笔记-mysql基础(DDL,DML,DQL)

一.DDL DDL,Data Definition Language,数据库定义语言,该语言包括以下内容: 对数据库的常用操作对表结构的常用操作修改表结构 1.对数据库的常用操作 -- 查看所有的数据库 show databases -- 创建数据库 create database [if not exists] test [charsetutf8] -- 切换 选择 …