收集到17年到18年地铁的客乘量,在没有模型的情况下,用BP神经网络进行预测分析是最好不过了
clc,clear,close all
%%
x=xlsread(); %插入客流时间序列
x=x'; %转换成行向量
lag=7; %客流呈周变化规律
iinput=x;
n=length(iinput);
%%
inputs=zeros(lag,n-lag);
for i=1:n-lag
inputs(:,i)=iinput(i:i+lag-1)';
end
targets=x(lag+1:end);
hiddenLayerSize=10;
net=fitnet(hiddenLayerSize);
%%
net.divideParam.trainRatio=0.7;
net.divideParam.valRatio=0.15;
net.divideParam.testRatio=0.15;
%%
[net,tr]=train(net,inputs,targets);
yn=net(inputs);
errors=targets-yn;
figure,ploterrcorr(errors)
figure,parcorr(errors)
[h,pValue,stst,cValue]=lbqtest(errors);
figure,plotresponse(con2seq(targets),con2seq(yn))
figure,ploterrhist(errors)
figure,plotperform(tr)
%%预测
fn=7;
f_in=iinput(n-lag+1:end)';
f_out=zeros(1,fn);
for i=1:fn
f_out(i)=net(f_in);
f_in=[f_in(2:end);f_out(i)];
end