本文档免注册免费下载
文档分类:
动态神经网络时间序列预测的NARX实现
×

动态神经网络时间序列预测的NARX实现

————————梁浩,梁宇斌

时间序列

时间序列是按时间序列排列的一组数字序列。时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计建立数学模型的理论和方法,以预测未来事物的发展。它的基本原理有二点,一是承认事物发展的延续性,即应用过去的数据,就能推测事物的发展趋势;二是考虑到事物发展的随机性,任何事物发展都可能受偶然因素的影响,为此要利用各种统计分析方法对历史数据加以分析处理。

动态神经网络

动态神经网络是指网络带有反馈与记忆功能,可以将前一时刻的数据保留,使其加入到下一时刻数据的计算,使网络不仅具有动态性而且保留的系统信息也更加完整。它有许多应用,比如金融分析师用于分析某只股票未来某时点的价格。它分为两类,一类是通过神经元反馈形成的神经网络,如Elman神经网络,PID神经网络,另一类是回归神经网络,有静态神经元和网络输出反馈构成,典型的有NARX回归神经网络。

NARX神经网络

NARX(Nonlinear AutoRegressive models with Exogenous Inputs)全称为非线性自回归模型,也称为带外部输入的非线性自回归滤波器。通常情况下它优于全回归神经网络,并且可以和其互换,所以它成为非线性动态神经网络中应用最广的一种。

一个典型的NARX神经网络主要有输入层,隐含层,和输出层及输入输出延时构成。其基本结构如下:

NARX神经网络详细结构如下:

本案例给出2001个监测点的时间序列数据。其中PhInputs为一个1*2001维的cell,代表时间监测点的流速,PhTargets为1*2001维的cell,代表中和反应后溶液的PH值。我们通过当前的酸碱溶液流速预测中和反应后溶液的PH值大小。

Matlab实现

1.建立非线性自回归模型

2.网络数据预处理函数

3.时间序列数据准备

4.训练数据,验证数据,测试数据划分

5.网络训练