2012-04-26 101 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)使用。