BP人工神经网络matlab工具箱_matlab神经网络控制

BP人工神经网络matlab工具箱_matlab神经网络控制自己测试人口预测的matlab实现:x=[54167551965630057482587966026661465628286465365994672076620765859672956917270499725387454276368785348067182992852298717789211908599242093717949749625997542987051000721016541030081…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

自己测试人口预测的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运行后结果如下:

网络结构和各参数显示如下:

1e7eb3bf11bcfd636cbb4aaf5dccf86e.png

861517951bf9abf945ef44603af40dea.png

d340f0c6addfefc164e82ea8d3f1d18d.png

159903934706b7272ff5019edc2fcc00.png

误差直方图

b70e9abb9be129f06801be662c363598.png

6591beec5c22435e27711a64063aef35.png

60c01cd9cf30175296e96344256b7ac3.png

f21eb8104c6c63020577930b613a6f1f.png

图1  自相关    图2 误差

5701da87d2cd8607a0885466f86c0579.png

图3 预测

27a3564033f799421cdd60b326ab1846.png

注意在对结果好坏的判断中,仅仅看误差图是不够的,如果是一个好的预测,那么自相关性图中除了0阶自相关外,其他的自相关系数系数都不应该超过上下置信区间。还有其他的统计量和图表都都写在”%“后面了,如果需要,去掉就可用。最后的预测值为f_out,我的预测值为

138701.065269972    139467.632609654    140207.209707364    141210.109373609    141981.285378849    142461.332139592    143056.073139776

时间: 06-13

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197165.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微博第三方登陆请求授权出现错误码:21322(重定向地址不匹配)的解决方法

    微博第三方登陆请求授权出现错误码:21322(重定向地址不匹配)的解决方法

    2021年10月25日
    255
  • 冒泡排序详解_超详细电音

    冒泡排序详解_超详细电音1、什么是冒泡排序?冒泡排序的英文BubbleSort,是一种最基础的交换排序。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。冒泡排序的原理:每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第2位上的数归位,依次类推下去。如果有n个数进行排序,只需将n-1个数归位,也就是要进行n-1趟操作。而“每一趟”都需要从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面

    2022年10月19日
    2
  • nginx反向代理数据库端口安全吗(nginx反向代理80端口)

    nginx反向代理数据库端口使用场景如下:当数据库在服务器A并且处于外网无法直接访问时,此时同局域网下只有服务器B提供对外访问,客户能访问b却无法访问A的情况下,由于两台服务器处于同局域网,并且服务器A有端口是开放的,可以在服务器B内进行nginx反向代理安装nginx首先在服务器b内,安装nginx(docker化的也可以)如果是docker的nginx需要进入docker内的nginxdockerexec-it容器idbash一般nginx的配置文件在e

    2022年4月9日
    47
  • nodejs安装与环境变量配置[通俗易懂]

    nodejs安装与环境变量配置[通俗易懂]NodeJsNode.js简介发展史特性模块下载nodejs系统环境nodejs(msi)方式的安装nodejs(zip)方式的安装环境配置Linux下安装Node测试参考资料Node.js简介Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。发布于2009年5月,由R…

    2022年6月12日
    41
  • 一致性哈希算法 Java实现

    一致性哈希算法 Java实现一致性哈希算法虚拟节点Java版本的简单实现。

    2022年7月27日
    6
  • [Warning] large integer implicitly truncated to unsigned type [-Woverflow][通俗易懂]

    [Warning] large integer implicitly truncated to unsigned type [-Woverflow][通俗易懂][Warning]largeintegerimplicitlytruncatedtounsignedtype[-Woverflow]警告的原因是:整数溢出整数溢出:当整数达到它所能表述的最大值时,会重新从起点开始#include<stdio.h>intmain(void){ unsigneda=12345678910; printf(“a=%d\n”,a); return0;}该程序输出以后并不是输出a=12345678910而是:上面的代码

    2022年7月25日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号