Statistics 时间序列数据的递归神经网络预测

Statistics 时间序列数据的递归神经网络预测,statistics,neural-network,time-series,prediction,pybrain,Statistics,Neural Network,Time Series,Prediction,Pybrain,描述 给定一个具有10个序列的数据集(一个序列对应于一天的股票价值记录),其中每个序列由50个股票价值样本记录组成,从上午或上午9:05开始,间隔5分钟。但是,有一个额外的记录(第51个样本)仅在训练集中可用,它比50个样本记录中最后一个记录的样本晚2小时,而不是5分钟。需要为测试集预测第51个样本,其中也给出了前50个样本 我正在使用pybrain递归神经网络来解决这个问题,它将序列分组在一起,每个样本x\u I的标签(或通常称为目标y)是下一个时间步x(I+1)的样本,这是时间序列预测中的典

描述

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

我正在使用
pybrain
递归神经网络来解决这个问题,它将序列分组在一起,每个样本
x\u I
的标签(或通常称为目标
y
)是下一个时间步
x(I+1)
的样本,这是时间序列预测中的典型公式

范例

问题:

现在,我的递归神经网络(RNN)已经对这10个序列进行了训练,如果它遇到另一个序列,我将如何使用
RNN
预测序列中最后一个样本后
2小时的股票价值

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

我希望这能帮到你

递归网络结构

一些提示 选择你的循环网络 比较成熟的长短时记忆(LSTM)神经网络非常适合这种任务。LSTM能够检测股票价值“图形”中常见的“形状”和“变化”,并且有大量研究试图证明这种形状实际上发生在现实生活中

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

我不太明白你的解释。是否所有训练集值都包含50个输入信号,并且所有样本之间的时间差相同?你的问题是:
你如何预测下一个序列输出
?是的,前50个输入信号具有相同的时间增量-5分钟的差异,但是,对于每个序列,实际上有51个输入信号,最后一个信号具有更大的增量-2小时的差异-比其他信号,我需要预测前50个信号的最后一个信号。因此,问题是如何使用与其他信号不同的增量来训练
RNN
,以及如何预测给定前50个信号的信号。@jorgenkg,我更新了问题以澄清,抱歉混淆感谢一吨精彩的描述!不过有一个小问题,因为只有大约前半个样本和最后一个样本(第50个)在两小时后有一个
目标样本,所以可以在
LSTM
中按顺序将它们组合在一起吗?因为前半个样本相隔5分钟,但最后一个样本(第50个样本)与前半个样本相差很远,你认为呢?第51个样本是2小时后第50个样本的
值。这在理论上应该不是问题。请确保您有足够的数据样本!它应该至少包含20000个条目(分为2/3
训练集
和1/3 v
验证集
),以确保网络更准确、更可靠!最美好的祝福!我也很好奇,LSTM的另一种方法是包含滞后变量吗?是你自己创建的图像吗?如果没有,你能提供一个来源吗?这是视觉上避免不必要复杂性的最佳图像之一。是的,我用Omnigraffle制作了它,但不幸的是该文件被删除了
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