APP下载

基于ESN和改进RBFNN的城市燃气负荷预测①

2019-03-11徐晓钟

计算机系统应用 2019年3期
关键词:权值储备向量

徐 玚,徐晓钟

(上海师范大学 信息与机电工程学院,上海 201400)

在倡导低碳生活的背景下,燃气作为一种清洁能源,加大其在能源消耗中的比重,已成为建设生态文明的重点之一.燃气负荷的变化规律是燃气工业发展和决策的基础,科学地预测燃气负荷不仅满足经济发展的需要,还对燃气资源的优化调度、燃气管网的建设和投资方案的决定具有重要意义.

神经网络的建模过程是非线性的,模型本身具有良好的自适应性.它不仅像传统预测方法那样考虑负荷曲线的变化趋势,还考虑影响负荷的外在因素,如天气、温度、日期类型等.再者,传统方法只能分析一维的情况,难以对非线性情况进行分析,而实际的燃气负荷曲线大多是非线性的,所以与传统预测方法相比,基于神经网络的预测方法精度更高,具有更好的发展前景.

回声状态网络 (Echo State Network,ESN)由Jaeger于2001年提出[1],是一种简化的递归神经网络(Recurrent Neural Network ,RNN).近年来,ESN 已被广泛用于电力预测[2,3],风速预测[4,5]和风电功率预测[6]等领域,而燃气负荷预测领域却用得较少.文献[7,8]研究分析了ESN在时间序列预测领域的应用,而燃气负荷数据属于时间序列的范畴,因此,将ESN模型用于燃气负荷预测将会是一个可行的方法.与此同时,ESN负荷预测模型具有较高的稳定性,与标准RNN相比,它最大的优点就是只需要训练输出权值,学习速度快,不易陷入局部最优解.

但是,本文所用的燃气历史数据包括日期(年、月、日)、天气、星期几、最高温度、最低温度、平均温度和历史负荷值,是高维数据,而ESN算法针对高维矩阵的训练是不可逆的,所以要先将历史数据进行降维处理[9].众所周知,主成分分析(Principal Component Analysis,PCA)和线性判别分析 (Linear Discriminant Analysis,LDA)是两种常用的降维方法.两种方法最大的区别在于,LDA是有监督的算法,而PCA是无监督的.PCA算法没有考虑数据的标签,即数据的类别,只是把原始数据映射到一些方差比较大的方向上.LDA算法则考虑了数据的类别属性.因此,在有多类数据的情况下,PCA算法的性能很差,难以将不同类别的数据区分开.

Fisher LDA对数据的分布做了一些很强的假设,例如每个类的数据都是高斯分布,各个类的协方差相等.虽然这些假设在实际数据中很可能不满足,但Fisher LDA已被证明是非常有效的降维算法,原因是线性模型对于噪音的鲁棒性比较好,不容易产生过拟合.但 Fisher LDA 也存在局限性,就是模型简单,表达能力相对较弱.为了提高Fisher LDA算法的表达能力,我们可以先将数据非线性地投影到特征空间F内,然后在这个F空间内计算Fisher线性判别式,从而达到降维的目的.但是,当 F 空间的维数非常高时,单纯地将原数据投影到F空间是庞大的计算量.文献[10-12]利用核函数(kernel function),在不使用显式方式的情况下对数据进行投影.这样,我们就无需将原数据投影到F空间,只需将原Fisher线性判别式转化成点乘的形式,仅仅计算由核函数表示的线性判别式即可.常用的核函数有线性核函数,Polynomial核函数,Gaussian核函数(也叫RBF核函数)和Sigmoid核函数.本文选用的是高斯核函数,一方面,高斯核最常用,尤其对于非线性数据;另一方面,RBF可以有效避免样本范数的影响.

本文先使用高斯核Fisher线性判别对燃气数据进行预处理,再将得到的数据输入ESN模型,得到初步预测结果.

此外,本文选用了RBF神经网络(径向基函数神经网络,Radial Basis Function Neural Network,RBFNN),将ESN与RBF相结合,提出一个组合模型,并将ESN的预测结果作为RBFNN的输入数据,可以进一步提高预测精度.相较于常用的BP神经网络(Back Propagation Neural Network,BPNN),RBFNN 弥补了BPNN易陷入局部极小值的缺点,且RBFNN的层数更少,需要确定的权重参数更少,收敛速度也就更快.关于RBF神经网络的基函数数目和中心,即隐含层节点数和隐含层中心,以及连接权值的确定,一直存在一定的困难.学者们针对这一问题,做出了研究,也提出了一些较可行的方法.文献[13]将遗传算法与RBF神经网络相结合,以优化扇形孔,提高薄膜的冷却性能.文献[14]结合和声算法和RBF神经网络各自的优点,建立功能更加完善的和声改进的RBF神经网络,实现对出水水质COD指标的检测.文献[15]利用改进的粒子群优化算法对RBF神经网络不同的隐含层函数和网络参数进行学习.这类传统算法虽然具有较强的随机优化能力,但是比较容易过早地收敛,局部寻优能力有待提高.

差分进化 (Differential Evolution,DE)算法[16,17]是一种新兴的进化计算,和遗传算法(Genetic Algorithm,GA)[18]一样,包括交叉操作和变异操作,但 DE 用一对一的淘汰机制代替遗传算法的选择操作,让个体之间相互竞争,以此更新种群,这使得DE比GA更易操作.除此之外,DE具有强大的记忆功能,可以动态跟踪搜索情况,随时对优化策略做出适当的调整,因此它的鲁棒性更好,全局搜索能力也较强.然而,DE 对局部的搜索能力有限,当需要优化的参数数目较多时,网络训练时间较长,为了解决这一问题,本文参照文献[19]的方法,引入梯度下降算法,将差分进化算法强大的全局搜索能力和梯度下降算法强大的局部搜索能力结合,采用混合编码的方法对隐含层节点数和其他参数进行编码,运用混合进化算法对RBFNN的结构和参数同时进行训练和优化.

实验最后,为了验证该模型的性能,将该模型与SVM(Support Vector Machie,支持向量机)、BPNN 和 ESNRBF进行对比,比较它们的MAE(平均绝对误差)、RMSE(均方根误差)、MAPE(平均绝对百分误差).

1 数据预处理

本文数据来源是上海市吴淞地区2010年4月27日到2014年4月30日每一天的实际燃气负荷值、日期(年、月、日)、天气、最高温度、最低温度、平均温度和日期类型.其中,日期类型指的是星期几,天气指的是阴、晴、雨和多云等等天气状况,需先将它们分别按表1,表2的方式进行量化处理.

表1 日期类型量化方式

表2 天气类型量化方式

如前文所述,本文使用高斯核Fisher线性判别对燃气数据进行预处理,无需将原数据投影到特征F空间,只需计算由核函数表示的线性判别式即可,从而增强了简单Fisher LDA的表达能力.

数据预处理后,选用的输入值有预测日的日期类型,预测日前两天的负荷值和预测日的平均温度,模型的输出值是预测日的负荷值.数据集的前800条数据作为训练集用于建立预测模型,第801-1100条数据作为测试集,用于检验预测模型的性能.

2 ESN 模型概述及预测

2.1 ESN模型概述

ESN 由输入层,储备池,输出层组成 (如图1),三层的节点数分别为K、N和L.其中,U(m)、X(m)和Y(m)分别表示m时刻的输入、储备池状态和输出,Win、W和Wout分别表示输入层到储备池的连接权值、储备池到下一个时刻储备池状态的连接权值和储备池到输出层的连接权值.

2.1.1 ESN 特点

ESN的中心思想是:先用输入信号激发储备池的状态响应信号,即“回声信号”;再用“回声信号”的线性组合逼近期望的输出信号[20].

ESN的特点主要有以下三个:

(1)储备池(Reservoir)是 ESN的核心内容.ESN的储备池是随机生成的,其中包含大量稀疏连接的神经元,通过调整其内部权值,可以使网络具备短期记忆的能力.

(2)ESN的输出权值是唯一需要调整的部分.ESN的Win和W是随机生成的,且一经生成就保持不变,因此,训练ESN就是训练储备池到输出层的连接权值Wout.

(3)简单的线性回归就可完成网络的训练.

图1 ESN 结构

2.1.2 ESN 的状态方程

m时刻,输入层,中间层 (储备池),输出层的状态序列分别是:

ESN的储备池内部单元的状态更新方程为:

ESN的输出单元的状态更新方程为:

其中,fin=(f1,f2,···,fN)为隐含层内部神经元激活函数,一般取 Sigmoid 函数;fout=(f1,f2,···,fL)为输出层激活函数,一般取线性函数.

2.1.3 储备池的四个参数

储备池的4个参数决定了ESN的最终性能,这4个参数分别是:

(1)储备池规模N.它的值是储备池中的神经个数.储备池规模越大,网络对给定系统的动态描述则越准确,但同时可能导致过拟合.

(2)储备池谱半径SR(Spectral Radius).它的值是连接权值矩阵W的绝对值最大的那个特征值,记为λMAX,要保证网络稳定,λMAX必须小于 1,此时 ESN 具有回声状态属性.

(3)储备池伸缩尺度SE(Scale of Expansion).它表示的是输入信号与储备池内部神经元连接之前需要乘的一个尺度因子.通常情况下,输入信号的非线性越强,伸缩尺度越大.

(4)储备池稀疏度S(Sparsity).它表示的是储备池内部神经元之间的连接程度,因为并不是所有神经元都是彼此相连的.S的值是相互连接的神经元数与神经元总数N的比值取百分数,S的值越大,非线性逼近能力越强.

2.1.4 ESN 的训练过程

正如前文所述,ESN的训练过程就是根据给定的样本训练输出权值Wout.具体流程如下:

Step 1.确定网络的初始参数.这一步骤不仅包括确定储备池的规模N、谱半径SR、伸缩尺度SE、稀疏度S和激活函数 ,还包括生成权值矩阵Win和W.

Step 2.将训练样本依次加载到输入单元,并按SE进行伸缩.

Step 3.更新并收集状态方程和矩阵.根据式 (4)更新 .为了避免初始状态的影响,从r时刻开始,按照式 (6)收集每个样本的输入U(m)和状态X(m)构成矩阵T.

Step 4.同理,按照式 (7)收集 r时刻开始,每个样本的期望输出Y.

Step 5.计算输出权值Wout.根据式 (8)计算输出权值.

2.2 ESN预测

前800条历史数据经预处理后,输入ESN模型,进行训练.本节使用MATLAB编写代码实现ESN预测,储备池规模N通常可设为几十到上千;输入层到储备池的连接权值和储备池到输出层的连接权值在网络初始化时随机产生,且范围是均匀分布的[-1,1];为确保ESN具有回声状态属性,储备池谱半径SR要小于1.

建模过程完成后,用第801-1100条历史数据测试建成的模型,结果如图2所示.横轴表示300个样本,纵轴表示负荷值,从图中可以看出,预测曲线可以大致拟合实际负荷值的走势.

图2 ESN 网络预测曲线图

3 基于混合进化算法的RBFNN模型概述及预测

RBF神经网络通常只有三层(如图3),每一层发挥着不同的作用.第一层是输入层,由一些感知单元组成,作用是将外界环境与网络相连;第二层是隐含层,作用是完成从输入空间到隐层空间的非线性变换,与一般的神经网络不同,RBF神经网络的隐含层只有一层;最后一层是输出层,它通常由简单的线性函数组成,作用是为作用于输入层的激活模式提供响应.

RBF神经网络的中间层神经元的激活函数是径向基函数,最常用的是高斯核函数:

其中,fi(x)为隐含层的输出,x为网络的输入值,ai为隐含层中第i个节点的基函数的中心值,σ为高斯函数的方差,它决定了基函数的宽度,Z为隐含层节点的个数.

RBF神经网络预测方法首先将低维形式的输入映射到中间层的高维空间,其次由隐含层选择径向基函数进行转换,然后在输出层进行分类处理,计算出线性组合,从而实现输入到输出的映射关系,该模型需调节的参数就是决定基函数形状的参数和线性组合的权值.

图3 RBF 神经网络的结构

设RBF预测模型输出层只有一个节点,即为预测结果.输出可表示成:

其中,ωi为隐含层到输出层的权值,bi为偏置项.

3.1 基于混合进化算法的RBFNN概述

进化算法的本质是模拟大自然生物的进化过程,通过交叉、选择和变异等机制,自适应地随机搜索问题的最优解,它的全局搜索能力较强,适用于RBF神经网络参数的优化.差分进化(DE)算法是一种简单有效的全局优化启发式算法,主要包括初始化、交叉、选择和变异操作.本文用DE算法搜索最优参数,其步骤可以参考文献[13]中遗传算法的基本步骤.

可是,当参数数目较多时,单纯采用差分进化算法进行优化易导致收敛速度过慢,为了解决这一问题,本文引入梯度下降算法,结合两种方法的优点,提出一种混合进化算法对RBF网络结构和参数进行训练和优化.

3.1.1 混合编程

该预测模型的关键是要确定基函数的中心ai,宽度σ和节点数Z,还有隐含层到输出层的权值ωi.为了降低计算复杂度,本文先确定基函数的数目,中心和宽度,再用递推最小二乘法求解隐层到输出层的权值构成的线性方程组,得到ωi的值.为使得网络可以自动选择参数,本文采用对每个节点同时进行二进制编码和实数编码,其中,对基函数的中心和宽度采用实数编码,对节点采用二进制编码.

进化算法主要依赖适应度函数来决定个体能否进化到下一代.以往的适应度大小常常是训练集的误差,这会导致为了追求误差尽可能地小而产生过拟合的现象,从而使得测试误差很大.本文将训练集P和测试集Q的加权作为个体的适应度大小,并定义训练误差EP和测试误差EQ分别为:

其中,NP为训练集P的样本数,NQ为训练集Q的样本数,yj为实际负荷值,为模型预测值.

故将此问题转化成计算一组使得式(13)的值最小的参数:

其中,μ为权重,且满足μ∈[0,1].

要满足式(13)的值最小,就是要求EP和EQ中较小的那个所占的权重大.即:要求训练误差较小时,μ取较大的值;要求测试误差较小时,μ取较小的值.将式(13)作为本文的适应度函数,可以直观地反映出个体的性能,从而决定其是否可以进化到下一代.式(13)的根本目的是寻找RBF网络的最优参数,该方法可以在保证误差精度的前提下,提高RBF网络的泛化能力.

3.1.2 差分进化[21]

差分进化算法包括初始化,变异,交叉,选择这四个机制:

1)初始化 (Initialization)

这一步,有几个参数需要随机赋予初值,包括种群规模NP,向量的维度DM,缩放和变异因子F,交叉概率常数CR,个体值范围[GL,GU].该种群按式(14)进行初始化:

其中,GU和GL分别表示个体值的上界和下界,rand[0,1]表示区间[0,1]上的随机数.

2)变异 (Mutation)

随机选取种群中两个不同的基向量,作相减操作,得到差分向量,再将差分向量进行缩放,加到另一个随机基向量上,产生变异向量,这一过程被称作变异.这一过程可以用式(15)表示:

其中,t表示第t代,r1,r2,r3 为[1,NP]上的三个随机数,V为变异向量,X为个体向量.

3)交叉 (Crossover)

将变异向量V与个体向量X进行参数混合,生成试验向量U,这一过程被称作交叉.这一过程可以用式(16)表示:

其中,CR∈[0,1],其值在初始化步骤中给出.rand[0,1]用来确保试验向量至少有一维变量是由变异向量贡献的,否则试验向量有可能与个体向量相同,这样就不能生成新个体.

4)选择 (Selection)

如果试验向量的适应度优于个体向量的适应度,则用试验向量取代个体向量,产生下一代,这一过程被称作选择.这一过程可以用式(17)表示:

3.1.3 梯度下降

每次进化后都会产生新的种群,从中选取适应度较好的R个个体,以概率PR进行梯度下降迭代操作,可以提高算法的局部搜索能力,加快网络的收敛速度.

3.1.4 混合进化算法流程

采用混合进化算法改进的RBF神经网络的算法流程如图4.

RBF神经网络模型的关键是确定基函数的中心、宽度和节点数,本文所采用的实数编码和二进制编码方式可以使得网络自动选择参数,随机生成初始种群.本文使用的适应度函数——式(13)不同于以往计算适应度的方法,本文采用的是训练误差和测试误差的加权,这样不仅可以直观反映出个体能否进化到下一代,还可以在精度范围内避免过拟合,提高网络的泛化能力.此外,本文引入的梯度下降算法,其强大的局部搜索能力与进化算法强大的全局搜索能力相结合,可以进一步加快网络的收敛速度.

图4 改进 RBFNN 的算法流程图

3.2 基于混合进化算法的RBFNN预测

将ESN的预测结果作为RBF神经网络的输入来构建组合模型,其预测结果如图5所示.横轴表示300 个样本,纵轴表示负荷值,从图中可以看出,ESN和RBF神经网络的组合模型的预测精度高于单一的ESN模型.

图5 ESN-RBF 神经网络预测曲线图

本文选取混合进化算法的参数(参数由实验得出,由于文章篇幅原因,不在此赘述过程)为:种群规模NP=300,R=20,PR=0.5,预测结果如图6所示.横轴表示300 个样本,纵轴表示负荷值,从图中可以看出,除了某几个突变的时刻,曲线出现尖峰点,拟合效果稍有欠缺,对于大多数样本来说,预测值和实际负荷值的误差相对在一个可接受的范围内,这验证了优化后的组合模型相较于未优化的组合模型,预测精度有很大的提升.

图6 改进后的 ESN-RBF神经网络预测曲线图

为了证明本文的组合模型优于单一的RBF神经网络模型,将原始数据输入传统的RBF神经网络,得到如图7所示的预测结果.从图中可以看出,单一RBF神经网络的拟合效果较差.而本文不仅使用ESN和RBF的组合模型,还对RBF网络作出了改进,大大提高了预测精度.

图7 RBF 神经网络预测曲线图

此外,本文将提出的组合模型与常见的SVM、BP神经网络和未优化的组合模型进行对比,分别计算它们的平均绝对误差、均方根误差和平均绝对百分误差,计算方法如式(18)、式(19)和式(20),计算结果如表3所示.

表3 各模型评估结果对比

平均绝对误差 (Mean Absolute Error,MAE):

均方根误差 (Root Mean Square Error,RMSE):

平均绝对百分误差 (Mean Absolute Percentage Error,MAPE):

其中,yi为真实值,为预测值,n为样本个数.

根据表3的数据,可以得到以下两点结论:

1)组合模型相较于单一模型,预测精度更高;

2)经过本文方法优化过的组合模型,相比于未优化的组合模型,预测效果有显著的提升.

4 结论与展望

由于燃气负荷具有非线性和周期性,单一的传统预测模型难以较好地挖掘数据复杂的非线性特征,本文提出一种基于ESN和RBF神经网络的组合预测模型,将ESN的预测结果作为RBF神经网络的输入,可以进一步提高预测精度.同时对RBF神经网络混合编码,将差分进化算法强大的全局搜索能力与梯度下降算法强大的局部搜索能力相结合,用于RBF神经网络的优化.仿真实验结果对比表明,本文的方法具有较好的预测效果.

本文的未来研究方向是寻找更有效地确定ESN模型参数的方法,以及对RBF神经网络的进化算法内部参数提出新的改进.

猜你喜欢

权值储备向量
一种融合时间权值和用户行为序列的电影推荐模型
向量的分解
释放钾肥储备正当时
聚焦“向量与三角”创新题
外汇储备去哪儿了
向量垂直在解析几何中的应用
财务风险跟踪评价方法初探
向量五种“变身” 玩转圆锥曲线
基于洪泛查询的最短路径算法在智能交通系统中的应用