使用神经网络进行价格预测是对还是不对?

时间:2015-06-02 09:39:35

标签: r machine-learning neural-network

我正在使用神经网络进行价格预测项目。常规神经网络用于分类。在我们的上下文中,我们使用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 个答案:

答案 0 :(得分:1)

首先,BPN不应与3个隐藏层一起使用。这是因为将权重传播三层并不是真正有用的,这就是他们发明深度学习领域的原因。所以我建议你首先将隐藏层减少到一个并尝试使用。

我建议你开始使用像线性回归这样简单的东西,因为它用于价格预测等等。是的ANN可以用于价格预测。

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