自己测试人口预测的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)';

end

targets=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

神经网络人口预测matlab,BP神经网络预测(人口)程序(matlab)相关推荐

  1. MATLAB房价,MATLAB实现波士顿房价预测使用BP神经网络

    MATLAB实现波士顿房价预测使用BP神经网络 MATLAB实现波士顿房价预测,使用BP神经网络 代码如下(包括下载数据和训练网络): %%Download Housing Prices filena ...

  2. 【电力负荷预测】基于matlab BP神经网络电力负荷预测【含Matlab源码 278期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab BP神经网络电力负荷预测[含Matlab源码 278期] 获取代码方式2: 付费专栏Matlab智能算 ...

  3. 【停车位预测】基于matlab BP神经网络停车位预测【含Matlab源码 765期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[停车位预测]基于matlab BP神经网络停车位预测[含Matlab源码 765期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  4. bp神经网络数据预测实例,bp神经网络实例分析

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

  5. 提高bp神经网络预测精度,bp神经网络收敛速度慢

    1.如何提高bp神经网络的预测精度啊 跟你的预测对象有很大关系. 1. 根据你的预测对象的特性选取合适的输入层.输出层和隐层神经元数目. 2. 选择合适的神经网络训练函数. 3. 保证足够的训练样本数 ...

  6. matlab神经网络(二)-bp神经网络,MATLAB神经网络(2) BP神经网络的非线性系统建模——非线性函数拟合...

    2.1 案例背景 在工程应用中经常会遇到一些复杂的非线性系统,这些系统状态方程复杂,难以用数学方法准确建模.在这种情况下,可以建立BP神经网络表达这些非线性系统.该方法把未知系统看成是一个黑箱,首先用 ...

  7. (三)【数学建模】Matlab BP神经网络

    [数学建模] 文章目录 Matlab BP神经网络 Matlab BP神经网络 归一化算法: (0,1): y=(x−min)/(max−min)y=(x-min)/(max-min)y=(x−min ...

  8. 《MATLAB 神经网络43个案例分析》:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选

    <MATLAB 神经网络43个案例分析>:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 < ...

  9. 基于MATLAB BP神经网络的水果识别

    一.课题实现的功能 1 原理分析 由于数字图像是唯一的特征标识符号,在经营管理中具有不可替代的作用,因此数字图像识别系统应具有很高的识别正确率,对环境光照条件.拍摄位置等因素的影响应有较大的容阈,并且 ...

  10. 【故障诊断分析】基于matlab BP神经网络三相逆变器故障诊断研究【含Matlab源码 1736期】

    一.BP神经网络三相逆变器故障诊断简介 针对三相桥式逆变电路为研究对象,建立了仿真模型,并对逆变器主电路开关器件的开路故障进行仿 真,提出了基于BP神经网络的故障诊断方法,确定了网络的结构和参数,并以 ...

最新文章

  1. Dickey-Fuller检验+迪基-福勒检验
  2. java定时器偶尔重复推送_在Java中创建重复的定时器提醒
  3. E - Flow Gym - 102471E
  4. P5518-[MtOI2019]幽灵乐团【莫比乌斯反演,欧拉反演】
  5. 比较=、==、===
  6. 10年老兵给程序员的10条建议! 1
  7. Android Service: 启动service, 停止service
  8. 威纶通HMI常见问题
  9. Android7.0无需FileProvide搞定URI拍照、应用安装问题
  10. 如何用 Nodejs 分析一个简单页面
  11. 数学建模系列(三)-评价模型(六)---神经网络评价
  12. QPainter绘制方法
  13. Scala安装和开发环境配置教程
  14. Modelica运算符
  15. android图片剪切第三方,Android第三方开源图片裁剪截取:cropper
  16. html表格怎么加图片,添加图片到HTML表格动态
  17. CC2530+74HC164矩阵键盘的设计
  18. 读书笔记--《原则》
  19. C语言:0, '0', '\0', NULL 区别
  20. springboot+mysql+基于Android的校园综合服务App平台的设计 毕业设计-附源码181042

热门文章

  1. 蚂蚁金服金融级容器引擎实践之路
  2. 阿里云大数据利器之-RDS迁移到Maxcompute实现动态分区
  3. 浅述 Docker 的容器编排
  4. 三探云原生全景图,这次聊聊运行时层
  5. 行!人工智能玩大了!程序员:太扯,阴谋!你怎么看?
  6. 阿里云大学python_阿里云大学「学习路线」,一站式从入门到高手——Python、Java、前端、运维、数据库、云原生……...
  7. mac 电脑android环境变量设置,mac上Android环境变量配置
  8. vue+vant 移动端H5 商城项目_04
  9. 调整eclipse、SpringToolSuite4编辑器的内存大小以及显示
  10. 解决windows下Error:node with name rabbit already running on “XXX” 和管理页面打不开问题