BP神经网络预测(人口)程序(matlab)
来源:互联网 发布:交通大数据 编辑:程序博客网 时间:2024/04/30 15:16
自己测试人口预测的matlab实现:
x=[54167 55196 56300 57482 58796 60266 61465 62828 64653 65994 67207 66207 65859 67295 69172 70499 72538 74542 76368 78534 80671 82992 85229 87177 89211 90859 92420 93717 94974 96259 97542 98705 100072 101654 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 134480 135030 135770 136460 137510]';% 该脚本用来做NAR神经网络预测lag=3; % 自回归阶数iinput=x; % x为原始序列(行向量)n=length(iinput);%准备输入和输出数据inputs=zeros(lag,n-lag);for i=1:n-lag inputs(:,i)=iinput(i:i+lag-1)';endtargets=x(lag+1:end);%创建网络hiddenLayerSize = 10; %隐藏层神经元个数net = fitnet(hiddenLayerSize);% 避免过拟合,划分训练,测试和验证数据的比例net.divideParam.trainRatio = 70/100;net.divideParam.valRatio = 15/100;net.divideParam.testRatio = 15/100;%训练网络[net,tr] = train(net,inputs,targets);%% 根据图表判断拟合好坏yn=net(inputs);errors=targets-yn;figure, ploterrcorr(errors) %绘制误差的自相关情况(20lags)figure, parcorr(errors) %绘制偏相关情况%[h,pValue,stat,cValue]= lbqtest(errors) %Ljung-Box Q检验(20lags)figure,plotresponse(con2seq(targets),con2seq(yn)) %看预测的趋势与原趋势figure, ploterrhist(errors) %误差直方图figure, plotperform(tr) %误差下降线%% 下面预测往后预测几个时间段fn=7; %预测步数为fn 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% 画出预测图figure,plot(1949:2013,iinput,'b',2013:2020,[iinput(end),f_out],'r')
用2014a版matlab运行后结果如下:
网络结构和各参数显示如下:
误差直方图
图1 自相关 图2 误差
图3 预测
注意在对结果好坏的判断中,仅仅看误差图是不够的,如果是一个好的预测,那么自相关性图中除了0阶自相关外,其他的自相关系数系数都不应该超过上下置信区间。还有其他的统计量和图表都都写在”%“后面了,如果需要,去掉就可用。最后的预测值为f_out,我的预测值为
138701.065269972 139467.632609654 140207.209707364 141210.109373609 141981.285378849 142461.332139592 143056.073139776
阅读全文
1 0
- BP神经网络预测(人口)程序(matlab)
- matlab bp神经网络预测(不好用的版本)
- 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)
- matlab(3):BP神经网络
- BP神经网络示例(Matlab)
- 数据预测之BP神经网络具体应用以及matlab代码
- 数据预测之BP神经网络具体应用以及matlab代码
- 数据预测之BP神经网络具体应用以及matlab代码
- 数据预测之BP神经网络具体应用以及matlab代码
- 数据预测之BP神经网络具体应用以及matlab代码
- 数据预测之BP神经网络具体应用以及matlab代码
- BP神经网络预测(R语言)
- BP神经网络预测实例
- BP神经网络预测
- BP神经网络matlab程序运行问题
- matlab的BP神经网络例子程序
- BP神经网络&&RBF神经网络预测
- matlab与机器学习(三)以辛烷值含量预测为例BP神经网络(含代码解析)
- Android四大组件之Service
- 爬虫实战13—网页分类与针对文本的机器学习应用
- NYOJ 12 喷水装置(二)
- Android之广播接受者(无序广播)
- AtCoder Regular Contest 082-E-ConvexScore
- BP神经网络预测(人口)程序(matlab)
- Android--Xutils3源码案例调试
- Python入门01
- js 数据结构中邻接矩阵的图的直观表示
- 网络爬虫的规则
- Eclipse使用JDK实现WebService
- 【bzoj2423】【HAOI2010】最长公共子序列
- 中文编码问题详解
- hdu 6187(并查集