CN113722980A - 海洋浪高预测方法、系统、计算机设备、存储介质、终端 - Google Patents
海洋浪高预测方法、系统、计算机设备、存储介质、终端 Download PDFInfo
- Publication number
- CN113722980A CN113722980A CN202110899892.3A CN202110899892A CN113722980A CN 113722980 A CN113722980 A CN 113722980A CN 202110899892 A CN202110899892 A CN 202110899892A CN 113722980 A CN113722980 A CN 113722980A
- Authority
- CN
- China
- Prior art keywords
- cpso
- particle
- model
- particles
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于海洋浪高预测技术领域,公开了一种海洋浪高预测方法、系统、计算机设备、存储介质、终端,选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO‑BP模型中,混沌粒子群优化算法(CPSO)在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO‑BP模型或CPSO‑ELM模型进行海洋预警领域浪高预测。本发明使用深度学习方法进行浪高预测具有准确性高、成本低、运行速度快的优点。
Description
技术领域
本发明属于海洋浪高预测技术领域,尤其涉及一种海洋浪高预测方法、系统、计算机设备、存储介质、终端。
背景技术
海浪预测是海洋工程建设、海上运输、环境保护和军事行动等活动的重要保障。在港口建造方面,海浪影响着海岸的形状,关系着港口、航道以及各种海上建筑的设计和建造。异常的海洋波动会对海岸、港口及海上建筑造成难以估量的损失,但海浪成因复杂,海浪高度预测难度很大。海浪成因复杂,波浪的出现和产生具有很高的随机性。除了海上风浪,海浪还可能和海面物体接触产生新的波动,这使海洋浪高预测的难度进一步增加。
传统的浪高预测方法使用物理模型对海浪进行建模,传统模型的建立一般以Navier-Stokes方程组为基础。传统模型包括:使用几何模型、海浪谱数值模拟和物理模型对海浪生成进行模拟。这些方法通过足够多的环境数据对海浪产生的现实环境进行模拟,需要大量计算资源来对海洋环境进行建模。
不同于资源消耗巨大的传统物理模型预测方法,近年来计算设备性能大大提高,运算能力增强,出现了诸如深度学习的高效算法。这些算法能够在较短的时间内模拟出一个近似的海浪高度预测模型。加之合理的参数和足够多的实际数据,不仅可以增加预测的准确性,还能提高海洋浪高预测速度。近年来,海洋浪高预测与人工智能方法相结合,正成为海洋浪高领域的大发展方向。
现有技术存在的问题及缺陷为:
(1)传统的浪高预测方法使用物理模型对海浪进行建模,通过足够多的环境数据对海浪产生的现实环境进行模拟,需要大量计算资源来对海洋环境进行建模,资源消耗巨大。
(2)使用诸如均方差高度场等统计学方法来完成海浪建模的方法,由于海浪成因复杂,而且对于海上多样的物理特征,并不能全面且准确地进行采集,这使得这些经典的统计学方法无法准确地模拟海上的波浪运动情况。
(3)利用遥感观测进行海浪高度监测的方法中,遥感卫星成本高昂,缺乏高性能预测算法,在数据处理上做到更高精度,以提高海浪浪高预测效率。
传统方法在解决环境复杂的现实问题时,使用到大量的计算资源,且建模算法的运行时间较长,导致快速寻找最优解非常困难。由于这类模型计算量过于庞大,经验模型、几何模型以及物理模型难以得到及时准确的预测结果,对于海况复杂的近海区域其预测能力有限。在大面积海况复杂的海域中,需要对海域每一个质点进行模拟,数值模型将耗费巨大的运算资源并且需要花费大量的时间进行建模和运算。
发明内容
针对现有技术存在的问题,本发明提供了一种海洋浪高预测方法。
本发明是这样实现的,一种海洋浪高预测方法,所述海洋浪高预测方法包括以下步骤:
选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO-BP模型中,混沌粒子群优化算法(CPSO)在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO-BP模型或CPSO-ELM模型进行海洋预警领域浪高预测。进一步,步骤一中,所述特征选取,包括:
在选择输入特征时,确定每个特征与海浪高度的相关性,每个输入参数与海浪高度之间的相关系数进行分析,选取相关系数高的特征作为预测海浪高度的输入特征;其中,备选的神经网络输入特征,包括平均海平面MSL、10米风速U分量U10、10米风速V分量V10、平均海波方向MWD、平均海波周期MWP五项特征。
通过皮尔逊相关系数rx,y计算各个变量与海浪高度SWH的相关性,以相关性作为参考选取神经网络的输入特征;皮尔逊相关系数rx,y用来定量分析变量问的相关性,rx,y∈[-1,1],当|rx,y|接近于1,两者相关性高,当|rx,y|接近于0,两者相关性低;rx,y的正负代表两个变量的相关性正负,根据以下公式进行计算:
其中,|rx,y|>0.8时,两个变量高度相关;当|rx,y|∈[0.3,0.5))时,两个变量低度相关;当|rx,y|<0.3时,两个变量弱相关。
U10和v10分别为精度和纬度上的风速分量,其相关性不适合单独拿出来作为海浪高度预测的参数;通过特征融合,计算观测点风速值UV用作网络的输入,Uv可由以下公式进行计算:
特征融合后的新特征Uv与SWH具有最高的相关性,且与MWP不同,UV不具有后验性,可以作为输入特征。
选用P值Pvalue来分析各参数的显著性。当原假设成立时,P值代表极端情况的发生几率;P值越小表示极端情况发生的几率越小,P值越大表示极端情况发生的几率大,故P值的大小表示各参数的显著性。当P值小于005时,表示该变量具有显著性;当P值小于0001时,表示该变量具有高显著性;只有当显著性高且相关系数高时,将这个参数用作输入特征才有意义。好的输入拥有高相关性且P值一般小于01,具有越小的P值才可认为两组数据有明显关系。UV和MSL与SWH具有高度相关性,故选用UV和MSL作为网络的输入特征进行浪高。
进一步,步骤二中,所述CPSO算法的确定,包括:
粒子群优化算法分为两种状态:探索状态和开发状态。处于探索状态时,传统粒子群算法用随机的方式去搜索问题空间,但这时粒子可能经过变异,而陷入局部最优解;处于开发状态时,粒子群向最优区域聚合。当使用粒子群算法进行求解时,通过引入混沌学习算法,按照其粒子群行为特征建立其混沌模型,来解决粒子群过早收敛的问题。
对粒子群进行位置初始化,第i个粒子的初始位置表示为:
Xi=(Xi,1,Xi,2,...Xi,N),i∈[1,m];
找到当前最优解和整个粒子群中的最优解来决定更新速率,当前适应度最高的解记作Pi,整个粒子群中的最优解记作Pg。
第i个粒子的当前最优解表示为:
Pi=(Pi1,Pi2,...PiN),i∈[1,m];
全局最优解表示为:
PSO通过在不同轮次改变每个粒子的速度,使解朝向趋于Pi和Pg的方向更新从而得到最优解。
第i个粒子通过以下等式对速度进行更新:
其中,c1是局部加速系数,c2是整体加速系数,ω∈R,被称之为惯性权重系数r1和r2为(0,1)区间内的随机实数;小值c1和大值c2能使粒子在优化的后期收敛到全局最优解;局部加速系数由以下公式计算:
整体加速系数由以下公式计算:
其中,c1i和c2i是加速系数c1和c2的初始值,且c1f和c2f是加速系数的最终值。
自适应惯性权重系数可由以下公式计算:
其中,ωmax和ωmin分别为权重系数ω的最大值和最小值,随着进化过程推进,ω逐渐减小;f是当前粒子的适应度,fav为粒子群整体的适应度平均值,fmin为粒子群中的最小适应度。
第i个粒子通过以下等式对速度进行更新:
其中,Xi是粒子i的位置,Vi代表粒子i的速率,Vi∈(Vmin,Vmax),Vmin和Vmax在[0,1]之内;λ∈R被称为限制因子,用于调整ω∈R,限制速率;当达到最大轮次或收敛至符合适应度要求时,计算终止。
进一步,步骤三中,所述CPSO-BP模型的实现,包括:
(1)确定BP网络模型结构。
通过特征选取,本发明选择UV和MSL作为输入特征值。确定网络输入节点数Si为2,隐藏层节点数So为1,将隐藏层节点数Sl设置为5;其中,每个粒子的维数N可通过以下公式计算:
N=Si×Sl+Sl×So+Sl+So+q,q=1;
其中,q为每个粒子的适应度值,将其放在每个粒子的最后一维构成一个22维的粒子Xi;Si×Sl为输入层到隐藏层的权值的数量,Sl为隐藏层的阈值的数量,粒子的维数N=22。
(2)设置CPSO初始参数。
设置限制因子λ=0.92,自适应惯性权重因子的最大值ωmax=0.9和最小值ωmin=0.4,设置加速系数初始值c1i=c2i=0.5,设置加速系数最终值c1f=c2f=2.5。
(3)根据BP网络模型的结构,生成CPSO算法中的初始向量和混沌向量。
将输入层到隐藏层的权值和隐藏层的阈值作为CPSO矩阵中的元素,CPSO中的每一个粒子都表示BP网络的初始参数。对种群X初始化,模型随机产生一个大小m为2000的粒子群,初始种群的第i个粒子由以下公式计算:
Xi=(xi,1,xi,2,...xi,m),i=1,2,...,22;
然后,为Xi中每一个参数加入一个微小的扰动,由此生成初始混沌向量,第i个初始混沌向量由以下公式计算:
(4)通过适应度的大小来对种群中的每一个粒子进行打分。
每一个粒子的适应度为均方差的倒数,通过适应度的大小来对种群中的每一个粒子进行打分,将各个粒子的得分设为向量的最后一项,适应度与BP网络模型的权值和阈值一起作为该粒子的参数,以确定一个粒子的结构。第i个粒子的适应度由以下公式计算:
通过得到的适应度值对每个粒子进行排序,排名前五的粒子作为优胜粒子,排名次五的粒子作为临时粒子。
(5)为粒子群按照适应度值进行排序,再对粒子群进行寻优,生成新的粒子群。
按照适应度得分,排序最靠前的5个粒子作为优胜粒子,记作i=1,2,...,5,在这五个粒子之后排名次五粒子作为临时粒子,记作然后以这十个被选出来的优胜粒子和临时粒子作为新的中心,与随机矩阵相加19次,分别生成19个新的粒子。可表示为随机生成一个22维矩阵Y=[y1 y2 ... y22],其中。将分别与矩阵Y相加,将相加后的新矩阵归一化到与Y相同的区间。相加后的新矩阵可由以下公式计算:
其中,lmanx由以下公式计算:
lmax={max||xi+yi|,i=1,2,...,22},n=1,2,...,19;
(6)混沌趋同和混沌异化操作。
将五个优胜粒子和五个临时粒子分别作为中心,生成10个新的粒子群,将新生成的粒子按照适应度值进行重新排序。
混沌趋同:当子群体进行趋同操作时,种群会以自己内部得分最高的个体为中心,生成新的子群体,如果新的子群体中有比自己得分高的,那么则以新的优胜个体为中心继续趋同操作。更新计算粒子的适应度f的平均值fav和适应度f的最小值fmin,更新权重系数ω。
混沌异化:更新自适应惯性权重系数ω、局部加速系数c1和整体加速系数c2,计算出粒子进行混沌化后的速度和粒子新位置。根据粒子的新位置重新计算粒子坐标和适应度f,当出现f值更高的粒子,就用这一粒子生成新的粒子群,将适应度值低的粒子淘汰,直到粒子群成熟,所有个体收敛。
如果异化后的粒子群仍未收敛,则重复该步骤直至网络收敛。
(7)将适应度最高的个体Xbest=[x1 x2 ... x22]作为BP神经网络的输入。
将Xbest中x1,x2,...,x10作为网络输入层到隐藏层的连接权值,记作将Xbest中x11,x12,...,x15作为神经隐藏层到输出层的连接权值,记作W2=[x11,x12,...,x15]T;将Xbest中x16,x17,...,x20作为隐藏层中各个节点的阈值,记作B1=[x16,x17,...,x20]T将Xbest中x21作为输出层中各个节点的阈值,记作B2=[x21]T。将W=[W1,W2]T和B=[B1,B2]T分别作为BP网络的初始权值和阈值,形成初始CPSO-BP模型。
(8)训练预测模型,进行仿真预测。
进一步,步骤四中,所述CPSO-BP模型的寻优,包括:
在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化,CPSO通过趋同和异化运算来发掘适应度更高的粒子;在进行趋同运算之前,CPSO先根据适应度值将所有粒子进行排序,从排名靠前的粒子中找到最优粒子和临时粒子;由最优粒子和临时粒子为中心,生成新的粒子群,对每个新生成的粒子群进行排序,进行趋同和异化操作;当异化过程不再产生适应度值更高的粒子,即找到最优粒子时,不再对粒子群进行更新,算法结束。
在CPSO的优化过程中,在选取5个优胜粒子和5个临时粒子之后,分别以它们为中心生成了5个优胜粒子群和5个临时粒子群。每个粒子群适应度得分在经过一定次数的变化之后趋于一个稳定值,这说明粒子群已经成熟,适应度得分不再变化。当每个粒子群经过趋同运算,每个粒子群的最终得分为其内部得分最高的粒子的适应度值。在进行最优粒子群更新之后,进入异化阶段。
优胜粒子群中的子种群2,子种群3和子种群4的适应度值得分低于临时粒子群中的子种群1、子种群2和子种群5的适应度值得分。所以,由临时粒子群中的子种群1、子种群2和子种群5取代优胜粒子群中的子种群2,子种群3和子种群4作为新的优胜粒子群进入异化阶段。然后将优胜粒子群被替换的三个粒子群淘汰,再在临时粒子群中随机生成三个新的粒子群,进入异化阶段。在经过4次趋同运算之后粒子群的适应度得分不再变化,说明此时所有的粒子群已经成熟,满足算法停止条件,CPSO算法寻优至此结束。将CPSO找到的适应度值最高的粒子的值传入BP神经网络作为初始权值和阈值。
进一步,步骤五中,所述CPSO-ELM模型的实现,包括:
CPSO-ELM模型的形式与CPSO-BP模型类似。CPSO在算法策略上不变,在CPSO算法运行结束后将算法寻找到的最优解传入ELM作为其初始权值和阈值。
ELM在确定输入层到隐藏层各个节点的权值和隐藏层的阈值后,ELM能自行确定隐藏层神经元到输出层神经元的权值;通过特征选取,选择UV和MSL作为输入特征值,通过训练BP神经网络对SWH进行预测;输入神经元个数Si为2,输出层节点数So为1,将隐藏层节点个数Sl设置为5;其中,每个粒子的维数N,通过以下公式计算:
N=Si×Sl+Sl+q,q=1;
其中,q为每个粒子的适应度值,将其放在每个粒子的最后一维构成一个16维的粒子Xi;Si×Sl为输入层到隐藏层的权值数量;Sl为隐藏层神经元的阈值数量,粒子的维数N=16。
CPSO-ELM模型的基本思想是将使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络,通过优化神经网络参数来对预测的效果进行优化。
本发明的另一目的在于提供一种应用所述的海洋浪高预测方法的海洋浪高预测系统,所述海洋浪高预测系统包括:
特征选取模块,用于选取相关系数高的特征作为预测海浪高度的输入特征;
CPSO算法确定模块,用于按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;
CPSO-BP模型实现模块,用于通过CDW为BP模型进行初始化阶段的优化;
CPSO-BP模型寻优模块,在CPSO-BP模型中,用于通过CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;
CPSO-ELM模型实现模块,用于使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;
浪高预测模块,用于利用CPSO-BP模型进行海洋预警领域的浪高预测。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO-BP模型进行海洋预警领域的浪高预测。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO-BP模型进行海洋预警领域的浪高预测。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的海洋浪高预测系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:机器学习方法能够在较短的时间内构建海浪高度预测模型。相对于传统浪高预测物理模型,本发明提供的海洋浪高预测方法,使用深度学习方法进行浪高预测有着准确性高、成本低、运行速度快的优点;在海洋预警中的浪高预测问题上,非常适合使用深度学习方法进行浪高预测。
本发明旨在结合BP神经网络和CPSO算法构建一个准确高效的海浪高度预测模型。通过混沌粒子群优化算法的寻优能力,来弥补神经网络固有的不足,得到一个较传统物理方法更为高效的模型,在保证预测准确率的情况下,使资源和建模时间的消耗降低。
本发明使用一个基于混沌粒子群优化算法优化的BP神经网络模型(CPSO-BP)用于进行海洋浪高预测。通过逐代筛选,找到一个最优的粒子,并将CPSO算法的结果传递给BP神经网络。将CPSO算法的计算结果作为BP神经网络的初始权值和阈值,形成CPSO-BP模型,通过使用训练后的CPSO-BP网络进行海洋浪高预测任务,使网络的预测性能得到提升。
本发明实验使用中期天气预报中心2020年的渤海和黄海各6个站点每6小时记录一次的浪高数据。通过对浪高数据各个参数与浪高之间的相关系数进行计算和分析,选取了模型的输入特征。分别使用St-BP、CPSO-ELM、CPSO-BP模型使用前11个月的数据进行训练,用第12个月的数据作为测试集来评估三个模型的浪高预测效果。通过对三个模型预测结果的回归曲线、预测曲线和各个实验指标的对比,从预测准确性、及时性、鲁棒性和泛化能力角度,分析了CPSO-BP模型在解决海洋预警领域浪高预测问题上的优势。本发明对CPSO-BP和CPSO-ELM模型海洋浪高预测模型的研究,对今后海洋浪高预测相关问题的研究具有重要参考作用和应用价值。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的海洋浪高预测方法流程图。
图2是本发明实施例提供的海洋浪高预测系统结构框图;
图中:1、特征选取模块;2、CPSO算法确定模块;3、CPSO-BP模型实现模块;4、CPSO-BP模型寻优模块;5、CPSO-ELM模型实现模块;6、浪高预测模块。
图3是本发明实施例提供的ELM拓扑结构图。
图4是本发明实施例提供的BP神经网络拓扑结构图。
图5是本发明实施例提供的各项特征与海浪高度的皮尔逊相关系数柱状图。
图6是本发明实施例提供的2020年121°E,40°N站点UV、U10、V10和SWH曲线图。
图7是本发明实施例提供的BP神经网络结构图。
图8是本发明实施例提供的CPSO-BP模型流程图。
图9是本发明实施例提供的优胜粒子群的趋同过程适应度得分示意图。
图10是本发明实施例提供的临时粒子群的趋同过程适应度得分示意图。
图11是本发明实施例提供的优胜粒子群经异化之后的趋同过程适应度得分示意图。
图12是本发明实施例提供的临时粒子群经异化后的趋同过程适应度得分示意图。
图13是本发明实施例提供的CPSO-ELM模型预测流程图。
图14是本发明实施例提供的渤海和黄海观测站点分布图。
图15是本发明实施例提供的2020年渤海站点浪高分布图。
图16是本发明实施例提供的2020年黄海站点浪高分布图。
图17是本发明实施例提供的St-BP在训练和测试阶段的线性回归散点分布图。
图18是本发明实施例提供的CPSO-ELM在训练和测试阶段的线性回归散点分布图。
图19是本发明实施例提供的CPSO-BP在训练和测试阶段的线性回归散点分布图。
图20是本发明实施例提供的渤海海域真实浪高与三种模型预测曲线对比图。
图21是本发明实施例提供的黄海海域真实浪高与三种模型预测曲线对比图。
图22是本发明实施例提供的渤海预测结果四项指标平均值对比柱状图。
图23是本发明实施例提供的黄海预测结果四项指标平均值对比柱状图。
图24是本发明实施例提供的预测结果四项指标方差对比柱状图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
混沌粒子群优化算法被广泛应用到需要大量计算的优化问题之中,通过将一个解空间巨大的寻优问题转化为问题域中少量粒子的寻优过程,这将大大简化优化过程,减小寻优过程中的计算量。混沌算法与遗传算法所生成的解可能具有更高的多样性和进化能力,在许多涉及粒子群优化的研究中,都开始采用混沌映射作为进行系统优化的方法。混沌算法适合用来改进启发式算法用来解决海洋浪高预测问题,且算法具有极快的处理速度,对于大尺度海况复杂的海域能够进行快速准确的预测。混沌粒子群优化算法算法适用于对人工神经网络初始参数的优化任务。混沌粒子群优化算法与人工神经网络优势互补,两者特性相吻合,结合两者优势的模型适合作为进行海洋预警领域海洋浪高预测任务的预测模型。
本发明通过BP神经网络结合混沌粒子群算法(Chaotic Particle SwarmOptimization,简称CPSO)算法构建一个准确高效的海浪高度预测模型。通过混沌粒子群优化算法的寻优能力,来弥补神经网络固有的不足,得到一个较传统物理方法更为高效的模型,在保证预测准确率的情况下,使资源和建模时间的消耗降低。
针对现有技术存在的问题,本发明提供了一种海洋浪高预测方法、系统、计算机设备、存储介质、终端,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的海洋浪高预测方法包括以下步骤:
S101,特征选取:选取相关系数高的特征作为预测海浪高度的输入特征;
S102,CPSO算法的确定:按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;
S103,CPSO-BP模型的实现:CDW为BP模型进行初始化阶段的优化;
S104,CPSO-BP模型的寻优:在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;
S105,CPSO-ELM模型的实现:使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;
S106,浪高预测:利用CPSO-BP模型或CPSO-ELM模型进行海洋预警领域的浪高预测。
如图2所示,本发明实施例提供的海洋浪高预测系统包括:
特征选取模块1,用于选取相关系数高的特征作为预测海浪高度输入特征;
CPSO算法确定模块2,用于按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;
CPSO-BP模型实现模块3,用于通过CDW为BP模型进行初始化阶段的优化;
CPSO-BP模型寻优模块4,在CPSO-BP模型中,用于通过CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;
CPSO-ELM模型实现模块5,用于使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;
浪高预测模块6,用于利用CPSO-BP模型进行海洋预警领域的浪高预测。
下面结合实施例对本发明的技术方案作进一步描述。
1、海浪高度预测关系到海洋预警和海上工程的安全及时开展。传统浪高预测方法包括物理模型和经验模型。物理模型通过力学分析对真实海况进行模拟,物理模型能够得到较为准确预测效果,但由于海洋环境的复杂性,物理模型在建模过程中需要使用到大量的计算资源,算法的运行时间较长。经验模型建立不需要任何物理参数,模型训练速度快,但是预测的准确率较低。而在海洋预警中,浪高预测的准确性和预测速度都至关重要。
不同于传统预测方法,近年来出现的极限学习机(ELM)、反向传播神经网络(BP)等深度学习方法能够在较短的时间内构建海浪高度预测模型。这些方法对浪高变化趋势进行建模,使用合理的参数和足够多的实际数据,不仅可以增加预测的准确性,还能提高海洋浪高预测速度,更适用于海洋预警领域的浪高预测问题。
BP神经网络结构简单,模型训练速度快,通过BP神经网络反向传播降低误差,训练出的模型准确性较高,适合用来解决大数据量、大范围的预测问题,但BP神经网络在训练过程中容易陷入局部最优解。为了解决BP神经网络易于陷入局部最优解的问题,引入混沌粒子群算法(Chaotic Particle Swarm Optimization,CPSO)优化BP神经网络,组成CPSO-BP模型。利用CPSO的全局搜索能力优化模型训练效果,保证模型训练速度和稳定性的同时提升网络的预测准确性。
本发明内容如下:
(1)选取BP神经网络作为进行海洋浪高预测的模型。研究对比了BP神经网络与ELM模型的结构差异,并指出了BP神经网络进行浪高预测的优势。
(2)描述了CPSO-BP模型的核心算法。描述了CPSO-BP和CPSO-ELM两种海洋浪高预测模型的结构,描述了混沌学习算法、PSO算法和BP神经网络,以及三者的结合方式。
2、CPSO-BP浪高预测算法的理论基础
随着研究的深入,出现了各种各样的神经网络模型,其中最具代表性的是极限学习机(ELM)和反向传播(BP)神经网络模型。ELM在训练过程中不进行反向传播,拥有较快的训练速度,但在预测性能上有所欠缺。
BP神经网络通过逐层调整参数使误差减小,以此来优化模型的预测性能。相比ELM,BP神经网络需要使用更长的时间进行训练,但其对参数的优化效果更好,能够得到较为准确的预测效果。BP神经网络在训练过程容易陷入局部最优解,为了解决BP神经网络易于陷入局部最优解的问题,引入CPSO优化BP神经网络,组成CPSO-BP模型。利用CPSO的全局搜索能力优化模型训练效果,保证模型训练速度和稳定性的同时提升网络的预测准确性。
31极限学习机原理
ELM是一种前馈神经网络,其网络训练速度极快。ELM在确定了网络中输入层、隐藏层的权值和阈值之后,可自行计算更新输出层的阈值和与之相连节点的权值。图3为ELM的拓扑结构示意图。
假设有N个样本(Xi,ti),其中Xi=[xi1 xi2 ... xin]T∈Rn,ti=[ti1 ti2 ... tim]T∈RM。则一个只有一个隐藏层,且每个隐藏层节点数为L的网络可由公式(7)表示。
其中,g(x)为激活函数,βi为输出权重,Wi=[wi,1 wi,2 ... wi,n]T为输入权重,bi是第i个隐藏层神经元的阈值。
输出和目标值之间的误差由以下公式计算:
ELM旨在使ε值为0,即存在βi、Wi和bi,使:
将上式转化为矩阵表示:
Hβ=T (4)
其中,H是隐藏层的输出,T为期望的输出,β为输出权值。
H可表示为:
β可表示为:
T可表示为:
这等价于最小损失函数:
其中,H+是矩阵H的Moore-Penrose逆矩阵。
ELM不需要通过反向传播对网络中的权值和阈值进行修改,训练速度较BP网络更快。ELM的权值和阈值在设定后便不再进行更新。这和BP神经网络的反向传播不断更新网络权值和阈值的策略不一样,ELM不进行反向传播,这虽然减少了运算量和运算时间,但网络预测的准确性无法保证。ELM比传统的学习算法的运算速度更快,本发明将使用CPSO分别优化ELM与BP神经网络来探究CPSO算法的优化能力。
3.2 BP神经网络原理
BP神经网络是一种运用范围广的经典神经网络结构,通过反向传播调整参数来学习训练模型。BP神经网络包括输入层、隐藏层以及输出层三大结构。输入层和输出层是单一结构,隐藏层的结构不固定。
3.2.1 BP神经网络结构
BP神经网络的每个输入神经元点和每一个隐藏层神经元连接,每个隐藏层神经元点和每一个输出层神经元连接,每两个神经元连接的路线包含神经网络的权值,每个隐藏层神经元和输出层神经元包含神经网络的阈值。权值为每一项的权重,阈值为偏差的校正参数。输入神经元传递初始数据给神经网络,输入神经元中不包含阈值。BP网络包含正向和反向两大训练步骤。正向传播时,数据进入输入神经元,经一系列包含连接权值和阈值的非线性函数运算后,运算的结果由输出神经元传出。如果结果不满足收敛条件,则反向传播进行误差的降低操作。通过计算结果与期望值的差计算损失值,沿BP神经网络训练方向的相反方向,回传损失值,通过重新计算每一条路径的权值和阈值,以降低损失值至理想效果,当误差足够小并满足训练要求时,停止BP神经网络训练。BP神经网络的结构灵活,可以模拟复杂的非线性函数,在实际应用中效果良好,受到广泛运用。
图4为一个n维的BP神经网络结构。其中,x1,x2,...,xn为输入数据,w1,w2,...,wn为各路径的权值。
BP神经网络神经元的权值以及输入数据可以通过矩阵的方式来表示:
一个神经元节点接收到所有的输入后,会通过激活函数对其进行分析、映射,用α来表示所有输入值经过不同权重的加权后的值。
α=∑ωixi (12)
BP神经网络中各个路径的阈值由θ表示,激活函数y=f(α,θ)。
如图4所示,BP神经网络输出节点的值y可表示为:
BP神经网络本身存在一些结构性的问题:(1)B外网络需要通过反向传播逐代更新网络的权值和阈值,多次反同传描会大大增加网络的训练时间,当网络结构复杂时,这种情况尤为明显。(2)如果初始值在解空间分布过于密集,有可能使BP神经网络过早收敛,陷入局部最优解。(3)对学习率敏感学习率越小网络收敛效果越好,但会在很大程度上增加网络的训练时间。
3.3 PSO算法原理
BP神经网络对初始参数十分敏感,好的初始参数不仅能减少BP神经网络的反向传播次数,还能提高BP神经网络模型的预测效果。粒子群算法(PSO)是一种启发式算法,PSO算法将现实世界中的个体看作是解空间中的一个个随机分布的粒子,粒子群中的各个粒子以不同的速率朝向理论上的最优值移动以找到全局最优解。本发明通过混沌学习算法改进PSO的寻优能力来优化BP神经网络的初始参数,算法中的每一个粒子代表一组BP神经网络的初始化参数,每个粒子包含BP网络的一个初始权值、初始阈值和适应度值。
3.31 PSO算法介绍
PSO算法使用一组位置随机的向量进行初始化,粒子在一个m维空间内进行搜索,每一个向量被称之为粒子。粒子群由N个粒子构成,则第i个粒子的初始位置表示为:
Xi=(Xi1,Xi,2,...Xi,N),i∈[1,m] (14)
这些粒子以一定的速度映射到解空间,通过不断地更新轮次以达到用户设置的适应度(fitness),以此来寻找最佳的解向量。在轮次(iter)更新过程中,算法参考当前最优解和整个粒子群中的最优解来决定更新速率,当前适应度最高的粒子记作Pi,整个粒子群中的最优解记作Pg。
Xi的适应度值fitness(Xi)通过如下公式计算:
适应度值越高则粒子的优化效果越好,pi为Pi的第i个子项。
第i个粒子的当前最优解表示为:
Pi=(Pi1,Pi2,...PiN),i∈[1,m] (16)
全局最优解表示为:
PSO通过在不同轮次改变每个粒子的速度,使粒子向靠近Pi和Pg的方向更新从而得到最优解。
第i个粒子的速度通过以下等式对速度进行更新:
在速度更新之后,第i个粒子的位置通过以下等式对速度进行更新:
其中,Xi是粒子i的位置,Vi代表粒子i的速率,Vi∈(Vmin,Vmax),Vmin和Vmax在[0,1]之内;ω∈R,它被称之为惯性权重系数,λ∈R被称为限制因子,它被用来调整ω∈R,以此来限制速率;r1和r2为(0,1)区间内的随机实数。当达到最大轮次或收敛至符合适应度要求时,计算终止。
惯性权重系数ω有以下等式设定:
ω=ωmax-[(ωmax-ωmin)/itermax]×iter (20)
其中,ωmax为初始权重,ωmin是最终权重,随着权重逐次减小。itermax是迭代的最大轮次,iter是当前迭代轮次。
3.3.2 PSO算法流程
PSO算法由以下基本流程组成:
(1)分析问题,针对问题对粒子进行编码。
(2)将编码粒子生成形成种群,计算粒子适应度,将每个粒子按照适应度值高低进行排序,并按照得分由高到低选出优胜粒子群及临时粒子群。
(3)将选出的优胜子群体及临时子群体作为新的中心,生成相应数量的新粒子群。生成的新粒子群与选出的优胜子群体构成新的优胜粒子群和临时粒子群
(4)将整个种群中的所有粒子进行趋同运算,并将粒子群的中得分最高的粒子的适应度值作为整个粒子群的得分。当种群收敛或超过迭代的最大次数时,则不再继续进行趋同操作。否则,继续进行趋同和异化运算。
(5)结束趋同操作后,在粒子群中进行异化运算。如果新的临时粒子群中出现了得分更高的粒子群,就用得分更高的临时粒子替换之前的优胜粒子群的分较低的粒子,将替换下来的粒子丢弃,再随机生成新的粒子来补齐临时粒子群。异化完成后,若未达到结束条件,则继续执行趋同异化的过程。
(6)算法结束,找到全局最优的粒子。
3.4混沌学习算法原理
混沌现象的行为复杂且随机,但有一定的内在规律。混沌学习算法的思想是把一个初始的混沌向量从问题空间映射到解空间,对不同初始值,混沌学习算法将计算出不同的解。混沌学习算法不易过早收敛,具有高速、精确、全局渐进收敛等的特性。使用PSO算法优化BP神经网络具有一定局限性,PSO算法的初始粒子过于集中或在进化过程中有可能取得更高适应度的粒子被淘汰将会导致粒子群过早收敛。为了解决这一问题,本发明引入混沌学习算法对PSO算法进行优化,通过在PSO算法的初始化、趋同和异化阶段加入混沌学习算法使PSO算法在初始阶段能都随机分布在问题空间,而在趋同异化阶段让更具潜力的粒子能够得到保留,以解决过早收敛问题。
对于如下优化问题:
minf(x) xi∈[ai,bi];i=1,2,3,...,n;x=(x1,x2,...,xm) (21)
其中ai和bi是xi的下限和上限,m为x的维数。
混沌映射通过以下模型优化:
xn+1=μxn(1-xn),n=0,1,2,...,N;0<x0<1 (22)
其中μ为控制参数,μ值不同,会影响当m趋于无穷时,该模型的稳定解xm的值,μ值不同,系统的混沌程度不同。当μ=4,系统接近于完全随机。
变异过程加入一个小的扰动。为进化后的向量赋予一个小的扰动,这个扰动可能使生成的向量得到更好的结果,当生成的向量无法向更好的方向进化之时,算法结束。
粒子群优化算法分为两种状态:探索状态和开发状态。处于探索状态时,传统粒子群算法用随机的方式去搜索问题空间,但这时粒子可能经过变异,而陷入局部最优解;处于开发状态时,粒子群向最优区域聚合。
这两个状态之间界限模糊。正是因为启发式算法随机的特性导致探索状态和开发状态之间无法有一个明确界限,导致了粒子群过早收敛。这可以通过引入混沌学习算法来加以解决。
将混沌理论引入PSO算法中,本发明考虑从初始化、趋同和变异阶段对PSO算法的粒子参数进行优化,以达到对算法整体效果的优化,具体做法为:
对初始向量进行混沌初始化。在PSO优化算法中,通过控制初始参数恰当地控制全局搜索和局部进化是高效寻找最优解的关键,PSO算法的性能很大程度上依赖于初始参数。通过混沌算法优化PSO初始参数,使初始参数充分充满整个问题空间。具体做法为:在PSO算法生成初始向量之后,使用混沌算法对生成的初始向量进行混沌初始化,利用混沌算法的特性对于初始向量的每一个xm分别赋予N个初始值,生成混沌变量
混沌动态权重调整:在进化过程中,随着迭代次数的增加,动态调整混沌算法中的权重,使向量更快更准地向全局的最优区域进化。
公式的前半部分表示之前速度值的影响,初始速度对进化方向起着导向作用;后半部分表示惯性权重ω是控制先前速度对当前速度影响的模数。因此,在PSO中全局搜索与局部进化的平衡是由ω值所决定的,适当控制惯性权重对准确、高效地找到最优解至关重要。自适应惯性权重系数的确定如下:
其中,ωmax和,ωmin分别为权重系数ω的最大值和最小值,随着进化过程推进,ω逐渐减小。f是当前粒子的适应度,fav为粒子群整体的适应度平均值,fmin为粒子群中的最小适应度。由上式可知,ω受f影响较大,ω的值随f变化。目标值较低的粒子将得到保护,超过均值的粒子将被破坏。也就是说,好的粒子倾向于通过局部搜索对结果进行挖掘,而不好的粒子倾向于通过大幅度的修改来调整。这为保持种群多样性和保持良好的收敛能力提供了一个很好的途径。
混沌加速度系数:本发明引入混沌算法使在逐代进化时粒子的加速度系数趋于稳定。它增加了带时间的加速度系数c1和c2,考虑了粒子之间的相关性。当一开始设置大值c1,小值c2,允许粒子在搜索空间内移动,而不是向pg移动。小值c1和大值c2能使粒子在优化的后期收敛到全局最优解。时变加速度系数c1和c2由下面两个公式计算:
其中,c1i和c2i是加速系数c1和c2的初始值,且c1f和c2f是加速系数的最终值。混沌动态权重和混沌加速度系数对PSO算法中的趋同和异化过程起到调整作用,随着轮次的增大,轮次和当前轮次的差与最大轮次的比值将会随着轮次的增大而减小,这使得在进化初期,粒子可以拥有较大的加速度,而在进化后期趋于稳定。通过在PSO算法中引入混沌学习算法增大PSO的初始种群搜索范围,提高PSO算法的稳定性。
4、CPSO-BP浪高预测模型实现
在第三章分别从BP网络、PSO算法和混沌学习算法三个模块对CPSO-BP模型的理论基础进行了介绍。本发明基于第三章介绍的理论基础,从特征选取、模型实现方法详细介绍了CPSO-BP模型的实现步骤。并进一步分析了CPSO-BP的寻优过程,介绍了与CPSO-BP模型进行对比的CPSO-ELM模型的实现方法。
41特征选取
在选择输入特征时,需要确定每个特征与海浪高度的相关性,为了选择更有效的输入特征,需要对每个输入参数与海浪高度之间的相关系数进行分析,选取相关系数高的特征作为预测海浪高度的输入特征。备选的神经网络输入特征有:平均海平面(Mean SeaLevel,MSL)、10米风速U分量(U10)、10米风速V分量(V10)、平均海波方向(Mean WaveDirection,MWD)、平均海波周期(MeanWave Period,MWP)五项特征。
本发明通过皮尔逊相关系数rx,y计算各个变量与海浪高度(Sea Wave Height,SWH)的相关性,以相关性作为参考选取神经网络的输入特征。皮尔逊相关系数rx,y用来定量分析变量间的相关性,rx,y∈[-1,1],当|rx,y|接近于1,两者相关性高,当|rx,y|接近于0,两者相关性低。rx,y的正负代表两个变量的相关性正负。可以根据以下公式进行计算:
|rx,y|>0.8时,两个变量高度相关;当|rx,y|∈[0.3,0.5))时,两个变量低度相关;当|rx,y|<0.3时,两个变量弱相关。SWH与不同输入特征的相关系数如表1所示:
表1 SWH与各项特征的皮尔逊相关系数
从表1中可以看出V10和MWP的皮尔逊相关系数绝对值大于0.5。MWP为平均波周期,但MWP是根据波浪产生后的海浪波动周期进行计算。作为后验数据,不适合用来作为浪高预测神经网络的输入。同时U10和V10分别为精度和纬度上的风速分量,其相关性不适合单独拿出来作为海浪高度预测的参数。通过特征融合,计算观测点风速值UV用作网络的输入,UV可由以下公式进行计算:
如图5所示,特征融合后的新特征UV与SWH具有最高的相关性,且与MWP不同,UV不具有后验性,可以作为输入特征。
因为偶然因素的存在,还需进行显著性分析,以保证各参数与SWH的高度相关性。本发明选用P值(Pvalue)来分析各参数的显著性。当原假设成立时,P值代表极端情况的发生几率。P值越小表示极端情况发生的几率越小,P值越大表示极端情况发生的几率大。因此,P值的大小表示各参数的显著性。当P值小于0.05时,表示该变量具有显著性;当P值小于0.001时,表示该变量具有高显著性;只有当显著性高且相关系数高时,将这个参数用作输入特征才有意义。好的输入拥有高相关性且P值一般小于0.1,具有越小的P值才可以认为两组数据有明显关系。
SWH与不同输入特征的显著性如表2所示,MSL与UV具有高显著性,出现极端情况的几率低,适合用于作为网络输入特征值。U10和v10显著性过高,不适合作为网络的输入特征值,究其原因是因为他们分别是经线和纬线方向的风力分量,不能完整地代表风力大小,融合后的UV代表风力大小,所以使用融合后的UV作为输入参数更加合适。
表2 SWH与各输入特征的P值
图6以渤海121°E,40°N站点为例绘制2020全年的UV、U10、V10和SWH曲线图,数据来源为ERA5数据集,本发明将在第五章对该数据集进行详细说明。如图6所示,可以从SWH曲线中看到,渤海海域2月和11月浪高总体较高,出现了极大值,4月、7月和9月总体浪高较低,出现了极小值。图中UV曲线在2月和11月同样出现了极大值,4月、7月和9月出现了极小值,与SWH曲线的趋势高度一致;而U10曲线的极大值在4月、10月和11月出现,极小值在2月、9月和11月出现;V10曲线的极大值在2月、5月、8月和11月出现,极小值在1月、4月和11月和12月出现,与SWH曲线的趋势相似度低。综上所述,UV曲线和SWH曲线具有高度相似性,UV和SWH存在相同的变化趋势;而U10曲线和V10曲线与SWH曲线差异较大,U10和V10的变化趋势与SWH存在明显差异,不适合作为预测模型的输入特征。
综上所述,UV和MSL与SWH具有高度相关性,本发明选用UV和MSL作为网络的输入特征进行浪高。
4.2CPSO算法介绍
粒子群优化算法分为两种状态:探索状态和开发状态。处于探索状态时,传统粒子群算法用随机的方式去搜索问题空间,但这时粒子可能经过变异,而陷入局部最优解;处于开发状态时,粒子群向最优区域聚合。
这两个状态之间界限模糊。正是因为启发式算法随机的特性导致探索状态和开发状态之间无法有一个明确界限,导致了粒子群算法过早收敛。这可以通过引入混沌学习算法来加以解决。
混沌行为是高度非线性的,但是每一种高度混沌模型都会呈现一定的行为特征。在特定环境下,混沌算法得以应用。所以当使用粒子群算法进行求解时,可以按照其粒子群行为特征建立其混沌模型,来解决粒子群过早收敛的问题。
对粒子群进行位置初始化,第i个粒子的初始位置表示为:
Xi=(xi,1,Xi,2,...Xi,N),i∈[1,m] (29)
找到当前最优解和整个粒子群中的最优解来决定更新速率,当前适应度最高的解记作Pi,整个粒子群中的最优解记作Pg。
第i个粒子的当前最优解表示为:
Pi=(Pi1,Pi2,...PiN),i∈[1,m] (31)
全局最优解表示为:
PSO通过在不同轮次改变每个粒子的速度,使解朝向趋于Pi和Pg的方向更新从而得到最优解。
第i个粒子通过以下等式对速度进行更新:
其中,c1是局部加速系数,c2是整体加速系数,ω∈R,它被称之为惯性权重系数r1和r2为(0,1)区间内的随机实数。小值c1和大值c2能使粒子在优化的后期收敛到全局最优解。局部加速系数由以下公式计算:
整体加速系数由以下公式计算:
其中,c1i和c2i是加速系数c1和c2的初始值,且c1f和c2f是加速系数的最终值。
自适应惯性权重系数可由以下公式计算:
其中,ωmax和ωmin分别为权重系数ω的最大值和最小值,随着进化过程推进,ω逐渐减小。f是当前粒子的适应度,fav为粒子群整体的适应度平均值,fmin为粒子群中的最小适应度。
第i个粒子通过以下等式对速度进行更新:
其中,Xi是粒子i的位置,Vi代表粒子i的速率,Vi∈(Vmin,Vmax),Vmin和Vmax在[0,1]之内;λ∈R被称为限制因子,它被用来调整ω∈R,以此来限制速率。当达到最大轮次或收敛至符合适应度要求时,计算终止。
CPSO算法详细流程如Algorithm1所示。
Algorithm 1
4.3 CPSO-BP模型的实现方法
本节介绍CDW如何为BP模型进行初始化阶段的优化。
(1)确定BP网络模型结构。
通过特征选取,本发明选择UV和MSL作为输入特征值。确定网络输入节点数Si为2,隐藏层节点数So为1,将隐藏层节点数Sl设置为5。图7为本发明采用的BP神经网络结构。每个粒子的维数N可通过以下公式计算:
N=Si×Sl+Sl×So+Sl+So+q,q=1 (38)
其中,q为每个粒子的适应度值,将其放在每个粒子的最后一维构成一个22维的粒子Xi;Si×Sl为输入层到隐藏层的权值的数量,Sl为隐藏层的阈值的数量。由公式(41)可确定粒子的维数N=22。
(2)设置CPSO初始参数。
设置限制因子λ=0.92,自适应惯性权重因子的最大值ωmax=0.9和最小值ωmin=0.4,设置加速系数初始值c1i=c2i=0.5,设置加速系数最终值c1f=c2f=2.5。
(3)根据BP网络模型的结构,生成CPSO算法中的初始向量,并生成混沌向量。
将输入层到隐藏层的权值和隐藏层的阈值作为CPSO矩阵中的元素,CPSO中的每一个粒子都表示BP网络的初始参数。对种群X初始化,模型随机产生一个大小m为2000的粒子群,初始种群的第i个粒子由以下公式计算:
Xi=(xi,1,xi,2,...xi,m),i=1,2,...,22 (39)
然后,为Xi中每一个参数加入一个微小的扰动,由此生成初始混沌向量,第i个初始混沌向量由以下公式计算:
(4)通过适应度的大小来对种群中的每一个粒子进行打分。
每一个粒子的适应度为均方差的倒数,通过适应度的大小来对种群中的每一个粒子进行打分,将各个粒子的得分设为向量的最后一项,适应度与BP网络模型的权值和阈值一起作为该粒子的参数,以确定一个粒子的结构。第i个粒子的适应度由以下公式计算:
通过得到的适应度值对每个粒子进行排序,排名前五的粒子作为优胜粒子,排名次五的粒子作为临时粒子。
(5)为粒子群按照适应度值进行排序,再对粒子群进行寻优,生成新的粒子群。
按照适应度得分,排序最靠前的5个粒子作为优胜粒子,记作i=1,2,...,5,在这五个粒子之后排名次五粒子作为临时粒子,记作i=1,2,...,5。然后以这十个被选出来的优胜粒子和临时粒子作为新的中心,与随机矩阵相加19次,分别生成19个新的粒子。可表示为随机生成一个22维矩阵Y=[y1 y2 ... y22],其中。将分别与矩阵Y相加,将相加后的新矩阵归一化到与Y相同的区间。相加后的新矩阵可由以下公式计算:
其中,lmanx可由以下公式计算:
lmax={max||xi+yi|,i=1,2,...,22},n=1,2,...,19 (43)
(6)混沌趋同和混沌异化操作。
将五个优胜粒子和五个临时粒子分别作为中心,生成10个新的粒子群,将新生成的粒子按照适应度值进行重新排序。
混沌趋同:当子群体进行趋同操作时,种群会以自己内部得分最高的个体为中心,生成新的子群体,如果新的子群体中有比自己得分高的,那么则以新的优胜个体为中心继续趋同操作。更新计算粒子的适应度f的平均值fav和适应度f的最小值fmin,更新权重系数ω。
混沌异化:更新自适应惯性权重系数ω、局部加速系数c1和整体加速系数c2。将更新后的值代入公式36可计算出粒子进行混沌化后的速度,接下来通过公式40可计算出粒子新位置。根据粒子的新位置重新计算粒子坐标和适应度f,当出现f值更高的粒子,就用这一粒子生成新的粒子群,将适应度值低的粒子淘汰,直到粒子群成熟,所有个体收敛。
如果异化后的粒子群仍未收敛,则重复该步骤直至网络收敛。
(7)将适应度最高的个体Xbest=[x1 x2 ... x22]作为BP神经网络的输入。
将Xbest中x1,x2,...,x10作为网络输入层到隐藏层的连接权值,记作将Xbest中x11,x12,...,x15作为神经隐藏层到输出层的连接权值,记作W2=[x11,x12,...,x15]T;将Xbest中x16,x17,...,x20作为隐藏层中各个节点的阈值,记作B1=[x16,x17,...,x20]T将Xbest中x21作为输出层中各个节点的阈值,记作B2=[x21]T。将W=[W1,W2]T和B=[B1,B2]T分别作为BP网络的初始权值和阈值,形成初始CPSO-BP模型。
(8)训练预测模型,进行仿真预测(见图8)。
4.4 CPSO-BP模型的寻优过程
在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化。CPSO通过趋同和异化运算来发掘适应度更高的粒子。在进行趋同运算之前,CPSO先根据适应度值将所有粒子进行排序,从排名靠前的粒子中找到最优粒子和临时粒子。再由最优粒子和临时粒子为中心,生成新的粒子群,对每个新生成的粒子群进行排序,进行趋同和异化操作。当异化过程不再产生适应度值更高的粒子,即找到最优粒子时,不再对粒子群进行更新,算法结束。
在CPSO的优化过程中,在选取5个优胜粒子和5个临时粒子之后,分别以它们为中心生成了5个优胜粒子群和5个临时粒子群。以CPSO算法真实流程为例子,图9为5个优胜粒子群的趋同过程适应度得分,图10为5个临时粒子群的趋同过程适应度得分。通过图9和图10可以看出,每个粒子群适应度得分在经过一定次数的变化之后趋于一个稳定值,这说明粒子群已经成熟,适应度得分不再变化。当每个粒子群经过趋同运算,每个粒子群的最终得分为其内部得分最高的粒子的适应度值。在进行最优粒子群更新之后,进入异化阶段。
图11为优胜粒子群经过变异后的趋同过程适应度得分图,图12为临时粒子群经过变异后的趋同过程适应度得分图。从图11可以看出,在经过异化之后没有产生适应度值高于优胜粒子的粒子,所以适应度得分不再变化。从图12可以看出,在五个临时粒子群中,在变异之后有子种群1、子种群3和子种群5产生了适应度得分更高的个体。
对比图9和图10中的粒子得分,可以看到优胜粒子群中的子种群2,子种群3和子种群4的适应度值得分低于临时粒子群中的子种群1、子种群2和子种群5的适应度值得分。所以,由临时粒子群中的子种群1、子种群2和子种群5取代优胜粒子群中的子种群2,子种群3和子种群4作为新的优胜粒子群进入异化阶段。然后将优胜粒子群被替换的三个粒子群淘汰,再在临时粒子群中随机生成三个新的粒子群,进入异化阶段。图11中的粒子群适应度得分没有发生改变,这是因为在进入异化阶段之前它们已经找到了最优解,所以再进入趋同阶段粒子群不再发生变化。对比图11和图12可以看出,在经过4次趋同运算之后粒子群的适应度得分不再变化,说明此时所有的粒子群已经成熟,满足算法停止条件,CPSO算法寻优至此结束。将CPSO找到的适应度值最高的粒子的值传入BP神经网络作为初始权值和阈值。
4.5CPSO-ELM模型实现
CPSO-ELM模型的形式与CPSO-BP模型类似。CPSO在算法策略上不变,在CPSO算法运行结束后将算法寻找到的最优解传入ELM作为其初始权值和阈值。
ELM在确定了输入层到隐藏层各个节点的权值和隐藏层的阈值之后,ELM就能自行确定隐藏层神经元到输出层神经元的权值。通过41节的特征选取,本发明选择UV和MSL作为输入特征值,通过训练BP神经网络对SWH进行预测。输入神经元个数Si为2,输出层节点数So为1,将隐藏层节点个数Sl设置为5,ELM的网络结构如图3所示。每个粒子的维数N,通过以下公式计算:
N=Si×Sl+Sl+q,q=1 (44)
其中,q为每个粒子的适应度值,将其放在每个粒子的最后一维构成一个16维的粒子Ri;Si×Sl为输入层到隐藏层的权值数量;Sl为隐藏层神经元的阈值数量。由公式47可确定粒子的维数N=16。
CPSO-ELM模型的基本思想是将使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络。其优化策略和CPSO-BP模型一样,都试图通过优化神经网络参数来对预测的效果进行优化。
图13为CPSO-ELM模型的预测流程图。
46首先,介绍了BP神经网络的输入特征选取工作,对海浪高度的各个特征进行分析,最终选取UV和MSL作为BP神经网络的输入特征。接下来对CPSO-BP模型的工作流程进行了详细的介绍。并介绍了作为对照的CPSO-ELM模型的工作流程。
5、实验结果与分析
在CPSO-BP浪高预测模型的基础上,本发明选取标准BP神经网络(St-BP)与CPSO-ELM与CPSO-BP的预测结果进行比较,通过仿真结果分对比析CPSO-BP模型进行海洋预警领域浪高预测的优势。
本发明首先介绍了实验数据集和评估指标,为接下来的实验结果分析做准备。接着从预测结果的准确度和模型的性能两大方面进行比较。通过多项指标对St-BP、CPSO-ELM与CPSO-BP三个模型进行评估,逐一比较了三个模型的精确度、泛化能力、预测稳定性和及时性。
51实验准备
本发明使用黄海和渤海两大海域海洋浪高数据,数据来源为来自欧洲中期天气预报中心(European Centre for Medium-RangeWeatherForecasts,ECMWF)的ERA5数据集。ERA5是ECMWF对全球气象数据通过将模型数据与来自世界各地的观测数据结合起来进行再分析得到的第五代数据集,ERA5数据集使用卫星观测拥有极高的空间分辨率,数据集提供大气的每小时估值,并采用一致的不确定性表示方法,数据规范可靠。
本发明选取黄海和渤海区域各六个观测站点,总计12个观测点的数据。渤海站点分布如图14(a)所示,黄海站点分布如图14(b)所示,图14中有效波高平均态数据来自ERA5,为1981年-2010年的平均。黄海海浪高度数据的观测点分别在黄海海域的345°N、355°N、365°N的122°E和123°E处。渤海海浪高度数据的观测点分别在渤海海域的38°N、39°N、40°N的120°E和121°E处。
12个观测点在每日采集4次数据,由0:00开始,每间隔6小时采集一次数据,本发明使用数据集的时间跨度为:2020年1月1日至2020年12月31日。每个观测点数据量为1464组,代表各个观测点各时间点的海浪高度,每个海域六个观测点共8784组。两大海域数据总计17568组。
渤海和黄海一年之内的观测点数据如图14所示,图15是渤海六个站点的2020年度浪高图,图16是黄海六个站点的2020年度浪高。
从图15可以看出渤海海域总体海浪趋势平稳,六个站点的年度观测值进行平滑处理后的曲线各个季节的变化率较小,海况较为稳定。6月-11月的海浪高度较其他月份更低。在120°E,40°N站点,2月中旬和11月中旬出现了持续数日的大浪,12月底出现了一个浪高的最高点。从图16看出,黄海海域2020年的浪高总体平稳,在12月出现全年浪高的最高点。这可能是由于黄海海域在2020年面临了突发气候事件,这造成了图中海浪高度曲线发生较大的波动。就整体而言,虽然渤海海域在2月中旬和11月中旬出现了两个月的海浪高度突变,黄海海域12月浪高较其他月份变化明显,但两大海域2020年海浪高度呈现一定周期性,总体呈现一定规律。
53评测指标
本发明选取MAE、MAPE、RMSE、NSE和R2这5个指标作为验证模型误差的指标,从不同方面对实验误差进行验证,以下是对这些指标的详细说明:
平均绝对误差(MAE),用来比较预测结果和真实值的吻合度,取值范围在[0,+∞),MAE值越接近0,说明模型越接近真实值;当MAE值为0时,表示模型能够对真实值进行完美预测。MAE可由以下公式计算:
平均绝对百分比误差(MAPE)对预测模型进行评估,当MAPE越接近于0,模型预测效果越好;当MAPE大于100%,模型预测效果不可靠。可由以下公式计算:
均方根误差(RMSE)取值范围在[0,+∞),RMSE能够直观地表示误差的数量级,例如:当RMSE=1,说明回归效果比真实值相差1。RMSE可由以下公式计算:
纳什效率系数(NSE)取值范围为(-∞,1],用于评估模型预测结果的好坏。NSE越靠近1,模型的质量越好,可信度越高。NSE越接近0,预测结果可信。NSE远远小于0时,模型预测结果不可靠。NSE可由以下公式计算:
回归系数R2反映变量间的相关程度。R2取值为[0,1],R2越接近于1,模型的预测准确度越好;R2越接近于0,模型的预测准确度越差。当R2<0.3,认为模型是不可靠的;当R2>0.6,认为模型有一定预测能力;当R2>0.7,认为模型能够进行较为准确的预测;当R2>0.8,认为模型具有较好的预测能力。R2可由以下公式计算:
53实验结果分析
本节使用CPSO-BP与未经CPSO优化的St-BP模型和CPSO-ELM模型进行仿真实验。通过对比三个模型的预测结果的各项指标,来比较CPSO算法优化BP模型的效果。
531预测精度分析
表3三种型初始参数
本发明使用MATLAB进行仿真,实验中使用的计算机配置为:Windows 10操作系统,硬盘大小为1T,MATLAB版本为R2018a。如表3所示,使用的ELM和BP神经网络均使用2个输入神经元,5个隐藏层神经元和1个输出神经元的神经网络结构。学习率η均取005,收敛误差ε设置为0001。CPSO-ELM和CPSO-BP两个模型中作为对照,将粒子群大小均设置为2000,优胜粒子群的个数Ns和临时粒子群的个数Nt设置为5,迭代次数阈值iter置为10。表3是四种模型的初始化参数。
每片海域六个站点,每个站点收集12个月,每日4个数据,数据集共计16768组数据。三个模型均为以黄海12月为预测集,其他11个月为训练集进行训练的预测模型的预测结果。将两个海域前8384组数据作为模型的训练集,将后400组数据作为测试集进行实验。
图17、图18、图19分别为St-BP、CPSO-ELM和CPSO-BP模型在实验中的训练集和测试集实际数据与预测值的回归趋势线和回归散点分布图。预测回归趋势的斜率越接近于1,说明模型的训练效果越好;越接近于0,模型的训练效果越差。在散点分布图中,散点分布越集中且越靠近回归趋势线,模型的预测越准确。
图17、图18、图19通过计算R2对三种模型的泛化能力进行评估,R2越接近于1,模型的泛化能力越高;越接近于0,模型的预测泛化能力越低。
如图17,St-BP训练阶段的R2为07479,测试阶段的R2为0.7464,测试阶段的预测准确度较训练阶段无明显下降,模型有一定泛化能力。测试集趋势分布线为y=07454x+01989,分布线的斜率较接近于1,预测较为准确性。
如图18,CPSO-ELM训练阶段的R2为08519,测试阶段的R2为07560,模型预测效果较好,测试阶段的R2较训练阶段的R2有所下降,模型泛化能力较强。测试集趋势分布线为y=07560x+01919,分布线的斜率较St-BP的预测趋势分布线的斜率更接近于1,CPSO-ELM的泛化能力和预测能力较St-BP好。
如图19,CPSO-BP训练阶段的R2为08713,测试阶段的R2为08529,模型预测效果较好,测试阶段的R2较训练阶段有所下降,CPSO-BP模型的R2在训练阶段和测试阶段均大于08,CPSO-BP模型具有极强的泛化能力。测试集趋势分布线为y=08508x+02034,分布线的斜率接近于1,其斜率比St-BP模型,CPSO-ELM模型更接近于1,CPSO-BP的泛化和预测能力较St-BP和CPSO-ELM更好。
CPSO-BP模型在训练和测试阶段的预测准确性都高于其他两个模型,其R2在训练和预测阶段也高于其他两个模型,说明CPSO模型的泛化能力要好于St-BP和CPSO-ELM模型。同时,CPSO-BP在训练阶段和预测阶段的R2值高于CPSO-ELM在训练阶段和预测阶段的R2值,说明CPSO算法优化的BP网络的预测效果要好于优化ELM的效果。经过CPSO对初始参数的改进,两个模型的泛化能力得到了显著提升。从总体看来,CPSO算法对BP神经网络和ELM的预测效果都起到了提升的作用。虽然每个CPSO优化算法在每一次的初始化阶段产生的粒子位置随机,其趋势线和R2会有所变化,综合比较之下CPSO-BP模型的预测效果最好,CPSO-ELM模型次之。
表4 St-BP预测结果评价指标表
表5 CPSO-ELM预测结果评价指标表
表6 CPSO-BP预测结果评价指标表
5.3.2预测结果与实际数据对比
图20、图21分别为渤海海域和黄海海域的仿真数据对比图。将渤海和黄海两个海域前11个月的数据分别作为实验的训练集,将12月的数据作为测试集,分别对St-BP、CPSO-ELM和CPSO-BP三个模型进行训练,对比三者的预测效果。通过将St-BP、CPSO-ELM和CPSO-BP三个模型的预测曲线和真实数据曲线放在同一张图中,可以更直观地看出三个模型的预测效果和预测误差。将渤海和黄海两个海域前11个月的数据分别作为实验的训练集,将12月的数据作为测试集,分别对St-BP、CPSO-ELM和CPSO-BP三个模型进行训练,对比三者的预测效果。
如图20、图21所示,在对渤海12月浪高的预测中,CPSO-BP模型的预测曲线与黄渤海的真实值曲线最为接近,St-BP和CPSO-BP模型也有较好的预测效果;在对黄海12月浪高的预测中,三个模型的预测曲线与真实值都出现了一定偏差,CPSO-BP模型的预测曲线走势最接近真实浪高曲线,St-BP和CPSO-ELM模型的预测曲线都出现了较大偏差。CPSO通过对粒子群算法初始化阶段和趋同阶段的位置更新策略进行了优化,使初始化粒子群时能够更充分地充满整个解空间,以确保粒子群向更优的方向进化。从图20和图21中可以看出,CPSO-BP模型的预测曲线最贴近真实浪高数据。综合看来,CPSO-BP预测曲线在对渤海海域海洋浪高预测拟合程度最好,CPSO算法和BP神经网络的结合能够得到较好的预测结果。
5.4预测性能分析
5.4.1预测误差分析
从图15可以看出渤海海域总体海浪趋势平稳,海况较为稳定。但2月中旬和11月中旬出现了持续数日的大浪。从图16看出,黄海海域和黄海海域2020年的浪高变化较为平稳。就整体而言,两大海域2020年海浪高度呈现一定周期性,总体呈现一定规律。渤海海域在2月中旬、11月中旬和12月出现了浪高的海浪高度突变,黄海海域在12月出现了。所以在误差分析实验中,除了将前11个月作为训练集,12月作为测试集,同时将渤海2月和11月数据分别作为测试集,其他11个月的数据作为训练集对模型进行预测。同样,对于黄海也将2月、11月和12月分别作为测试集,其他11个月作为训练集对模型进行验证。
表4、表5和表6分别表示St-BP、CPSO-ELM和CPSO-BP三种模型的预测结果的MAE、MAPE、RMSE、NSE四个指标的值和它们平均值。通过对四个评价指标的平均值进行对比可以看出,CPSO-ELM的MAE、MAPE、RMSE三项指标的平均值均小于CPSO-BP和St-BP各项指标的平均值,CPSO-ELM的NSE指标的平均值大于CPSO-BP和St-BP的NSE指标的平均值,说明CPSO-BP的预测效果优于CPSO-ELM和St-BP。CPSO-ELM各项指标的平均值与CPSO-BP各项指标的平均值接近,CPSO-ELM的预测效果虽然不如CPSO-BP,但已十分接近CPSO-BP的预测效果。总体而言,CPSO-BP具有最好的预测效果和泛化能力,CPSO-ELM次之。
图22为对渤海的三个模型浪高预测结果平均值的对比柱状图,图23为对黄海的三个模型浪高预测结果平均值的对比柱状图。从图22中可以看出,CPSO-BP对渤海的预测结果的MAE、MAPE、RMSE三项指标在三个模型中是最低的,这说明CPSO-BP的预测误差是三个模型中是最低的;CPSO-BP对渤海的预测结果的NSE指标在三个模型中是最高的,这说明CPSO-BP模型的预测效果是三个模型中预测效果最好的。从图23中可以看出,CPSO-BP对黄海的预测结果的MAE和MAPE两项指标在三个模型中是最低的,St-BP对黄海的预测结果的RMSE指标在三个模型中是最低的,这可能是由于2020年黄海12月的浪高出现了异常的变化,导致CPSO-BP和CPSO-ELM的预测结果不稳定,但在海况不稳定的情况下CPSO-BP的预测性能仍较CPSO-ELM更好,CPSO-BP模型的预测泛化能力更强;CPSO-BP对黄海的预测结果的NSE指标在三个模型中是最高的,这说明CPSO-BP模型的预测效果是三个模型中预测效果最好的。总而言之,CPSO-BP在稳定海况的海域中预测效果最好,在不稳定海况仍有较强泛化能力。
542预测稳定性分析
表4、表5、表6展示了预测结果的四项评估指标。CPSO-BP模型预测结果的MAE、MAPE、RMSE的平均值在三个模型中都是最小的。虽然在具体的预测中存在CPSO-ELM的误差小于CPSO-BP的情况,但总体看来CPSO-BP的预测效果最为理想。
神经网络类模型优化过程存在一定随机性,同一模型在对于同一个月的预测可能会出现差异,如出现反常气候,将使预测值出现偏差,偏差越大说明该模型的仿真效果越差,偏差越小说明该模型的仿真效果越好。表7是三个模型预测结果的四个指标的方差,通过对比各项指标的方差,可以比较三个模型的预测稳定性。
表7为三个预测模型的预测结果各项指标的方差。从表中可以看出CPSO-ELM在MAE和NSE指标的方差最低,但三个模型在MAE指标的方差均在同一数量级;CPSO-BP在MAPE和RMSE两项指标的方差最低,且在MAPE项的方差比另外两个模型的方差低一个量级。综合看来,CPSO-BP模型和CPSO-ELM模型具有相似的稳定性,两个模型的稳定性都比St-BP更好。
表7三个模型每项指标的预测方差
图24为三个模型预测结果的四项指标方差对比柱状图。从图中可直观地看出CPSO-BP的MAPE和RMSW两项指标的方差要远远低于St-BP和CPSO-BP;三个模型MAE和NSE两项指标的方差在相同数量级。总体而言,CPSO-BP模型拥有最好的稳定性。
进行准确且快速的预测是训练网络模型的目标。如表8所示,三种模型的预测结果和预测时间均存在一定的不稳定性。为了更深入地对比三种模型的准确性和及时性,分别对每种模型进行10次训练以预测12月的海浪高度,将每次的预测结果的R2和运行时间记录下来,分别求出每一项的平均值和方差以验证三个模型的预测准确性和稳定性。
如表8,St-BP的预测精确度平均值为07368,CPSO-ELM的精确度平均值为07888,CPSO-BP的预测精确度平均值为08393;CPSO-BP的平均运行时间为8070秒,CPSO-ELM的平均运行时间为5710秒。综合看来,CPSO-BP的预测效果最好,CPSO-ELM的预测效果次之。BP网络本身运行时间极快,相对于CPSO-ELM和CPSO-BP可以忽略不计,在三个模型中其平均运行时间最快。CPSO算法的寻优过程中需要进行逐代的优化操作,这使CPSO算法提升了BP神经网络的预测精确度和泛化能力的同时,也增加了BP网络的运行时间。CPSO-BP的预测速度与CPSO算法的迭代次数,初始参数,样本数量等因素有关。由于ELM神经网络比BP运行速度更快,使得CPSO-BP模型的运行速度要快于CPSO-ELM模型,CPSO-BP的预测结果比CPSO-ELM更为准确,但反向传播使网络的运行时间更长,但提升了CPSO-BP模型的准确性。如表8,St-BP的预测精确度平均值为07368,CPSO-BP的预测精确度平均值为08393,CPSO-BP模型大大改进了St-BP模型的预测效果。综合而言,CPSO-BP模型取得了最准确的预测结果,虽然增加了模型的运行时间,计算速度仍较物理模型更快,能都在保证及时性的同时,做到更准确的预测。
综合而言,CPSO-BP对于渤海和黄海海域的预测准确度较St-BP和CPSO-ELM更好,且CPSO-BP的稳定性和泛化能力更好。CPSO-BP模型十次实验结果的平均运行时间与CPSO-ELM在同一量级,但预测效果较CPSO-ELM更好,CPSO-BP能够在保证预测及时性的同时,提高预测模型的预测能力和泛化能力。
表8三种模型的预测精度及运行时间
55本发明介绍了实验相关的准备,介绍了本发明采用的数据集,并通过数据集分析了两个目标海域数据当年的浪高情况。之后给出了用于评估实验结果的五个指标的计算公式及详细说明。接下来对实验结果进行了详细的分析。首先,根据预测效果的趋势分布图,通过St-BP、CPSO-ELM和CPSO-BP模型的R2,比较三个模型的预测准确性和泛化能力;接着,将三个模型的预测效果和实际结果进行对比,进一步比较了三个模型的预测性能;然后,对比各个模型在对黄渤海2月、11月和12月的4项指标来分析模型的预测效果;最后,通过比较三个模型的4项预测指标的方差和三个模型进行10次预测的测试集R2对比三个模型的预测稳定性,通过三个模型10次预测平均预测时间对比了三个模型的预测及时性。
海浪高度预测关系到海洋预警和海上工程的安全及时开展。传统浪高预测方法包括物理模型和经验模型。物理模型通过力学分析对真实海况进行模拟,物理模型能够得到较为准确预测效果,但由于海洋环境的复杂性,物理模型在建模过程中需要使用到大量的计算资源,算法的运行时间较长。经验模型建立不需要任何物理参数,模型训练速度快,但是预测的准确率较低。而在海洋预警中,浪高预测的准确性和预测速度都至关重要。
机器学习方法能够在较短的时间内构建海浪高度预测模型。相对于传统浪高预测物理模型,使用深度学习方法进行浪高预测有着准确性高、成本低、运行速度快的优点。在海洋预警中的浪高预测问题上,非常适合使用深度学习方法进行浪高预测。
本发明旨在结合BP神经网络和CPSO算法构建一个准确高效的海浪高度预测模型。通过混沌粒子群优化算法的寻优能力,来弥补神经网络固有的不足,得到一个较传统物理方法更为高效的模型,在保证预测准确率的情况下,使资源和建模时间的消耗降低。
本发明使用一个基于混沌粒子群优化算法优化的BP神经网络模型(CPSO-BP)用于进行海洋浪高预测。通过逐代筛选,找到一个最优的粒子,并将CPSO算法的结果传递给BP神经网络。将CPSO算法的计算结果作为BP神经网络的初始权值和阈值,形成CPSO-BP模型,通过使用训练后的CPSO-BP网络进行海洋浪高预测任务,使网络的预测性能得到提升。
本发明实验使用中期天气预报中心2020年的渤海和黄海各6个站点每6小时记录一次的浪高数据。通过对浪高数据各个参数与浪高之间的相关系数进行计算和分析,选取了模型的输入特征。分别使用St-BP、CPSO-ELM、CPSO-BP模型使用前11个月的数据进行训练,用第12个月的数据作为测试集来评估三个模型的浪高预测效果。通过对三个模型预测结果的回归曲线、预测曲线和各个实验指标的对比,从预测准确性、及时性、鲁棒性和泛化能力角度,分析了CPSO-BP模型在解决海洋预警领域浪高预测问题上的优势。本发明对CPSO-BP海洋浪高预测模型的研究,对今后海洋浪高预测相关问题的研究具有一定意义的参考作用和应用价值。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种海洋浪高预测方法,其特征在于,所述海洋浪高预测方法包括以下步骤:
选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO-BP模型中,混沌粒子群优化算法CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO-BP模型进行海洋预警领域浪高预测。
2.如权利要求1所述的海洋浪高预测方法,其特征在于,在选择输入特征时,确定每个特征与海浪高度的相关性,每个输入参数与海浪高度之间的相关系数进行分析,选取相关系数高的特征作为预测海浪高度的输入特征;其中,备选的神经网络输入特征,包括平均海平面MSL、10米风速U分量U10、10米风速V分量V10、平均海波方向MWD、平均海波周期MWP五项特征;
通过皮尔逊相关系数rx,y计算各个变量与海浪高度SWH的相关性,以相关性作为参考选取神经网络的输入特征;皮尔逊相关系数rx,y用来定量分析变量间的相关性,rx,y∈[-1,1],当|rx,y|接近于1,两者相关性高,当|rx,y|接近于0,两者相关性低;rx,y的正负代表两个变量的相关性正负,根据以下公式进行计算:
其中,|rx,y|>0.8时,两个变量高度相关;当|rx,y|∈[0.3,0.5))时,两个变量低度相关;当|rx,y|<0.3时,两个变量弱相关;
U10和V10分别为精度和纬度上的风速分量,其相关性不适合单独拿出来作为海浪高度预测的参数;通过特征融合,计算观测点风速值UV用作网络的输入,UV可由以下公式进行计算:
特征融合后的新特征UV与SWH具有最高的相关性,且与MWP不同,UV不具有后验性,可以作为输入特征;
选用P值Pvalue来分析各参数的显著性;P值可通过计算chi-square后查询卡方分布表得出,用于判断H0假设是否成立的依据。chi-square计算公式为:
当原假设成立时,P值代表极端情况的发生几率。
3.如权利要求1所述的海洋浪高预测方法,其特征在于,
对粒子群进行位置初始化,第i个粒子的初始位置表示为:
Xi=(Xi,1,Xi,2,...Xi,N),i∈[1,m];
找到当前最优解和整个粒子群中的最优解来决定更新速率,当前适应度最高的解记作Pi,整个粒子群中的最优解记作Pg;
第i个粒子的当前最优解表示为:
Pi=(Pi1,Pi2,...PiN),i∈[1,m];
全局最优解表示为:
PSO通过在不同轮次改变每个粒子的速度,使解朝向趋于Pi和Pg的方向更新从而得到最优解;
第i个粒子通过以下等式对速度进行更新:
其中,c1是局部加速系数,c2是整体加速系数,ω∈R,被称之为惯性权重系数r1和r2为(0,1)区间内的随机实数;小值c1和大值c2能使粒子在优化的后期收敛到全局最优解;局部加速系数由以下公式计算:
整体加速系数由以下公式计算:
其中,c1i和c2i是加速系数c1和c2的初始值,且c1f和c2f是加速系数的最终值;
自适应惯性权重系数可由以下公式计算:
其中,ωmax和ωmin分别为权重系数ω的最大值和最小值,随着进化过程推进,ω逐渐减小;f是当前粒子的适应度,fav为粒子群整体的适应度平均值,fmin为粒子群中的最小适应度;
第i个粒子通过以下等式对速度进行更新:
其中,Xi是粒子i的位置,Vi代表粒子i的速率,Vi∈(Vmin,Vmax),Vmin和Vmax在[0,1]之内;λ∈R被称为限制因子,用于调整ω∈R,限制速率;当达到最大轮次或收敛至符合适应度要求时,计算终止。
4.如权利要求1所述的海洋浪高预测方法,其特征在于,所述CPSO-BP模型的实现方法包括:
(1)确定BP网络模型结构;
通过特征选取,选择UV和MSL作为输入特征值;确定网络输入节点数Si为2,隐藏层节点数So为1,将隐藏层节点数Sl设置为5;其中,每个粒子的维数N可通过以下公式计算:
N=Si×Sl+Sl×So+Sl+So+q,q=1;
其中,q为每个粒子的适应度值,将其放在每个粒子的最后一维构成一个22维的粒子Xi;Si×Sl为输入层到隐藏层的权值的数量,Sl为隐藏层的阈值的数量,粒子的维数N=22;
(2)设置CPSO初始参数;
设置限制因子λ=0.92,自适应惯性权重因子的最大值ωmax=0.9和最小值ωmin=0.4,设置加速系数初始值c1i=c2i=0.5,设置加速系数最终值c1f=c2f=2.5;
(3)根据BP网络模型的结构,生成CPSO算法中的初始向量和混沌向量;
将输入层到隐藏层的权值和隐藏层的阈值作为CPSO矩阵中的元素,CPSO中的每一个粒子都表示BP网络的初始参数;对种群X初始化,模型随机产生一个大小m为2000的粒子群,初始种群的第i个粒子由以下公式计算:
Xi=(xi,1,xi,2,...xi,m),i=1,2,...,22;
为Xi中每一个参数加入一个微小的扰动,由此生成初始混沌向量,第i个初始混沌向量由以下公式计算:
(4)通过适应度的大小来对种群中的每一个粒子进行打分;
每一个粒子的适应度为均方差的倒数,通过适应度的大小来对种群中的每一个粒子进行打分,将各个粒子的得分设为向量的最后一项,适应度与BP网络模型的权值和阈值一起作为该粒子的参数,以确定一个粒子的结构;其中,第i个粒子的适应度由以下公式计算:
通过得到的适应度值对每个粒子进行排序,排名前五的粒子作为优胜粒子,排名次五的粒子作为临时粒子;
(5)为粒子群按照适应度值进行排序,再对粒子群进行寻优,生成新的粒子群;
按照适应度得分,排序最靠前的5个粒子作为优胜粒子,记作在这五个粒子之后排名次五粒子作为临时粒子,记作以这十个被选出来的优胜粒子和临时粒子作为新的中心,与随机矩阵相加19次,分别生成19个新的粒子;表示为随机生成一个22维矩阵Y=[y1 y2 ... y22];其中,将分别与矩阵Y相加,将相加后的新矩阵归一化到与Y相同的区间,相加后的新矩阵可由以下公式计算:
其中,lmanx由以下公式计算:
lmax={max||xi+yi|,i=1,2,...,22},n=1,2,...,19;
(6)混沌趋同和混沌异化操作;
将五个优胜粒子和五个临时粒子分别作为中心,生成10个新的粒子群,将新生成的粒子按照适应度值进行重新排序;
混沌趋同:当子群体进行趋同操作时,种群会以自己内部得分最高的个体为中心,生成新的子群体,如果新的子群体中有比自己得分高的,那么则以新的优胜个体为中心继续趋同操作;更新计算粒子的适应度f的平均值fav:和适应度f的最小值fmin,更新权重系数ω;
混沌异化:更新自适应惯性权重系数ω、局部加速系数c1和整体加速系数c2,计算出粒子进行混沌化后的速度和粒子新位置;根据粒子的新位置重新计算粒子坐标和适应度f,当出现f值更高的粒子,就用这一粒子生成新的粒子群,将适应度值低的粒子淘汰,直到粒子群成熟,所有个体收敛;
如果异化后的粒子群仍未收敛,则重复该步骤直至网络收敛;
(7)将适应度最高的个体Xbest=[x1 x2 ... x22]作为BP神经网络的输入;
将Xbest中x1,x2,...,x10作为网络输入层到隐藏层的连接权值,记作将Xbest中x11,x12,...,x15作为神经隐藏层到输出层的连接权值,记作W2=[x11,x12,...,x15]T;将Xbest中x16,x17,...,x20作为隐藏层中各个节点的阈值,记作B1=[x16,x17,...,x20]T将Xbest中x21作为输出层中各个节点的阈值,记作B2=[x21]T;将W=[W1,W2]T和B=[B1,B2]T分别作为BP网络的初始权值和阈值,形成初始CPSO-BP模型;
(8)训练预测模型,进行仿真预测。
5.如权利要求1所述的海洋浪高预测方法,其特征在于,所述CPSO-BP模型的寻优方法包括:
在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化,CPSO通过趋同和异化运算来发掘适应度更高的粒子;在进行趋同运算之前,CPSO先根据适应度值将所有粒子进行排序,从排名靠前的粒子中找到最优粒子和临时粒子;由最优粒子和临时粒子为中心,生成新的粒子群,对每个新生成的粒子群进行排序,进行趋同和异化操作;当异化过程不再产生适应度值更高的粒子,即找到最优粒子时,不再对粒子群进行更新,算法结束;
在CPSO的优化过程中,在选取5个优胜粒子和5个临时粒子之后,分别以它们为中心生成了5个优胜粒子群和5个临时粒子群;每个粒子群适应度得分在经过一定次数的变化之后趋于一个稳定值,这说明粒子群已经成熟,适应度得分不再变化;当每个粒子群经过趋同运算,每个粒子群的最终得分为其内部得分最高的粒子的适应度值;在进行最优粒子群更新之后,进入异化阶段;
优胜粒子群中的子种群2,子种群3和子种群4的适应度值得分低于临时粒子群中的子种群1、子种群2和子种群5的适应度值得分;所以,由临时粒子群中的子种群1、子种群2和子种群5取代优胜粒子群中的子种群2,子种群3和子种群4作为新的优胜粒子群进入异化阶段;将优胜粒子群被替换的三个粒子群淘汰,再在临时粒子群中随机生成三个新的粒子群,进入异化阶段;在经过4次趋同运算之后粒子群的适应度得分不再变化,说明此时所有的粒子群已经成熟,满足算法停止条件,CPSO算法寻优至此结束;将CPSO找到的适应度值最高的粒子的值传入BP神经网络作为初始权值和阈值。
6.如权利要求1所述的海洋浪高预测方法,其特征在于,所述CPSO-ELM模型的实现,包括:
CPSO-ELM模型的形式与CPSO-BP模型类似;CPSO在算法策略上不变,在CPSO算法运行结束后将算法寻找到的最优解传入ELM作为其初始权值和阈值;
ELM在确定输入层到隐藏层各个节点的权值和隐藏层的阈值后,ELM能自行确定隐藏层神经元到输出层神经元的权值;通过特征选取,选择UV和MSL作为输入特征值,通过训练BP神经网络对SWH进行预测;输入神经元个数si为2,输出层节点数So为1,将隐藏层节点个数Sl设置为5;其中,每个粒子的维数N,通过以下公式计算:
N=Si×Sl+Sl+q,q=1;
其中,q为每个粒子的适应度值,将其放在每个粒子的最后一维构成一个16维的粒子Xi;Si×Sl为输入层到隐藏层的权值数量;Sl为隐藏层神经元的阈值数量,粒子的维数N=16;
CPSO-ELM模型的基本思想是将使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络,通过优化神经网络参数来对预测的效果进行优化。
7.一种实施权利要求1~6任意一项所述的海洋浪高预测方法的海洋浪高预测系统,其特征在于,所述海洋浪高预测系统包括:
特征选取模块,用于选取相关系数高的特征作为预测海浪高度的输入特征;
CPSO算法确定模块,用于按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;
CPSO-BP模型实现模块,用于通过CDW为BP模型进行初始化阶段的优化;
CPSO-BP模型寻优模块,在CPSO-BP模型中,用于通过CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;
CPSO-ELM模型实现模块,用于使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;
浪高预测模块,用于利用CPSO-BP模型或CPSO-ELM模型进行海洋预警领域的浪高预测。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO-BP模型或CPSO-ELM模型进行海洋预警领域的浪高预测。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
选取相关系数高的特征作为预测海浪高度的输入特征;按照粒子群行为特征建立混沌模型,解决粒子群过早收敛问题;CDW为BP模型进行初始化阶段的优化;在CPSO-BP模型中,CPSO在解空间中寻找最优的粒子对BP网络的初始权值和阈值进行优化;使用CPSO算法优化过的参数作为ELM网络的初始权值和阈值传入ELM网络;利用CPSO-BP模型或CPSO-ELM模型进行海洋预警领域的浪高预测。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的海洋浪高预测系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110899892.3A CN113722980A (zh) | 2021-08-06 | 2021-08-06 | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110899892.3A CN113722980A (zh) | 2021-08-06 | 2021-08-06 | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722980A true CN113722980A (zh) | 2021-11-30 |
Family
ID=78674990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110899892.3A Pending CN113722980A (zh) | 2021-08-06 | 2021-08-06 | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722980A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581817A (zh) * | 2022-02-21 | 2022-06-03 | 国家海洋环境预报中心 | 从近岸海浪监控视频智能检测浪高和风速的方法及系统 |
CN114580509A (zh) * | 2022-02-21 | 2022-06-03 | 国家海洋环境预报中心 | 基于卷积长短记忆网络的海浪宏观特征量预测系统 |
CN115182395A (zh) * | 2022-06-29 | 2022-10-14 | 山东大学 | 一种海底地层稳定性评估预测方法及系统 |
-
2021
- 2021-08-06 CN CN202110899892.3A patent/CN113722980A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114581817A (zh) * | 2022-02-21 | 2022-06-03 | 国家海洋环境预报中心 | 从近岸海浪监控视频智能检测浪高和风速的方法及系统 |
CN114580509A (zh) * | 2022-02-21 | 2022-06-03 | 国家海洋环境预报中心 | 基于卷积长短记忆网络的海浪宏观特征量预测系统 |
CN114580509B (zh) * | 2022-02-21 | 2022-10-28 | 国家海洋环境预报中心 | 基于卷积长短记忆网络的海浪宏观特征量预测系统 |
CN115182395A (zh) * | 2022-06-29 | 2022-10-14 | 山东大学 | 一种海底地层稳定性评估预测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106600059B (zh) | 基于改进rbf神经网络的智能电网短期负荷预测方法 | |
Song et al. | New chaotic PSO-based neural network predictive control for nonlinear process | |
CN113722980A (zh) | 海洋浪高预测方法、系统、计算机设备、存储介质、终端 | |
CN110046710A (zh) | 一种神经网络的非线性函数极值优化方法及系统 | |
CN113468803B (zh) | 一种基于改进的woa-gru洪水流量预测方法及系统 | |
CN110751318A (zh) | 一种基于ipso-lstm的超短期电力负荷预测方法 | |
CN109214579B (zh) | 基于bp神经网络的盐碱地稳定性预测方法及系统 | |
CN110837915B (zh) | 一种基于混合集成深度学习的电力系统低压负荷点预测及概率预测方法 | |
CN112884236B (zh) | 一种基于vdm分解与lstm改进的短期负荷预测方法及系统 | |
CN113468790B (zh) | 一种基于改进粒子群算法的风速特征模拟方法及系统 | |
CN113177673B (zh) | 一种空调冷负荷预测优化方法、系统及设备 | |
CN113255873A (zh) | 一种聚类天牛群优化方法、系统、计算机设备和存储介质 | |
CN116644970A (zh) | 一种基于vmd分解和叠层深度学习的光伏功率预测方法 | |
CN111008790A (zh) | 一种水电站群发电调度规则提取方法 | |
CN113537365A (zh) | 一种基于信息熵动态赋权的多任务学习自适应平衡方法 | |
CN114819143A (zh) | 一种适用于通信网现场维护的模型压缩方法 | |
CN112906935A (zh) | 一种风电场超短期功率预测方法 | |
CN110738363B (zh) | 一种光伏发电功率预测方法 | |
CN115933693A (zh) | 一种基于自适应混沌粒子群算法的机器人路径规划方法 | |
CN116596044A (zh) | 基于多源数据的发电负荷预测模型训练方法及装置 | |
CN114004152A (zh) | 基于图卷积和循环神经网络的多风场风速时空预测方法 | |
CN113821025A (zh) | 一种神经网络优化启发函数的移动机器人路径规划方法 | |
CN116911459A (zh) | 适应于虚拟电厂的多输入多输出超短期电力负荷预测方法 | |
CN111563614A (zh) | 一种基于自适应神经网络与tlbo算法的负荷预测方法 | |
CN114065646B (zh) | 基于混合优化算法的能耗预测方法、云计算平台及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |