导航:首页 > 编程大全 > bp神经网络预测matlab代码实现

bp神经网络预测matlab代码实现

发布时间:2024-11-01 12:04:48

❶ 求一个bp神经网络预测模型的MATLAB程序

BP神经网络预测的步骤:

1、输入和输出数据。

2、创建网络。fitnet()

3、划分训练,测试和验证数据的比例。net.divideParam.trainRatio;net.divideParam.valRatio;net.divideParam.testRatio

4、训练网络。train()

5、根据图表判断拟合好坏。ploterrcorr();parcorr();plotresponse()

6、预测往后数据。net()

7、画出预测图。plot()

执行下列命令

BP_prediction

得到结果:

[ 2016, 14749.003045557066798210144042969]

[ 2017, 15092.847215188667178153991699219]

[ 2018, 15382.150005970150232315063476562]

[ 2019, 15398.85769711434841156005859375]

[ 2020, 15491.935150090605020523071289062]

❷ matlab bp神经网络

输入量必须有才能预测,只是输入量要比原来的往后延长一点,如原来的t=1:5,可改为t1=3:7,这样,再仿真,就向后预测了2个点。3入1出的类似,要有3个输入。

❸ matlab BP神经网络人口预测,用32个数据每4个为一组,前三个为输入,进行滚动预测

你最好用优化算法优化一下,结果肯定会更好,我做过一些这方面的研究,我给你个简答的遗传算法优化BP网络的列子,你可以套用一下,就出来了,同样是预测:
神经网络遗传算法函数极值寻优

%% 清空环境变量
clc
clear

tic
%% 训练数据预测数据提取及归一化
%下载输入输出数据
load data1 input output

%从1到2000间随机排序
k=rand(1,4000);
[m,n]=sort(k);

%找出训练数据和预测数据
input_train=input(n(1:3900),:)';
output_train=output(n(1:3900),:)';
input_test=input(n(3901:4000),:)';
output_test=output(n(3901:4000),:)';

%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);

%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,5);

net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.0000004;

%网络训练
net=train(net,inputn,outputn);

%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);

%网络预测输出
an=sim(net,inputn_test);

%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);

%% 结果分析

figure(1)
plot(BPoutput,':og')
hold on
plot(output_test,'-*');
legend('预测输出','期望输出','fontsize',12)
title('BP网络预测输出','fontsize',12)
xlabel('样本','fontsize',12)
ylabel('输出','fontsize',12)

%预测误差
error=BPoutput-output_test;

figure(2)
plot(error,'-*')
title('神经网络预测误差')

figure(3)
plot((output_test-BPoutput)./BPoutput,'-*');
title('神经网络预测误差百分比')

errorsum=sum(abs(error))

❹ BP神经网络matlab源程序代码讲解

newff 创建前向BP网络格式:
net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

其中:PR —— R维输入元素的R×2阶最大最小值矩阵; Si —— 第i层神经元的个数,共N1层; TFi——第i层的转移函数,默认‘tansig’; BTF—— BP网络的训练函数,默认‘trainlm’; BLF—— BP权值/偏差学习函数,默认’learngdm’ PF ——性能函数,默认‘mse’;(误差)

e.g.
P = [0 1 2 3 4 5 6 7 8 9 10];T = [0 1 2 3 4 3 2 1 2 3 4];
net = newff([0 10],[5 1],{'tansig' 'purelin'});net.trainparam.show=50; %每次循环50次net.trainParam.epochs = 500; %最大循环500次
net.trainparam.goal=0.01; %期望目标误差最小值
net = train(net,P,T); %对网络进行反复训练
Y = sim(net,P)Figure % 打开另外一个图形窗口
plot(P,T,P,Y,'o')

阅读全文

与bp神经网络预测matlab代码实现相关的资料

热点内容
数控715螺纹编程怎么写 浏览:261
extjs获取grid选中行 浏览:873
数据线充电强制锁屏是什么原因 浏览:923
保证能贷款的app 浏览:105
adb文件夹大小 浏览:78
数据库browser 浏览:458
爱丽丝梦游仙境x级版本 浏览:636
windows登陆linux 浏览:851
如何用excel抠文件印章 浏览:24
苹果4s的div设置 浏览:638
网络管理员考试教材 浏览:201
c配置文件在c盘哪里 浏览:694
可配置文件翻译 浏览:879
如何把纸文件扫描成pdf 浏览:514
plc博途编程中除法取整怎么取 浏览:717
950客服代码 浏览:463
ghost支持linux吗 浏览:927
文件生命周期理论有哪些内容 浏览:278
百度云盘批量转存工具 浏览:949
qq上说购买q币真的假的 浏览:589

友情链接