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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • currentstyle 织梦_设置typeid后织梦currentstyle 不起作用的修复方法

    {dede:channeltype=’son’row=’8’currentstyle=”~typename~”}[field:typename/]{/dede:channel}这种调用方式currentstyle有效但是设置typeid:{dede:channeltype=’son’row=’8’typeid=1currentstyle=”~typename~”}[…

    2022年4月9日
    40
  • JAVA中类的public class与class的区别详解

    JAVA中类的public class与class的区别详解1.类的访问权限为了控制某个类的访问权限,修饰词必须出现在关键字class之前。例如:publicclassStudent{}在编写类的时候可以使用两种方式定义类:(A)publicclass定义类(B)class定义类2.publicclass定义类如果一个类声明的时候使用了publicclass进行了声明,则类名称必须与文件名称完全一致。被publ…

    2022年6月10日
    28
  • 国内常用公共DNS服务器、各省运营商DNS服务器汇总

    原文  http://www.francissoung.com/2016/03/14/常用公共DNS服务器/主题 DNS服务器 服务器 运营商不知道大家有没有过网络是正常的,QQ可以正常登录、游戏也可以正常玩,但是网页无论如何都打不开。这就是电脑网络设置的DNS服务器有问题,不是其故障就是不工作了。换了DNS服务器成功解决问题。下边给大家分享一下国内比较大型大众常用

    2022年4月17日
    437
  • glassfish是什么_cleairaquatics鱼缸说明书

    glassfish是什么_cleairaquatics鱼缸说明书一、glassfish简介glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器。二、glassfish知识点1、domain域domain是glassfish中,拥有独立端口的存放web应用的容器。glassfish可以创建多个domain,每个domain存放于glassfish/domains目录中。每个domain是可以部署多…

    2022年8月20日
    7
  • 人员能力提升方案_优秀的网站通过什么提供信息

    人员能力提升方案_优秀的网站通过什么提供信息在软件行当也混了有4个年头了,刚毕业那会,觉得百度好强大,工作过程中遇到的问题都能从中查到解决方案。随着能力的提升,对于百度的定位:“其就是用来找些低俗的内容而已”。毕业第一年刚进公司,师傅还总因为我用百度而责骂我,不过那个时候真的不懂他的意思,总觉得他很苛刻,用什么你都管。有的时候甚至觉得他很讨厌,跟了他一年只是学会了Google的入门而已,授人以鱼,不如授之以渔,时隔几年才真真的体会到,他真的…

    2022年10月4日
    0
  • 批处理命令——set[通俗易懂]

    批处理命令——set[通俗易懂]【1】set命令简介  set,设置。【2】set命令使用  1.打印系统环境变量。set命令可以打印系统所有的环境变量信息。  应用示例:新建文本文件,命名为set_sys,修改文件类型为bat,用Notepad++打开编辑内容如下:1@echooff2::set显示所有系统环境变量3::set(暂时屏蔽掉,需要执行请去掉::)4pause>nul5::setc显示所有以C开头的环境变量(不区分大小写)6setc7pause

    2022年8月22日
    3

发表回复

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

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