2012-04-26 105 views
0

我一直在与MATLAB神经网络工具包。我在这里使用NARX网络。我有一个数据集,包含一个对象的价格以及一段时间内购买的对象的数量。必需这种网络不被数学上定义如下一个步骤的预测:多步预测神经网络

Y(T)= F(Y(T -1)中,y(T -2),...,Y(吨-ny), X(t-1),X(T -2),...,X(T -nx))

这里Y(t)是在时间t时的价格和x是数量。所以我使用的输入功能是价格和金额,目标是时间t + 1的价格。假设我有100笔这样的交易记录,每笔交易包括价格和金额。然后我的神经网络可以预测第101笔交易的价格。这适用于一步预测。但是,如果我想要做的多步预测,所以说,我想预测10个交易进取(110交易),那么我认为我做的价格的一步预测再喂这回的神经网络。我一直这样做直到我达到第110个预测。然而,在这种情况下,在我预测101st的价格之后,我可以将这个价格输入到神经网络来预测第102个价格,但是,我不知道第101个交易中的对象的数量。我如何去做这件事?我在考虑将我的目标设定为当前交易的10笔交易的价格,以便当我预测第101笔交易时,我基本上预测了第110笔交易的价格。这是一个可行的解决方案,还是我以完全错误的方式解决这个问题?预先感谢任何帮助

回答

0

我想你可以使用一个单独的神经网络做x的时间序列预测,以产生x(t + 1)到x(t + 10),然后使用这些值喂另一个ANN来预测y(t)。

1

什么科斯塔斯说,一旦你预测的101的价格,你可以使用所有的数据来预测的101量,然后用它来预测102的价格,然后用102的价格预测102量相似,等等。但是,这会在您对每个变量的预测中加入任何错误。为了减轻这一点,你可以添加一些其他功能,如在过去的值逐渐变细的折扣或错误的量度预测(在强化学习领域类似的想法搜索temporal difference learning)使用。