2015-06-02 53 views
0

我正在做一個使用神經網絡進行價格預測的項目。傳統的神經網絡用於分類。在我們的上下文中,我們使用R語言中的neuralnet包進行價格預測,方法是使用產品已有的信息對數據集進行訓練。它通過使用類似的廣告開支,促銷費用,季度銷售等 這裏,輸入預測某個產品的未來需求是樣品車組數據使用神經網絡進行價格預測是否正確?

Advertising spending promotional expenses quarterly sales Future Price 
      4949.014    7409.23   43500.21   16793 
      5369.13    7903.12   20209.11   22455 
      6149.23    9289.34   47640.15   25900 
      6655.24    9914.01   34563.21   25591 

下面是神經網絡參數,

net = neuralnet(predict.furure~advertising.spending + promotional.expenses + quarterly.sales, 
       data=traindata.norm, hidden=3, threshold = 0.1, startweights=NULL, 
       rep=100, learningrate=0.02, algorithm="backprop", lifesign="full", 
       err.fct="sse", act.fct="logistic") 

從非常簡單的角度來看,產品A的當前月價格(2015年6月)爲X.因此,我將預測2015年10月,2015年12月等產品A的未來價格。 對於測試集,訓練後可以抵達。

Actual (Of benchmark or dataset) prediction by neural net 
          81030     86901.57818 
          86686     80938.02441 
          97088     87538.63362 
          108739    107872.53769 

我覺得使用neuralnet包得出的輸出可能不正確。所以我試圖使用forecastcaret包。
下面是代碼:

library(forecast)          
datas = ts(dataset)           
ts1test = window(datas,start=10,end=20) 
est1 = ets(ts1train[1:10])    
est2 = ets(ts1test[10:20],model=est1)    
onefit = fitted(est2)  
fore = forecast(onefit) 

fore 

懇請你建議我在上面兩個包是最好的方法或任何其他更好的辦法,也表明神經網絡是否可用於價格預測。

回答

1

首先,BPN不應與3個隱藏層一起使用。這是因爲反向傳播三層權重並不是很有用,這就是他們發明深度學習領域的原因。所以我建議你先將隱藏層減少到一個並嘗試使用。

我建議你開始使用像線性迴歸這樣簡單的東西,因爲它用於價格預測和所有。是的,ANN可以用於價格預測。

你能解釋一下爲什麼你覺得第一包的輸出可能不正確? 。也許我可以建議一些額外的變化