一种河流水质预测方法与流程

文档序号:14474807阅读:212来源:国知局
一种河流水质预测方法与流程

本发明涉及环境预测技术领域,更具体地,涉及一种河流水质预测方法。



背景技术:

河流水质预测是实现河流水系统柔性管理、防治水污染的前提。河流流域水质的影响因子包括ph值、溶解氧(do)、电导率(ec)、浊度(tu)、氨氮(nh3-n)、化学需氧量(cod)和高锰酸盐等水质参数,对其中溶解氧、氨氮、总磷、总氮的变化预测,更加有利于实现河流不同流域的污染治理和水源管理。

目前,常用的单一预测方法有水质模拟预测、神经网络模型预测、时间序列预测法、灰色预测模型法和基于混沌理论的水质预测法等5大类。近年来也有学者开始研究水质的组合预测模型,其中包括基于arima和ann组合的水质预测模型。基于arima和ann的水质预测方法主要处理流程包括:将一种历史水质参数数据作为arima模型的输入,得出的残差数据作为ann输入,然后将arima预测值与ann的输出相加,得出最终预测结果。没有考虑原始数据和残差数据间的关系。

但是,上述各单一预测方法在水质预测过程中,由于不能兼顾水质变化的各种影响因素,且处理手段单一,往往预测结果不够精确,预测性能不佳。基于arima和ann的组合水质预测方法由于没有考虑原始数据和残差数据间的关系,使神经网络参数容易陷入局部最优值,预测效果较差,精度不高。



技术实现要素:

为了克服上述问题或者至少部分地解决上述问题,本发明提供一种河流水质预测方法,用以有效改善水质预测系统的通用性,提高水质预测准确性和预测效率。

本发明提供一种河流水质预测方法,包括:s1,基于目标水域水质参数的时间序列测试数据,利用arima预测模型,初步预测指定时间所述水质参数的初始预测数据,并计算预测残差数据,其中,所述arima预测模型是事先根据所述水质参数的历史时间序列数据样本构建的;s2,基于所述时间序列测试数据、所述初始预测数据和所述预测残差数据,利用遗传算法优化的小波神经网络模型,预测所述指定时间所述水质参数的预测数据,其中,所述遗传算法优化的小波神经网络模型是事先根据所述历史时间序列数据样本和所述arima预测模型,通过遗传算法优化获取的。

其中,步骤s1中根据所述水质参数的历史时间序列数据样本构建所述arima预测模型的步骤进一步包括:s11,若所述历史时间序列数据样本为非平稳数据,则利用差分算法对所述历史时间序列数据进行平稳化处理,获取平稳历史时间序列数据样本,并估计所述arima预测模型的差分次数参数;s12,将所述平稳历史时间序列数据样本分为训练样本和测试样本;s13,基于所述训练样本,利用自相关函数和偏自相关函数,估计所述arima预测模型的自回归项参数和移动平均项参数;s14,基于所述训练样本,利用由所述差分次数参数、所述自回归项参数和所述移动平均项参数确定的初始arima预测模型,计算arima残差并进行arima残差检验;s15,若所述arima残差服从均值为零且方差不变的正态分布,则利用所述测试样本,通过采用arima残差判断,进行所述初始arima预测模型的显著性检验;s16,若所述显著性检验的结果满足设定标准,则输出所述初始arima预测模型作为所述arima预测模型,否则转入步骤s13。

其中,步骤s2中根据所述历史时间序列数据样本和所述arima预测模型,通过遗传算法优化构建所述小波神经网络模型的步骤进一步包括:s21,基于所述训练样本,利用所述arima预测模型初步预测中间预测数据,并计算中间残差数据;s22,采用遗传算法优化,初始化所述小波神经网络模型的网络参数,并通过初始化所述小波神经网络的学习率和动量因子,初始化所述小波神经网络模型;s23,基于所述训练样本、所述中间预测数据和所述中间残差数据,利用初始化的小波神经网络模型进行前向预测计算,并通过误差判断和迭代次数判断,进行反向参数修正,获取初始小波神经网络模型;s24,利用所述测试样本,通过误差判断,测试所述初始小波神经网络模型的预测准确性,若所述准确性达到设定标准,则输出所述初始小波神经网络模型作为所述小波神经网络模型,否则转入步骤s22。

其中,步骤s22中所述采用遗传算法优化,初始化所述小波神经网络模型的网络参数的步骤进一步包括:s221,随机获取多个小波神经网络参数组进行种群初始化,对每个所述小波神经网络参数组进行染色体编码,获取第一代种群,每个所述小波神经网络参数组对应一个染色体,每个染色体包含多个基因,每个基因对应一种小波神经网络参数;s222,基于所述中间预测数据和所述训练样本计算所述第一代种群中每个染色体的适应度;s223,选择所述适应度满足设定要求的第一代种群染色体,并对选出的染色体依次进行设定概率的交叉操作和变异操作,分别获取第二代种群和第三代种群;s224,选择所述第三代种群中适应度满足设定条件的染色体并进行解码,获取初始小波神经网络参数。

进一步的,在所述s224的步骤之后,所述方法还包括:通过利用均方误差法调整所述初始小波神经网络参数,最小化误差函数,获取误差函数梯度,并利用所述误差函数梯度进行误差的反向传播修正网络权值。

进一步的,在所述s11的步骤之前,所述方法还包括:利用adf单位根检验法判断所述历史时间序列数据样本的平稳性。

进一步的,在所述s12和s13的步骤之间,所述方法还包括:基于所述差分次数参数,分别计算ar模型、ma模型和arma模型的aic值,选择其中最小aic值对应的模型类型作为目标arima预测模型;相应的,由所述目标arima预测模型、所述自回归项参数和所述移动平均项参数确定所述初始arima预测模型。

进一步的,在步骤s22中所述采用遗传算法优化,初始化所述小波神经网络模型的网络参数的步骤之后,所述方法还包括:采用均方误差法,对经所述遗传算法优化的小波神经网络模型的网络参数进行进一步优化。

进一步的,在步骤s24中所述输出所述初始小波神经网络模型作为所述小波神经网络模型的步骤之前,所述方法还包括:利用所述测试样本,采用平均绝对误差法、均方根误差法和均方误差法中的一种或多种,评价基于所述arima预测模型和所述初始小波神经网络模型组合的组合网络模型的预测性能,并选取所述预测性能满足给定标准的组合网络模型对应的初始小波神经网络模型。

其中,步骤s221中所述随机获取多个小波神经网络参数组进行种群初始化的步骤进一步包括:根据小波神经网络参数类型随机选择多个数组作为所述小波神经网络参数组,所述小波神经网络参数类型包括网络权值、小波伸缩与平移因子;对所述多个小波神经网络参数组进行初始化编码,初始化交叉规模、选择概率、交叉概率、突变概率和初始种群数,设定最大允许遗传代数。

本发明提供的一种河流水质预测方法,采用融合arima模型和遗传算法优化的小波神经网络的水质时间序列预测方法组合模型预测,相较传统水质预测方法,本发明通用性更强,预测精确度更高,收敛速度更快效率更高,便于多水源监管、水质预警和水污染治理。

附图说明

图1为本发明实施例一种河流水质预测方法的流程图;

图2为本发明实施例一种arima预测模型的构建过程流程图;

图3为本发明实施例一种遗传算法优化的小波神经网络模型的构建过程流程图;

图4为本发明实施例一种小波神经网络的结构拓扑示意图;

图5为本发明实施例一种遗传算法优化的小波神经网络初始化过程流程图;

图6为本发明实施例一种遗传算法优化的小波神经网络流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

作为本发明实施例的一个实施例,本实施例提供一种河流水质预测方法,参考图1,为本发明实施例一种河流水质预测方法的流程图,包括:

s1,基于目标水域水质参数的时间序列测试数据,利用arima预测模型,初步预测指定时间所述水质参数的初始预测数据,并计算预测残差数据,其中,所述arima预测模型是事先根据所述水质参数的历史时间序列数据样本构建的。

可以理解为,对于目标水域的各种水质参数,如ph、溶解氧(do)、电导率(ec)、浊度(tu)、氨氮(nh3-n)、化学需氧量(cod)、总磷(tp)和总氮(tn)等,分别建立融合arima模型和遗传算法优化的小波神经网络模型的组合预测模型,并分别利用相应组合预测模型对水质参数的变化进行预测。

采用融合arima模型和遗传算法优化的小波神经网络的组合预测模型,对目标水域各种水质参数的时间序列测试数据,即预测基准数据进行预测计算,获取该水质参数在指定时间段的预测值。

本步骤首先将每种待预测水质参数的时间序列测试数据,即预测基准数据进行初始化处理,并将初始化处理后的时间在先的测试数据输入事先构建好的arima预测模型,输出arima的预测数据,作为初始预测数据。将初始化处理后的时间在后的测试数据作为参考输出,将初始预测数据与参考输出进行比较,获取二者偏差,作为预测残差数据。

在利用arima预测模型之前,先要进行arima预测模型的构建,即arima预测模型的初始化、训练和测试流程。具体将经过预处理的目标水域水质参数历史时间序列数据分为训练样本集和测试样本集,取部分历史水质参数值作为训练样本集输入arima模型,以后期水质参数值作为输出,获取初步最优模型。对初步最优arima模型用测试样本集对训练后的模型进行检验,获得最优基于arima模型的水质参数时间序列预测模型。

s2,基于所述时间序列测试数据、所述初始预测数据和所述预测残差数据,利用遗传算法优化的小波神经网络模型,预测所述指定时间所述水质参数的预测数据,其中,所述遗传算法优化的小波神经网络模型是事先根据所述历史时间序列数据样本和所述arima预测模型,通过遗传算法优化获取的。

可以理解为,在根据上述步骤由arima预测模型对水质参数数据进行初步预测之后,利用遗传算法优化的小波神经网络模型对初步预测值进行进一步优化。将arima预测模型输出的初始预测值、arima预测获取的非线性残差数据和原始时间序列测试数据共同作为遗传算法优化的小波神经网络模型的输入,对相应水质参数的数据进行预测。输出最终指定时间的预测数据。

应当理解的是,在运用遗传算法优化的小波神经网络模型训练小波神经网络模型对相应水质参数的数据进行进一步预测之前,先要根据历史数据构建该模型。具体基于遗传优化算法获取初始小波神经网络模型参数对小波神经网络进行初始化设定,然后以上述训练数据中时间在前的数据作为arima预测模型的输入,获取初始预测数据和预测残差数据,将初始预测数据和预测残差数据连同原始训练数据一起,作为初始小波神经网络的输入,对初始小波神经网络进行训练。之后使用测试样本集检验,微调网络参数,获得最优遗传算法优化的小波神经网络模型。

本发明实施例提供的一种河流水质预测方法,采用融合arima模型和遗传算法优化的小波神经网络的水质时间序列预测方法组合模型预测,相较传统水质预测方法,本发明通用性更强,预测精确度更高,收敛速度更快效率更高。

其中可选的,步骤s1中根据所述水质参数的历史时间序列数据样本构建所述arima预测模型的进一步处理步骤参考图2,为本发明实施例一种arima预测模型的构建过程流程图,包括:

s11,若所述历史时间序列数据样本为非平稳数据,则利用差分算法对所述历史时间序列数据进行平稳化处理,获取平稳历史时间序列数据样本,并估计所述arima预测模型的差分次数参数。

可以理解为,arima模型将预测指标,即各种水质参数数据随时间推移而形成的数据序列看作是一个随机序列,这组随机变量所具有的依存关系体现着原始数据在时间上的延续性,它既受外部因素的影响,又有自身变动规律。arima模型可以对线性水质时间序列数据进行预测。根据时间序列是否平稳以及回归中所含部分的不同,可分为:自回归ar(p)模型、滑动平均ma(q)模型和arma(p,q)模型。

由于arima模型处理的是平稳数据,在已经获知用于建模的历史时间序列数据样本为非平稳数据的情况下,先要根据差分算法对历史时间序列数据样本进行差分运算。假设定义随机序列{x,t},t=1,2,…是一单位根过程,若x,t=ρx_t-1+ε,t=1,2…其中ρ=1,{ε}为一平稳序列(白噪声),且e[ε]=0,v(ε)=σ<∞,cov(ε,ε)=μ<∞这里τ=1,2…,则采取差分形式处理非平稳数据,获取平稳数据时进行差分的总次数即是arima(p,d,q)模型中的差分次数参数d。ar是自回归,p为自回归项,ma为移动平均,q为移动平均项数。时间序列数据被平稳化处理后,arima(p,d,q)模型就转化为arma(p,q)模型。

序列能通过d次差分后变成平稳序列,则建立arima(p,d,q)模型为:

wt=φ1wt-1+φ2wt-2+...+φpwt-p+δ+ut+θ1ut-1+θ2ut-2+...+θqut-q;

式中,wt,wt-1,wt-2,...,wt-p表示时间序列数据,φ1,φ2,...,φp表示ar的系数,δ为常数,表示序列数据无0均值化,ut,ut-1,ut-2,...,ut-q表示白噪声序列,θ1,θ2,...,θq表示ma的系数。

在一个实施例中,在所述s12和s13的步骤之间,所述方法还包括:基于所述差分次数参数,分别计算ar模型、ma模型和arma模型的aic值,选择其中最小aic值对应的模型类型作为目标arima预测模型;相应的,由所述目标arima预测模型、所述自回归项参数和所述移动平均项参数确定所述初始arima预测模型。

可以理解为,在对非平稳时间序列数据进行差分处理之后,获取了模型的差分次数参数,根据该参数可以建立ar、ma和arma不同类型的模型,为了选取最优模型类型,分别根据差分次数参数建立ar模型、ma模型和arma模型,并分别计算各种模型的aic值,选取其中最小aic值对应的模型类型作为目标arima预测模型。之后根据该目标arima预测模型确定符合标准的arima预测模型。

s12,将所述平稳历史时间序列数据样本分为训练样本和测试样本。

可以理解为,在获取平稳时间序列数据之后,将平稳时间序列数据一分为二,一部分作为训练样本训练初步建立的arima模型,另一部分作为测试样本对训练好的模型进行性能测试。

在一个实施例中,在将一种水质参数时间序列数据分为训练集和测试集之后,还对训练集数据进行归一化处理,将数据转换到[0,1]的区间,具体按下式进行归一化处理:

式中,xi表示原始的水质参数时间序列数据的归一化处理结果,xi表示原始的水质参数时间序列数据,表示水质参数时间序列数据平均值,si表示标准偏差。

s13,基于所述训练样本,利用自相关函数和偏自相关函数,估计所述arima预测模型的自回归项参数和移动平均项参数。

可以理解为,在时间序列分析中,采用自相关函数(acf)和偏自相关函数(pacf)来判别arma(p,q)模型的系数和阶数,即自回归项和移动平均项。初步确定范围。例如,模型参数取为(2,1,3)、(1,0,2),相应的arima模型即为arima(2,1,3)和arima(1,0,2)。根据上述步骤获取的差分次数参数d可以是不同的,因此需要判定arma(p,q)进行模型识别,并采用最小二乘法对模型参数值进行参数估计。自相关函数(acf)描述时间序列观测值与其过去的观测值之间的线性相关性。偏自相关函数(pacf)描述在给定中间观测值的条件下时间序列观测值与其过去的观测值之间的线性相关性。

s14,基于所述训练样本,利用由所述差分次数参数、所述自回归项参数和所述移动平均项参数确定的初始arima预测模型,计算arima残差并进行arima残差检验。

可以理解为,根据上述步骤将一种水质参数时间序列数据训练样本输入arima模型中,根据adf检测数据平稳性,进行d次差分,观测自相关和偏相关图,识别模型。设arima模型预测结果为原时间序列yt和预测结果的残差为et,即:

原时间序列中的非线性关系隐含在残差序列{et}中,即:

et=f(et-1,et-2,...,et-n)+εt;

式中,{et,et-1,et-2,...,et-n}表示预测残差序列,εt表示随机误差。

s15,若所述arima残差服从均值为零且方差不变的正态分布,则利用所述测试样本,通过采用arima残差判断,进行所述初始arima预测模型的显著性检验。

可以理解为,在根据上述步骤对建立的模型进行训练时,以arima残差服从均值为零且方差不变的正态分布作为终止条件。当残差满足该标准时,利用测试样本对训练完成的模型进行训练。将测试样本输入arima模型,通过判断残差检验经过训练的模型是否满足显著性标准,同时验证所拟合的时间序列模型的残差序列是否是白噪声序列,即残差序列的独立性检验。

s16,若所述显著性检验的结果满足设定标准,则输出所述初始arima预测模型作为所述arima预测模型,否则转入步骤s13。

可以理解为,在根据上述判断获知预测误差是平均值为零且方差为常数的正态分布,即服从零均值、方差不变的正态分布时,判定建立的模型满足显著性检验标准,对数据反归一化处理,获得残差序列数据和预测数据,输出经过测试的arima预测模型,模型建立完成。

在一个实施例中,在所述s11的步骤之前,所述方法还包括:利用adf单位根检验法判断所述历史时间序列数据样本的平稳性。

在不确定水质参数数据的平稳性的情况下,需要先利用adf单位根检验法对输入数据,即水质参数数据,包括构建模型时的训练样本数据、测试样本数据以及进行水质参数预测的测试数据,进行平稳性检验。针对本实施例,先利用adf单位根检验法判断历史时间序列数据样本的平稳性。

其中可选的,步骤s2中根据所述历史时间序列数据样本和所述arima预测模型,通过遗传算法优化构建所述小波神经网络模型的进一步处理步骤参考图3,为本发明实施例一种遗传算法优化的小波神经网络模型的构建过程流程图,包括:

s21,基于所述训练样本,利用所述arima预测模型初步预测中间预测数据,并计算中间残差数据。

小波神经网络(wnn)是以误差反传神经网络拓扑结构为基础的网络,与bp神经网络类似。在小波神经网络中,信号向前传播的同时,误差反向传播,不同的是小波神经网络隐含层节点的传递函数为小波基函数。wnn包括三个部分,即输入层、输出层和隐含层,wnn的拓扑结构如图4所示,为本发明实施例一种小波神经网络的结构拓扑示意图。本发明实施例小波神经网络采用单隐层结构,隐层节点根据处理的信号性质选择morlet小波函数作为传递函数。

x1,x2,...,xk是wnn的输入参数;y是预测的输出值;wij和wjk为网络连接权重值。当输入水质参数样本序列为xi=(1,2,...k)时,隐含层输出为:

式中,h(j)表隐含层第j个节点的输出,wij表示输入层和隐含层的连接权重值,aj为小波基函数hj的伸缩因子,bj为hj的平移因子,mj为小波基函数。

本实施例采用的小波基函数是morlet母小波基函数,公式为:

式中,x表示传递函数的输入,y表示传递函数的输出。

小波神经网络输出层计算公式为:

式中,wik表示隐含层到输出层的网络连接权重值;h(i)表隐含层第i个节点的输出,m为隐含层节点个数,n为输出层节点个数。

在根据上述实施例构建了符合标准条件的arima预测模型之后,需要利用该arima预测模型进行遗传优化的小波神经网络模型的构建。构建小波神经网络模型时,以原始水质参数时间序列数据,即训练样本,以及arima预测模型初步预测的中间预测数据和计算获取的中间残差数据为网络输入,因此,步骤s21中将训练样本输入构建的arima预测模型,经过初步预测,获取中间预测数据和中间残差数据。

s22,采用遗传算法优化,初始化所述小波神经网络模型的网络参数,并通过初始化所述小波神经网络的学习率和动量因子,初始化所述小波神经网络模型。

可以理解为,在构建小波神经网络模型时,需要对网络模型结构和参数进行初始化。具体在对网络参数进行初始化时,采用遗传优化算法,选取最优参数作为小波神经网络模型的初始化网络参数。同时设定小波神经网络模型的初始化学习率和动量因子,实现对小波神经网络模型的初始化设定。

s23,基于所述训练样本、所述中间预测数据和所述中间残差数据,利用初始化的小波神经网络模型进行前向预测计算,并通过误差判断和迭代次数判断,进行反向参数修正,获取初始小波神经网络模型。

可以理解为,在上述步骤根据训练数据和构建的arima预测模型获取中间预测数据和中间残差数据,且利用遗传优化算法对小波神经网络的网络参数进行初始化之后,将训练样本、中间预测数据和中间残差数据作为初始小波神经网络的输入,进行输入数据的前向预测计算,获取预测结果。

将训练样本中时间在后的数据与该预测结果进行比较,计算偏差。当判断偏差不在设定误差范围内时,同时判断迭代次数是否超过最大设定次数,若不超过,则进行误差的反向传播,修正网络参数,并对修正参数后的模型进行新的训练样本的预测,直至预测偏差在设定范围内,将当前参数的网络模型作为初始小波神经网络模型输出。

s24,利用所述测试样本,通过误差判断,测试所述初始小波神经网络模型的预测准确性,若所述准确性达到设定标准,则输出所述初始小波神经网络模型作为所述小波神经网络模型,否则转入步骤s22。

可以理解为,在根据上述步骤建立了初始小波神经网络模型之后,还需要利用测试样本对该初始网络模型进行测试,以检验其性能是否达到设定标准。具体将测试样本作为arima预测模型与上述初始小波神经网络模型组合形成的组合测试模型的输入,通过组合测试模型预测计算,输出预测结果。

同时将该预测结果与测试样本中时间在后的实际数据进行比较,获取预测偏差,通过判断该预测偏差是否满足设定偏差标准,判断该组合测试模型是否有效。若满足设定偏差标准,说明对测试样本有效,输出该组合测试模型作为最终的预测模型。若不能达到设定偏差标准,说明该组合测试模型对测试样本无效,推定该组合测试模型不具有代表性,返回步骤s22,重新进行组合模型的构建流程,直至获得符合要求的组合模型。

进一步的,在步骤s22中所述采用遗传算法优化,初始化所述小波神经网络模型的网络参数的步骤之后,所述方法还包括:采用均方误差法,对经所述遗传算法优化的小波神经网络模型的网络参数进行进一步优化。

进一步的,在步骤s24中所述输出所述初始小波神经网络模型作为所述小波神经网络模型的步骤之前,所述方法还包括:利用所述测试样本,采用平均绝对误差法、均方根误差法和均方误差法中的一种或多种,评价基于所述arima预测模型和所述初始小波神经网络模型组合的组合网络模型的预测性能,并选取所述预测性能满足给定标准的组合网络模型对应的初始小波神经网络模型。

可以理解为,在根据上述实施例判定初始小波神经网络模型的预测准确性达到设定标准之后,为进一步验证该模型的有效性,采用平均绝对误差(mae)、均方根误差(rmse)和均方误差(mse)中的一种或几种评价模型预测性能,若任一误差均在设定范围内,则认为该模型是有效预测模型。

为进一步说明上述实施例,提供以下小波神经网络建模流程:

首先,遗传算法优化的小波神经网络(ga-wnn)模型对残差序列{et}以及一种原始水质参数时间序列数据yt和arima的预测值三个输入序列进行预测,设arima和ga-wnn模型进行组合预测的结果为则:

式中,表示组合预测结果,yt表示原始水质参数时间序列数据,et表示预测残差数据,表示arima模型的初始预测值。

经过arima模型预测后的残差序列数据、预测数据和一种原始水质参数时间序列数据进行归一化处理,并作为小波神经的输入。

使用遗传算法对小波的伸缩因子、平移因子、连接权值进行优化,获得最优网络参数。

对小波神经网络学习率以及动量因子赋予初始值,利用均方误差法对伸缩因子、平移因子、连接权值再次进行优化。

调整网络参数使得误差函数达到最小值,使用误差函数梯度值进行误差的反向传播。若误差函数小于预先设定的某个精度值,或者达到最大迭代次数,则计算隐层及输出层的输出,停止网络学习过程,否则返回对小波神经网络学习率以及动量因子赋予初始值的步骤循环执行上述步骤,直至误差函数满足设定精度。

使用平均绝对误差(mae)、均方根误差(rmse)、均方误差(mse)评价模型预测性能,保存网络参数,获得网络模型。

利用测试集验证组合模型预测,获得预测结果。

其中可选的,步骤s22中所述采用遗传算法优化,初始化所述小波神经网络模型的网络参数的进一步处理步骤参考图5,为本发明实施例一种遗传算法优化的小波神经网络初始化过程流程图,包括:

s221,随机获取多个小波神经网络参数组进行种群初始化,对每个所述小波神经网络参数组进行染色体编码,获取第一代种群,每个所述小波神经网络参数组对应一个染色体,每个染色体包含多个基因,每个基因对应一种小波神经网络参数;

s222,基于所述中间预测数据和所述训练样本计算所述第一代种群中每个染色体的适应度;

s223,选择所述适应度满足设定要求的第一代种群染色体,并对选出的染色体依次进行设定概率的交叉操作和变异操作,分别获取第二代种群和第三代种群;

s224,选择所述第三代种群中适应度满足设定条件的染色体并进行解码,获取初始小波神经网络参数。

本实施例应当理解的是,遗传算法(geneticalgorithm,ga)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程获取最优解的方法,它的优势在于可避免局部最优解,从而提取重要影响因子。采用遗传算法优化的wnn网络流程如图6所示,为本发明实施例一种遗传算法优化的小波神经网络流程图。

在一个实施例中,步骤s221中所述随机获取多个小波神经网络参数组进行种群初始化的步骤进一步包括:根据小波神经网络参数类型随机选择多个数组作为所述小波神经网络参数组,所述小波神经网络参数类型包括网络权值、小波伸缩与平移因子;对所述多个小波神经网络参数组进行初始化编码,初始化交叉规模、选择概率、交叉概率、突变概率和初始种群数,设定最大允许遗传代数。

采用遗传算法对wnn的参数进行优化,能较好的克服梯度下降法参数初始值敏感,易陷入局部极小和产生振荡效应,获得全局最优的网络参数。上述各步骤具体实施时按如下流程进行:

初始化种群和编码网络参数。随机选择p个小波神经网络参数组作为p个染色体pi=(i=1,2,...,n),对小波神经网络参数,即权重和伸缩因子,进行初始化编码。初始化交叉规模,选择概率,交叉概率,突变概率,调用遗传初始化函数随机初始种群数,设置遗传代数gen。

其中的种群数为设定常量,表示初始话参数组数,比如选取30个种群。30个这样的解的组合。

种群是使整个网络能量函数,即最小误差函数的各种参数值的组合,而一个种群则由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。在一开始需要实现从表现型到基因型的映射,即编码。染色体就是定义的数字,例如使用实数编码,对参数进行编码,遗传算法包里面调用初始化函数就可以;基因即每个网络参数组中的每个网络参数。

然后,计算适应度值,根据训练的结果确定每个染色体对应个体的适应度值。适应度值通过如下适应度函数计算:

式中,v表示第i个个体的适应度值,表示第i个输出节点的期望输出值,yi表示第i个节点的实际输出值,l表示训练样本长度。

根据适应度函数计算适应度值v,保存v值最大的n个个体。

再然后,进行选择、交叉和变异操作。选择操作的目的是挑选出可以被下一代所遗传到的更优异的个体,因此适应度最大的个体直接继承给下一代,但是要尽可能保持种群的多样性,这样才能避免局部最优。采用适应度比例方法,个体的选择概率和其适应度值成比例,适应值高的个体在子代中复制自身的个体数目多,保证适应度最大的个体被保留。按下式进行选择概率计算:

式中,ps表示选择概率,vn表示第n个个体的适应度,vi表示第i个个体的适应度,l表示训练样本长度,n表示选择的最优个体的数量。

交叉是以设定交叉概率随机选取一对染色体,互换其部分的基因,得出两个全新个体的过程,没有进行交叉操作的个体进行直接复制获取第二代种群。变异是利用设定变异概率随机的更改染色体内的某位置,进而生成出一新个体,变异后的个体组成第三代种群。

最后,将种群遗传代数超过预定值作为终止条件,并将得到的最优编码个体进行解码,转换为优化的小波网络连接权值和伸缩平移尺度,否则返回适应度计算步骤,循环执行上述步骤,直至满足设定标准。

在另一个实施例中,在所述s224的步骤之后,所述方法还包括:通过利用均方误差法调整所述初始小波神经网络参数,最小化误差函数,获取误差函数梯度,并利用所述误差函数梯度进行误差的反向传播修正网络权值。

可以理解为,用遗传算法完成对小波神经网络权值wij、wjk和小波伸缩与平移因子aj、bj优化完成后,再利用均方误差方法调整网络参数使得误差函数f达到最小值,获得误差函数f的梯度,然后利用梯度值进行误差的反向传播。以网络参数wij和aj为例,调整公式如下:

式中,f表示误差函数,分别为调整前与调整后的输入层结点与隐含层结点之间的权值,分别为调整前和调整后的平衡因子,η为网络学习速率,l表示训练样本长度,表示第i个输出节点的期望输出值,yi表示第i个节点的实际输出值。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1