今天的工作是调整了一下前些天复现的DA-RNN论文的代码,使其表现的更好一点,还突然想到能不能把预测价格,改为预测比昨天上涨的或者下跌的价格。进行尝试。
代码、数据集调整:
我尝试了多个相似股票作为驱动序列去预测另一个股票,尝试了不同的epoch下的表现,这是在500epoch下用600215,600269,600300去预测600235的结果:
并且充分认识到了自己的不足,预测涨跌并不准确,而且平均误差也很大,应该是我的问题。
为了更好的预测涨跌,我结合之前学过的差分知识,先对数据集进行差分处理,然后去训练网络去预测这个差分值,过程很曲折,拟合的过程很慢,而且并不好:
下面这个标号5其实是105了,100epoch 的时候关了一下
一次偶然,我发现了问题所在,我不小心把训练好的参数删掉后运行了一下预测程序,发现竟然平均价格误差出奇的低,低过我训练后的结果,我意识到了问题,可能是因为每次的价格涨跌的幅度大多都很小,只有零点几甚至零点零几,这样我网络初始化后输出的结果大都是零点零几的随机数,导致平均价格误差确实很小,我训练后的结果还不如随机的好。我也不确定,因为上图显然表示了最开始网络初始化后输出的与真实的差值拟合程度很低,随着训练我上图的拟合程度越来越高,所以也可能是我的计算误差的过程出了问题,我目前也不太清楚,还在了解学习。希望以后在改进一下这个想法。