基于时间序列数据集的递归神经网络预测

时间:2013-09-07 06:40:45

标签: statistics neural-network time-series prediction pybrain

描述

给定具有10个序列的数据集 - 序列对应于股票价值记录的一天 - 其中每个序列构成50个样本记录的股票值,从早晨或上午9:05开始以5分钟的间隔分隔。但是,有一个额外的记录(第51个样本)仅在训练集中可用,该记录是在50个样本记录中的最后记录样本的2小时后,而不是5分钟。对于测试集,需要预测第51个样本,其中还给出了前50个样本。

我正在使用pybrain递归神经网络来解决将序列组合在一起的问题,并且每个样本y的标签(或通常称为目标x_i)就是样本下一步的步骤x_(i+1) - 时间序列预测中的典型公式。

实施例

A sequence for one day is something like:

    Signal id    Time      value
        1     -  9:05   -   23
        2     -  9:10   -   31
        3     -  9:15   -   24
       ...    -  ...    -   ...
       50     -  13:15  -   15

Below is the 2 hour later label 'target' given for the training set 
and is required to be predicted for the testing set
       51     -  15:15   -   11

问题

既然我的递归神经网络(RNN)已经训练了这10个序列,如果它面对另一个序列,我将如何使用RNN预测最后一个样本后的股票价值2 hours序列 ?

请注意,对于每个训练序列,我也“比最后一个样本库存值晚了2个小时”,但我不确定如何将其纳入培训RNN,因为它预计相同的时间间隔样本。谢谢!

1 个答案:

答案 0 :(得分:21)

我希望我能帮到你

经常性网络结构

enter image description here

<小时/>

一些提示

选择您的经常性网络

更成熟的长时间短时记忆(LSTM)神经网络非常适合这种任务。 LSTM能够检测股票价值“图形”中的常见“形状”和“变化”,并且有很多研究试图证明这些形状实际上发生在现实生活中! See this link for an example

精度

如果您希望网络达到更高的准确度,我建议您还为网络提供上一年(在完全相同的日期)的库存值,以便输入数量从50增加到100倍。网络可能在您的数据集上得到很好的优化,它永远无法预测未来不可预测的行为;)