对于一个时间序列怎么编写bp神经网络matlab程序实现预测
现在用matlab仿真一段时间序列波形,现用这段时间序列作为输入,怎么编写bp神经网络,实现用时间序列的其中一段,预测出下一个点的值?跪求...
现在用matlab仿真一段时间序列波形,现用这段时间序列作为输入,怎么编写bp神经网络,实现用时间序列的其中一段,预测出下一个点的值?跪求
展开
1个回答
2016-01-02
展开全部
BP网络训练图:
P = [1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009];%输入向量
T = [115.4 212.1 259.7 251.8 352 463.4 509 558 614 700 696 712];%期望输出
Z=[2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020]
%创建两层的BP网络:
net = newff([1998 2009],[100 1],{'tansig' 'purelin'});
net.trainparam.show=50;
%每次循环50次
net.trainParam.epochs = 500;
%最大循环500次
net = train(net,P,T);
%对网络进行反复训练
只给出了一部分程序,其余的QQ传给你,留你的QQ。
结果:
Y =
Columns 1 through 7
115.4067 212.0911 259.7029 251.7979 352.0027 463.4023 508.9910
Columns 8 through 12
558.0155 613.9892 699.9980 696.0063 711.9970
预测值a =
Columns 1 through 7
711.9970 711.7126 749.4216 749.2672 746.7096 746.7096 751.0786
Columns 8 through 11
760.2729 757.3316 696.5151 696.5151
分别是2010-2020年的预测数据。
P = [1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009];%输入向量
T = [115.4 212.1 259.7 251.8 352 463.4 509 558 614 700 696 712];%期望输出
Z=[2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020]
%创建两层的BP网络:
net = newff([1998 2009],[100 1],{'tansig' 'purelin'});
net.trainparam.show=50;
%每次循环50次
net.trainParam.epochs = 500;
%最大循环500次
net = train(net,P,T);
%对网络进行反复训练
只给出了一部分程序,其余的QQ传给你,留你的QQ。
结果:
Y =
Columns 1 through 7
115.4067 212.0911 259.7029 251.7979 352.0027 463.4023 508.9910
Columns 8 through 12
558.0155 613.9892 699.9980 696.0063 711.9970
预测值a =
Columns 1 through 7
711.9970 711.7126 749.4216 749.2672 746.7096 746.7096 751.0786
Columns 8 through 11
760.2729 757.3316 696.5151 696.5151
分别是2010-2020年的预测数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询