天天看点

【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】

1 RBF网络

径向基函数(RBF)网络是一种向前网络,它以函数逼近理论为基础,能够逼近任意非线性的函数,同时具有很好的泛化能力和较快的学习速度。RBF神经网络由输入层、隐含层、输出层组成。输入层由输入节点组成,只传递输入信号到隐含层;隐含层由神经元的变换函数,如高斯函数、格林函数等辐射状作用函数构成,其中隐含层节点数由问题的实际需求来确定;输出层是对输入的响应,由输入节点组成。

RBF网络的主要思想是:将输入数据直接映射到隐含层空间,用径向基函数作为隐单元的“基”构成隐含层的空间,在此空间对输入数据进行变换,将在低维空间中的非线性数据变换为高维空间内线性可分。这种非线性的映射关系,通过径向基函数的中心点来确定。输出层则是通过隐含层的线性映射得到的,即网络的输出是隐含层神经单元输出的线性加权和。具体结构如图1所示。

【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】

图1 RBF神经网络结构

隐含层节点中的作用函数(基函数)对输入信号将在局部产生响应。最常用的基函数是高斯函数,如下:

【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】

式中:x是n维输入向量;ci是第i个基函数的中心,与x具有相同维数的向量;σi是第i个感知的变量,决定基函数中心点的宽度;m是感知单元的个数;

【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】

令输入层实现从x→Ri(x)的非线性映射,隐含层实现从Ri(x)到yk的线性映射,即:

【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】

式中:r是输出节点数;wik是权值。

由上述RBF网络的原理可知,RBF网络主要涉及三种可调参数:RBF的中心向量ci、偏值σi、隐含层到输出层的权重wik。其中,RBF的中心ci的选取对网络性能至关重要,中心太近,会产生近似线性相关;中心太远,产生的网络会过大。根据这三种参数的确定,可以将RBF网络划分为很多种学习方法,最常见的是:随机选取中心法、自组织选取中心法、有监督选取中心法和正交最小二乘法(OLS)。

2 时间序列的RBF神经网络预测

基于RBF神经网络的时间序列预测模型,最主要的是需要确定好训练样本的输入和输出。为预测时间序列y(i)的值,以X(i)=[y(i-n),y(i-n+1),…,y(i-1)]T作为输入,n为历史数据长度,代表过去n天的历史数据。因此网络结构[11]可以表示为y(i)=f(y(in),y(i-n+1),…,y(i-1))。

由于时间序列有一定的复杂性,而且序列数据前后的关联程度大不相同。因此,采用不同的历史数据长度的预测模型,结果大相径庭。本文分别采用不同的历史数据长度,选取其中预测结果均方误差最小的历史数据长度,提高模型的预测性能。

【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】
【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】

1 matlab版本

2014a

2 参考文献

[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.

[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.

[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.

[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.

[6]黄伟建,张丽娜,黄远,程瑶.RBF神经网络在河流营养盐预测中的应用[J].现代电子技术. 2019,42(20)

继续阅读