求预测一组数据的bp神经网络模型的matlab代码

2024-04-20 10:56

1. 求预测一组数据的bp神经网络模型的matlab代码

用matlab求预测一组数据的bp神经网络模型,可以分1、给定已经数据,作为一个原始序列;2、设定自回归阶数,一般2~3,太高不一定好;3、设定预测某一时间段4、设定预测步数5、用BP自定义函数进行预测6、根据预测值,用plot函数绘制预测数据走势图其主要实现代码如下:clc% x为原始序列(行向量)x=[208.72 205.69 231.5 242.78 235.64 218.41];%x=[101.4 101.4 101.9 102.4 101.9 102.9];%x=[140 137 112 125 213 437.43];t=1:length(x);% 自回归阶数lag=3; %预测某一时间段t1=t(end)+1:t(end)+5;%预测步数为fnfn=length(t1);     [f_out,iinput]=BP(x,lag,fn);P=vpa(f_out,5);A=[t1' P'];disp('预测值')disp(A)% 画出预测图figure(1),plot(t,iinput,'bo-'),hold onplot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid ontitle('BP神经网络预测某地铁线路客流量')xlabel('月号'),ylabel('客流量(百万)');运行结果:

求预测一组数据的bp神经网络模型的matlab代码

2. 求用matlab编BP神经网络预测程序

P=[。。。];输入T=[。。。];输出

%  创建一个新的前向神经网络 
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')

%  当前输入层权值和阈值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
%  当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}

%  设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;

%  调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

%  对 BP 网络进行仿真
A = sim(net_1,P);
%  计算仿真误差 
E = T - A;
MSE=mse(E)

x=[。。。]';%测试
sim(net_1,x) 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009

3. 求一个BP神经网络matlab代码,可以用几组数据预测一组数据

附件是一个电力系统负荷预测的BP神经网络预测案例,所有数据都已经归一化,可以直接运行。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

求一个BP神经网络matlab代码,可以用几组数据预测一组数据

4. 求MATLAB的BP神经网络预测程序

%由于数据比较大,我又懒得用归一化,所以直接把数据降了3个数量级,
%不过我觉得应该没问题,但用归一化结果应该更准确些。。
%由于初始权值和阀值均是随机给的,所以每次仿真都有点点不同,这是正常的。
p=[1183 1303 1278;1303 1278 1284;1278 1284 1187 ;...
    1284 1187 1154;1187 1154 1267;1154 1267 1241;...
    1267 1241 1302;1241 1302 1195;1302 1195 1256]'*0.001;
t=[ 1284 1187 1154 1267 1241 1302 1195 1256 1348]*0.001;
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda');
net.trainParam.goal=0.001;
net.trainParam.show=20;
net.trainParam.epochs=1000;
net.trainParam.min_grad=1e-10;
net.trainParam.mc=0.95;
[net,tr]=train(net,p,t);
t1=sim(net,[1302 1195 1256]'*0.001);
t2013=t1*1000%2013 的 预测 数据
运行结果:
t2013 =
       1301.9

5. 求大神帮忙用matlab程序做BP神经网络预测

1、样本数据太少,用BP网络预测可能并非好选择。说不定用一般的回归分析效果更好。
2、要对Y进行预测,需要知道2015年的影响因素X1~X7才行吧?
 
BP神经网络的参考程序:
data = [ ...    2009 2102.13 108.69 1104.99 888.45 700.6 64.28 8204.5 17502.1    2010 2701.61 132.74 1456.64 1121.64 839.02 99.58 9100 20760.52    2011 3636.62 208.22 2002.1 1426.29 1111.12 123.09 10086.88 29286.8    2012 4164.32 229.05 2303.9 1631.37 1293.62 176.42 12005.115 33720.1    2013 4672.91 247.21 2583.75 1841.95 1480.84 181.9 13136.77 39131    2014 5157.97 257.63 2872.01 2028.33 1666.75 200.87 15110 42194    ];year = data(:,1);p = data(:,2:8).';t = data(:,9).';net = newff(p,t,10);net = train(net,p,t);y1 = sim(net,p(:,end))由于没有2015年的X1~X7数据,最后一句用2014年的数据进行测试。
 
如果用多元线性回归:
c=regress(t',p')y2=c'*p(:,end)由于样本数量太少(少于影响因素的数量),这种情况下,实际上回归的结果可以几乎没有误差(只有数值误差)。当然,用于预测是否准确要另当别论。

求大神帮忙用matlab程序做BP神经网络预测

6. 求一个4,8,1的bp神经网络模型的matlab代码?

代码如下:直接运行就是了。
P=P=[-1,  -2,    3,    1;       -1,    1,    5,  -3; -2,  3, 4, 6;  1, 2, 3,  4 ];%初始训练值%  创建一个新的前向神经网络 net=newff(minmax(P),[8,1],{'tansig','purelin'},'traingdm')%  当前输入层权值和阈值 inputWeights=net.IW{1,1} inputbias=net.b{1} %  当前网络层权值和阈值 layerWeights=net.LW{2,1} layerbias=net.b{2} %  设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 1000; net.trainParam.goal = 1e-3; %  调用 TRAINGDM 算法训练 BP 网络 [net,tr]=train(net,P,T); %  对 BP 网络进行仿真 A = sim(net,P) %最后结果%  计算仿真误差 E = T - A MSE=mse(E)

7. 求一份用BP神经网络进行预测的matlab代码,自己根据实际问题再套用一下

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

上传的m文件里是一个电力系统负荷预测的实例,用的是最简单的BP算法,你可以参考。

求一份用BP神经网络进行预测的matlab代码,自己根据实际问题再套用一下

8. GA-BP神经网络模型预测的MATLAB程序问题

Matlab神经网络工具箱提供了一系列用于建立和训练bp神经网络模型的函数命令,很难一时讲全。下面仅以一个例子列举部分函数的部分用法。更多的函数和用法请仔细查阅Neural Network Toolbox的帮助文档。   例子:利用bp神经网络模型建立z=sin(x+y)的模型并检验效果   %第1步。随机生成200个采样点用于训练  x=unifrnd(-5,5,1,200);  y=unifrnd(-5,5,1,200);  z=sin(x+y);  %第2步。建立神经网络模型。其中参数一是输入数据的范围,参数二是各层神经元数量,参数三是各层传递函数类型。  N=newff([-5 5;-5 5],[5,5,1],{'tansig','tansig','purelin'});  %第3步。训练。这里用批训练函数train。也可用adapt函数进行增长训练。  N=train(N,[x;y],z);  %第4步。检验训练成果。  [X,Y]=meshgrid(linspace(-5,5));  Z=sim(N,[X(:),Y(:)]');  figure  mesh(X,Y,reshape(Z,100,100));  hold on;  plot3(x,y,z,'.')