我正在使用神经网络进行价格预测项目。常规神经网络用于分类。在我们的上下文中,我们使用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
包抵达的输出可能不正确。所以我尝试使用forecast
,caret
个包
这是代码:
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
请您建议我使用以上两种方法中的最佳方法或任何其他更好的方法,并建议神经网络是否可用于价格预测。
答案 0 :(得分:1)
首先,BPN不应与3个隐藏层一起使用。这是因为将权重传播三层并不是真正有用的,这就是他们发明深度学习领域的原因。所以我建议你首先将隐藏层减少到一个并尝试使用。
我建议你开始使用像线性回归这样简单的东西,因为它用于价格预测等等。是的ANN可以用于价格预测。
你能解释为什么你觉得第一个包装的输出可能不正确吗? 。也许我可以建议一些额外的改变