暑期项目实训 7.1阶段报告:A Dual-Stage Attention-Based Recurrent Neural Networkfor Time Series Prediction论文复现

        前端时间看懂了A Dual-Stage Attention-Based Recurrent Neural Networkfor Time Series Prediction这篇论文,看论文的目的就是做项目,拿来用,所以这段时间在复现这篇文章。

        github上有几个别人复现好的部分pytorch实现的代码,我看过几个后,发现他们对于论文的网络结构和公式都有不同程度的修改,我不知道是不是因为我太菜了看不懂他们的修改,还是他们本就没注意一些细节。所以我决定自己复现一份,但经过我自己的完全按照论文提出的模型复现后,表现是要比他们的好的……

        熬夜花了两天时间复现出来了。

所做的工作如下:

  1. 根据论文中给出的网络结构模型,进行具体的代码实现
  2. 调整训练数据,使其能够输入网络
  3. 训练,调整参数

        在我自己复现完成以后,我将其与github上存在的与论文并不一样的网络模型先进行了相同数据集下的测试,也就是纳斯达克100里面选择了81只股票作为驱动序列,选择NDX作为预测的股票。选择比较的对象是github比较新的一个介绍中说根据github已有的项目进行实现的代码,这份代码和github中其他的代码网络结构大概一样,都是省去了网络中差不多的一些东西,修改的是一些更方便的操作,修改了其他代码中部分与论文不同的地方,但本身还是存在一些地方和论文不一样。而且时间相对较新,所以用它进行比较。(y轴的值是经过数据标准化后的结果,我会在下面具体预测我们项目需要的数据时还原为原本的值)

        我的模型的效果:                                                           github上的代码的效果:

                        

        还是感谢这些代码的上传者,在我最开始的时候给了我基本的方向。

        然后我进行的工作是在自己需要的数据集上进行训练,我选用的股票作为驱动序列的股票是600000.SH,600009.SH和600104.SH(我只选用了3只,因为冒然多选并不好,跟要预测的股票毫无关系会对模型的表现产生影响),选择600196.SH作为预测的股票。

        数据同样是从Tushare中获得的,我不知道是我的权限问题还是什么问题,每只股票的日信息我只能拿到5000条记录。但Tushare还是很方便的,推荐使用。

        因为数据比较少,我就增加了迭代的次数,经过了1000个epoch(并不需要这么多,只不过我当时太困了,去睡了会儿,闲着也是闲着,就让他一直训练),预测训练时的表现如下:

        

        

        

        最终的表现如下:

     

                                  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值