CN108022025A - 一种基于人工神经网络的风速区间预测方法与系统 - Google Patents
一种基于人工神经网络的风速区间预测方法与系统 Download PDFInfo
- Publication number
- CN108022025A CN108022025A CN201711463820.4A CN201711463820A CN108022025A CN 108022025 A CN108022025 A CN 108022025A CN 201711463820 A CN201711463820 A CN 201711463820A CN 108022025 A CN108022025 A CN 108022025A
- Authority
- CN
- China
- Prior art keywords
- wind speed
- neural network
- individual
- module
- artificial neural
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 19
- 238000005457 optimization Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 25
- 230000000875 corresponding effect Effects 0.000 claims description 20
- 239000002245 particle Substances 0.000 claims description 16
- 108090000672 Annexin A5 Proteins 0.000 claims description 14
- 238000010606 normalization Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 101150093954 Nrep gene Proteins 0.000 claims description 10
- 230000001133 acceleration Effects 0.000 claims description 10
- 230000003190 augmentative effect Effects 0.000 claims description 10
- 238000001228 spectrum Methods 0.000 claims description 8
- 238000009827 uniform distribution Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 6
- 230000002596 correlated effect Effects 0.000 claims description 6
- 238000012886 linear function Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 4
- 238000010845 search algorithm Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 description 14
- 238000012360 testing method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000005484 gravity Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 3
- 238000003280 down draw process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 238000000489 vacuum metal deposition Methods 0.000 description 2
- 230000003749 cleanliness Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Entrepreneurship & Innovation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Primary Health Care (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于人工神经网络的风速区间预测方法与系统,用于风场的短期风速预测。首先运用变分模态分解(variational mode decomposition,VMD)把初始复杂的时间序列分解为多个结构简单的时间序列。再用Gram‑Schmidt正交化(Gram‑Schmidt orthogonal,GSO)进行特征选择。将处理好的风速序列作为人工神经网络(artificial neural network,ANN)的输入,ANN的输出为未来时刻风速的上下界。最后通过多目标引力搜索算法(Multi objective gravitational search algorithm,MOGSA)训练ANN权重与偏置,以覆盖率和区间宽度两个矛盾的指标作为优化目标,得到最优方案集。通过该方法预测出来的风速区间对实际的风速区间覆盖率高,区间宽度窄。该组合模型将预测的准确度提升到一个很高的水平。
Description
技术领域
本发明属于风速预测技术领域,更具体地,涉及一种基于人工神经网络的风速区间预测方法与系统。
背景技术
随着能源需求的提升和全球变暖因素的影响,世界各国都在积极寻求可替代的清洁能源。风力发电因清洁、分布广泛而受到人们的青睐。但由于风能的间歇、不可控性,造成风力发电出力的随机性,势必会给电力系统的安全可靠运行带来严峻挑战。而风电场出力直接取决于风速,风速预测是风电机组控制和风电场出力预测的基础。点预测结果必然无法表征实际风电中潜在的随机性从而使决策工作面临一定的风险,鉴于此若能在给出风速波动的区间将有利于机组组合决策和给电网调度人员提供更科学的参考。
然而,现有风速预测方法与技术体系中尚缺乏风速区间预测方法,有必要做专门的技术研究。传统的区间预测方法有结合人工神经网络(artificial neural network,ANN)的单目标优化的区间预测。就是把区间宽度与覆盖率两个目标通过算法结合,因此会产生连接两个目标的超参数。超参数定义不当会极大地降低区间预测的效果。本发明采用多目标优化的区间预测从而避免了超参数的定义,提高了区间预测的效果。
现有的区间预测方法还有未加前处理的ANN的多目标优化的区间预测,然而实际的风速序列的波动具有较强的随机性和非线性,导致ANN很难对风速序列进行精确的拟合,因此本发明采用VMD进行波形分解和GSO进行特征选择。使用这种组合前处理将有利于ANN对风速序列进行更好的拟合,让区间预测达到更好的效果。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于人工神经网络的风速区间预测方法与系统,其目的在于提升风速区间的预测效果。
为了实现上述目的,按照本发明的一个方面,提供了一种基于人工神经网络的风速区间预测方法,所述方法包括如下步骤:
步骤1:采集风场的风速序列:每隔m分钟采集一次实时风速,取实时风速的前len个数据作为风速序列,m的大小选取根据实际需求来定,len为预设值;
步骤2:对不稳定非线性的所述风速序列进行VMD分解得出K个结构简单的子时间序列uk(t),其中k的取值从1到K;
步骤3:对步骤(2)得到的K个特征u(t)进行数据处理,用循环结构i=1:1:len-L,每次取第i个数到第i+L-1个数总共L个数据作为输入,取第i+L个数据作为参考输出,得到一个len-L列L行的输入数组P和len-L列1行的参考输出数组T;
步骤4:对输入数组P进行GSO相关性选择,得到所有Xl对Y的相关性排序,P的第l行表示为Xl=[xl1,xl2,…,xlM],T表示为Y=y1,y1,…,yM],其中l的取值范围是从1到L,M表示数组的列数,其值等于len-L;
步骤5:对步骤4得到的相关性排序中选出前LL个最相关的Xl作为人工神经网络ANN的输入,ANN的输入层数为LL,隐藏层数hiddennum,输出层数为2,隐藏层与输出层的激活函数采用线性函数;
步骤6:P取前RR%的列作为训练输入数据集P_train,T取前RR%的列作为训练参考输出数据集T_train,使用MOGSA训练人工神经网络,得到人工神经网络的最优权重与偏置fbest,其中RR为预设值;
步骤7:令k=k+1,返回到步骤(3),若迭代次数达到K,则算法停止;
步骤8:将待预测风速序列作为ANN的输入,最终训练出的fbest作为的ANN的权重与偏置,得到子区间序列,然后把k个子序列反归一化后相加,得到预测风速区间。
本发明的一个实施例中,在所述步骤4中,对输入数组P进行GSO相关性选择,得到所有Xl对Y的相关性排序,具体为:
步骤4.1:将下式作为迭代过程中的目标最大化函数,算出所有选出最大的一个值,从而选出与参考输出Y最相关的一个输入Xlmax,
其中是第l个输入向量Xl与参考输出Y的夹角,<>表示内积,如果Xl和Y完全成比例则为0,如果Xl和Y完全不相关则为π/2;
步骤4.2:为了选出下一个最相关的输入,对剩下的输入向量和参考输出向量进行更新,更新公式:
上式r表示更新前,r+1表示更新后,Xi中的i的取值范围是1到J,表示已经排好的J个输入向量X,
按照上述两个公式更新Y和所有的未排序的X;
步骤4.3:回到步骤4.1,不断迭代直到得到所有Xl对Y的相关性排序为止。
本发明的一个实施例中,所述步骤6具体为:
步骤6.1:算法初始化:设置算法参数,包括个体数量nPop、迭代次数t=1,最大迭代次数max_it、非劣解集规模nRep,其中每一个个体的坐标代表一组ANN的权重与偏置;
步骤6.2:粒子位置初始化:使用matlab工具箱的train函数实现,train函数的输入数据为P_train和T_train,BP神经网络的结构与步骤5中的ANN相同,得到一组BP神经网络训练出来的权重与偏置,把这组权重与偏置放在行向量range中,将range中每个数上下扩展δ,δ取0到1之间的数,得到一个的初始解空间,在这个空间中随机选取nPop个初始个体,然后用range随机替换掉其中的一个个体;
步骤6.3:目标函数的设置与计算:为了得到更准确的预测区间设计下列两个目标函数:
区间非覆盖率:
其中n为样本总数,PICP为区间覆盖率,Ui和Li为上下界,若Li≤Ci≤Ui则Ci为1,否则Ci为0,
区间宽度:
R是参考输出的变化范围,
计算每一个初始个体对应的目标函数,计算过程如下:ANN的输入为P_train,权重与偏置采用对应的个体的坐标,ANN的两个输出代表预测出来的上届和下界,将输出反归一化后就可计算出每一个个体对应的1-PICP和PINRW两个指标;
步骤6.4:对粒子进行非支配排序和拥挤距离计算;
步骤6.5:质量,加速度,速度和位置的更新;
步骤6.6:令t=t+1,返回到步骤6.3,若迭代次数t达到max_it,则算法停止;
步骤6.7:根据最终的最优解集画图,得到帕累托前沿,选取拐角处的点作为MOGSA训练出的人工神经网络最优权重与偏置fbest。
本发明的一个实施例中,所述步骤6.4中,首先定义支配的概念,若p支配q,则必须满足一下两个条件:
(1)fa(p)≤fa(q),即对所有的子目标,p不比q差;
(2)fa(p)<fa(q),即至少存在一个子目标,使得p比q好,1-PICP和PINRW对应f1和f2;
具体算法包括:
步骤6.4.1:非支配排序,当前所有个体没有被其他任何个体所支配的个体为非劣解集,定义该个体集为rank=1,去掉这些非劣解集,对余下的群体按照上述方法产生新的非劣解集,定义该个体集为rank=2,以此类推,每一个个体都有一个rank值,
步骤6.4.2:计算拥挤距离,按照下式计算出每一个个体的拥挤距离Idistance,
I[i].表示第i个个体在子目标a上的函数值,和分别表示第a子目标函数值的最大值和最小值,
步骤6.4.2:按照下式得到nPop个个体的偏序排序,并保留前nRep个个体中rank=1的个体作为最优解集,
定义偏序关系,假如第i和第j个个体的偏序关系是第i个体在前则必须满足下列条件:
I[i]rank≤I[j]rank和I[i]distance>I[j]distance。
本发明的一个实施例中,所述步骤6.5具体为:
步骤6.5.1:首先定义质量函数,nPop个个体适应度fit的值按照偏序排序前后依次为1,2…nPop,按照下计算出nPop个个体的质量,
fiti(t)和Mi(t)分别表示第t次迭代时第i个个体的适应度函数值和质量;best(t)和worst(t)表示第t次迭代时所有个体最优适应度函数值和最差适应度函数值;
步骤6.5.2:由下面5个公式更新出第i个个体第d维坐标:
G(t)=G0e-αt/T
其中,G(t)表示在第t次迭代时万有引力常数的取值,G0和α为常数,Rij(t)为第i和第j个个体之间的欧式距离;
在第d维上,个体i所受的合力为:
其中,randj表示在[0,1]之间服从均匀分布的一个随机变量;kbest表示个体质量按照降序排在前kbest个的个体;
个体i在第d维的加速度方程为:
更新速度和位置:
其中,r表示在[0,1]之间服从均匀分布的一个随机变量;
步骤6.5.3:d=d+1,直到更新出所有维的坐标;
步骤6.5.4:i=i+1,直到更新出所有个体的坐标。
本发明的一个实施例中,所述步骤2具体为:
通过VMD把输入信号分解为一定数目的子信号,使得其再现输入的同时还有具体稀疏性这里假定每个模式都以最紧密的脉冲为中心,为评估一个模式的带宽,首先用Hilbert变换求得每个模式的相关解析信号以获取一个单边频谱,然后混合一个指数来调整到各自估计的中心频率,把模式频谱转移到基带,最后通过解调信号的高斯平滑来估计带宽,约束变分问题如下:
上面第一个公式服从于第二个公式,δ(t)是狄拉克分布,*表示卷积;
使用二次罚项和拉格朗日乘子来处理优化问题,引入下面的增广拉格朗日:
α表示惩罚参数,<>表示内积,λ为Lagrange乘子;
这种最小化问题的解决方案就变成了找寻迭代子优化序列中增广拉格朗日的鞍点。
本发明的一个实施例中,所述找寻迭代子优化序列中增广拉格朗日的鞍点采用交替方向乘子算法,利用交替方向乘子算法求取风速序列分量的具体步骤如下:
步骤2.1:初始化λ1,n;
步骤2.2:执行循环:n=n+1
步骤2.3:对所有ω≥0,更新uk,其中x(ω)为信号x(t)的傅里叶变换,uk(ω)为信号uk(t)的傅里叶变换,ifft()代表傅里叶反变换,表示取分析信号的实数部分,
步骤2.4:频率中心ωk的更新方程如下所示,在频域内的最优化表示为:
步骤2.5:更新λ,λ更新式如下,其中τ为系数:
λn+1(ω)=λn(ω)+τ·(f(ω)+un+1(ω))
步骤2.6:重复步骤2.2~2.5,直到满足停止条件,条件如下:
ε为约束参数,当满足上述条件时,迭代结束最终得到K个特征u(t)。
本发明的一个实施例中,所述ε的取值范围为10-6附近。
按照本发明的另一方面,还提供了一种基于人工神经网络的风速区间预测系统,包括风速序列采集模块、风速序列分解模块、特征处理模块、相关性选择模块、人工神经网络建立模块、人工神经网络训练模块、迭代控制模块以及实际风速预测模块,其中:
所述风速序列采集模块,用于采集风场的风速序列:每隔m分钟采集一次实时风速,取实时风速的前len个数据作为风速序列,m的大小选取根据实际需求来定,len为预设值;
所述风速序列分解模块,用于对不稳定非线性的所述风速序列进行VMD分解得出K个结构简单的子时间序列uk(t),其中k的取值从1到K;
所述特征处理模块,用于对所述风速序列分解模块得到的K个特征u(t)进行数据处理,用循环结构i=1:1:len-L,每次取第i个数到第i+L-1个数总共L个数据作为输入,取第i+L个数据作为参考输出,得到一个len-L列L行的输入数组P和len-L列1行的参考输出数组T;
所述相关性选择模块,用于对输入数组P进行GSO相关性选择,得到所有Xl对Y的相关性排序,P的第l行表示为Xl=[xl1,xl2,…,xlM],T表示为Y=[y1,y1,…,yM],其中l的取值范围是从1到L,M表示数组的列数,其值等于len-L;
所述人工神经网络建立模块,用于对所述相关性选择模块得到的相关性排序中选出前LL个最相关的Xl作为人工神经网络ANN的输入,ANN的输入层数为LL,隐藏层数hiddennum,输出层数为2,隐藏层与输出层的激活函数采用线性函数;
所述人工神经网络训练模块,用于将P取前RR%的列作为训练输入数据集P_train,T取前RR%的列作为训练输入数据集T_train,使用MOGSA训练人工神经网络,得到人工神经网络的最优权重与偏置,其中RR为预设值;
所述迭代控制模块,用于令k=k+1,返回到所述特征处理模块,若迭代次数达到K,则算法停止;
所述实际风速预测模块,用于将待预测风速序列作为ANN的输入,最终训练出的fbest作为的ANN的权重与偏置,得到子区间序列,然后把k个子序列反归一化后相加,得到预测风速区间。
本发明的一个实施例中,所述人工神经网络训练模块具体包括算法初始化子模块、粒子位置初始化子模块、目标函数设置计算子模块、排序和拥挤计算子模块、参数更新子模块、迭代判断子模块以及最优权重偏置计算子模块:
所述算法初始化子模块,用于对算法进行初始化:设置算法参数,包括个体数量nPop、迭代次数t=1,最大迭代次数max_it、非劣解集规模nRep,其中每一个个体的坐标代表一组ANN的权重与偏置;
所述粒子位置初始化子模块,用于对粒子位置进行初始化:使用matlab工具箱的train函数实现,train函数的输入数据为P_train和T_train,BP神经网络的结构与所述人工神经网络建立模块建立的ANN相同,得到一组BP神经网络训练出来的权重与偏置,把这组权重与偏置放在行向量range中,将range中每个数上下扩展δ,δ取0到1之间的数,得到一个的初始解空间,在这个空间中随机选取nPop个初始个体,然后用range随机替换掉其中的一个个体;
所述目标函数设置计算子模块,用于目标函数的设置与计算:为了得到更准确的预测区间设计下列两个目标函数:
区间非覆盖率:
其中n为样本总数,PICP为区间覆盖率,Ui和Li为上下界,若Li≤Ci≤Ui则Ci为1,否则Ci为0,
区间宽度:
R是参考输出的变化范围;
计算每一个初始个体对应的目标函数,计算过程如下:ANN的输入为P_train,权重与偏置采用对应的个体的坐标,ANN的两个输出代表预测出来的上届和下界,将输出反归一化后就可计算出每一个个体对应的1-PICP和PINRW两个指标;
所述排序和拥挤计算子模块,用于对粒子进行非支配排序和拥挤距离计算;
所述参数更新子模块,用于对质量,加速度,速度和位置进行更新;
所述迭代判断子模块,用于令t=t+1,返回到目标函数设置计算子模块,若迭代次数t达到max_it,则算法停止;
所述最优权重偏置计算子模块,用于根据最终的最优解集画图,得到帕累托前沿,选取拐角处的点作为MOGSA训练出的人工神经网络最优权重与偏置fbest。
与现有技术相比,有不加前处理的单目标的引力搜索算法模型(GSA模型)和不加前处理的多目标的引力搜索算法模型(MOGSA模型)。利用本发明所述区间预测组合模型,可以同时把覆盖率PICP和区间宽带PINRW两个指标效果大幅提升,从而使得区间预测更加精准。
附图说明
图1为本发明实施例中基于人工神经网络的风速区间预测方法的原理示意图;
图2为本发明实施例中人工神经网络应用于区间预测的结构示意图;
图3为本发明实施例中GSA模型预测结果图;
图4为本发明实施例中MOGSA模型效果预测结果图;
图5为本发明基于人工神经网络的风速区间预测方法的预测结果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
影响风速的因素很多且情况复杂,造成了风速的随机性与非线性,不加前处理的ANN很难对风速序列进行高精确的拟合。所以我们使用VMD分解和GSO的组合前处理,即使用VMD-GSO-MOGSA组合方法可以得到比较理想的效果。
为了解决现有技术的问题,如图1所示,本发明提供了一种基于人工神经网络的风速区间预测方法,包括如下步骤:
步骤1:采集风场的风速序列:每隔m分钟采集一次实时风速,取实时风速的前len个数据作为风速序列,m的大小选取根据实际需求来定,len为预设值。
步骤2:对不稳定非线性的风速序列进行VMD分解得出K个结构简单的子时间序列uk(t),k从1取到K。该方法基于一些比较成熟的概念:如Wiener滤波,一维Hilbert变换和解析信号,外差解调等VMD把输入信号分解为一定数目的子信号,使得其再现输入的同时还有具体稀疏性这里假定每个模式都以最紧密的脉冲为中心,为评估一个模式的带宽,首先用Hilbert变换求得每个模式的相关解析信号以获取一个单边频谱,然后混合一个指数来调整到各自估计的中心频率,把模式频谱转移到基带,最后通过解调信号的高斯平滑来估计带宽,约束变分问题如下:
(1)服从于(2),δ(t)是狄拉克分布,*表示卷积。
这里我们使用二次罚项和拉格朗日乘子来处理优化问题,引入下面的增广拉格朗日:
α表示惩罚参数,<>表示内积,λ为Lagrange乘子。
这种最小化问题的解决方案就变成了找寻迭代子优化序列中增广拉格朗日的鞍点,在每一次迭代过程中得到不同的分解模型和中心频率,这种方法叫做交替方向乘子法(Alternate direction method ofmultipliers,ADMM)。利用交替方向乘子算法求取风速序列分量的具体步骤如下:
步骤2.1:初始化λ1,n;
步骤2.2:执行循环:n=n+1
步骤2.3:对所有ω≥0,更新uk,其中x(ω)为信号x(t)的傅里叶变换,uk(ω)
为信号uk(t)的傅里叶变换,ifft()代表傅里叶反变换,表示取分析信号的实数部分。
步骤2.4:频率中心ωk的更新方程如下所示,在频域内的最优化表示为:
步骤2.5:更新λ,λ更新式如下,其中τ为系数:
λn+1(ω)=λn(ω)+τ·(f(ω)+un+1(ω)) (7)
步骤2.6:重复步骤2.2~2.5,直到满足停止条件,条件如下:
ε为约束参数,取值范围为10-6附近。当满足上述条件时,迭代结束最终得到K个特征u(t)。
步骤3:对步骤(2)得到的K个特征u(t)进行数据处理,用循环结构i=1:1:len-L,每次取第i个数到第i+L-1个数总共L个数据作为输入,取第i+L个数据作为参考输出。得到一个len-L列L行的输入数组P和len-L列1行的参考输出数组T。
步骤4:对输入数组P进行GSO相关性选择,P的第l行表示为Xl=[xl1,xl2,…,xlM],T表示为Y=[y1,y1,…,yM],其中l的取值范围是从1到L,M表示数组的列数,其值等于len-L。为了选出与输出Y最相关的Xlmax,我们使用下列方程:
其中是第l个输入向量Xl与参考输出Y的夹角,〈〉表示内积。如果Xl和Y完全成比例则为0,如果Xl和Y完全不相关则为π/2。
步骤4.1:我们把(9)式作为迭代过程中的目标最大化函数,算出所有选出最大的一个值,从而选出与参考输出Y最相关的一个输入Xlmax。
步骤4.2:为了选出下一个最相关的一个输入,对剩下的输入向量和参考输出向量进行更新,更新公式:
上式r表示更新前,r+1表示更新后,Xi中的i的取值范围是1到J,表示已经排好的J个输入向量X。
按照上述的两个公式更新Y和所有的未排序的X。
步骤4.3:回到步骤4.1,这样不断迭代,直到得到所有Xl对Y的相关性排序为止。
步骤5:ANN的建立。按照步骤4.3的排序我们选出前LL个最相关的Xl作为ANN的输入,LL也是ANN的输入层数,P的行数由L行降为LL行。LL取值太大会导致神经网络参数过多,太小会导致输入信息不足。输入层数为LL,隐藏层数hiddennum,输出层数为2。隐藏层与输出层的激活函数采用线性函数,ANN的结构图见附图2。
然后对P和T进行列处理,把P和T行归一化。P取前RR%的列作为训练输入数据集P_train,取后1-RR%的列作为测试输入数据集P_test。T取前R%的列作为训练输入数据集T_train,取后1-RR%的列作为测试输入数据集T_test。
步骤6:使用多目标引力搜索算法(Multi objective gravitational searchalgorithm,MOGSA)训练人工神经网络,得到人工神经网络的最优权重与偏置具体步骤如下:
步骤6.1:算法初始化:设置算法参数,包括个体数量nPop(每一个个体的坐标代表一组ANN的权重与偏置)、迭代次数t=1,最大迭代次数max_it、非劣解集规模nRep。
步骤6.2:粒子位置初始化,使用matlab工具箱的train函数(BP神经网络的训练程序)实现,train函数的输入数据为P_train和T_train,BP神经网络的结构与步骤5中的ANN相同。得到一组BP神经网络训练出来的权重与偏置,把这组权重与偏置放在行向量range中。将range中每个数上下扩展δ,δ取0到1之间的数。得到一个的初始解空间。在这个空间中随机选取nPop个初始个体,然后用range随机替换掉其中的一个个体。
步骤6.3:目标函数的设置与计算:为了得到更准确的预测区间我们一方面希望区间宽度竟可能窄,一方面又希望预测区间对参考输出的覆盖率尽可能高,应此我们设计下列两个目标函数:
区间非覆盖率:
其中n为样本总数,PICP为区间覆盖率,Ui和Li为上下界,若Li≤Ci≤Ui则Ci为1,否则Ci为0。
区间宽度:
R是参考输出的变化范围。
计算每一个初始个体对应的目标函数,计算过程如下:ANN的输入为P_train,权重与偏置采用对应的个体的坐标,ANN的两个输出代表预测出来的上届和下界。将输出反归一化后就可计算出每一个个体对应的1-PICP和PINRW两个指标。
步骤6.4:对粒子进行非支配排序,和拥挤距离计算。首先定义支配的概念,若p支配q,则必须满足一下两个条件:
(1)fa(p)≤fa(q),即对所有的子目标,p不比q差;
(2)fa(p)<fa(q),即至少存在一个子目标,使得p比q好。1-PICP和PINRW对应f1和f2。
步骤6.4.1:非支配排序。当前所有个体没有被其他任何个体所支配的个体为非劣解集,定义该个体集为rank=1,去点这些非劣解集,对余下的群体按照上述方法产生新的非劣解集,定义该个体集为rank=2。以此类推,每一个个体都有一个rank值。
步骤6.4.2:计算拥挤距离。按照(14)计算出每一个个体的拥挤距离Idistance。
I[i].表示第i个个体在子目标a上的函数值。和分别表示第a子目标函数值的最大值和最小值。
步骤6.4.2:按照(15)式得到nPop个个体的偏序排序。并保留前nRep个个体中rank=1的个体作为最优解集。
定义偏序关系,假如第i和第j个个体的偏序关系是第i个体在前则必须满足下列条件:
I[i]rank≤I[j]rank和I[i]distance>I[j]distance (15)
步骤6.5:质量,加速度,速度和位置的更新。
步骤6.5.1:首先定义质量函数,nPop个个体适应度fit的值按照偏序排序前后依次为1,2…nPop。按照(16)计算出nPop个个体的质量。
fiti(t)和Mi(t)分别表示第t次迭代时第i个个体的适应度函数值和质量;
best(t)和worst(t)表示第t次迭代时所有个体最优适应度函数值和最差适应度函数值。
步骤6.5.2:由式(17)到(21)更新出第i个个体第k维坐标:
G(t)=G0e-αt/T
其中,G(t)表示在第t次迭代时万有引力常数的取值。
G0和α为常数,Rij(t)为第i和第j个个体之间的欧式距离。
在第d维上,个体i所受的合力为:
其中,randj表示在[0,1]之间服从均匀分布的一个随机变量;kbest表示个体质量按照降序排在前kbest个的个体。
根据Newton第二定律,个体i在第d维的加速度方程为:
更新速度和位置
其中,r表示在[0,1]之间服从均匀分布的一个随机变量。
步骤6.5.3:d=d+1,直到更新出所有维的坐标。
步骤6.5.4:i=i+1,直到更新出所有个体的坐标。
步骤6.6:令t=t+1,返回到步骤6.3,若迭代次数t达到max_it,则算法停止。
步骤6.7:根据最终的最优解集画图,得到帕累托前沿,选取拐角处的点作为MOGSA训练出的人工神经网络最优权重与偏置fbest。
步骤7:令k=k+1,返回到步骤(3),若迭代次数达到K,则算法停止;
步骤8:将待预测风速序列作为ANN的输入,最终训练出的fbest作为的ANN的权重与偏置,得到子区间序列,然后把k个子序列反归一化后相加,得到预测风速区间。
当然,还可以进一步地,在步骤7之前,还可以根据步骤(6)训练出的人工神经网络最优权重与偏置fbest得到第k个序列的预测效果。将测试数据输入到神经网络,然后将输出反归一化得到子风速区间预测的输出。ANN的输入为P_test,权重与偏置从fbest中取,ANN的两个输出代表预测出来的上届tk_up和下界tk_down,再反归一化。
并且在算法停止后,将K个子风速区间tk_up相叠加得到tup,将K个子风速区间tk_down相叠加得到tdown,画图并计算出对应的评价指标PICP和PINRW。用以验证模型和算法的准确性。
实施例:
为说明本发明效果,下面以3个风场的实时风速序列作为本发明的实施对象,由于对每个风场实施的步骤和参数相同,下面对本风场一进行进一步的说明:
步骤1:采集风场一的风速序列,每隔m分钟采集一次实时风速,m取15,取每个风场的前len=1008个数据。
步骤2:对不稳定非线性的风速序列进行VMD分解得出K个结构简单的子时间序列uk(t),k从1取到K,K取5。该方法基于一些比较成熟的概念:如Wiener滤波,一维Hilbert变换和解析信号,外差解调等VMD把输入信号分解为一定数目的子信号,使得其再现输入的同时还有具体稀疏性这里假定每个模式都以最紧密的脉冲为中心,为评估一个模式的带宽,首先用Hilbert变换求得每个模式的相关解析信号以获取一个单边频谱,然后混合一个指数来调整到各自估计的中心频率,把模式频谱转移到基带,最后通过解调信号的高斯平滑来估计带宽,约束变分问题如下:
(1)服从于(2),δ(t)是狄拉克分布,*表示卷积。
这里我们使用二次罚项和拉格朗日乘子来处理优化问题,引入下面的增广拉格朗日:
α表示惩罚参数,α取2000,<>表示内积,λ为Lagrange乘子。
这种最小化问题的解决方案就变成了找寻迭代子优化序列中增广拉格朗日的鞍点,在每一次迭代过程中得到不同的分解模型和中心频率,这种方法叫做交替方向乘子法(Alternate direction method ofmultipliers,ADMM)。利用交替方向乘子算法求取风速序列分量的具体步骤如下:
步骤2.1:初始化λ1,n;
步骤2.2:执行循环:n=n+1
步骤2.3:对所有ω≥0,更新uk,其中x(ω)为信号x(t)的傅里叶变换,uk(ω)
为信号uk(t)的傅里叶变换,ifft()代表傅里叶反变换,表示取分析信号的实数部分。
步骤2.4:频率中心ωk的更新方程如下所示,在频域内的最优化表示为:
步骤2.5:更新λ,λ更新式如下,其中τ为1。
λn+1(ω)=λn(ω)+τ·(f(ω)+un+1(ω)) (7)
步骤2.6:重复步骤2.2~2.5,直到满足停止条件,条件如下:
ε为约束参数,取值为10-7。当满足上述条件时,迭代结束最终得到K个特征u(t)。
步骤3:对步骤(2)得到的K个特征u(t)进行数据处理,用循环结构i=1:1:len-L,每次取第i个数到第i+L-1个数总共L=24个数据作为输入,取第i+L个数据作为参考输出。得到一个len-L列L行的输入数组P和len-L列1行的参考输出数组T。
步骤4:对输入数组P进行GSO相关性选择,P的第l行表示为Xl=[xl1,xl2,…,xlM],T表示为Y=[y1,y1,…,yM],其中l的取值范围是从1到L,其中M表示数组的列数,其置等于len-L。为了选出与输出Y最相关的Xlmax,我们使用下列方程:
其中是第l个输入向量Xl与参考输出Y的夹角,〈〉表示内积。如果Xl和Y完全成比例则为0,如果Xl和Y完全不相关则为π/2。
步骤4.1:我们把(9)式作为迭代过程中的目标最大化函数,算出所有选出最大的一个值,从而选出与参考输出Y最相关的一个输入Xlmax。
步骤4.2:为了选出下一个最相关的一个输入,对剩下的输入向量和参考输出向量进行更新,更新公式:
上式r表示更新前,r+1表示更新后,Xi中的i的取值范围是1到J,表示已经排好的J个输入向量X。
按照上述的两个公式更新Y和所有的未排序的X。
步骤4.3:回到步骤4.1,这样不断迭代,直到得到所有Xl对Y的相关性排序为止。
步骤5:ANN的建立。按照步骤4.3的排序我们选出前LL个最相关的Xl作为ANN的输入,LL也是ANN的输入层数,P的行数由L行降为LL行。LL取值9。输入层数为LL,隐藏层数hiddennum=10,输出层数为2。隐藏层与输出层的激活函数采用线性函数,ANN的结构图见附图2。
然后对P和T进行列处理,把P和T行归一化。P取前R%的列作为训练输入数据集P_train,RR=80。取后1-RR%的列作为测试输入数据集P_test。T取前RR%的列作为训练输入数据集T_train,取后1-RR%的列作为测试输入数据集T_test。
步骤6:使用MOGSA训练人工神经网络,得到人工神经网络的最优权重与偏置具体步骤如下:
步骤6.1:算法初始化:设置算法参数,包括个体数量nPop=200(每一个个体的坐标代表一组ANN的权重与偏置)、迭代次数t=1,最大迭代次数max_it=100、非劣解集规模nRep=100。
步骤6.2:粒子位置初始化,使用matlab工具箱的train函数(BP神经网络的训练程序)实现,train函数的输入数据为P_train和T_train,BP神经网络的结构与步骤5中的ANN相同。得到一组BP神经网络训练出来的权重与偏置,把这组权重与偏置放在行向量range中。将range中每个数上下扩展δ,δ取0.5。得到一个的初始解空间。在这个空间中随机选取nPop个初始个体,然后用range随机替换掉其中的一个个体。
步骤6.3:目标函数的设置与计算:为了得到更准确的预测区间我们一方面希望区间宽度竟可能窄,一方面又希望预测区间对参考输出的覆盖率尽可能高,应此我们设计下列两个目标函数:
区间非覆盖率:
其中n为样本总数,PICP为区间覆盖率,Ui和Li为上下界,若Li≤Ci≤Ui则Ci为1,否则Ci为0。
区间宽度:
R是参考输出的变化范围。
计算每一个初始个体对应的目标函数,计算过程如下:ANN的输入为P_train,权重与偏置采用对应的个体的坐标,ANN的两个输出代表预测出来的上届和下界。将输出反归一化后就可计算出每一个个体对应的1-PICP和PINRW两个指标。
步骤6.4:对粒子进行非支配排序,和拥挤距离计算。首先定义支配的概念,若p支配q,则必须满足一下两个条件:
(1)fa(p)≤fa(q),即对所有的子目标,p不比q差;
(2)fa(p)<fa(q),即至少存在一个子目标,使得p比q好。1-PICP和PINRW对应f1和f2。
步骤6.4.1:非支配排序。当前所有个体没有被其他任何个体所支配的个体为非劣解集,定义该个体集为rank=1,去点这些非劣解集,对余下的群体按照上述方法产生新的非劣解集,定义该个体集为rank=2。以此类推,每一个个体都有一个rank值。
步骤6.4.2:计算拥挤距离。按照(14)计算出每一个个体的拥挤距离Idistance。
I[i].第i个个体在子目标a上的函数值。和分别表示第a子目标函数值的最大值和最小值。
步骤6.4.2:按照(15)式得到nPop个个体的偏序排序。并保留前nRep个个体中rank=1的个体作为最优解集。
定义偏序关系,假如第i和第j个个体的偏序关系是第i个体在前则必须满足下列条件:
I[i]rank≤I[j]rank和I[i]distance>I[j]distance (15)
步骤6.5:质量,加速度,速度和位置的更新。
步骤6.5.1:首先定义质量函数,nPop个个体适应度fit的值按照偏序排序前后依次为1,2…nPop。按照(16)计算出nPop个个体的质量。
fiti(t)和Mi(t)分别表示第t次迭代时第i个个体的适应度函数值和质量;
best(t)和worst(t)表示第t次迭代时所有个体最优适应度函数值和最差适应度函数值。
步骤6.5.2:由式(17)到(21)更新出第i个个体第k维坐标:
G(t)=G0e-αt/T
其中,G(t)表示在第t次迭代时万有引力常数的取值。
G0和α取100和20,Rij(t)为第i和第j个个体之间的欧式距离。
在第d维上,个体i所受的合力为:
其中,randj表示在[0,1]之间服从均匀分布的一个随机变量;kbest表示个体质量按照降序排在前k个的个体。
根据Newton第二定律,个体i在第d维的加速度方程为:
更新速度和位置
其中,r表示在[0,1]之间服从均匀分布的一个随机变量。
步骤6.5.3:k=k+1,直到更新出所有维的坐标。
步骤6.5.4:i=i+1,直到更新出所有个体的坐标。
步骤6.6:令t=t+1,返回到步骤6.3,若迭代次数t达到max_it,则算法停止。
步骤6.7:根据最终的最优解集画图,得到帕累托前沿,选取拐角处的点作为MOGSA训练出的人工神经网络最优权重与偏置fbest。
步骤7:根据步骤(6)训练出的人工神经网络最优权重与偏置fbest得到第k个序列的预测效果。将测试数据输入到神经网络,然后将输出反归一化得到子风速区间预测的输出。ANN的输入为P_test,权重与偏置从fbest中取,ANN的两个输出代表预测出来的上届tk_up和下界tk_down,再反归一化。
步骤8:令k=k+1,返回到步骤(3),若迭代次数达到K,则算法停止。
步骤9:将K个子风速区间tk_up相叠加得到tup,将K个子风速区间tk_down相叠加得到tdown,画图并计算出对应的评价指标PICP和PINRW。
为了比较本发明所述方法预测的高准确性,在实验中,分别采用单目标引力搜索算法训练ANN的模型、不带前处理的多目标引力搜索算法训练ANN的模型和本发明模型进行区间预测对比实验。
其中采用单目标引力搜索算法训练ANN的模型,需要组合指标PICP和PINRW,用以下公式实现:
CWCoriginal=PINAW(1+γ(PICP)e-η(PICP-μ))
其中μ为比较参数取0.9,η为惩罚参数取15。
三种模型对比数据如下面3个表,并且在说明书附图附有风场一的三种模型实际效果图,图3是GSA模型效果,图4是MOGSA模型效果,图5是VMD_GSO_MOGSA模型模型效果。
表一 风场一对比结果
不同模型\评价指标 | PICP | PINRW |
GSA模型 | 92.71% | 29.75% |
MOGSA模型 | 97.92% | 16.01% |
VMD_GSO_MOGSA模型 | 99.65% | 10.96% |
表二 风场二对比结果
不同模型\评价指标 | PICP | PINRW |
GSA模型 | 94.44% | 48.74% |
MOGSA模型 | 94.44% | 36.46% |
VMD_GSO_MOGSA模型 | 95.83% | 16.25% |
表三 风场三对比结果
不同模型\评价指标 | PICP | PINRW |
GSA模型 | 76.04% | 33.68% |
MOGSA模型 | 91.32% | 28.17% |
VMD_GSO_MOGSA模型 | 95.14% | 18.06% |
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于人工神经网络的风速区间预测方法,其特征在于,所述方法包括如下步骤:
步骤1:采集风场的风速序列:每隔m分钟采集一次实时风速,取实时风速的前len个数据作为风速序列,m的大小选取根据实际需求来定,len为预设值;
步骤2:对不稳定非线性的所述风速序列进行VMD分解得出K个结构简单的子时间序列uk(t),其中k的取值从1到K;
步骤3:对步骤(2)得到的K个特征u(t)进行数据处理,用循环结构i=1:1:len-L,每次取第i个数到第i+L-1个数总共L个数据作为输入,取第i+L个数据作为参考输出,得到一个len-L列L行的输入数组P和len-L列1行的参考输出数组T;
步骤4:对输入数组P进行GSO相关性选择,得到所有Xl对Y的相关性排序,P的第l行表示为Xl=[xl1,xl2,…,xlM],T表示为Y=
[y1,y1,…,yM],其中l的取值范围是从1到L,M表示数组的列数,其值等于len-L;
步骤5:对步骤4得到的相关性排序中选出前LL个最相关的Xl作为人工神经网络ANN的输入,ANN的输入层数为LL,隐藏层数hiddennum,输出层数为2,隐藏层与输出层的激活函数采用线性函数;
步骤6:P取前RR%的列作为训练输入数据集P_train,T取前RR%的列作为训练参考输出数据集T_train,使用MOGSA训练人工神经网络,得到人工神经网络的最优权重与偏置fbest,其中RR为预设值;
步骤7:令k=k+1,返回到步骤(3),若迭代次数达到K,则算法停止;
步骤8:将待预测风速序列作为ANN的输入,最终训练出的fbest作为的ANN的权重与偏置,得到子区间序列,然后把k个子序列反归一化后相加,得到预测风速区间。
2.如权利要求1所述的基于人工神经网络的风速区间预测方法,其特征在于,在所述步骤4中,对输入数组P进行GSO相关性选择,得到所有Xl对Y的相关性排序,具体为:
步骤4.1:将下式作为迭代过程中的目标最大化函数,算出所有选出最大的一个值,从而选出与参考输出Y最相关的一个输入Xlmax,
其中是第l个输入向量Xl与参考输出Y的夹角,<>表示内积,如果Xl和Y完全成比例则为0,如果Xl和Y完全不相关则为π/2;
步骤4.2:为了选出下一个最相关的输入,对剩下的输入向量和参考输出向量进行更新,更新公式:
<mrow>
<msubsup>
<mi>X</mi>
<mi>l</mi>
<mrow>
<mi>r</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>=</mo>
<msubsup>
<mi>X</mi>
<mi>l</mi>
<mi>r</mi>
</msubsup>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>J</mi>
</munderover>
<mfrac>
<mrow>
<mo><</mo>
<msubsup>
<mi>X</mi>
<mi>l</mi>
<mi>r</mi>
</msubsup>
<mo>&CenterDot;</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>></mo>
</mrow>
<mrow>
<mo><</mo>
<msubsup>
<mi>X</mi>
<mi>l</mi>
<mi>r</mi>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>X</mi>
<mi>l</mi>
<mi>r</mi>
</msubsup>
<mo>></mo>
</mrow>
</mfrac>
<msubsup>
<mi>X</mi>
<mi>l</mi>
<mi>r</mi>
</msubsup>
</mrow>
上式r表示更新前,r+1表示更新后,Xi中的i的取值范围是1到J,表示已经排好的J个输入向量X,
<mrow>
<msup>
<mi>Y</mi>
<mrow>
<mi>r</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msup>
<mo>=</mo>
<msup>
<mi>Y</mi>
<mi>r</mi>
</msup>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>l</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>L</mi>
</munderover>
<mfrac>
<mrow>
<mo><</mo>
<msub>
<mi>X</mi>
<mi>l</mi>
</msub>
<mo>&CenterDot;</mo>
<msup>
<mi>Y</mi>
<mi>r</mi>
</msup>
<mo>></mo>
</mrow>
<mrow>
<mo><</mo>
<msub>
<mi>X</mi>
<mi>l</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>X</mi>
<mi>l</mi>
</msub>
<mo>></mo>
</mrow>
</mfrac>
<msub>
<mi>X</mi>
<mi>l</mi>
</msub>
</mrow>
按照上述两个公式更新Y和所有未排序的X;
步骤4.3:回到步骤4.1,不断迭代直到得到所有Xl对Y的相关性排序为止。
3.如权利要求1或2所述的基于人工神经网络的风速区间预测方法,其特征在于,所述步骤6具体为:
步骤6.1:算法初始化:设置算法参数,包括个体数量nPop、迭代次数t=1,最大迭代次数max_it、非劣解集规模nRep,其中每一个个体的坐标代表一组ANN的权重与偏置;
步骤6.2:粒子位置初始化:使用matlab工具箱的train函数实现,train函数的输入数据为P_train和T_train,BP神经网络的结构与步骤5中的ANN相同,得到一组BP神经网络训练出来的权重与偏置,把这组权重与偏置放在行向量range中,将range中每个数上下扩展δ,δ取0到1之间的数,得到一个的初始解空间,在这个空间中随机选取nPop个初始个体,然后用range随机替换掉其中的一个个体;
步骤6.3:目标函数的设置与计算:为了得到更准确的预测区间设计下列两个目标函数:
区间非覆盖率:
其中n为样本总数,PICP为区间覆盖率,Ui和Li为上下界,若Li≤Ci≤Ui则Ci为1,否则Ci为0,
区间宽度:
R是参考输出的变化范围,
计算每一个初始个体对应的目标函数,计算过程如下:ANN的输入为P_train,权重与偏置采用对应的个体的坐标,ANN的两个输出代表预测出来的上届和下界,将输出反归一化后就可计算出每一个个体对应的1-PICP和PINRW两个指标;
步骤6.4:对粒子进行非支配排序和拥挤距离计算;
步骤6.5:质量,加速度,速度和位置的更新;
步骤6.6:令t=t+1,返回到步骤6.3,若迭代次数t达到max_it,则算法停止;
步骤6.7:根据最终的最优解集画图,得到帕累托前沿,选取拐角处的点作为MOGSA训练出的人工神经网络最优权重与偏置fbest。
4.如权利要求3所述的基于人工神经网络的风速区间预测方法,其特征在于,所述步骤6.4中,首先定义支配的概念,若p支配q,则必须满足一下两个条件:
(1)fa(p)≤fa(q),即对所有的子目标,p不比q差;
(2)fa(p)<fa(q),即至少存在一个子目标,使得p比q好,1-PICP和PINRW对应f1和f2;
具体算法包括:
步骤6.4.1:非支配排序,当前所有个体没有被其他任何个体所支配的个体为非劣解集,定义该个体集为rank=1,去掉这些非劣解集,对余下的群体按照上述方法产生新的非劣解集,定义该个体集为rank=2,以此类推,每一个个体都有一个rank值,
步骤6.4.2:计算拥挤距离,按照下式计算出每一个个体的拥挤距离Idistance,
<mrow>
<mi>I</mi>
<msub>
<mrow>
<mo>&lsqb;</mo>
<mi>i</mi>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mi>d</mi>
<mi>i</mi>
<mi>s</mi>
<mi>tan</mi>
<mi>c</mi>
<mi>e</mi>
</mrow>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>a</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</munderover>
<mfrac>
<mrow>
<mi>I</mi>
<mo>&lsqb;</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
<mo>.</mo>
<mi>a</mi>
<mo>-</mo>
<mi>I</mi>
<mo>&lsqb;</mo>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
<mo>.</mo>
<mi>a</mi>
</mrow>
<mrow>
<msubsup>
<mi>f</mi>
<mi>a</mi>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>f</mi>
<mi>a</mi>
<mi>min</mi>
</msubsup>
</mrow>
</mfrac>
</mrow>
I[i]·α表示第i个个体在子目标a上的函数值,和分别表示第a子目标函数值的最大值和最小值,
步骤6.4.2:按照下式得到nPop个个体的偏序排序,并保留前nRep个个体中rank=1的个体作为最优解集,
定义偏序关系,假如第i和第j个个体的偏序关系是第i个体在前则必须满足下列条件:
I[i]rank≤I[j]rank和I[i]distance>I[j]distance。
5.如权利要求3所述的基于人工神经网络的风速区间预测方法,其特征在于,所述步骤6.5具体为:
步骤6.5.1:首先定义质量函数,nPop个个体适应度fit的值按照偏序排序前后依次为1,2…nPop,按照下计算出nPop个个体的质量,
<mrow>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>fit</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>w</mi>
<mi>o</mi>
<mi>r</mi>
<mi>s</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>w</mi>
<mi>o</mi>
<mi>r</mi>
<mi>s</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
<mrow>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
fiti(t)和Mi(t)分别表示第t次迭代时第i个个体的适应度函数值和质量;best(t)和worst(t)表示第t次迭代时所有个体最优适应度函数值和最差适应度函数值;
步骤6.5.2:由下面5个公式更新出第i个个体第d维坐标:
G(t)=G0e-αt/T
<mrow>
<msubsup>
<mi>F</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>G</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mfrac>
<mrow>
<msub>
<mi>M</mi>
<mi>j</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>R</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>&epsiv;</mi>
</mrow>
</mfrac>
<mrow>
<mo>(</mo>
<msubsup>
<mi>x</mi>
<mi>j</mi>
<mi>d</mi>
</msubsup>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
<mo>-</mo>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,G(t)表示在第t次迭代时万有引力常数的取值,G0和α为常数,Rij(t)为第i和第j个个体之间的欧式距离;
在第d维上,个体i所受的合力为:
<mrow>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>&Element;</mo>
<mi>k</mi>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>j</mi>
<mo>&NotEqual;</mo>
<mi>i</mi>
</mrow>
<mi>N</mi>
</munderover>
<msub>
<mi>rand</mi>
<mi>j</mi>
</msub>
<msubsup>
<mi>F</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
其中,randj表示在[0,1]之间服从均匀分布的一个随机变量;kbest表示个体质量按照降序排在前kbest个的个体;
个体i在第d维的加速度方程为:
<mrow>
<msubsup>
<mi>a</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msup>
<msub>
<mi>F</mi>
<mi>i</mi>
</msub>
<mi>d</mi>
</msup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
更新速度和位置:
<mrow>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>r</mi>
<mo>&times;</mo>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>a</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>v</mi>
<mi>i</mi>
<mi>d</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,r表示在[0,1]之间服从均匀分布的一个随机变量;
步骤6.5.3:d=d+1,直到更新出所有维的坐标;
步骤6.5.4:i=i+1,直到更新出所有个体的坐标。
6.如权利要求1或2所述的基于人工神经网络的风速区间预测方法,其特征在于,所述步骤2具体为:
通过VMD把输入信号分解为一定数目的子信号,使得其再现输入的同时还有具体稀疏性这里假定每个模式都以最紧密的脉冲为中心,为评估一个模式的带宽,首先用Hilbert变换求得每个模式的相关解析信号以获取一个单边频谱,然后混合一个指数来调整到各自估计的中心频率,把模式频谱转移到基带,最后通过解调信号的高斯平滑来估计带宽,约束变分问题如下:
<mrow>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mo>{</mo>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mo>}</mo>
<mo>,</mo>
<mo>{</mo>
<msub>
<mi>&omega;</mi>
<mi>k</mi>
</msub>
<mo>}</mo>
</mrow>
</munder>
<mo>{</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>K</mi>
</msubsup>
<mo>|</mo>
<mo>|</mo>
<msub>
<mo>&part;</mo>
<mi>t</mi>
</msub>
<mo>&lsqb;</mo>
<mrow>
<mo>(</mo>
<mi>&delta;</mi>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
<mo>+</mo>
<mfrac>
<mi>j</mi>
<mrow>
<mi>&pi;</mi>
<mi>t</mi>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>*</mo>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<msup>
<mi>e</mi>
<mrow>
<mo>-</mo>
<msub>
<mi>j&omega;</mi>
<mi>k</mi>
</msub>
<mi>t</mi>
</mrow>
</msup>
<mo>|</mo>
<msubsup>
<mo>|</mo>
<mn>2</mn>
<mn>2</mn>
</msubsup>
<mo>}</mo>
</mrow>
<mrow>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>K</mi>
</msubsup>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
上面第一个公式服从于第二个公式,δ(t)是狄拉克分布,*表示卷积;
使用二次罚项和拉格朗日乘子来处理优化问题,引入下面的增广拉格朗日:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>L</mi>
<mrow>
<mo>(</mo>
<mo>{</mo>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mo>}</mo>
<mo>,</mo>
<mo>{</mo>
<msub>
<mi>&omega;</mi>
<mi>k</mi>
</msub>
<mo>}</mo>
<mo>,</mo>
<mi>&lambda;</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&alpha;&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>K</mi>
</msubsup>
<mo>|</mo>
<mo>|</mo>
<msub>
<mo>&part;</mo>
<mi>t</mi>
</msub>
<mo>&lsqb;</mo>
<mrow>
<mo>(</mo>
<mi>&delta;</mi>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
<mo>+</mo>
<mfrac>
<mi>j</mi>
<mrow>
<mi>&pi;</mi>
<mi>t</mi>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>*</mo>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<msup>
<mi>e</mi>
<mrow>
<mo>-</mo>
<msub>
<mi>j&omega;</mi>
<mi>k</mi>
</msub>
<mi>t</mi>
</mrow>
</msup>
<mo>|</mo>
<msubsup>
<mo>|</mo>
<mn>2</mn>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<mo>|</mo>
<mo>|</mo>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>K</mi>
</msubsup>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msubsup>
<mo>|</mo>
<mn>2</mn>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<mo><</mo>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>K</mi>
</msubsup>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>></mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
α表示惩罚参数,<>表示内积,λ为Lagrange乘子;
这种最小化问题的解决方案就变成了找寻迭代子优化序列中增广拉格朗日的鞍点。
7.如权利要求6所述的基于人工神经网络的风速区间预测方法,其特征在于,所述找寻迭代子优化序列中增广拉格朗日的鞍点采用交替方向乘子算法,利用交替方向乘子算法求取风速序列分量的具体步骤如下:
步骤2.1:初始化λ1,n;
步骤2.2:执行循环:n=n+1
步骤2.3:对所有ω≥0,更新uk,其中x(ω)为信号x(t)的傅里叶变换,uk(ω)为信号uk(t)的傅里叶变换,ifft()代表傅里叶反变换,表示取分析信号的实数部分,
<mrow>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<mrow>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>&NotEqual;</mo>
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>u</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mfrac>
<mrow>
<mi>&lambda;</mi>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
</mrow>
<mn>2</mn>
</mfrac>
</mrow>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
<mi>&alpha;</mi>
<msup>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>-</mo>
<msub>
<mi>&omega;</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mfrac>
</mrow>
步骤2.4:频率中心ωk的更新方程如下所示,在频域内的最优化表示为:
<mrow>
<msubsup>
<mi>&omega;</mi>
<mi>k</mi>
<mrow>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mn>0</mn>
<mi>&infin;</mi>
</msubsup>
<mi>&omega;</mi>
<mo>|</mo>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
<mi>d</mi>
<mi>&omega;</mi>
</mrow>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mn>0</mn>
<mi>&infin;</mi>
</msubsup>
<mo>|</mo>
<msub>
<mi>u</mi>
<mi>k</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
<mi>d</mi>
<mi>&omega;</mi>
</mrow>
</mfrac>
</mrow>
步骤2.5:更新λ,λ更新式如下,其中τ为系数:
λn+1(ω)=λn(ω)+τ·(f(ω)+un+1(ω))
步骤2.6:重复步骤2.2~2.5,直到满足停止条件,条件如下:
<mrow>
<msub>
<mi>&Sigma;</mi>
<mi>k</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<mrow>
<mi>n</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<mi>n</mi>
</msubsup>
<mo>|</mo>
<msubsup>
<mo>|</mo>
<mn>2</mn>
<mn>2</mn>
</msubsup>
<mo>/</mo>
<mo>|</mo>
<mo>|</mo>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<mi>n</mi>
</msubsup>
<mo>|</mo>
<msubsup>
<mo>|</mo>
<mn>2</mn>
<mn>2</mn>
</msubsup>
<mo><</mo>
<mi>&epsiv;</mi>
</mrow>
ε为约束参数,当满足上述条件时,迭代结束最终得到K个特征u(t)。
8.如权利要求7所述的基于人工神经网络的风速区间预测方法,其特征在于,所述ε的取值范围为10-6附近。
9.一种基于人工神经网络的风速区间预测系统,其特征在于,包括风速序列采集模块、风速序列分解模块、特征处理模块、相关性选择模块、人工神经网络建立模块、人工神经网络训练模块、迭代控制模块以及实际风速预测模块,其中:
所述风速序列采集模块,用于采集风场的风速序列:每隔m分钟采集一次实时风速,取实时风速的前len个数据作为风速序列,m的大小选取根据实际需求来定,len为预设值;
所述风速序列分解模块,用于对不稳定非线性的所述风速序列进行VMD分解得出K个结构简单的子时间序列uk(t),其中k的取值从1到K;
所述特征处理模块,用于对所述风速序列分解模块得到的K个特征u(t)进行数据处理,用循环结构i=1:1:len-L,每次取第i个数到第i+L-1个数总共L个数据作为输入,取第i+L个数据作为参考输出,得到一个len-L列L行的输入数组P和len-L列1行的参考输出数组T;
所述相关性选择模块,用于对输入数组P进行GSO相关性选择,得到所有Xl对Y的相关性排序,P的第l行表示为Xl=[xl1,xl2,…,xlM],T表示为Y=[y1,y1,…,yM],其中l的取值范围是从1到L,M表示数组的列数,其值等于len-L;
所述人工神经网络建立模块,用于对所述相关性选择模块得到的相关性排序中选出前LL个最相关的Xl作为人工神经网络ANN的输入,ANN的输入层数为LL,隐藏层数hiddennum,输出层数为2,隐藏层与输出层的激活函数采用线性函数;
所述人工神经网络训练模块,用于将P取前RR%的列作为训练输入数据集P_train,T取前RR%的列作为训练输入数据集T_train,使用MOGSA训练人工神经网络,得到人工神经网络的最优权重与偏置,其中RR为预设值;
所述迭代控制模块,用于令k=k+1,返回到所述特征处理模块,若迭代次数达到K,则算法停止;
所述实际风速预测模块,用于将待预测风速序列作为ANN的输入,最终训练出的fbest作为的ANN的权重与偏置,得到子区间序列,然后把k个子序列反归一化后相加,得到预测风速区间。
10.如权利要求9所述的基于人工神经网络的风速区间预测系统,其特征在于,所述人工神经网络训练模块具体包括算法初始化子模块、粒子位置初始化子模块、目标函数设置计算子模块、排序和拥挤计算子模块、参数更新子模块、迭代判断子模块以及最优权重偏置计算子模块:
所述算法初始化子模块,用于对算法进行初始化:设置算法参数,包括个体数量nPop、迭代次数t=1,最大迭代次数max_it、非劣解集规模nRep,其中每一个个体的坐标代表一组ANN的权重与偏置;
所述粒子位置初始化子模块,用于对粒子位置进行初始化:使用matlab工具箱的train函数实现,train函数的输入数据为P_train和T_train,BP神经网络的结构与所述人工神经网络建立模块建立的ANN相同,得到一组BP神经网络训练出来的权重与偏置,把这组权重与偏置放在行向量range中,将range中每个数上下扩展δ,δ取0到1之间的数,得到一个的初始解空间,在这个空间中随机选取nPop个初始个体,然后用range随机替换掉其中的一个个体;
所述目标函数设置计算子模块,用于目标函数的设置与计算:为了得到更准确的预测区间设计下列两个目标函数:
区间非覆盖率:
其中n为样本总数,PICP为区间覆盖率,Ui和Li为上下界,若Li≤Ci≤Ui则Ci为1,否则Ci为0,
区间宽度:
R是参考输出的变化范围;
计算每一个初始个体对应的目标函数,计算过程如下:ANN的输入为P_train,权重与偏置采用对应的个体的坐标,ANN的两个输出代表预测出来的上届和下界,将输出反归一化后就可计算出每一个个体对应的1-PICP和PINRW两个指标;
所述排序和拥挤计算子模块,用于对粒子进行非支配排序和拥挤距离计算;
所述参数更新子模块,用于对质量,加速度,速度和位置进行更新;
所述迭代判断子模块,用于令t=t+1,返回到目标函数设置计算子模块,若迭代次数t达到max_it,则算法停止;
所述最优权重偏置计算子模块,用于根据最终的最优解集画图,得到帕累托前沿,选取拐角处的点作为MOGSA训练出的人工神经网络最优权重与偏置fbest。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463820.4A CN108022025B (zh) | 2017-12-28 | 2017-12-28 | 一种基于人工神经网络的风速区间预测方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463820.4A CN108022025B (zh) | 2017-12-28 | 2017-12-28 | 一种基于人工神经网络的风速区间预测方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108022025A true CN108022025A (zh) | 2018-05-11 |
CN108022025B CN108022025B (zh) | 2020-08-18 |
Family
ID=62072009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711463820.4A Active CN108022025B (zh) | 2017-12-28 | 2017-12-28 | 一种基于人工神经网络的风速区间预测方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108022025B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146131A (zh) * | 2018-07-11 | 2019-01-04 | 国网河北省电力有限公司 | 一种日前风力发电预测方法 |
CN109242204A (zh) * | 2018-09-30 | 2019-01-18 | 淮阴工学院 | 基于最优vmd与同步优化的超短期风速预测方法 |
CN109345009A (zh) * | 2018-09-17 | 2019-02-15 | 贵州大学 | 二阶灰色神经网络和马尔科夫链的短期风速区间预测方法 |
CN109583588A (zh) * | 2018-12-17 | 2019-04-05 | 华北电力大学(保定) | 一种短期风速预测方法及系统 |
CN109768989A (zh) * | 2019-02-27 | 2019-05-17 | 重庆邮电大学 | 基于lahp-igfnn的网络安全态势评估模型 |
CN111245008A (zh) * | 2020-01-14 | 2020-06-05 | 香港中文大学(深圳) | 一种风场协同控制方法及装置 |
CN111458640A (zh) * | 2020-04-22 | 2020-07-28 | 西安交通大学 | 一种基于三相电流的交流异步电机转子断条故障诊断方法 |
CN111722305A (zh) * | 2020-07-03 | 2020-09-29 | 河海大学 | 一种用于确保海上施工安全的预警方法及预警装置 |
CN111753215A (zh) * | 2020-06-28 | 2020-10-09 | 海南大学 | 一种多目标推荐优化方法及可读介质 |
CN112507610A (zh) * | 2020-11-20 | 2021-03-16 | 东北大学 | 一种热轧卷取温度的区间预测方法 |
CN112749792A (zh) * | 2021-02-02 | 2021-05-04 | 南京信息工程大学 | 一种基于bp算法的风速预测方法 |
CN113191526A (zh) * | 2021-03-19 | 2021-07-30 | 华南理工大学 | 一种基于随机敏感度的短期风速区间多目标优化预测方法及系统 |
CN113239980A (zh) * | 2021-04-23 | 2021-08-10 | 华中科技大学 | 基于小样本机器学习与超参数优化的水下目标检测方法 |
CN113536685A (zh) * | 2021-07-23 | 2021-10-22 | 河北工业大学 | 一种基于神经网络外推的风速概率模型的建模方法 |
CN113592516A (zh) * | 2021-08-04 | 2021-11-02 | 北京房江湖科技有限公司 | 基于偏置项的重要度确定方法与确定得分的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391083A (zh) * | 2015-11-05 | 2016-03-09 | 河海大学 | 基于变分模态分解和相关向量机的风功率区间短期预测方法 |
KR20170061377A (ko) * | 2015-11-26 | 2017-06-05 | 제주대학교 산학협력단 | 다양한 특성을 갖는 인공 신경망에 기초한 풍속 예측 방법 및 그 방법을 이용한 장치 |
CN107274015A (zh) * | 2017-06-12 | 2017-10-20 | 华北电力大学(保定) | 一种预测风速的方法及系统 |
-
2017
- 2017-12-28 CN CN201711463820.4A patent/CN108022025B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391083A (zh) * | 2015-11-05 | 2016-03-09 | 河海大学 | 基于变分模态分解和相关向量机的风功率区间短期预测方法 |
KR20170061377A (ko) * | 2015-11-26 | 2017-06-05 | 제주대학교 산학협력단 | 다양한 특성을 갖는 인공 신경망에 기초한 풍속 예측 방법 및 그 방법을 이용한 장치 |
CN107274015A (zh) * | 2017-06-12 | 2017-10-20 | 华北电力大学(保定) | 一种预测风速的方法及系统 |
Non-Patent Citations (3)
Title |
---|
CHU ZHANG 等: "A compound structure of ELM based on feature selection and parameter optimization using hybrid backtracking search algorithm for wind speed forecasting", 《ENERGY CONVERSION AND MANAGEMEN》 * |
范磊 等: "基于变分模态分解和蝙蝠算法-相关向量机的短期风速区间预测", 《电力自动化设备》 * |
薛蕊 等: "新型人工神经网络在风速预测中的研究", 《科技通报》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146131A (zh) * | 2018-07-11 | 2019-01-04 | 国网河北省电力有限公司 | 一种日前风力发电预测方法 |
CN109345009A (zh) * | 2018-09-17 | 2019-02-15 | 贵州大学 | 二阶灰色神经网络和马尔科夫链的短期风速区间预测方法 |
CN109242204A (zh) * | 2018-09-30 | 2019-01-18 | 淮阴工学院 | 基于最优vmd与同步优化的超短期风速预测方法 |
CN109583588B (zh) * | 2018-12-17 | 2021-09-10 | 华北电力大学(保定) | 一种短期风速预测方法及系统 |
CN109583588A (zh) * | 2018-12-17 | 2019-04-05 | 华北电力大学(保定) | 一种短期风速预测方法及系统 |
CN109768989A (zh) * | 2019-02-27 | 2019-05-17 | 重庆邮电大学 | 基于lahp-igfnn的网络安全态势评估模型 |
CN111245008A (zh) * | 2020-01-14 | 2020-06-05 | 香港中文大学(深圳) | 一种风场协同控制方法及装置 |
CN111458640A (zh) * | 2020-04-22 | 2020-07-28 | 西安交通大学 | 一种基于三相电流的交流异步电机转子断条故障诊断方法 |
CN111753215B (zh) * | 2020-06-28 | 2021-11-02 | 海南大学 | 一种多目标推荐优化方法及可读介质 |
CN111753215A (zh) * | 2020-06-28 | 2020-10-09 | 海南大学 | 一种多目标推荐优化方法及可读介质 |
CN111722305A (zh) * | 2020-07-03 | 2020-09-29 | 河海大学 | 一种用于确保海上施工安全的预警方法及预警装置 |
CN112507610A (zh) * | 2020-11-20 | 2021-03-16 | 东北大学 | 一种热轧卷取温度的区间预测方法 |
CN112507610B (zh) * | 2020-11-20 | 2023-09-26 | 东北大学 | 一种热轧卷取温度的区间预测方法 |
CN112749792A (zh) * | 2021-02-02 | 2021-05-04 | 南京信息工程大学 | 一种基于bp算法的风速预测方法 |
CN112749792B (zh) * | 2021-02-02 | 2023-07-07 | 南京信息工程大学 | 一种基于bp算法的风速预测方法 |
CN113191526A (zh) * | 2021-03-19 | 2021-07-30 | 华南理工大学 | 一种基于随机敏感度的短期风速区间多目标优化预测方法及系统 |
CN113239980A (zh) * | 2021-04-23 | 2021-08-10 | 华中科技大学 | 基于小样本机器学习与超参数优化的水下目标检测方法 |
CN113239980B (zh) * | 2021-04-23 | 2022-07-05 | 华中科技大学 | 基于小样本机器学习与超参数优化的水下目标检测方法 |
CN113536685A (zh) * | 2021-07-23 | 2021-10-22 | 河北工业大学 | 一种基于神经网络外推的风速概率模型的建模方法 |
CN113592516A (zh) * | 2021-08-04 | 2021-11-02 | 北京房江湖科技有限公司 | 基于偏置项的重要度确定方法与确定得分的方法 |
CN113592516B (zh) * | 2021-08-04 | 2023-11-21 | 贝壳找房(北京)科技有限公司 | 基于偏置项的重要度确定方法与确定得分的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108022025B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108022025B (zh) | 一种基于人工神经网络的风速区间预测方法与系统 | |
CN106647262B (zh) | 一种面向敏捷卫星多目标任务规划的差分进化方法 | |
Gülcü et al. | Hyper-parameter selection in convolutional neural networks using microcanonical optimization algorithm | |
CN108563875B (zh) | 基于多目标优化的模拟电路测点和频率联合优选方法 | |
CN111027732B (zh) | 一种多风电场出力场景的生成方法及系统 | |
CN104809230A (zh) | 一种基于多分类器集成的卷烟感官质量评估方法 | |
CN112508244B (zh) | 一种用户级综合能源系统多元负荷预测方法 | |
CN103235743A (zh) | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 | |
CN111079283B (zh) | 对信息饱和度不均衡数据的处理方法 | |
Chatterjee et al. | A comprehensive solution to automated inspection device selection problems using Electre methods | |
CN114219139B (zh) | 基于注意力机制的dwt-lstm电力负荷预测方法 | |
Veldkamp | Multiple objective test assembly problems | |
CN110942170A (zh) | 一种基于信息处理的短期风速预测方法及系统 | |
CN107045659A (zh) | 预测光伏发电功率的方法及装置 | |
CN111192158A (zh) | 一种基于深度学习的变电站日负荷曲线相似度匹配方法 | |
CN108256274B (zh) | 基于搜索吸引子误差算法的电力系统状态识别方法 | |
CN114065807A (zh) | 基于变分模态分解和贝叶斯神经网络的月径流预测方法 | |
Sobrevilla et al. | Daily weather forecast in Tiwi, Albay, Philippines using artificial neural network with missing values imputation | |
CN106296747A (zh) | 基于结构决策图的鲁棒多模型拟合方法 | |
CN115841184A (zh) | 一种基于工序聚类的工时预测方法 | |
Ponnambalam et al. | Discrete particle swarm optimization algorithm for flowshop scheduling | |
CN107967395A (zh) | 一种基于beta小波基函数展开的时变非线性系统快速辨识方法 | |
CN110188967B (zh) | 基于混沌人群算法和贝叶斯网络的电力负荷概率性预测方法 | |
Tontchev et al. | Comparative study on intelligent and classical modeling and composition optimization of steel alloys | |
Chatterjee et al. | Judgment analysis based on crowdsourced opinions |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |