基于神经网络的Mackey-Glass时间序列预测.docVIP

基于神经网络的Mackey-Glass时间序列预测.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于神经网络的Mackey-Glass时间序列预测

目录 1 引言 1 2 MG时间序列 1 2.1 MG时间序列简介 1 2.2 利用dde23函数求解MG时间序列 1 3 BP神经网络 3 3.1 神经网络总体思路 3 3.2 MATLAB中的newff函数 3 3.3 BP神经网络的训练 4 3.4 构建输入输出矩阵 6 3.5 对MG时间序列未来值预测 6 4 参考文献 7 5 附录 8 引言 本文选用的神经网络的是BP神经网络,利用MATLAB编程实现。首先通过求解Mackey-Glass方程得到具有513个数据的Mackey-Glass时间序列,其中一半用于训练神经网络,一半用于检测预测值。BP神经网络输入层神经元个数为4,隐含层为8,输出层为1。利用BP神经网络工具箱构建神经网络并对其进行训练,然后利用训练好的神经网络对未来值进行预测,画出比较图。 MG时间序列 MG时间序列简介 Mackey-Glass 混沌系统一类非常典型的混沌系统,混沌系统模型由以下的时滞微分方程来描述: 其中 =0.2, =0.1, =10,是可调参数,x(t)是在t时刻的时间序列的值。MG方程表现出了某种周期性与混沌特性,在16.8时,表现出周期性,在 16.8时,则表现出混沌特性。 利用dde23函数求解MG时间序列 本课程设计中取=10,也就是说MG时间序列会表现为周期性。可以利用MATLAB求解MG方程,MG方程是一个时滞微分方程,其中一种求解方法是利用MATLAB的dde23函数。具体求解方法是:首先建立MG.m函数文件,代码如下 function y = MG(t,x,z) %UNTITLED Summary of this function goes here % Detailed explanation goes here xlag=z(1,:); y=ones(1,1); y(1)=(0.2*xlag(1))/(1+(xlag(1))^10)-0.1*x(1); end 然后需要建立命令文件timeMG.m,代码如下 clear,clc; tau=10; sol=dde23(MG,tau,0.92,[1,1000]); figure; plot(sol.x,sol.y,r); xlabel(t,fontsize,20,fontname,times new roman,FontAngle,italic); ylabel(x(t),fontsize,20,fontname,times new roman,FontAngle,italic); grid on; 在执行完这个命令文件后会生成MG时间序列的图像,具有很明显的周期性 改变一下,在程序里使tau=30,可以得到另一种图像,即具有混沌特性,本文不预测这种。 BP神经网络 神经网络总体思路 利用MATLAB里的BP神经网络工具箱建立一个两层BP神经网络(这里的两层分别指的是隐含层和输出层,而输入层通常不算作一层)。其中输入层神经元个数为4,隐含层神经元个数为8,输出层个数为1。利用训练好的神经网络对未来的值进行预测并与实际值比较。 MATLAB中的newff函数 BP神经网络的MATLAB实现可以采用MATLAB里的工具箱,通过调用newff来构建BP神经网络。 newff函数参数列表有很多的可选参数,这里使用newff函数的一种简单的形式。 语法:net = newff ( A, B, {C} ,Train) 参数: A:一个n×2的矩阵,第i行元素为输入信号xi的最小值和最大值; B:一个k维行向量,其元素为网络中各层节点数; C:一个k维字符串行向量,每一分量为对应层神经元的激活函数; Train:训练函数,是一个字符串 根据参考文献[1],选取各个参数,至于各个参数的到底该怎么设计我并没有研究。 关于参数A,使用maxmin函数得到输入矩阵没列的最大值和最小值。 关于参数B,两层的BP神经网络,隐含层为神经元个数为8,输出层为1,说以B为[8 1],是一个2维向量。 关于参数C,隐含层的激活函数采用S函数,输出层的激励函数选用线性函数,于是C为{logsig purelin},是一个2维字符串向量。 关于参数Train,选用梯度下降自适应学习率训练函数Train取’traingdx’。 BP神经网络的训练 使用train函数对神经网络进行训练。 trian函数使用代码train(net,inputs,targets); inputs是输入矩阵,targets是输出矩阵,将在下一节介绍。 网络配置参数 一些重要的网络配置参数如下: net.trainparam.goal :神经网络训练的目标误差 net.trainparam.show : 显示中间结果的周期 net.trainparam.ep

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档