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

GRU模型这波牛市应用股价预测

之前学了大部分的基础,学习率,损失函数的。现在开始进入正式的应用探索。

我以前觉得AI用在学语言,画图,生成视频。挺有创意的。现在呢不搞那些了,折腾来去的也没挣钱,趁着牛市就预测股价。还是应用在金融上直接粗暴,搞点钱继续周游世界。

GRU是(Gated Recurrent Unit),它是循环神经网络(RNN)的一种改进形式。目的是解决RNN在长序列中存在梯度消失的问题,同时保持计算效率。

第一步,咱先回顾下RNN是个啥,反正我记性不好。

数学表达:

设:

  • 当前输入为x_t
  • 上一时刻的隐藏状态为h_t-1
  • 当前时刻的隐藏状态为h_t
  • 输出为y_t

1、隐藏状态更新:h_t=tanh(Wxh * x_t+Whh * h_t-1 +b_h)

2、输出计算:y_t=Why * h_t+b_y

其中:

  • Wxh,Whh,Why是权重矩阵
  • b_h,b_y是偏置项
  • tanh是激活函数

这里举例下:

假设输入向量x_t是3维度,(价格,成交量,新闻情绪),隐藏状态h_t是128维。

那么Wxh是128*3的矩阵,Whh是128*128的矩阵。h_t是一个128维向量。这里的h是hidden的意思

这个简单的讲,就是一个矩阵乘法,把输入的维度变成另一个维度而已。输出y也是,你想输出几维就几维度。比如想输出2维度,(价格,涨的概率);一维度,就是价格。

什么是时间步?

在RNN种,时间步指的是序列种每一个位置,比如:

对于序列【x1,x2,x3,x4,x5】,我们可以说它有5个时间步。

每个时间步都有一个输入x_t,RNN会根据当前输入和前一个隐藏状态来更新当前隐藏状态。

什么是样本?

一个样本是一个完整输入序列和目标,例如:

样本1:输入【x1,x2,x3,x4,x5】,目标预测x6

样本2:输入【x2,x3,x4,x5,x6】,目标预测x7

但是这样的样本存在一个问题,不同时间2个输入如果完全一样的,模型是区分不出时间概念的。

RNN怎么处理的呢?

向前传播:通过不断计算每一个时间步,得到隐藏状态h5,来预测x6。

向后传播:因为我们只有最后一个预测值,所以求导只能直接用最后一个∂L/∂h_T。那么我们要求导上一个咋办,∂L/∂h_(T-1)=∂L/∂h_T * ∂h_T/∂h_(T-1)。

我们算这些值干啥呢,目的什么?最终是要更新W_h和W_x和b的。因为算这些要用到。

因为∂h/∂W= ∂h/∂z * ∂z/∂W( 你看h_t的公式就明白了,这些都是大一高数,简单的很)

RNN的问题

梯度消失:早期的信息会再反向传播时逐渐冲淡,大破之模型难以学习长期依赖。

梯度爆炸:梯度在传播过程种指数级增长,导致训练不稳定。

【你看公式∂L/∂h_(T-1),发现很多个要乘,要么乘来乘去越来越小梯度消失;要么乘来乘去越来越大梯度爆炸】

那怎么解决?

LSTM和GRU,就是让模型记住该记住的,忘掉该忘掉的。

特征LSTMGRU
结构复杂度较复杂(有三个门:
输入门,遗忘门,输出门)
较简单(只有2个门:更新门,重置门)
参数数量更多更少
训练速度
表现能力某些任务中更强多数任务中表现相近或更优
控制机制显示控制记忆单元合并隐藏状态和记忆单元

LSTM:

  • 遗忘门:决定保留多少过去的信息
  • 输入门:决定当前输入对记忆的影响
  • 输出门:决定当前记忆对输出的影响
  • 记忆单元:贯穿整个序列

GRU:(为了简化LSTM)

  • 更新门:控制当前状态和过去状态的融合程度
  • 重置门:控制当前输入与过去的结合方式
  • 没有单独记忆单元,隐藏状态本身就携带信息

LSTM适合长期依赖的复杂任务,比如机器翻译

GRU适合资源受限或者要求训练速度高,比如移动端部署,快速原型。

目前选择简单轻量的GRU来预测股市。

这些门会根据当前输入和过去的隐藏状态,计算一个“保留比例”:

  • 如果当前输入和过去状态 高度相关,门就倾向于保留过去信息
  • 如果当前输入和过去状态差异较大,门就倾向与更新为新信息

第二步 拉数据

https://tushare.pro/ 注意一个点,价格要拉前复权的。这里没得说,拉csv用就是了

第三步 pytorch搞模型训练

自己写GRU的,很简单。

第四步 调整参数

价格最好转成周平均,月平均,预测日的收盘价很难,波动大。

然后滑动窗口多大,选的股是季节性还是稳定向上的,波动大还是小的。得自己有个大致了解。

下图是中金岭南的,属于有色金属,季节性的。我来回收割过几波

http://www.dtcms.com/a/435027.html

相关文章:

  • 浙江中联建设集团网站七牛云cdn配置wordpress
  • No020:元学习与自我进化——当DeepSeek开始优化DeepSeek
  • 朝阳专业做网站网站的服务内容
  • 大连网站建设开发做最好的在线看片网站
  • 多模态大语言模型OISA
  • 151.翻转字符串里的单词
  • 【保姆级教程】解决 uiautomator2+weditor 连接模拟器的全流程问题(以 MuMu 为例)
  • 怎样做外部网站推广做网站税率
  • 如何实现午休自动播放音乐并定时关闭?
  • 20251002——在MAXWELL中将3D实体变透明
  • php网站建设外国参考文献中小企业商务网站建设
  • 关于K-means和FCM的凸性问题讨论
  • 2025年渗透测试面试题总结-97(题目+回答)
  • 将图片中的图形转换为可编辑的 PPT 图形
  • 锦州宝地建设集团有限公司网站中文域名查询
  • 怎么自己做刷东西的网站苏州seo排名优化课程
  • 外贸免费p2p网站建设煤棚网架公司
  • [工作流节点7] 新增子表数据的自动化实现 —— 明道云子表自动新增全指南
  • 微网站建设多少钱seo优化有百度系和什么
  • WordPress的woo商店插件怎么实现中文版
  • 什么网站的页面好看公司免费建网站
  • 数据结构---栈的实现
  • 模板网站和定制网站的区别马拉松网站建设
  • 一文快速入门 MongoDB 、MongoDB 8.2 下载安装、增删改查操作、索引、SpringBoot整合 Spring Data MongoDB
  • 【赵渝强老师】MongoDB的分布式存储架构
  • 网站优化案例分析如何连接到网站服务器
  • 成都学生做网站ftp网站怎么建
  • 中心理解题1【转折关系、主题词】
  • 6-扩展内容
  • 教师指南:利用Vibes与AI提示词提升课堂短视频互动与趣味性