CN115713144A - 基于组合cgru模型的短期风速多步预测方法 - Google Patents
基于组合cgru模型的短期风速多步预测方法 Download PDFInfo
- Publication number
- CN115713144A CN115713144A CN202211346557.1A CN202211346557A CN115713144A CN 115713144 A CN115713144 A CN 115713144A CN 202211346557 A CN202211346557 A CN 202211346557A CN 115713144 A CN115713144 A CN 115713144A
- Authority
- CN
- China
- Prior art keywords
- wind speed
- model
- prediction
- cgru
- subsequence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000010187 selection method Methods 0.000 claims abstract description 16
- 238000000354 decomposition reaction Methods 0.000 claims description 66
- 230000006870 function Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000005457 optimization Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 13
- 230000035772 mutation Effects 0.000 claims description 11
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 2
- 239000002245 particle Substances 0.000 claims description 2
- 238000012804 iterative process Methods 0.000 claims 1
- 239000000126 substance Substances 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 16
- 101001095088 Homo sapiens Melanoma antigen preferentially expressed in tumors Proteins 0.000 description 18
- 102100037020 Melanoma antigen preferentially expressed in tumors Human genes 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 210000000349 chromosome Anatomy 0.000 description 17
- 230000006872 improvement Effects 0.000 description 14
- 230000001932 seasonal effect Effects 0.000 description 13
- 238000009826 distribution Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000002068 genetic effect Effects 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 238000011160 research Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012216 screening Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 4
- 108090000623 proteins and genes Proteins 0.000 description 4
- 230000006798 recombination Effects 0.000 description 4
- 238000005215 recombination Methods 0.000 description 4
- 241000288105 Grus Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000010248 power generation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 206010064571 Gene mutation Diseases 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100261000 Caenorhabditis elegans top-3 gene Proteins 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 208000035126 Facies Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000010429 evolutionary process Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000010353 genetic engineering Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000009396 hybridization Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010396 two-hybrid screening Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于组合CGRU模型的短期风速多步预测方法,包括以下步骤:S1,对原始风速信号进行分解:S2,采用相空间重构将各风速子序列与次级风速子序列进行重构,再使用多标签XGBoost特征选择方法对各重构后的数据进行特征选择;S3,对各特征选择后的子序列分别建立CGRU预测模型,所述模型利用CNN从各子信号中提取出更有效的特征,利用GRU识别提取出的特征与未来风速之间的时间依赖性;S4,将各子序列的预测结果进行累加操作,得到最终的预测结果。本发明的预测误差显著降低,有效地提高了风速预测的准确性和稳定性。
Description
技术领域
本发明涉及风力发电风速预测领域,特别是涉及一种基于组合CGRU模型的短期风速多步预测方法。
背景技术
随着能源危机的加剧和碳中和理念的不断提出,可再生能源受到了全世界的关注,而风力发电被普遍认为是最有前途的可再生能源之一。风力发电在很大程度上取决于风速,风速预测是有效调度风电资源的关键,准确的风速预测对于实现风电并网电力供应的稳定性、电力系统的调峰、安全分析以及降低运行成本具有重要意义。然而,风电自身固有的随机性、间歇性和波动性给准确的风速预测带来巨大的挑战,准确的风速预测仍然是一个关键问题,近年来对提高风速预测的准确性的研究也越来越多,提高风速预测的准确性是十分必要的。
近年来,风速预测模型层出不穷,根据风速预测模型的典型特征,可以分为两类模型,包括物理数值天气预报(NWP)模型和基于历史数据的数据驱动模型。物理模型基于计算流体动力学(CFD)模型,利用三维空间信息和时间气象信息进行预测,包括地形信息、气压、温度、湿度等变量。然而,物理模型存在一些缺点,包括对各天气变量的精度有较高要求,需要大量的时间进行计算等。一般情况下,物理预测模型的短期预测精度往往低于数据驱动模型。与物理模型不同,具有更简单模型结构的数据驱动模型需要的数据更少,并且不需要对物理现象进行深入理解。
一般来说,数据驱动模型(Data-driven model)又可以进一步分为三类:统计模型、智能模型和混合模型。不管是统计模型还是智能模型,各模型都具有其自身的优势和局限性,单模型对数据结构敏感,上述方法在复杂数据结构的建模问题上都存在一些局限性。为了克服单一模型的局限性,大量的研究集中在混合模型。通过结合不同方法,将各种方法的优点综合起来,从而提高系统的预测能力。
一种有效的方法是利用启发式优化算法,如粒子群优化算法(PSO)、模拟退火算法(SA)、遗传算法(GA)、差分进化算法(DE)、人工蜂群算法(ABC)等群智能优化算法对预测模型的重要参数进行联合优化。尽管许多优化算法成功地应用于改进单个智能模型,但仍然没有证据表明哪种算法总是在所有实际情况下表现最好。
另一种有效的方法是将几种方法结合,尤其在神经网络方面,通过隐藏层的叠加,将几种模型的优势分层利用,并提高优化算法联合优化提高预测性能。
另外还有部分研究关注于风速预测的输入变量的特征选择,通过特征选择,可以简化数据结构、避免过拟合、减低计算成本。目前这些特征选择方法虽然对简化数据结构、减低计算成本,减小预测误差有一定帮助,但是基本都是只适用于单步预测的特征选择问题。
此外,现有的混合短期风速模型大多以提高预测精度为重点,大多数模型都是利用分解方法将风速时间序列分解成不同的分量,然后对不同的分量进行预测。然而,风速预测中冗余特征带来的复杂数据结构容易使模型过拟合,计算成本的研究也还没有得到足够的重视,尤其是在多步预测中,但目前对多步风速预测的特征选择的研究还很少。并且,现有的常用混合模型可能存在没有充分挖掘不同分量的深层特性的问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于组合CGRU模型的短期风速多步预测方法。
为了实现本发明的上述目的,本发明提供了一种基于组合CGRU模型的短期风速多步预测方法,包括以下步骤:
S1,对原始风速信号进行分解:
S1-1,首先使用EMD对原始风速序列进行分解,将原始风速序列分解为多个风速子序列以及残差信号;
S1-2,在经过EMD分解后,利用样本熵分析估计各风速子序列的不可预测性,再将最不可预测的子序列经过VMD进一步分解,得到多个次级风速子序列;
二次分解的方法在一次分解的基础上对不可预测性较高的高频子序列进行第二次分解,进一步提取出了风速的分频波动特性,得到更有效的子序列,从而提高模型的预测能力。
S2,采用相空间重构将各风速子序列、次级风速子序列以及残差信号进行重构,再使用多标签XGBoost特征选择方法对各重构后的数据进行特征选择;
多标签XGBoost特征选择方法是在单标签XGBoost方法上进行改进得到可用于多步预测任务的特征选择方法。该方法提取出了相关性高冗余性低的特征,简化了数据结构,有利于之后模型训练速度的提高,避免了过拟合现象的产生。
S3,对各特征选择后的子序列以及残差信号分别输入CGRU预测模型得到预测结果,所述模型利用CNN从各子信号中提取出特征,利用GRU识别提取出的特征与未来风速之间的时间依赖性;
S4,将各子序列以及残差信号的预测结果进行累加操作,得到最终的预测结果。
综上所述,由于采用了上述技术方案,本发明具有以下优点:
(1)提出了适用于多步预测的MLXGBoost特征选择方法,通过该方法选出每个IMF子序列的最优输入特征,简化了数据结构,提高了建模效率。
(2)开发了高效的CGRU预测模型,该模型利用CNN从各子信号中提取出更有效的特征,利用GRU识别提取出的特征与未来风速之间的时间依赖性,并通过GA对CGRU的重要参数进行联合优化。CGRU预测模型能够适应长期依赖,并能提取原始数据的有效信息,与现有的模型相比较,预测误差显著降低,有效地提高了风速预测的准确性和稳定性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明样本熵的计算流程图。
图2是本发明一步/多步预测的相空间重组图。
图3是本发明GRU的结构示意图。
图4是本发明混合模型的流程图。
图5是本发明具体实施例原始风速的时间序列数据图。
图6是本发明具体实施例EMD分解后的子序列图。
图7是本发明具体实施例VMD分解后的子序列图。
图8是本发明具体实施例VMD分解后各子序列的中心频率图。
图9是不同分解方法在各季节的1步预测结果的比较示意图。
图10是不同分解方法在各季节的6步预测结果的比较示意图。
图11是不同分解方法在各季节的10步预测结果的比较示意图。
图12是四个数据集中采用不同分解方法的模型的实际值和预测值的散点图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
原始风速信号具有非线性、非平稳性的特点。如果直接建立预测模型,其精度往往较低。因此,本发明提出一种基于组合CGRU模型的短期风速多步预测方法,所述组合CGRU模型为SD-MLXGBoost-GA-GRU组合模型,过程如图4所示,包括以下步骤:
S-1,对原始风速时间序列信号进行信号稳定性检测;
S-2,利用经验模态分解(EMD)方法以及样本熵分析将原始信号分解为具有一定波动特性的从高频到低频的一系列IMF信号以及残差信号;
S-3,对高频信号采用变分模态分解(VMD)进行第二次分解,再通过样本熵分析得到高频再分解后的IMF信号;
S-4,将各IMF信号以及残差信号分别根据嵌入维数m和延迟时间τ的条件要求分别进行相空间重组,分别得到M维空间组;
S-5,对相空间重组后的各IMF信号及残差信号分别使用多标签XGBoost进行特征选择,选择出各信号最优的输入特征;
S-6,对各IMF信号以及残差信号分别建立相应的经过GA参数优化的CGRU模型进行风速预测;
S-7,对各IMF信号以及残差信号的预测结果进行叠加,得到叠加的风速预测值;
S-8,将预测结果与对比模型及实际值进行误差比较,得出实验结论。
1.与本发明方法的相关技术
1.1二级分解法
1.1.1经验模态分解(EMD)
经验模式分解(EMD)算法是一种平滑非线性和非平稳信号的方法。通过EMD分解算法可以将复杂的非线性信号分解成一系列平滑的固有模态函数(IMF)。IMFs包括趋势的局部特征信息和原始信号在不同尺度上的波动,这在一定程度上有助于分析信号的真实物理意义。风速数据具有非线性、非平稳的特点,经验模态分解有助于提取特征,提高预报能力。
经验模态分解是根据数据本身的时间尺度特征对信号进行分解,因此不需要预先设置任何基函数的特征,EMD方法可以实现对任何类型信号的分解,特别适合用于处理非平稳和非线性数据。EMD方法具有良好的完整性和正交性,在分解过程中保留了数据本身的特征。分解步骤如下:
求解信号s(t)的所有局部极值,然后连接所有上下极值点,得到上下包络(所有数据都在上下包络之间)。它们的平均值是m1(t),并且s(t)信号和m1(t)之间的差是第一个proto-IMF h1(t)。方程式如公式(2)所示:
h1(t)=s(t)-m1(t) (1)
其中s(t)表示原始信号(序列),m1(t)表示s(t)的局部极值形成的包络线的平均值,h1(t)表示分解量proto-IMF。
但是,一般h1(t)不符合IMF的定义。因为从直角坐标系转换到曲线坐标系可能会有一个新的极值。因此,我们应该重复上述步骤并进行筛选,h1(t)作为下一次迭代的输入。方程式如公式(3)所示:
h11(t)=h1(t)-m11(t) (2)
其中m11(t)表示h1(t)的局部极值形成的包络线的平均值;h11(t)表示待选择的IMF分量。
筛选过程将重复i次,直到h1i(t)成为真正的IMF。方程式如公式(4)所示:
h1i(t)=h1(i-1)(t)-m1i(t) (3)
其中m1i(t)表示h1(i-1)(t)的局部极值形成的包络线的平均值,h1i(t)表示第i次筛选的待选的多个IMF分量,h1(i-1)(t)表示第i-1次的待选的IMF分量;式(2)的输出作为式(3)输入,然后重复式(2)的操作,得到多个待选的IMF分量。
柯西收敛准则是停止条件。具体来说,测试要求定义为两个连续筛选操作之间的归一化平方偏差。方程式如公式(5)所示:
SDi用于对上面得到的待选择的IMF分量进行条件判定,判断是否符合成为真正IMF分解分量的条件,当SDi小于0.2时,c1(t)=h1i(t),c1(t)是第一个IMF。T是基于根据柯西收敛准则的停止条件。SDi很难小于0.2,这样可以保证IMFs的频率和幅度具有足够的物理意义。cj(t)表示第j个IMF。方程式如公式(6)-(7)所示:
c1(t)=h1i(t) (5)
cj(t)=hji(t) (6)
其中,hji(t)表示第i次筛选的待选的第j个IMF分量;
残差r1(t)可以通过方程式(8)获得,并且r1(t)并作为一个新的信号。然后重复筛选过程。在该过程中获得的残差rj(t)显示在方程式(9)中。
r1(t)=s(t)-c1(t) (7)
rj(t)=rj-1(t)-cj(t),j=2,3,4…,n (8)
其中,s(t)表示原始信号,c1(t)表示第一个IMF分量,r1(t)表示第一个残差;将残差作为输入信号重复步骤得到下一个IMF信号,重复步骤不断得到新的残差rj(t),rj-1(t)表示第j-1个残差。
信号s(t)可以用EMD分解后的固有模式函数Cj(t)和残差rn(t)来表示。方程式如公式(10)所示:
其中n是分解得到的IMF个数,Cj(t)表示分解得到的j个IMF分量,rn(t)表示最后一次分解得到的第n个残差。
1.1.2样本熵(SE)
样本熵(Sample Entropy)是由Richman和Moornan提出的一种新的时间序列复杂性的度量方法。样本熵是近似商在算法上的改进方法。样本熵旨在降低近似熵的误差,与己知的随机部分有更加紧密的一致性。与近似熵相比,样本熵具有两大优势:第一,样本熵不包含自身数据段的比较,它是条件概率的负平均自然对数的精确值,因此样本熵的计算不依赖数据长度:第二,样本熵具有更好的一致性,如一时间序列比另一时间序列有较高的熵值的话,那对于不同的维度和阈值,也具有较高的熵值,熵值大小与序列复杂程度成正比。
对于风速时间序列{x(i),i=1,2,3,…,n},n就是原始时间序列的长度,样本熵计算步骤如下:
(1)对风速时间序列x(i)进行相空间重构,得到矩阵Xm,m为维数,则:
(2)定义子序列Xm(i)与Xm(j)的距离d[Xm(i),Xm(j)]为两者对应数值的最大差值绝对值。即:
d[Xm(i),Xm(j)]=max|x(i+k)-x(j+k)|,k=(0,1,…,m-1),i≠j (11)
其中,Xm(i)、Xm(j)为矩阵Xm的任意两行子序列。
(3)对于给定的第i行子序Xm(i),它与其它子序列之间都有一个最大差值d[Xm(i),Xm(j)],j(1≤j≤n-m,j≠i),统计d[Xm(i),Xm(j)]≤r的数目,记做Bi。对于1≤i≤n-m定义:
(4)令m=m+1,重复以上(1)~(3),计算得到Bm+1(r);
(5)样本熵的计算式为:
在相应参数m,r,n下的样本熵值SampEn(m,r,n)的值与参数m,r,n的选取有关。不同的嵌入维度即维数m和相似容限即阈值r对应的样本熵值也不同。一般情况,r取原始数据标准偏差的0.1~0.25倍。m=2时,SampEn(m,r,n)的值对原始时间序列长度n的依赖性最好,此时计算所得的样本熵具有较为合理的统计特性。为更直观展现该计算过程,样本熵算法流程图如图1所示:
首先输入一个长度为n的时间序列,设置参数m,r的值,然后对时间序列进行相空间重构,计算第i行和其它各行间最大距离小于阈值r的比例再计算n-m+1个(i=1,2,···,n-m+1)的平均值Bm(r),再令m=m+1,重复以上步骤得到Bm+1(r),得到最终的样本熵值。此处的m,r,n即参数m,r,n,m为矩阵Xm的维数即嵌入维度;n为原始时间序列长度;r表示相似容限即阈值。
1.1.3变分模态分解(VMD)
VMD是一种自适应、完全非递归的模态变分和信号处理的方法,通过变分模型确定相关频带并提取相应的模型分量。它克服了EMD方法存在端点效应和模态分量混叠的问题,并且具有更坚实的数学理论基础,可以降低复杂度高和非线性强的时间序列非平稳性,分解获得包含多个不同频率尺度且相对平稳的子序列,适用于非平稳性的序列。根据所给序列的模态分解个数,随后的搜索和求解过程中可以自适应地匹配每种模态的最佳中心频率和有限带宽,并且可以实现固有模态分量(IMF)的有效分离、信号的频域划分、进而得到给定信号的有效分解成分,最终获得变分问题的最优解。其约束变分问题为:
其中α为二次惩罚因子,作用是降低高斯噪声的干扰。利用交替方向乘子(ADMM)迭代算法得到各模态分量和中心频率。根据ADMM算法,其uk,wk的更新公式如下所示:
||2表示绝对值的平方;
γ表示更新参数;
f(t)表示原始序列;
VMD的迭代过程主要包括以下四个步骤:
1.2特征选择
1.2.1相空间重组
选择前M步(若数据间隔为10min,144步即一天的数据量)作为输入特征,后N步作为输出标签。
虑到风速时间序列的混沌特性,采用PSR风速时间序列进行相空间重构。设定嵌入维度m和延迟时间t,通过给定的嵌入维度m和延迟时间t构建滑动窗口,通过滑动窗口,风速时间序列{x(i),i=1,2,3,…,n}在高维相空间中重构,得到数据矩阵。此处的处理与前文类似,但是目的不同,前文样本熵是用于后续的评估。这里就是构造预测模型所需要的数据结构。
嵌入维度m=M+N,延迟时间t=1,相空间重组后的数据结构如下图2所示:
图中给出了一步即多步预测的相空间重组后的数据结构,输入特征为M个,则重构后的每一行输入为连续M个值,输出标签为N即标签数为N,则每一行输出值为连续N个值。数据的行数L+1取决于嵌入维数m,延迟时间t和原始序列的长度n。t=1时,L+1=n-m+1。
1.2.2多标签XGBoost特征选择
极端梯度提升Extreme gradient boosting(XGBoost)由Chen等人于2016年提出,是一种高效、可扩展的机器学习模型。它是基于梯度下降决策树(GBDT)改进的模型,以Boosting方式组合了多棵分类回归树(CART),其主要思想是使用先前模型的残差来训练后续的模型,即后续模型能够纠正先前模型产生的错误。XGBoost使用二阶泰勒展开来近似损失函数确保模型的精确性,并通过向目标函数添加控制模型复杂度的正则项来获取更好的泛化性,从而避免过度拟合。
XGBoost特征重要性选择是嵌入法中的一种,在训练XGBoost的过程中,我们使用增益来确定最优的分割节点,增益表示树每一次分裂的增益得分,最后的特征重要性得分由平均增益计算,平均增益是所有树的总增益除以每个特征的总分割次数。若特征被分割的次数越多,则给模型带来的增益就越大。它通过计算增益输出每个特征的重要性,若特征重要性得分越高,则该特征在模型构建与训练过程中的贡献越大。我们一般根据特征重要性得分的降序来获得排名靠前的特征,增益计算方法如公式(20)所示:
其中gain表示增益;
gi、hi分别表示一阶和二阶梯度。
i表示第i个特征。
IL、IR分别表示分割后左右节点的样本,IL、IR均包括多个样本;
I=IL∪IR,λ、γ是惩罚参数。
该方法一般仅能应用于单标签特征选择,即得到对于某一特定标签的输入特征的重要性得分,对于多标签的特征选择问题,我们通过对该方法的改进,使其可应用于多标签特征选择问题,称为多标签XGBoost(MLXGBoost)特征选择。首先对现有的单标签特征选择方法进行循环操作,将输入特征与每一个标签(即多步预测的各步,令标签数为N)分别进行XGBOOST特征选择,得到每一个输入特征对应各个标签(预测变量)的重要性得分,每个输入特征将会得到N个重要性得分值。如果是10步预测,那么每一个特征就有10个(与10个标签)重要性得分。
然后用两个指标来选择最终需要的输入特征。一个指标是各个特征的平均得分,即每个特征对于N个标签的重要性得分的平均值。计算公式如下:
其中Average-scorem表示第m个特征对于N个标签的重要性得分的平均值;
gainmn表示第m个特征对于n个标签的重要性得分;
N为标签总数;
n表示第n个标签。按照各个特征在N个标签上重要性得分平均值大小进行降序排列,平均得分最高的p个特征(特征与多个标签有较大关联的)则被选择。
另一个指标是各个特征的最大得分,即每个特征对于N个标签的重要性得分中的最大值,计算公式如下:
Highest-scorem=Max{gainm1,gainm2,gainm3,…,gainmN}. (22)
其中,Highest-scorem表示第m个特征对于N个标签的重要性得分中的最大值;
按照各个特征在N个标签上重要性得分最大值的大小进行降序排列,最高得分排序中最高的q个特征(特征与多步预测的某一步的预测有很大的关联性)则被选择。
最后综合两个指标确定最终的选定输入特征。若特征均在两个指标中被选择,则作为最终需要的输入特征;若特征个数不足,则每个指标各50%权重进行特征选择,直至满足所需的选定输入特征数量。
1.3预测方法
1.3.1卷积门控循环单元(CGRU)
由二次分解得到的各风速时间子序列的主趋势分量不仅具有长、短依存关系,而且具有深特征。为了预测主要趋势分量,设计了CGRU网络。在CGRU网络中,卷积层(Conv1D)用于捕获深度特征,而GRU层用于获取风速的时间依赖关系,进行风速预测。
卷积神经网络使用局部链接结构在不同位置共享公共权值,与全连接神经网络相比,这大大减少了参数的数量。常用的卷积神经网络结构通常包括卷积层、池化层、dropout层、全连接层等,并通过激活函数进行非线性映射。卷积层可以通过多个过滤器(卷积核)自动提取特征。在正向传播阶段,每个卷积层对前一层的输出采用激活函数和卷积操作,CNN的这一特点可以帮助提取隐藏信息,而不受其不确定性的影响。
可定义为:
f表示激活函数;
Wk表示第k个卷积核的权值;
x表示输入;
(Wk*x)ij表示对输入x通过卷积核Wk进行卷积运算,横向和纵向需要进行卷积核操作运算的次数分别为i和j;
bk表示第k个卷积运算的偏倚。
k表示卷积核数量,每一个卷积核(卷积核里包含的是权值)分别与输入进行卷积运算,再加上一个偏移量bk,对得到的输出再通过激活函数f进行非线性化。如果是二维数据,i和j分别表示横向和纵向需要进行卷积核操作运算的次数。
在深度学习中,RNN是一种处理混沌时间序列的有用方法。但是,处理长距离信息的能力不足可能会导致梯度消失等问题。LSTM是RNN的一种变体,但GRU有效地考虑了长期依赖关系,结构比LSTM更简单,是LSTM的改进算法。LSTM有三个门:输入门、遗忘门和输出门,而GRU只有两个门:更新门和重置门。对于GRU来说,更新门可以代替LSTM输入门和遗忘门,重置门可以直接处理之前的隐藏状态。因此,GRU的训练速度要快于LSTM。
记忆细胞如图3所示,由更新门和重置门组成。
计算可以表示为:
zt=σ(Wz*[ht-1,xt]+bz) (24)
rt=σ(Wr*[ht-1,xt]+br) (25)
其中,σ()为sigmoid函数,[ht-1,xt]表示对ht-1,xt进行重置门操作,ht-1表示上一步的输出信息,Wz、bz分别表示这一步的输入赋权值和偏倚;
表1
参数 | 记为 |
h<sub>t</sub> | GRU中的隐藏层向量,t=1,2,...,n-1,n |
x<sub>t</sub> | GRU中的输出向量,t=1,2,...,n-1,n |
z<sub>t</sub> | GRU中的更新门,t=1,2,...,n-1,n |
r<sub>t</sub> | GRU中的重置门,t=1,2,...,n-1,n |
W<sub>z</sub> | GRU中更新门的参数矩阵 |
W<sub>r</sub> | GRU中复位门的参数矩阵 |
W<sub>h</sub> | GRU中隐藏层的参数矩阵 |
b<sub>z</sub> | GRU中更新门的偏置向量 |
b<sub>r</sub> | GRU中复位门的偏置向量 |
b<sub>h</sub> | GRU中隐藏层的偏置向量 |
σ,tanh | 激活函数 |
本发明的CGRU网络由1个卷积层(Conv1D)和2个GRU层组成,损失函数采用均方误差,优化函数采用Adam算法。CGRU的结构如图3所示。
1.3.2遗传算法(GA)
遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。算法使用适者生存的原则,包括遗传、基因突变、自然选择和杂交等。它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应的控制搜索过程,计算出全局最优解。
遗传算法是一种基于种群的搜索技术,在搜索过程中使用种群染色体,每条染色体代表一个可行的解决方案。本文用伯努利分布定义一个随机初始化的二进制数组编码作为我们的解的遗传表示,即遗传基因。
遗传算法的主要过程如下:
首先,初始化种群,随机生成第一代种群,种群中每条染色体包含可行解。接着,对于当前种群中的每条染色体,通过训练集进行训练,在验证集上通过适应度函数计算其适应度。然后,使用轮盘赌选择,使得适合度值较高的染色体更有可能被选择进行遗传操作,再通过染色体交叉和小概率基因突变操作,产生新的下一代种群,实现种群的变异进化。经过这一系列的选择、交叉和突变的过程,产生的新一代个体,并逐代向提高适应度的方向发展,因为好的个体总是更多地被选择去产生下一代,而适应度低的个体逐渐被淘汰。重复该过程,直到终止条件满足为止。
选择操作是从当前种群中反复选择一条染色体,并将其添加到新的种群中,直到达到繁殖比。本研究采用精英主义策略,即当前种群染色体中适应度较高好的染色体将有更大的概率被选中添加到新的种群中。个体被选中的概率为P(xi),计算公式如下:
其中fitness(xi)为个体xi的适应度,xi表示种群中的第i个个体,共轮转NP次。
交叉操作是从当前群体中反复选择两个染色体作为亲本染色体,产生并添加两个后代染色体到新群体中,直到达到交叉比例。本研究采用均匀交叉。通过均匀交叉,子代染色体中的每个值都是独立地从两个亲本染色体相同对应位置的两个值中选择出来的。让个体两两交叉产生下一代新个体,可以使上一代个体中优秀的基因会保留给下一代,而劣制的基因将被个体另一半的基因所代替。
突变操作是从当前群体中反复选择一条染色体,对其进行修改,产生突变体,并将该突变体添加到新群体中,直到达到突变比。本研究采用单点突变,通过小概率事件发生突变,将小的随机变化注入到所选染色体中,突变操作给种群引入了多样性,避免局部最优。
基本遗传算法可以定义为一个7元组:
GA=F(k,f,s,c,m,Pxi,Pc,Pm). (29)
其中,F()为遗传算法的计算函数,k为群体大小;f为个体适应度评价函数;s为选择操作算子;c为交叉操作算子;m为变异操作算子;P(xi)为交叉概率;Pc为交叉概率;Pm为变异概率。
2.本发明提出的模型有效性分析
2.1数据收集
本文的数据来源于中国山东省某风电场2011年多个测点的历史风速数据,我们取了其中一个测点的在4个季节的部分数据作为实验数据,数据采样间隔为10分钟。本文的实验部分选用2011年1月、4月、7月、10月的前15天的电数据进行建模,一共4*2160个数据。将每个季节70%的数据作为训练集,30%的数据作为测试集。原始风速数据集如表2和图5所示。
表2风速数据集的描述。
2.2评价指标
采用单一误差评价指标无法准确反映预测模型的整体性能,所以需要多个不同的误差评价指标来全方位衡量模型的优劣。以下3种评价指标可判断预测结果的优劣。分别为均方根误差(Root Mean Square Error,RMSE),平均绝对误差(Mean Absolute Error,MAE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)。计算公式如下所示:
本文使用三个改进指标来显示一个模型相对于另一个模型的进步程度,包括RMSE的改进百分比PRMSE、MAE的改进百分比PMAE和MAPE的改进百分比PMAPE。方程定义为公式(18)-(20)。
其中RMSE1,MAE1和MAPE1是基准模型的评价指标,RMSE2,MAE2和MAPE2是对比模型的评价指标。
2.3数据集分解
以1月数据集(Dataset1)为例:首先对原始风速序列进行EMD分解,(通过实验,该风速信号通过EMD方法最多可分解出7个IMF信号),首先将信号分解为7个IMF信号和1个残差信号,再对各子信号分别进行样本熵分析,样本熵分析结果如下表3所示:
表3 EMD分解后的8个子序列的样本熵结果
子序列 | IMF1 | IMF2 | IMF3 | IMF4 | IMF5 | IMF6 | IMF7 | Residue |
样本熵 | 1.6038 | 0.7875 | 0.4972 | 0.2371 | 0.0617 | 0.0129 | 0.0136 | 0.0056 |
可以看出从IMF5之后的样本熵值接近0,所以我们将原始信号分解为4个IMF信号和1个残差信号。分解结果如下图6所示,图6中深色部分为训练集,浅色部分为测试集。从图中可以看出经过EMD算法预处理后,风速信号分为被分为从高频到低频的5组分解信号。低频主信号波形变化平缓,无尖峰,高频信号含有尖峰噪声。分解后的各子信号的样本熵分析结果如下表4:
表4 EMD分解后的5个子序列的样本熵结果
子序列 | IMF1 | IMF2 | IMF3 | IMF4 | Residue |
样本熵 | 1.6038 | 0.7875 | 0.4972 | 0.2371 | 0.0381 |
考虑到EMD算法分解后的预测误差主要来自高频信号,通过样本熵对分解后的各信号进行分析,样本熵分析通过度量信号中产生新模式的概率大小来衡量时间序列复杂性,新模式产生的概率越大,序列的复杂性就越大。样本熵的值越低,序列自我相似性就越高;样本熵的值越大,样本序列就越复杂。所以对样本熵值较高的有必要进行再次分解。可以看出高频信号的时间序列复杂性较高,所以对高频信号IMF1进行再次分解。
采用VMD算法对子信号IMF1进行再次分解。先将信号从高频到低频逐级分解为6个IMF分量,然后对所有各IMF1k也进行样本熵分析,分析结果如表5所示:
表5 VMD分解后的5个子序列的样本熵结果
子序列 | IMF11 | IMF12 | IMF13 | IMF14 | IMF15 | IMF16 |
样本熵 | 0.5387 | 0.5018 | 0.5247 | 0.5529 | 0.5322 | 0.5644 |
从表5中可以看出IMF1经过VMD分解后的样本熵值显著下降了,但是各IMF1k的样本熵值很接近,所以最终将IMF1通过VMD分解为3个子信号即可。结果如下表6:
表6 VMD分解后的5个子序列的样本熵结果。
子序列 | IMF11 | IMF12 | IMF13 |
样本熵 | 0.5604 | 0.6580 | 0.6085 |
VMD分解结果如下图7所示,通过分析中心频率,将VMD的超参数设置为K=5个,alpha=100。其中心频率图如下图8所示,由图8可知,各分量的中心频率分散,有效地将各频段信号分开。
2.4多标签XGBoost特征选择
设计滑动窗口对各子序列分别进行数据的相空间重组,使前144步(24小时)作为输入特征,最终各子序列分别得到输入集为144维的特征矩阵。选取前70%的数据作为训练集。根据XGBoost算法结构分数的增益情况计算来评价特征的重要性。在多步预测任务中,使用多标签特定的XGBoost特征选择方法进行特征选择,以两个指标的特征重要性得分排序作为标准。
表7单步预测各IMF特征重要性排序表
据上表可知,特征重要性得分排序在第三位之后的得分很低了,也就是说这些输入特征对预测结果的影响非常小,将这些特征作为输入反而会增加冗余性。所以选择重要性排序前3的特征作为单步预测的输入特征。
表8 6步预测各IMF特征重要性得分排序表
综合各输入特征平均得分和最大得分的排序,选择特征重要性得分较大的6个特征作为各子信号的输入特征。
表9 10步预测各IMF特征重要性得分排序表
综合各输入特征平均得分和最大得分的排序,选择十步预测各分量的输入特征。根据特征平均得分和最大得分情况,综合选择6个特征作为输入特征。
从多步预测的输入特征的特征重要性得分结果可以看出,在IMF2、IMF3、IMF4和Residue的多步预测中,对后续多步预测起主要作用的为预测前的1步。也就是说对多步预测的后续N步结果的基准有较大影响,对波动性影响不大。而在IMF11、IMF12和IMF13的多步预测中,对后续多步预测起主要作用的大约为预测前的5步。也就是对后续N步预测结果的波动性影响比较大。这进一步说明了通过二次分解对风速波动特征进行了合理的分频从而形成不同频段的子序列,有效提高了预测的准确性。
同时该特征选择的方法有效地提取了有重要作用的少数特征作为输入,进行了有效信息的提取及无效信息的剔除,降低了模型的冗余性,降低了后续的建模难度,也大幅度减少参数寻优和建模的耗时。
根据上表的综合特征得分情况,1月数据集经过多标签XGBoost特征选择所选择的输入特征如下表10所示:
表10特征选择的结果
2.5 GA优化GRU
进行CGRU预测模型的建立,其中CGRU模型中的学习率(learning_rate)、批量大小(batch_size)及卷积循环层的滤波器的数量(filters)的参数对于模型预测准确度有很大的影响,所以需要对这几个参数进行参数寻优。模型预测实现步骤可归纳如下:
Step1:合理划分训练样本和预测样本.设定几个参数搜寻范围。
Step2:确定CGRU模型适应度函数,本文选用均方根误差作为适应度函数,描述如式:
Step3:设置GA算法的群体大小k,最大迭代次数T,突变概率Pm,选择精英数量概率Pxi,交叉概率Pc等设置当前迭代次数t=0,初始化粒子位置和速度。
Step4:初始化种群,产生第一代种群。
Step5:基于式(36)计算目标适应度值,进行评价。
Step6:对上一代种群根据精英选择率、交叉概率、变异概率进行选择、交叉、突变,更新产生下一代种群。
Step7:判断GA算法是否满足终止条件,若满足则转至Step8,否则令t=t+1,执行Step5~Step7。
Step8:输出GA算法全局最优个体空间位置和适应度值,即待优化问题最优解。
Step9:利用GA算法优化获得的CGRU最佳学习率、批量大小及神经元数量值代入GA-CGRU模型对预测样本进行预测。
表11利用GA对单步及多步相空间重组后的各IMF及残差进行GRU参数寻优结果
最后,通过总结每个IMF和残差Residue的预测结果,得到最终的预测结果。
2.6验证本发明所提出模型的准确性和稳定性
为了验证本文所提出模型的准确性和稳定性,采用了4个季节的风速数据集分别进行实验,并将SD-MLXGBoost-GA-CGRU模型的单步和多步风速预测实验结果通过多个评价指标与多组对比模型进行充分比较。对比主要分为:不同分解方法比较、组合模型比较和常用模型比较。采用基于不同分解方法的混合预测模型作为比较模型,即EMD-MLXGBoost-GA-CGRU和VMD-MLXGBoost-GA-CGRU,它们之间的唯一区别是数据分解方法不同,可以分析出SD的影响。将包含在SD-MLXGBoost-GA-CGRU中的MLXGBoost-GA-CGRU、SD-GA-CGRU和SD-MLXGBoost-CGRU等组合模型作为比较模型,分析提出模型的各组成部分的影响。使用SD-PSO-LSTM、DE-GRU、MLXGBoost-ANN、LSTM、SVM和ANN作为个体预测模型的比较,可以通过比较体现出所提出预测模型的优势。
2.6.1设置每个模型的参数
本文所提出模型及部分对比模型的参数设置如表12所示:
表12每个模型的参数
每个模型的输出集是输入集后1步,6步和10步的风速值,但是根据模型的要求,每个模型的输入集是不同的。经过特征选择的模型的输入集即按照特征选择的结果,而没有经过特征选择的模型则需要我们选择提前N步作为模型的输入。每个模型输入集的结构如表13所示。
表13每个模型输入集的结构
模型 | 输入集的结构 |
SD-GA-CGRU | 提前1440分钟的风速数据(提前144步) |
CGRU | 提前1440分钟的风速数据(提前144步) |
SD-PSO-LSTM | 提前200分钟的风速数据(提前20步) |
DE-GRU | 提前200分钟的风速数据(提前20步) |
LSTM | 提前200分钟的风速数据(提前20步) |
SVM | 提前200分钟的风速数据(提前20步) |
ANN | 提前200分钟的风速数据(提前20步) |
2.6.2所提模型与不同分解预测模型的比较
将SD-MLXGBoost-GA-CGRU在四个季节的风速数据集上的预测结果与基于其它分解方法的两种混合模型的预测结果进行了比较。这两种比较模型为EMD-MLXGBoost-GA-CGRU和VMD-MLXGBoost-GA-CGRU,它们之间的唯一区别是数据分解方法不同。4个季节数据集中3个模型的1-step、6-step和10-step的预测曲线与实际值的比较如图9~图11所示。
在各步各季节的预测结果与实际值的比较图中可以看出,本文所提出的SD-MLXGBoost-GA-CGRU模型预测结果与实际值的拟合程度都是最好的,尤其是在多步预测中,可以明显看出本文所提出的模型相比较其它分解方法的模型,其预测能力较好。在多步预测任务中,我们可以看到,EMD分解方法模型在风速急速上升或者下降的时候,其预测能力显著下降。而VMD分解方法模型在风速上下反复波动的时候,其预测表现不太理想。所以本文所提出的SD-MLXGBoost-GA-CGRU模型具有较高的稳定性。
此外,4个季节数据集中3个模型的1-step、6-step和10-step预测的误差评价结果如表14所示:
表14不同分解方法的各季节平均预测误差比较表
其中6-Step预测图为6步预测的测试集上第六步的预测值,10-Step预测图为10步预测的测试集上第十步的预测值。
根据表14的结果,我们可以看出在4个季节数据集中,无论是单步还是多步预测,SD-MLXGBoost-GA-CGRU模型的RMSE、MAE、MAPE都是最小的,说明该模型具有最精确和稳定的结果。此外,根据RMSE、MAE、MAPE的数值,可以看出在多步预测时,SD分解方法的预测模型与其它两对比模型的RMSE、MAE、MAPE的差值更大,这进一步说明了在多步预测中本文所提出方法具有更大的优势。
为了进一步展示不同分解方法对预测效果的影响,我们采用了散点图对预测结果进行直观展示。四种模型在四个数据集上的预测结果与实际值的散点图如图9所示,预测值与实际值越接近,则越贴近图中的回归线。图中每个小图还给出了相关系数R,描述了四个模型的预测结果与实际值的共线性程度。R值的范围在0~1之间,R值越接近1,说明和实际值的相关性越好,也就表明预测效果越好。
从图12中可以看出,无论单步还是多步预测,SD分解方法模型在不同季节数据集的散点在回归线附近分布最均匀,也最接近回归线的。同时SD-MLXGBoost-GA-CGRU模型预测结果与实际值的R值在四个季节数据集的1-step、6-step和10-step预测上也是最大的,这说明了SD相比较EMD和VMD,是提高预测能力最有效的分解方法。
2.6.3所提模型与其它综合预测模型的比较
将包含在SD-MLXGBoost-GA-CGRU中的MLXGBoost-GA-CGRU、SD-GA-CGRU、SD-MLXGBoost-CGRU和SD-MLXGBoost-GA-GRU等组合预测模型作为比较模型,分析本文所提出模型的各组成部分的影响。
SD-MLXGBoost-GA-CGRU模型的在各季节数据集上的1-step、6-step和10-step预测曲线都与实际风速曲线的拟合度最高。SD-MLXGBoost-CGRU次之,MLXGBoost-GA-CGRU、MLXGBoost-CGRU在多步预测中与实际值的拟合不佳,CGRU预测效果最差。可以看出GA参数优化对模型有一定提升作用,经过SD的模型相对于没有经过分解的模型拟合度有明显的提升,在多步预测中尤为明显。SD-MLXGBoost-GA-GRU模型在单步预测中的预测能力不错,但是在7月、10月数据集的10步预测中在风速波动下降和快速拉升时出现了明显的脱节现象,这说明了CGRU模型在GRU模型的基础上添加卷积层对多步预测任务的预测能力有较大的提升。SD-GA-CGRU模型的局部失衡现象比较明显,比较不稳定,这说明的MLXGBoost特征选择方法对能够简化数据结构,提高相关性减低冗余性,避免过拟合现行的产生,从而提高预测性能。
此外,4个季节数据集中各模型的1-step、6-step和10-step预测的误差评价结果如表15所示:
表15各组合模型各季节平均预测误差比较表
根据表15的结果,我们可以看出在各个月份的数据集中,无论是单步还是多步预测,SD-MLXGBoost-GA-CGRU模型的RMSE、MAE、MAPE都是最小的。这说明了模型的各组成部分对于模型都有一定程度的提升效果。
本文所提出的SD-MLXGBoost-GA-CGRU模型在4个季节数据集上1步提前预测的RMSE、MAE和MAPE的平均值分别为0.3432、0.2544和4.7440%,6步提前预测的RMSE、MAE和MAPE的平均值分别为0.5687、0.4124和8.3583%,
10步提前预测的RMSE、MAE和MAPE的平均值分别为0.7457、0.5369和11.0820%。我们可以看出,在没有SD的模型中,无论是单步还是多步预测,其预测性能相比较其它有SD的模型,都有较大的差距。MLXGBoost-GA-CGRU模型在4个季节数据集上1步提前预测的RMSE、MAE和MAPE的平均值分别达到了0.6739、0.4934和9.3707%,相比较本文所提出的SD-MLXGBoost-GA-CGRU模型有着不小的差距,在10步提前预测中,RMSE、MAE和MAPE的平均值分别达到了1.3167、0.9684和19.6040%,差距更加明显,这体现出了SD方法的巨大优势。而SD-GA-CGRU、SD-MLXGBoost-CGRU和SD-MLXGBoost-GA-GRU模型的无论是单步还是多步预测的RMSE、MAE和MAPE值都大于本文所提出的SD-MLXGBoost-GA-CGRU模型,在多步预测中差距更大,这说明MLXGBoost、GA和CNN对模型的预测性能都有一定程度的提升,尤其是多步预测。
2.6.4所提出模型的改进效果
表16列出了四个季节数据集中本文所提出的SD-MLXGBoost-GA-CGRU模型相比较其它组合模型的改进百分比。
表16
D-MLXGBoost-CGRU、SD-MLXGBoost-GA-GRU等模型都有一定程度的提升,以提升较大的10步提前预测为例,在四个季节数据集上平均提升数据可以看出,与MLXGBoost-GA-CGRU、SD-GA-CGRU、SD-MLXGBoost-CGRU和SD-MLXGBoost-GA-GRU相比,本文所提出的SD-MLXGBoost-GA-CGRU模型的RMSE分别降低了43.35%、17.52%、13.35%、和17.15%,MAE分别降低了44.56%、14.41%、10.86%和15.05%,MAPE分别降低了43.47%、11.22%、8.71%和15.27%。这说明本文所提出的SD-MLXGBoost-GA-CGRU模型是一种有效的短期风速预测模型,尤其在多步预测中更加具有优势。
从与MLXGBoost-GA-CGRU模型的对比结果可以看出,SD的方法对于模型预测性能的提升非常大,在多个提升方法中对模型预测能力的提升贡献最大。对比SD-GA-CGRU模型的结果,可以发现经过MLXGBoost特征选择,降低了不相关特征给模型带来的冗余性,对模型的预测性能提升有明显的提升。对比SD-MLXGBoost-CGRU模型的结果,可以看出通过GA对CGRU的参数寻优,对模型的预测性能有一定程度的提升。对比SD-MLXGBoost-GA-GRU模型的结果,可以发现本文所提出模型的性能始终较好,这表明通过CNN提取深层次特征有助于进一步提高预测性能。因此,提出的CGRU模型可以充分利用CNN和GRU的优势,提供更稳健有效的预测结果。
2.6.5所提出模型与6个常用的模型的比较
六种比较模型包括:SD-PSO-LSTM、DE-GRU、MLXGBoost-ANN、LSTM、SVM和ANN。SD-MLXGBoost-GA-CGRU和6个比较模型在4个季节数据集上的1-step、6-step、10-step的预测结果和实际值比较。随着风速预报步数的增加,各季节数据集上的预报误差逐渐增大。不管是单步还是多步预测,从整体趋势上看,SD-MLXGBoost-GA-CGRU模型相比较其它对比模型,都能更好的追踪风速信号的变化趋势。
在1-step提前预测中,SVM模型在1月和4月数据集上的预测在风速有大幅度上下反复波动时,其预测能力有着明显下降。其它大多数模型都能较好地拟合风速变化的趋势,在单步预测中预测性能差异不太明显。而在6-step和10-step提前预测中,本文所提出模型与对比模型相比,其对风速信号的变化更为敏感,预测性能优势进一步显现。例如在4个季节数据集的6-step提前预测中,在风速急速上升或者下降是,多个对比模型都不能很好地追随风速的大幅度变化,出现了滞后等现象,而SD-MLXGBoost-GA-CGRU依然能较好地跟踪风速变化趋势。在4个季节数据集的10-step提前预测中,我们可以看到SD-PSO-LSTM、DE-GRU、MLXGBoost-ANN、LSTM、SVM和ANN都出现了比较明显的欠拟合现象,尤其是在4月和7月数据集上,SVM、ANN和LSTM在风速反复波动的时候都出现了迟滞问题,而SD-PSO-LSTM则在风速反复波动式上升或下降时波动过大,DE-GRU和MLXGBoost-ANN的拟合度也急剧下降。SD-MLXGBoost-GA-CGRU模型在10步提前预测中的拟合度相比较1步和6步预测也有明显下降,但是相比较其它对比模型,其拟合度依旧较好。
此外,在4个季节数据集中本文所提出模型与其它6个常用模型的1-step、6-step和10-step预测的误差评价结果对比如表17所示:
表17不同模型的各季节平均预测误差比较表
根据表17,得出以下结论:总体而言,SD-MLXGBoost-GA-CGRU模型在4个数据集的风速预测中表现优于比较模型,显示出其有效和稳定的预测性能。本文所提出模型的三个误差评价指标MAE、MAPE和RMSE均小于其它比较模型,尤其在多步预测任务中,相比较LSTM、SVM、ANN以及没有经过分解的DE-GRU和MLXGBoost-ANN,本文所提出的方法具有显著的优势,MAE、MAPE和RMSE值显著减小。
从ANN和MLXGBoost-ANN的比较结果可以看出本文所提出的MLXGBoost特征选择方法对于预测性能具有一定程度的提升,该方法提取出了相关性高冗余性低的特征,简化了数据结构,避免了过拟合,从而提高了预测性能。经过SD分解后的模型的预测性能显著好于其它模型,尤其是在多步预测任务中。这些结果表明SD和MLXGBoost可以分别提高模型的预测性能,SD的贡献大于MLXGBoost,SD和MLXGBoost结合使用可以实现更大的改进。CGRU组合深层神经网络具有很强的学习能力,能够捕捉风速的不规则趋势和时间依赖关系,提高预测性能。
2.6.6误差分布的频率
前文的误差指标是为了防止正负误差抵消,是对整体误差在绝对值计算或平方计算的基础上进行平均的结果,为了了解各预测模型预测误差的真实分布情况,绘制了本文所提出的SD-MLXGBoost-GA-CGRU预测模型与其它对比模型在四个季节上单步和多步预测的误差分布概率密度直方图和核密度曲线图,通过这些图,可以更直观地看到误差的分布情况,SD-MLXGBoost-GA-CGRU模型在各季节数据集的1-step、6-step、10-step提前预测中的预测误差概率密度分布均呈尖锋状。虽然随着预测步数的增加,两边的收缩变缓,但是相比较其它对比模型,其概率密度分布依然最优。
从各季节数据集的1-step提前预测误差的概率密度分布直方图中可以明显看出,SD-MLXGBoost-GA-CGRU模型中部呈现显著尖峰状且远高于其它对比模型,两边基本低于其它模型且较早收缩,这说明SD-MLXGBoost-GA-CGRU模型在个季节数据集上的1-step提前预测的预测误差集中分布于小误差值处(-0.5m/s~0.5m/s),出现±1m/s以上的大误差值的情况比较少,1-step预测性能显著优于对比模型。
在1月、4月数据集的6-step和10-step提前预测误差的概率密度分布直方图中,SD-MLXGBoost-GA-CGRU模型同样显著优于对比模型,预测误差在靠近“0”值处的概率密度较大,即预测误差集中分布于小误差值处,大误差值的情况比较少,预测性能较好。在7月、10月数据集的6-step和10-step提前预测误差直方图中,可以看出SD-PSO-LSTM模型的预测误差概率密度分布情况也较好,与SD-MLXGBoost-GA-CGRU模型比较接近。不过在我们可以看出,虽然在小误差处的尖峰值比较接近,但是SD-MLXGBoost-GA-CGRU模型的曲线两边的收缩略早于SD-PSO-LSTM模型,即在6-step提前预测中误差在±1.5m/s以上和10-step提前预测中误差在±2.0m/s以上的情况SD-MLXGBoost-GA-CGRU模型少于SD-PSO-LSTM模型。
从各季节数据集的1-step、6-step、10-step提前预测误差的概率密度分布直方图的通过以上分析,我们可以看出SD-MLXGBoost-GA-CGRU模型在无论在1-step,6-step还是10-step提前预测,其预测误差集中分布在小误差处,性能较优,能够在多步预测任务中发挥优势。
2.6.7不同模型建立预测模型的平均时间
表18不同风速预测步骤中模型的平均计算时间。
从表18中我们可以看出:LSTM、SVM和ANN模型的平均计算时间较短,能较快完成模型的训练,但是其预测性能一般,与SD-MLXGBoost-GA-CGRU模型有较大的差距。
SD-MLXGBoost-GA-CGRU模型的平均计算时间与SD-GA-CGRU模型相比,显著降低,尤其是在多步预测的建模中。这说明了MLXGBoost特征选择对于模型建模的速度提升很大,从ANN和MLXGBoost-ANN平均计算时间的比较中也可以得到相同的结论。MLXGBoost特征选择方法通过提取出相关性高冗余性低的特征,简化了数据结构,相比较对预测误差的提升,其对训练速度的提升更加显著。
SD-MLXGBoost-GA-CGRU模型的平均计算时间与MLXGBoost-GA-CGRU模型相比,需要花费更多的时间,这是由于通过SD分解成了多个含有不同分频特征的IMF子序列,每个子序列需要分别单独建模,所以需要更多的计算时间,但是通过SD方法,模型的预测性能显著提高,多花些计算时间是有必要的。
综上所述,本发明提出了一种基于多标签特定XGBoost特征选择和二次分解的新型GA-CGRU多步骤风速预测模型。该模型结合了分解方法、多标签特征选择方法、优化模型和混合预测模型,在多步骤风速预测任务中表现良好。基于在中国山东某风场采集的几个季节的风速数据,通过与几组对比模型的实验分析,验证了所提模型的稳定性和优越性。主要结论归纳如下。
1)本文提出的二次分解方法可以在一次分解得到的子序列的基础上分解出具有高度不可预测性的高频子序列,并进一步提取风速的分频波动特征。更有效的子序列进一步提高了模型的预报能力,特别是在多步骤预报中。
2)本文提出的针对多标签的XGBoost特征选择方法,可以提取高相关、低冗余的特征,简化数据结构,提高训练速度,避免过度拟合。
3)本文建立了GA-CGRU预测模型。用卷积层来捕捉深度特征,用GRU层来获得风速的时间依赖性,用GA来优化风速预报的参数。该模型的预测精度优于流行的模型,特别是在多步骤的预测任务中。
4)从总体趋势、误差分布、拟合度、RMSE、MAE、MAPE、相关系数等误差评价指标来看,所提出的SD-MLXGboost-GA-CGRU方法在风速预报中优于基准模型。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,包括以下步骤:
S1,对原始风速信号进行分解:
S1-1,首先使用EMD对原始风速序列进行分解,将原始风速序列分解为多个风速子序列以及残差信号;
S1-2,在经过EMD分解后,利用样本熵分析估计各风速子序列的不可预测性,再将最不可预测的子序列经过VMD进一步分解,得到多个次级风速子序列;
S2,采用相空间重构将各风速子序列、次级风速子序列以及残差信号进行重构,再使用多标签XGBoost特征选择方法对各重构后的数据进行特征选择;
S3,对各特征选择后的子序列以及残差信号分别输入CGRU预测模型得到预测结果,所述模型利用CNN从各子信号中提取出特征,利用GRU识别提取出的特征与未来风速之间的时间依赖性;
S4,将各子序列以及残差信号的预测结果进行累加操作,得到最终的预测结果。
2.根据权利要求1所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述利用样本熵分析估计各风速子序列的不可预测性,是通过计算各风速子序列的样本熵,选择样本熵较高的风速子序列即样本熵从高到低进行排序的前Q个风速子序列作为最不可预测的子序列,所述样本熵计算步骤如下:
S-A,对风速子序列即风速时间序列x(i)进行相空间重构,得到矩阵Xm,m为维数,则:
其中h为矩阵Xm的子序列总行数;
S-B,定义子序列Xm(i)与Xm(j)的距离d[Xm(i),Xm(j)]为两者对应数值的最大差值的绝对值,即:
d[Xm(i),Xm(j)]=max|x(i+k)-x(j+k)|,k=(0,1,…,m-1),i≠j (11)
其中,Xm(i)、Xm(j)为矩阵Xm的任意两行子序列;
k为0~m-1之间的一个数,x(i+k)-x(j+k)表示第i行和第j行子序列对应数值之间的差值;
m为矩阵Xm的维数;
S-C,对于给定的第i行子序Xm(i),它与其它子序列之间都有一个最大差值d[Xm(i),Xm(j)],1≤j≤n-m,j≠i,统计d[Xm(i),Xm(j)]≤r的数目,记做Bi;对于1≤i≤n-m定义:
m为矩阵Xm的维数;
n为原始时间序列长度;
S-D,令m=m+1,重复步骤S-A~S-C,计算得到Bm+1(r);
S-E,样本熵的计算式为:
Bm+1(r)表示维度为m+1时的Bi(r)值;
Bi(r)表示第i行与其它行对应数值的最大距离小于阈值r的个数占所有最大差值的比例;
r表示相似容限即阈值。
3.根据权利要求2所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,还包括:在所述选择样本熵较高的风速子序列之前,先剔除样本熵值接近于0的风速子序列。
4.根据权利要求1所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述子序列经过VMD进一步分解的迭代过程包括以下步骤:
其中,n为迭代的次数;
f(t)表示原始序列;
α为二次惩罚因子;
w表示中心频率;
wk表示中心频率的第k个分量
||2表示绝对值的平方;
其中γ表示更新参数;
5.根据权利要求1所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述采用相空间重构将各风速子序列进行重构的具体操作步骤包括:
S20,设定嵌入维度m和延迟时间t;
S21,通过给定的嵌入维度m和延迟时间t构建滑动窗口;
S23,通过滑动窗口,风速时间序列{x(i),i=1,2,3,…,n}在高维相空间中重构,得到数据矩阵。
6.根据权利要求1所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述使用多标签XGBoost特征选择方法对各重构后的子序列进行特征选择包括以下步骤:
S200,将相空间重构后得到的数据矩阵的前M列作为M个输入特征,后N列作为N个多步输出标签;然后将输入特征与每一个标签分别进行XGBOOST特征选择,得到每一个输入特征对应各个标签的重要性得分,每个输入特征将会得到N个重要性得分值;
S201,采用两个指标选择最终需要的输入特征:
一个指标是各个特征的平均得分,即每个特征对于N个标签的重要性得分的平均值,计算公式如下:
其中Average-scorem表示第m个特征对于N个标签的重要性得分的平均值;
gainmn表示第m个特征对于n个标签的重要性得分;
N为标签总数;
按照各个特征在N个标签上重要性得分平均值大小进行降序排列,平均得分最高的p个特征则被选择;
另一个指标是各个特征的最大得分,即每个特征对于N个标签的重要性得分中的最大值,计算公式如下:
Highest-scorem=Max {gainm1,gainm2,gainm3,…,gainmN}. (22)
其中,Highest-scorem表示第m个特征对于N个标签的重要性得分中的最大值;
按照各个特征在N个标签上重要性得分最大值的大小进行降序排列,最高得分排序中最高的q个特征则被选择;
最后综合两个指标确定最终的选定输入特征,若特征均在两个指标中被选择,则作为最终需要的输入特征。
7.根据权利要求1所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述CGRU预测模型包括:1个卷积层和2个GRU层,所述卷积层采用一维卷积。
8.根据权利要求7所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述CGRU预测模型的损失函数采用均方误差,优化函数采用Adam算法,评价指标为均方根误差、平均绝对误差和平均绝对百分比误差。
9.根据权利要求1所述的一种基于组合CGRU模型的短期风速多步预测方法,其特征在于,所述S3还包括:通过GA对所述CGRU预测模型的参数进行联合优化,所述参数包括学习率、批量大小及卷积循环层的滤波器的数量的参数,具体步骤如下:
Step1:划分训练样本和预测样本,设定所述参数搜寻范围;
Step2:确定CGRU模型适应度函数,本文选用均方根误差作为适应度函数,描述如式:
其中,yi为第i个样本的实测值;
N为样本总数量;
learning_ratemin,learning_ratemax分别表示最小学习率和最大学习率;
batch_sizemin,batch_sizemax分别表示最小批量大小和最大批量大小;
filtersmin,filtersmax分别表示最小滤波器数和最大滤波器数;
Step3:设置GA算法的群体大小k,最大迭代次数T,突变概率Pm,选择精英数量概率Pxi,交叉概率Pc等.设置当前迭代次数t=0,初始化粒子位置和速度;
Step4:初始化种群,产生第一代种群;
Step5:基于式(36)计算目标适应度值,并进行评价即最小化预测样本均方根误差;
Step6:对上一代种群根据精英选择率、交叉概率、变异概率进行选择、交叉、突变,更新产生下一代种群;
Step7:判断GA算法是否满足终止条件,若满足则转至Step8,否则令t=t+1,执行Step5~Step7;
Step8:输出GA算法全局最优个体空间位置和适应度值,即待优化问题最优解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211346557.1A CN115713144A (zh) | 2022-10-31 | 2022-10-31 | 基于组合cgru模型的短期风速多步预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211346557.1A CN115713144A (zh) | 2022-10-31 | 2022-10-31 | 基于组合cgru模型的短期风速多步预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115713144A true CN115713144A (zh) | 2023-02-24 |
Family
ID=85231793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211346557.1A Pending CN115713144A (zh) | 2022-10-31 | 2022-10-31 | 基于组合cgru模型的短期风速多步预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115713144A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117474152A (zh) * | 2023-10-27 | 2024-01-30 | 湖北华中电力科技开发有限责任公司 | 基于Conv1d的多变量CNN-GRU算法用于短期负荷的实际预测方法 |
-
2022
- 2022-10-31 CN CN202211346557.1A patent/CN115713144A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117474152A (zh) * | 2023-10-27 | 2024-01-30 | 湖北华中电力科技开发有限责任公司 | 基于Conv1d的多变量CNN-GRU算法用于短期负荷的实际预测方法 |
CN117474152B (zh) * | 2023-10-27 | 2024-04-09 | 湖北华中电力科技开发有限责任公司 | 基于Conv1d的多变量CNN-GRU算法用于短期负荷的实际预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647980A (zh) | 一种基于gru神经网络的时间序列预测方法 | |
Jalali et al. | An advanced short-term wind power forecasting framework based on the optimized deep neural network models | |
Zeng et al. | A GA-based feature selection and parameter optimization for support tucker machine | |
Jiang et al. | A CGRU multi-step wind speed forecasting model based on multi-label specific XGBoost feature selection and secondary decomposition | |
CN114399032B (zh) | 一种电能表计量误差预测方法及系统 | |
CN112100911B (zh) | 一种基于深度bilstm的太阳辐射预测方法 | |
CN110969304A (zh) | 数字工厂生产产能预测方法、系统、装置 | |
Mehmanpazir et al. | Development of an evolutionary fuzzy expert system for estimating future behavior of stock price | |
Verma et al. | Prediction of students’ academic performance using Machine Learning Techniques | |
CN116644970A (zh) | 一种基于vmd分解和叠层深度学习的光伏功率预测方法 | |
CN115293400A (zh) | 一种电力系统负荷预测方法及系统 | |
CN116702831A (zh) | 一种考虑数据大量丢失的混合短期风电功率预测方法 | |
CN116720620A (zh) | 一种基于IPSO算法优化CNN-BiGRU-Attention网络模型的储粮通风温度预测方法 | |
CN116702937A (zh) | 一种基于K-means均值聚类及优化BP神经网络的光伏出力日前预测方法 | |
CN115713144A (zh) | 基于组合cgru模型的短期风速多步预测方法 | |
Tian et al. | A wind speed prediction system based on new data preprocessing strategy and improved multi-objective optimizer | |
CN111275074A (zh) | 基于栈式自编码网络模型的电力cps信息攻击辨识方法 | |
CN116632834A (zh) | 一种基于SSA-BiGRU-Attention的短期电力负荷预测方法 | |
Khabusi et al. | A deep learning approach to predict dissolved oxygen in aquaculture | |
Rahman et al. | Implementation of artificial neural network on regression analysis | |
CN114139783A (zh) | 基于非线性加权组合的风电短期功率预测方法及装置 | |
CN114444763A (zh) | 基于afsa-gnn的风电功率预测方法 | |
Gill et al. | An efficient neural networks based genetic algorithm model for soil temperature prediction | |
Sujamol et al. | A genetically optimized method for weight updating in fuzzy cognitive maps | |
CN113191526A (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 |