展开全部
用matlabR2014a软件,可以进行BP模糊神经网络预测。现以32313133353236313431303231363533e58685e5aeb931333363373130人口预测为例说明其实现过程:
% 清空环境变量
clc,clf,close all
% x为原始序列
t=1990:2009; %年份
x=[11 28 30 42 44 56 49 60 50 63 56 74 76 65 92 105 124 117 132 128]; %某地区人口数,要预测2010-2016年的某地区人口数。
t=1:length(x);
lag=2;
fn=length(t);
[f_out,iinput]=BP(x,lag,fn); %调用神经网络函数
[x' iinput']
R2=corrcoef(x,iinput)
%预测年份或某一时间段
t1=length(x)+1:length(x)+7;
%预测步数为fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
t=1990:2009;
t1=2010:2016;
[t1' P']
% 画出预测图
figure(6),plot(t,x,'b*-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神经网络预测某地区人口数','fontsize',12)
xlabel('年份'),ylabel('人口数');
legend('1990-2009年人口变化数','2010-2016年人口预测数');