我目前正在使用Keras的LSTM网络尝试以太坊价格预测,我有一点问题。
我试图预测以前40个价格中的10个以下价格。价格之间的时间间隔为15秒,所以我预测未来2.5分钟。
我的输入数据是:收盘价,开盘价,最低价和最高价。我将数据归一化到0和1之间,因为我在完全连接层中的激活函数是线性的。我根据整个序列的最小值和最大值独立地对每个序列进行标准化。
当我用过去的数据测试它时,这个模型运行正常,因为我有输入价格和我想要预测的价格,所以当我根据整个序列的最小值和最大值对数据进行非规范化时,预测很漂亮准确。
然而,当我尝试预测实时数据时,我没有序列中的最后10个价格,所以我必须基于仅40个输入值来对输出进行非规范化,这就是问题所在。实时结果永远不会像测试结果那样好。
我尝试根据培训顺序中的40个输入价格来规范化我的数据,但它有点抛弃了我的整个预测。
我还尝试根据40个输入值在-1和1之间进行标准化,并将输出激活功能更改为tanh,但仍然无法正常工作。我的预测大多显示直线,没有增加或减少值。
我的训练数据包括大约61000行价格,我将85%作为训练集,20%作为验证集训练,15%作为测试集。
你知道问题出在哪里吗?如果需要,我还可以提供有关我的架构和培训的一些数据。