好文档 - 专业文书写作范文服务资料分享网站

bp神经网络预测销售额

天下 分享 时间: 加入收藏 我要投稿 点赞

.

一,说明

对销售额进行bp神经网络预测,销售额如表1

其中前17月数据用作训练样本,来预测第18个月的数据,然后利用前18个月的数据来预测第19个月的数据,以此来预测全部月份的数据,并最终给出真实值与预测值之间的误差 二,程序

程序包括两部分,main.m为主程序,NNetwork.m为训练及预测程序,NNetwork输入为真实数据,输出为预测数据。程序如下 main程序

clear all %清除变量空间

clc %清除命令窗口所有数据 close all %关闭所有figure窗口 % 数据,前17组为训练数据

t=[124.2 117.1 108.4 102.8 99.2 98.6 100.4 100. 99.4 101.2 103.9 101.8 101.5 104.8 105.9 99.3 103.3 113.2 116.5 117.1 116.9 115.8]; %%原始数据(数据的观测值) n=1; %每次预测个数 for i=17:21 s=t(1:i);

[a, anew]=NNetwork(s,n); %调用神经网络预测程序 disp(['预测的第',num2str(i+1),'个值为']);

anew %预测值 pred=a(1,:) ;

pred(end+1)=anew; %加上预测值新数据 end

%画图部分

figure xx=1:i+1;

plot(xx,pred,'r-*',xx,t,'k--+'); legend('预测值','实际值'); xlabel('点数'); ylabel('数据');

精品

.

figure

s=abs(pred-t)./t*100; plot(xx,s,'b-*'); xlabel('点数');

ylabel('误差比例(%)');

disp('实际值的标准差为') std(t) %求标准差

disp('预测值的标准差为') std(pred)

NNetwork程序如下

function [a, anew]=NNetwork(x,n) % x为神经网络训练数组 % n为预测数据的个数

p=1:length(x); %%数据的个数 warning off %数据归一化

[pn,minp,maxp,tn,mint,maxt]=premnmx(p,x); %BP网络训练

net=newff([-1,1],[5,1],{'tansig','tansig','purelin'},'traingdx'); net.trainParam.show=1000; %每1000轮回显示一次结果 net.trainParam.Lr=0.05; %学习速率为0.05 net.trainParam.epochs=5000; %循环5000次 net.trainParam.goal=1e-6; %均方误差 net=train(net,pn,tn); %训练

an=sim(net,pn); %神经网络仿真

a=postmnmx(an,mint,maxt); %还原仿真得到的数据,反归一化 %对新数据进行预测 xx=1:length(x);

pnew=[length(xx):length(xx)+n];%预测数据

pnewn=tramnmx(pnew,minp,maxp);%新数据归一化 anewn=sim(net,pnewn);

anew=postmnmx(anewn,mint,maxt);%还原得到预测值 anew=anew(2);

三,程序运行截图

运行main.m文件,结果如图

精品

.

并给出真实值与预测值的标准差

真是值与预测值的对比曲线及误差比例曲线如图

精品

.

如有侵权请联系告知删除,感谢你们的配合!

精品

bp神经网络预测销售额

.一,说明对销售额进行bp神经网络预测,销售额如表1其中前17月数据用作训练样本,来预测第18个月的数据,然后利用前18个月的数据来预测第19个月的数据,以此来预测全部月份的数据,并最终给出真实值与预测值之间的误差二,程序程序包括两部分,main.m为主程序,NNetwork.m为训练及预测程序,NNetwor
推荐度:
点击下载文档文档为doc格式
9bxcg3ggxv8c83h0epna2cg5h8ins2016ds
领取福利

微信扫码领取福利

微信扫码分享