用MATLAB的BP神经网络时间序列预测编程

用MATLAB的BP神经网络时间序列预测编程,第1张

示例程序见附件,其为一个简单的时间序列预测算例。其实所有的预测问题,本质都是一样的,通过对样本的学习,将网络训练成一个能反映时间序列内部非线性规律的系统,最终应用于预测。

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

%由于数据比较大,我又懒得用归一化,所以直接把数据降了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]'0001;

t=[ 1284 1187 1154 1267 1241 1302 1195 1256 1348]0001;

net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda');

nettrainParamgoal=0001;

nettrainParamshow=20;

nettrainParamepochs=1000;

nettrainParammin_grad=1e-10;

nettrainParammc=095;

[net,tr]=train(net,p,t);

t1=sim(net,[1302 1195 1256]'0001);

t2013=t11000%2013 的 预测 数据

运行结果:

t2013 =

13019

以上就是关于用MATLAB的BP神经网络时间序列预测编程全部的内容,包括:用MATLAB的BP神经网络时间序列预测编程、求MATLAB的BP神经网络预测程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9502379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存