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

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98

“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure”

论文地址:https://arxiv.org/pdf/2501.09760

​​​​​​​

摘要

本研究引入了一种创新的多层次混合多任务学习架构,致力于提升股市预测的效能。此架构融合了Transformer编码器、双向门控循环单元(BiGRU)以及Kolmogorov-Arnold网络(KAN)。据实验结果表明,相较于其他模型,该架构在预测准确度方面表现更佳,其平均绝对误差(MAE)可低至1.078,平均绝对百分比误差(MAPE)最小达到0.012,决定系数(R²)最高为0.98。

简介

股票市场预测对投资者和企业来说极为关键,但因数据的复杂性,传统统计模型如ARMA、ARIMA和GARCH等在效果上存在局限。相比之下,机器学习技术在股票预测方面表现更优,特别是深度学习方法(例如卷积神经网络和递归神经网络)展示了更强大的学习能力。传统方法通常忽略了不同股票间的相互关系,而引入空间维度可以改进预测精度,图神经网络(GNN)在这方面已被采用。Transformer模型通过注意力机制能有效捕捉复杂的关联性,但在处理长序列和高维数据时面临挑战。KAN(知识增强网络)利用边函数参数替代传统的权重设置,提高了对非线性函数的逼近能力。集成学习策略在金融预测领域中表现出明显优势,本研究提出的算法可作为集成学习框架的一部分。该研究介绍了一种结合了Transformer编码器、双向门控循环单元(BiGRU)与KAN的多层混合多任务学习框架,旨在提升股票市场预测的效率及准确性。

01相关工作

股票市场趋势预测对于学术研究和实际操作都极为重要。预测手段涵盖了从传统统计方法到先进的机器学习模型。过去,传统方法在该领域占据主导地位,然而,随着神经网络和深度学习等机器学习算法的兴起,这一状况正在发生变化。通过结合传统技术与现代方法,混合模型能够提供更高的预测精度和稳定性。

传统方法

传统股票市场预测方法涉及时间序列模型和隐马尔可夫模型(HMM)。Devi等人率先应用ARIMA模型来预测市场趋势,Khanderwal指出ARIMA更适合短期预测。Marisetty等人则采用GARCH模型研究了五大金融指数的波动性,表明GARCH是进行波动性预测的理想选择。Gupta等人提出了基于HMM的最大后验估计器,用于预测次日股票价格,并发现其性能优于ARIMA和ANN模型。Su等人将HMM从传统的离散形式扩展到连续形式,以更好地适应股票价格趋势的预测。

然而,由于传统统计方法本质上具有线性特征,它们在股价剧烈波动的情况下表现不佳。为解决这一问题,Mattera等人引入了动态网络自回归条件异方差(ARCH)模型,以提高处理高维输入数据时的股票预测准确性。

机器学习方法

机器学习,特别是神经网络模型,在股票价格预测方面展现了最高的准确性。例如,Vijh等人利用人工神经网络和随机森林来预测五家公司的次日收盘价。在处理复杂的非线性数据时,深度学习方法显示出比传统技术更优的性能。尤其是在股票指数预测中,LSTM单输入模型的表现超过了传统的机器学习模型。此外,采用多变量的深度学习方法能够更精准地预测股市波动。Tang等人开发的基于小波变换的LSTM模型,通过使用多维数据输入,实现了72.19%的准确率。Deep等人提出的多因子分析模型,整合了技术分析、基本面分析、机器学习以及情感分析,其表现超越了单一因子的模型。

混合方法

混合学习模型通过整合多种预测技术来提高准确性和减少过拟合。首次提出的集成模型是在2001年,Abraham等人开发了结合神经模糊逻辑和人工神经网络的早期混合模型,展现了出色的预测性能和趋势分析能力。Shah等人的研究考察了多种股票价格预测手段,认为融合统计方法与机器学习技术的混合策略更为有效。Shui-Ling等人设计了一种新的ARIMA-RNN混合模型,解决了单一模型在波动性预测和神经网络过拟合方面的局限。Zhang等人提出的ARIMA-CNN-LSTM模型在股票指数预测上提供了卓越的准确度和稳定性。Tian等人研发的多层次双向LSTM-BO-LightGBM模型则在股票价格波动预测中表现出更强的逼近能力和泛化性能。Lv等人提出的CEEMDAN-DAE-LSTM混合模型引入了特征提取模块DAE,增强了对波动性股票指数的预测效果。

研究显示,集成学习模型在处理复杂动态数据集时显著提升了预测精度,凸显了持续发展混合模型的重要性,以适应市场变化和技术进步的需求。

02方法

问题定义

本方法旨在开发一个映射函数 f(A),以进行股票价格预测。输入 A 包含多个特征 x m,而输出则是预测值 f(A)。目标是使该预测值尽可能地接近实际值。

多层混合MTL结构概览

此框架集成了多维金融数据以提高预测准确性,输入数据包括开盘价、收盘价、最低价、最高价、交易量和交易金额。该结构由Transformer编码器、KAN层和BiGRU层组成,能够有效处理高维数据并捕捉各特征间的关系。KAN层旨在优化学习过程,提炼出有意义的数据表示,而BiGRU层则专注于捕捉金融时间序列中的长期依赖关系,同时考虑历史和未来的信息。

通过多任务学习,模型不仅能预测交易量和交易金额,还能利用共享的潜在表示增强股票预测的效果。整个框架的目标是提供精确且稳定的预测结果,以应对金融市场固有的复杂性。

Transformer编码器层

Transformer编码器层由两个主要子层构成:多头自注意力机制和全连接前馈网络,每个子层都包含残差连接和层归一化。在多头自注意机制中,输入向量X被转换为查询(Q)、键(K)和值(V)向量,并行处理多个独立的注意力计算。

每个注意力头独立地计算其注意力权重,采用缩放点积的方法来确定,最终输出是这些加权值向量的总和。所有头部的结果会被拼接在一起,并通过一个线性变换以生成最终输出。使用4个注意力头可以提升预测准确性,同时增强模型识别复杂模式的能力。

前馈网络包括两个线性变换及一个ReLU激活函数,有助于提高模型捕捉非线性特征的能力。Add/Normalize层则利用层归一化与残差连接结合的方式,帮助缓解梯度消失或爆炸的问题。

Detailed KAN层

Li等人将Kolmogorov-Arnold定理的应用扩展到了机器学习领域,开发了KAN神经网络结构。在KAN中,激活函数被设置在边而不是节点上,这使得它能够学习自适应的非线性函数,并允许通过细化节点来提升逼近精度。实验显示,KAN在处理平滑及非线性函数时表现出色,其收敛速度更快,特别是在高维数据方面优于传统的多层感知器(MLP)。

KAN采用单变量函数参数代替传统权重参数,每个节点直接汇总这些函数的输出值,无需进行非线性变换。这种方法特别适用于时间序列预测,与传统的MLP相比,它提供了更高的预测准确性。

Detailed BiGRU层

BiGRU模型是一种利用双向GRU进行多变量时间序列预测的方法,能够有效捕捉数据中的双向依赖关系及多变量间的相互作用。该模型包含两个GRU网络:一个负责从前往后处理序列数据,另一个则从后往前处理。最终的隐藏状态是通过将这两个方向上的隐藏状态拼接而获得的。这些隐藏状态随后会经过一个全连接层,并使用Softmax激活函数来生成输出结果。

03实验

实验设置

为了评估提出方法的有效性,实验分为两部分进行:一是与多种先进方法的比较,二是利用五种已知模型(KAN、Transformer、BiGRU、KAN-BiGRU、Transformer-KAN)进行消融实验。实验的目的在于全面检验所提出的模型在股票价格预测方面的性能和鲁棒性。输入特征涵盖了开盘价、收盘价、最高价和最低价,目标是精确预测未来多个时间步长的各项指标值。

评估指标

使用四个指标来评估模型性能:平均绝对误差(MAE)、均方根误差(RMSE)、平均绝对百分比误差(MAPE)和决定系数(R²)。

  • MAE:用于测量预测值与实际值之间的平均绝对差异,数值越小表示模型的预测能力越强。

  • RMSE:通过将误差转换回原始数据单位,使得误差更易于理解。

  • MAPE:是一种相对误差度量标准,适合用于不同数据集之间模型性能的比较,其值越低表明预测准确性越高。

  • R²:衡量的是自变量能够解释的方差比例,反映出模型对输入数据的拟合程度。

结果

本方法在0-50和120-200时间步区间内与实际值高度吻合,误差低于其他方法。相比之下,其他方法在这些区间往往出现滞后或偏差,无法准确捕捉整体趋势及变化的关键点。特别是在识别局部的高低点(例如40-60和170-200时间步)时,本方法显示出显著的优势,能够有效减少噪声干扰。

模型在处理高频波动区域时表现出良好的稳定性,能够有效地过滤噪声,使得预测曲线更加平滑,更接近真实值。具体而言,在RMSE指标上达到了39.820,相比Hemajothi等人的研究减少了17.2%,这表明了更强的鲁棒性以及对大幅波动和异常值的有效管理能力。R²值为0.977,相较于Gao等人和Hemajothi等人的工作分别提高了4.2%和3.1%,证明了该模型在捕捉短期变动和长期趋势方面的优越表现。尽管MAE和MAPE也有改进,但RMSE和R²的提升尤为关键,这证实了该方法在控制误差和检测趋势上的卓越性能,非常适合复杂、带噪声及非线性的数据序列预测任务。

消融分析

多层混合MTL结构在股票市场预测中展现了出色的预测精度和稳定性,超越了KAN、Transformer、BiGRU等模型。特别是在高频波动区域,其他模型的预测容易受到噪声的影响,而本方法生成的曲线更加平滑,与实际值保持高度一致。

在关键拐点(例如50-70和170-200时间步)的捕捉上,本方法显示出了更高的敏感性和准确性,相比之下,其他模型可能会出现预测滞后或过拟合的问题。对于趋势恢复区间(如150-250时间步),其他模型的预测曲线显示出较大的波动,而本方法能有效过滤噪声,维持稳定表现。

本方法在RMSE指标上达到了21.004,比最佳的Transformer-BiGRU模型低39.7%,同时R²值为0.968,这表明它在复杂数据环境下具有卓越的鲁棒性和趋势捕捉能力。尽管引入Transformer编码器和KAN层增加了模型的时间复杂度,但我们的模型在推理效率方面有了显著提升。通过交叉验证得出的平均测试R²为0.9831,进一步证实了结果的高度可靠性。

04总结

本文介绍了一种多层混合多任务学习(MTL)结构,旨在应对股价预测中的高波动性、复杂性和动态变化。该框架整合了增强型Transformer编码器进行特征提取,使用BiGRU来捕捉长时间的依赖关系,并通过KAN优化学习过程。

实验结果表明,这种学习网络在MAE上最低可达到0.45,R²最高可达0.98,体现了其出色的鲁棒性和预测准确性。研究结果证实了采用互补学习技术来捕捉复杂关系并提升预测性能的有效性。此框架为未来的股市预测研究和实际应用提供了一个前景广阔的新方法。

相关文章:

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98

“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure” 论文地址:https://arxiv.org/pdf/2501.09760 ​​​​​​​ 摘要 本研究引入了一种创新的多层次混合多任务学习架构,致力于提升股市预测的效能。此架构融…...

日本游戏机市场5年来首次陷入萎缩;特斯拉招人推进人形机器人量产;任天堂专利显示Switch2手柄可用作鼠标...| 游戏智眼日报

美团成立“算法顾问委员会” 美团宣布,近日,由外部专家学者组成的算法顾问委员会成立,为美团改进算法提供常态化咨询和指导。每个季度美团将举办算法恳谈会,持续邀请骑手、商家、用户、专家学者和媒体代表等共同参加。美团表示&a…...

114-机器学习分类算法

1、内容简介 略 matlab simulink 114-机器学习分类算法可以交流、咨询、答疑 2、内容说明 略 Elong_6.24。ROCAUC confusion newdata Unbalanced_LR.car 3、仿真分析 略 4、参考论文 略...

【论文阅读】On the Security of “VOSA“

On the Security of Verifiable and Oblivious Secure Aggregation for Privacy-Preserving Federated Learning -- 关于隐私保护联邦中可验证与遗忘的安全聚合的安全性 论文来源摘要Introduction回顾 VOSA 方案对VOSA不可伪造性的攻击对于类型 I 的攻击对于类型 II 的攻击 论文…...

12.6 LangChain检索器(Retrievers)全解析:构建高效RAG应用的核心引擎

LangChain检索器(Retrievers)全解析:构建高效RAG应用的核心引擎 一、检索器的核心价值 检索器是大模型应用的智能导航系统,通过将用户查询与知识库精准匹配,解决了传统搜索的三大痛点: 语义鸿沟:突破关键词匹配,理解用户真实意图多源整合:融合向量搜索、关键词搜索和…...

707设计链表(链表操作)

1、题目描述 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中…...

储能系统-系统架构

已更新系列文章包括104、61850、modbus 、单片机等,欢迎关注 IEC61850实现方案和测试-1-CSDN博客 快速了解104协议-CSDN博客 104调试工具2_104协议调试工具-CSDN博客 1 电池储能系统(BESS) 架构 电池储能系统主要包括、电池、pcs、本地控制…...

Spring Boot 需要独立的容器运行吗

Spring Boot 不需要独立的容器运行,它内置了一个嵌入式的Web服务器(如Tomcat、Jetty或Undertow),所以可以直接作为一个独立的应用程序运行,而不需要外部的Servlet容器。你只需要运行Spring Boot应用,它会自…...

Spring Security在java中的详细用处///为什么用了jwt之后就不能用session

Spring Security 是一个功能强大且高度可定制的认证和授权框架,主要用于基于 Spring 的应用程序中。它不仅处理 HTTP 请求的安全性(包括认证和授权),还提供了其他安全相关的特性如防止 CSRF 攻击、会话管理、安全头信息设置等。以…...

Ubuntu系统 Zabbix 7.2LTS一键部署脚本

为了在 Ubuntu 系统上快速部署 Zabbix 7.2 LTS 版本,您可以使用一个自动化 Bash 脚本来简化安装过程。以下是一个适用于 Ubuntu 系统的 Zabbix 7.2 LTS 一键部署脚本。此脚本将安装 Zabbix Server、Zabbix Web 界面(基于 Nginx 和 PHP)以及 Z…...

基于HTML、CSS 和 JavaScript 开发个人读书类网站

以下是一个使用 HTML、CSS 和 JavaScript 开发个人读书类网站的示例代码,包含基本功能和样式: 我的读书空间 我的书库 首页 添加新书 <div class="container"><!-- 首页内容 --><div id="home"><h2>当前阅读列表</h2><…...

Ollama python交互:chat+embedding实践

Ollama简介 Ollama 是一个开源的大型语言模型&#xff08;LLM&#xff09;平台&#xff0c;旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型&#xff0c;支持文本生成、翻译、代码编写、问答等…...

安卓路由与aop 以及 Router-api

安卓路由&#xff08;Android Router&#xff09;和AOP&#xff08;面向切面编程&#xff09;是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。 一、安卓路由 安卓路由主要用于在应用程序中管理不同组件之间的导航和通信。它可以简化…...

ip属地是手机号还是手机位置?一文理清

在数字化和网络化的今天&#xff0c;IP属地这一概念逐渐成为了人们关注的焦点。特别是在社交媒体和在线平台上&#xff0c;IP属地的显示往往让人联想到用户的地理位置。然而&#xff0c;关于IP属地到底与手机号还是手机位置有关&#xff0c;却存在着不少误解和混淆。本文将深入…...

迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP

在应用代码中我们实现如下功能&#xff1a; 当应用程序启动后会获取命令行参数。如果命令行没有参数&#xff0c;LED 灯将循环闪烁&#xff1b;如果命令行带有参数&#xff0c;则根据传输的参数控制 LED 灯的开启或关闭。通过 HdfIoServiceBind 绑定 LED灯的 HDF 服务&#xff…...

Vue 鼠标事件合集,关于鼠标右键的处理方法(改写鼠标右键方法、自定义鼠标右键)

鼠标事件使用 mousedown"canvasDown($event)"按下事件合集 click 点击某个对象时触发 mousedown 鼠标按钮被按下时触发 mouseup 鼠标按钮被松开时触发 mouseleave 当鼠标指针移出元素时触发 dblclick 双击时触发 mousemove 鼠标移动时触发&#xff0c…...

项目实操:windows批处理拉取git库和处理目录、文件

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

【Elasticsearch】terms聚合误差问题

Elasticsearch中的聚合查询在某些情况下确实可能存在误差&#xff0c;尤其是在处理分布式数据和大量唯一值时。这种误差主要来源于以下几个方面&#xff1a; 1.分片数据的局部性 Elasticsearch的索引通常被分成多个分片&#xff0c;每个分片独立地计算聚合结果。由于数据在分…...

PHP JSON操作指南

PHP JSON操作指南 概述 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。PHP作为一门流行的服务器端脚本语言&#xff0c;支持对JSON数据进行读取、编写和解析。本文将…...

在C#中,Array,List,ArrayList,Dictionary,Hashtable,SortList,Stack的区别

Array Array你可以理解为是所有数组的大哥 普通数组 : 特点是长度固定, 只能存储相同类型的数据 static void Main(string[] args){//声明int[] ints;string[] strings;People[] peoples;//默认值 //int 类型是 0//string 类型是 nullint[] ints1 { 1, 2, 3 };string[] …...

JavaScript的 switch 方法

• 1. 浅说JavaScript的 switch 方法 • 1.1. 语法 • 1.2. 关键点 • 1.3. 示例 • 1.4. 注意事项 1. 浅说JavaScript的 switch 方法 在JavaScript中&#xff0c;switch 语句是一种多分支选择结构&#xff0c;用于根据不同的条件执行不同的代码块。 它提供了一种比多个…...

OpenBMC:通过qemu-system-arm运行编译好的image

OpenBMC&#xff1a;编译_openbmc meson.build file-CSDN博客 讲述了如何编译生成openbmc的image 完成编译后可以通过qemu-system-arm进行模拟加载&#xff0c;以便在没有BMC硬件的情况下进行调试 1.下载qemu-system-arm 在openbmc的上级目录上执行 wget https://jenkins.op…...

算法9--链表

链表 原理经典例题[2. 两数相加](https://leetcode.cn/problems/add-two-numbers/description/)[24. 两两交换链表中的节点](https://leetcode.cn/problems/swap-nodes-in-pairs/)[143. 重排链表](https://leetcode.cn/problems/reorder-list/description/)[23. 合并 K 个升序链…...

Mac本地部署DeekSeek-R1下载太慢怎么办?

Ubuntu 24 本地安装DeekSeek-R1 在命令行先安装ollama curl -fsSL https://ollama.com/install.sh | sh 下载太慢&#xff0c;使用讯雷&#xff0c;mac版下载链接 https://ollama.com/download/Ollama-darwin.zip 进入网站 deepseek-r1:8b&#xff0c;看内存大小4G就8B模型 …...

[Java基础]函数式编程

Lambda函数 JDK8新增的语法形式, 使用Lambda函数替代某些匿名内部类对象&#xff0c;从而让程序代码更简洁&#xff0c;可读性更好。 基本使用 lambda表达式只能简化函数式接口的匿名内部类写法 // 1.定义抽象类 abstract class Animal {public abstract void crt(); }publi…...

Linux 零拷贝技术

一、传统做法&#xff0c;经历“四次拷贝” 数据 1.读取到内核缓冲区 2.拷贝到用户缓冲区 3.写入到内核缓冲区 4.拷贝到网卡 使用 DMA&#xff0c;减少2次拷贝&#xff0c;还剩2次拷贝 DMA 负责硬盘到内核缓冲区和内核到网卡的传输。 CPU 仍需处理内核和用户缓冲区之间的数据…...

【完整版】DeepSeek-R1大模型学习笔记(架构、训练、Infra)

文章目录 0 DeepSeek系列总览1 模型架构设计基本参数专家混合模型&#xff08;MoE&#xff09;[DeepSeek-V2提出, DeepSeek-V3改良]多头潜在注意力&#xff08;MLA&#xff09;[DeepSeek-V2提出]多token预测&#xff08;MTP&#xff09;[DeepSeek-V3提出] 2 DeepSeek-R1-Zero及…...

数据结构(1)——算法时间复杂度与空间复杂度

目录 前言 一、算法 1.1算法是什么&#xff1f; 1.2算法的特性 1.有穷性 2.确定性 3.可行性 4.输入 5.输出 二、算法效率 2.1衡量算法效率 1、事后统计方法 2、事前分析估计方法 2.2算法的复杂度 2.3时间复杂度 2.3.1定义 2.3.2大O渐进表示法 2.3.3常见时间复…...

uniapp小程序自定义中间凸起样式底部tabbar

我自己写的自定义的tabbar效果图 废话少说咱们直接上代码&#xff0c;一步一步来 第一步&#xff1a; 找到根目录下的 pages.json 文件&#xff0c;在 tabBar 中把 custom 设置为 true&#xff0c;默认值是 false。list 中设置自定义的相关信息&#xff0c; pagePath&#x…...

C++编程语言:抽象机制:模板(Bjarne Stroustrup)

目录 23.1 引言和概观(Introduction and Overview) 23.2 一个简单的字符串模板(A Simple String Template) 23.2.1 模板的定义(Defining a Template) 23.2.2 模板实例化(Template Instantiation) 23.3 类型检查(Type Checking) 23.3.1 类型等价(Type Equivalence) …...