2015-06-02 54 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可以用于价格预测。

你能解释一下为什么你觉得第一包的输出可能不正确? 。也许我可以建议一些额外的变化