前言:
今天看官们对“改进自适应遗传算法在bp神经网络代码”大体比较讲究,看官们都需要知道一些“改进自适应遗传算法在bp神经网络代码”的相关内容。那么小编在网摘上汇集了一些对于“改进自适应遗传算法在bp神经网络代码””的相关知识,希望姐妹们能喜欢,小伙伴们一起来了解一下吧!摘 要:
为了解决风电功率的间歇性与非平稳性带来的功率预测难度,提出了一种基于CEEMDAN-精细复合多尺度熵和Stacking集成学习的短期风电功率预测方法。在对风电功率进行预测之前,对风电功率数据进行预处理。首先引入自适应噪声完备集合经验模态分解(CEEMDAN)方法分解风电功率原始序列,并计算各分解分量的精细复合多尺度熵(RCMSE)。然后,将熵值相近的分量序列重组成新序列,以降低模型复杂度和提高计算效率。在预测阶段,对重组之后的序列分别建立Stacking集成学习模型进行风电功率短期预测,最后对预测结果进行重组。通过新疆某风电场实测数据证明:结合各单一预测模型优点的Stacking集成学习模型方法与其4种基学习器KNN、RF、SVR和ANN相比,Stacking模型具有更高的风电预测准确度。在同等条件下,CEEMDAN-RCMSE-Stacking模型均方根误差相比单一的Stacking模型及EMD-RCMSE-Stacking模型分别减少了20.34%和9.74%,平均绝对误差分别减少了24.55%和6.35%,而拟合优度系数分别提高了4.09%和1.62%,即CEEMDAN-RCMSE-Stacking模型拥有更高的预测性能。
关键词:
短期风电功率预测;CEEMDAN;精细复合多尺度熵;Stacking集成学习;影响因素;新能源;清洁可再生能源;
作者简介:
康文豪(1995—),男,硕士研究生,主要从事新能源发电预测研究。
*李琰(1977—),女,副教授,博士,主要从事电力信息物理融合系统,新能源并网研究。
基金:
国家自然科学基金项目(61761049);
引用:
康文豪,徐天奇,王阳光,等. 基于 CEEMDAN-精细复合多尺度熵和 Stacking 集成学习的短期风电功率预测[J]. 水利水电技术 ( 中英文) ,2022,53( 2) : 163-172.
KANG Wenhao,XU Tianqi,WANG Yangguang,et al. CEEMDAN-refined composite multiscale entropy and Stacking ensemble learningbased short-term wind power prediction[J]. Water Resources and Hydropower Engineering,2022,53( 2) : 163-172.
0 引 言
风能作为一种清洁可再生能源,具有广阔的应用潜力。但风电出力的随机性和波动性,严重影响电力系统稳定性。准确的风电功率预测是解决该问题的有效方法之一。
为了减小风电功率的非平稳性,利用信号分解技术将原始风电功率序列分解成不同尺度的模态分量,再对各分量序列进行建模预测,可有助于提高功率预测的精度。文献[3]利用小波变换分解风电场输出功率时间序列,建立径向基神经网络风功率预测模型。文献[4]利用小波变换提取风速、风向、历史风功率的不同频率特征信号,建立改进自适应遗传算法BP神经网络的短期风电功率预测模型。文献[5]通过经验模态分解(EMD)方法分解风电功率时间序列,从而建立风电功率预测模型。文献[6]通过EMD技术将风力机功率时间序列分解为多个特征模态量,继而建立基于蚁群优化极值学习机制,最终构建出风力机功率时间序列预测模型。但EMD分解过程中容易存在模态混叠问题。为了解决这一问题,文献[7,8]引入EEMD方法进行信号分解。文献[7]运用集成经验模态分解(EEMD)和将功率历史数据分解分解为一系列子序列,从而建立一种集成经验模态分解和改进最小二乘支持向量机(LSSVM)相结合的短期风电功率预测组合模型。文献[8]通过EEMD技术将原始风电序列分解,从而对各子序列建立鲸鱼优化算法-支持向量机短期风电功率预测模型,并仿真验证了该模型的有效性。EEMD方法虽然解决了EMD所存在的问题,其会出现噪声难以消除的问题。自适应噪声完备集合经验模态分解(complete ensemble empirical mode decomposition with adaptive noise, CEEMDAN)很好地克服了上述方法存在的问题。该分解方法已应用到序列分解上,并取得很好的表现。基于此,本文应用CEEMDAN方法分解风电功率原始序列。
在对原始序列进行分解之后,引入熵算法来评价各分解分量的复杂度,并根据熵值相似度进行重组,可实现降低建模难度。研究人员常采用样本熵、排列熵和模糊熵等单一尺度熵算法。然而,单一尺度的熵算法并不能有效衡量序列的复杂性。由WU等提出的精细复合多尺度熵(Refined composite multiscale entropy, RCMSE)是一种新型多尺度熵算法。该方法不仅克服单一尺度的局限性,而且得到的熵值相比其他多尺度熵算法稳定性更好。文献[14]将该方法应用于故障诊断领域,利用RCMSE提取滚动轴承振动信号多尺度复杂度特征,构建初始特征向量矩阵;并通过试验验证了RCMSE能够精确地提取振动信号故障特征信息,且熵值稳定性优良。文献[15]提出了基于RCMSE特征的多层次SVM睡眠自动分期模型,利用精细复合多尺度熵对睡眠信号进行特征提取,选用脑电以及眼电通道的信号为睡眠分期提供了良好的输入特性,从而使该方法的睡眠分期效果精良。因此,本文将精细复合多尺度熵用于判断CEEMDAN分解各分量的复杂度。
针对上述问题,国内外许多研究人员将以支持向量回归(Support Vector Regression, SVR)和人工神经网络(Artificial Neural Network, ANN)为代表的机器学习算法用于风电功率预测问题中。但目前多为单一预测模型,存在预测精度提升有限和泛化能力一般等局限性。
Stacking算法是一种多模型融合的集成学习方法,具有优良的预测性能。文献[18]提出一种基于Stacking融合的短期风速预测组合模型,试验证明该方法具有良好的预测精度和泛化能力。文献[19]提出一种基于 Stacking 集成学习的有源台区线损率评估方法,验证了所提方法的有效性。文献[20]采用Stacking模型融合方法构建了短期母线负荷预测,并通过某220 kV母线进行实例分析,验证了所提方法的有效性与适用性。所以,本文使用Stacking集成学习建立短期风电功率预测模型。
对此,本文提出了一种基于CEEMDAN-精细复合多尺度熵和Stacking集成学习的短期风电功率预测方法。首先通过CEEMDAN对风电功率数据进行分解,并用RCMSE方法计算熵值来判断分解分量的复杂度。然后,将熵值相近的分量合并成新分量,再用Stacking模型对各新分量建模进行预测。最后采用实际风电场数据验证了所提方法的准确性和有效性。
[3] 郑海,陈湘萍,李慧,等.小波变换和RBF神经网络的风功率预测[J].实验室研究与探索,2019,38(10):36-39.ZHENG Hai,CHEN Xiangping,LI Hui,et al.Wind power prediction based on wavelet transform and RBF neural network[J].research and exploration in laboratory,2019,38(10),36-39.
[4] 孙国良,伊力哈木·亚尔买买提,张宽,等.基于小波变换与IAGA-BP神经网络的短期风电功率预测[J/OL].电测与仪表:(2021-06-28)[2021-08-05]. Guoliang,YILIHAMU·Yaermaimaiti,ZHANG Kuang,et al.Short-term predictionof wind power based on wavelet transformand IAGA-BPneural network[J/OL].Electrical Measurement & Instrumentation:(2021-06-28)[2021-08-05]..
[5] 杨茂,陈郁林.基于EMD分解和集对分析的风电功率实时预测[J].电工技术学报,2016,31(21):86-93.YANG Mao,CHEN Yulin.Real-time prediction for wind power based on EMD and set pair analysis[J].Transactions of China Electrotechnical Society,2016,31(21):86-93.
[6] 文孝强,许洋.基于EMD分解的风力机功率特性分析与预测建模[J/OL].太阳能学报:(2020-12-04)[2021-08-05]. Xiaoqiang,XU Yang.Analysis and prediction modeling of wind power characteristics based on emd decomposition[J/OL].Acta Energiae Solaris Sinica:(2020-12-04)[2021-08-05]..
[7] 姜贵敏,陈志军,李笑竹,等.基于EEMD-ACS-LSSVM的短期风电功率预测[J].太阳能学报,2020,41(5):77-84.JIANG Guimin,CHEN Zhijun,LI Xiaozhu,et al.Short term wind power prediction based on EEMD-ACS-LSSVM[J].Acta Energiae Solaris Sinica,2020,41(5):77-84.
[8] 岳晓宇,彭显刚,林俐.鲸鱼优化支持向量机的短期风电功率预测[J].电力系统及其自动化学报,2020,32(2):146-150.YUE Xiaoyu,PENG Xiangang,LIN Li.Short-term wind power forecasting based on whales optimization algorithm and support vector machine[J].Proceedings of the CSU-EPSA,2020,32(2):146-150.
[14] 郑近德,潘海洋,包家汉,等.基于精细复合多尺度熵和自编码的滚动轴承故障诊断方法[J].噪声与振动控制,2019,39(2):175-180.ZHENG Jinde,PAN Haiyang,BAO Jiahan.Fault diagnosis method of rolling bearings based on refined composite multiscale entropy and autoencoder[J].Noise and Vibration Control,2019,39(2):175-180.
[15] 叶仙,胡洁,田畔,等.基于精细复合多尺度熵与支持向量机的睡眠分期[J].上海交通大学学报,2019,53(3):321-326.YE Xian,HU Jie,TIAN Pan,et al.Automatic sleep scoring based on refined composite multir scale entropy and support vector machine[J].Journal of Shanghai Jiaotong University,2019,53(3):321-326.
[18] 李永刚,王月,刘丰瑞,等.基于Stacking融合的短期风速预测组合模型[J].电网技术,2020,44(8):2875-2882.LI Yonggang,WANG Yue,LIU Fengrui,et al.Combination model of short-term wind speed prediction based on Stacking Fusion[J].Power System Technology,2020,44(8):2875-2882.
[19] 董美娜,刘丽平,王泽忠,等.基于Stacking集成学习的有源台区线损率评估方法[J/OL].(2021-01-22)[2021-06-21]. Meina,LIU Liping,WANG Zezhong,et al.A line loss rate evaluation method based on Stacking ensemble learning for transformer district with DG [J/OL].(2021-01-22)[2021-06-21]..
[20] 刘波,秦川,鞠平,等.基于XGBoost与Stacking模型融合的短期母线负荷预测[J].电力自动化设备,2020,40(3):147-153.LIU Bo,QIN Chuan,JU Ping,et al.Short-term bus load forecasting based on XGBoost and Stacking model fusion[J].Electric Power Automation Equipment,2020,40(3):147-153.
1 研究方法分析
1.1 CEEMDAN 算法
CEEMDAN 算法在分解过程中自适应地加入白噪声来解决了EMD会出现的模态混叠问题,同时克服了EEMD分解效率低和噪声残余的问题。CEEMDAN 算法实现的具体步骤如下。
1.2 精细复合多尺度熵
精细复合多尺度熵是在多尺度熵和复合多尺度熵基础上的一种改进算法。多尺度熵(Multiscale Entropy, MSE)是一种度量时间序列复杂度的算法,其为在不同尺度下时间序列的样本熵,但由于尺度因子增加的过程缩短了粗粒化序列长度,因此MSE有时会出现熵值不精确或导致未定义熵的问题。复合多尺度熵(Composite Multiscale Entropy, CMSE)是一种提高多尺度熵精度的方法,但它并没有解决未定义熵的问题。而RCMSE算法弥补了MSE和CMSE算法的缺陷。其主要步骤如下。
(1)对于风电功率时间序列x={x1,x2,…,xn},其第τ个尺度粗粒度过程为
采用上述的粗粒度过程获得不同时间尺度的粗粒度时间序列。
Stacking算法是一种集成学习方法。它与Bagging和Boosting方法不同之处在于Stacking算法可以集成不同类型的模型,而Bagging和Boosting方法一般为同类型模型。Stacking算法基本思路为采用K折交叉验证对基学习器训练原始风电数据集,然后把将基学习器的预测结果作为元学习器的输入,从而得到最终的预测结果。
Stacking算法最大优势在于集合不同模型的优点,可以从多种角度分析原始数据,从而使模型具有更好的预测性能。因此基学习器要选择性能优良但模型原理不同的模型。而元学习器应该选择泛化能力较强的算法,整合基学习器的预测优势,从而达到最佳的预测效果。K最邻近算法(K-Nearest Neighbor, KNN)是一种理论完善的经典机器学习方法,具有简单易实现、训练效率高等特点。随机森林(Random Forest, RF)是以决策树为基学习器构建Bagging集成学习方法,算法简单、易于实现、计算开销小,在很多数据挖掘任务中展现出强大的性能。支持向量回归对小样本、高维、复杂数据的非线性回归预测表现出很好的性能。人工神经网络是一种由神经元网络组成的学习方法,模型的泛化和拟合性能较好。
综上,本文选择KNN、RF、SVR、ANN作为基学习器,元学习器采用泛化能力较强的ANN算法。Stacking算法过程如图1所示。
具体步骤如下:
(1)对风电场原始数据构建训练集D和测试集T。
(2)对基学习器进行10折交叉验证:将训练集D随机分为10等份。令每一个基学习器都对训练集其中9份进行训练,并用剩余1份作测试集进行预测。将4个基学习器的预测结果合并成元学习器的训练集D∼D∼。
(3)令每一个基学习器对测试集T进行预测,预测结果的平均值作为元学习器的测试集T∼Τ∼。
(4)用元学习器对新训练集D∼D∼进行训练,并用此元学习器对新测试集T∼Τ∼进行预测,输出最终预测结果。
2 CEEMDAN-RCMSE-Stacking预测模型
基于上述的CEEMDAN 算法、精细复合多尺度熵和Stacking算法,本文搭建了短期风电功率预测模型,如图2所示。
具体思路如下:(1)利用CEEMDAN算法将风电功率原始数据分解成s个模态分量和1个余量。(2)计算各分量的精细复合多尺度熵值,把RCMSE熵值相近的序列进行叠加形成重组分量序列。(3)分别对各重组分量序列建立Stacking模型并进行训练和预测,得到各重组分量的风电功率预测值。(4)将各重组分量的预测值进行叠加,得到最终风电功率预测值。
3 实例仿真分析
本文采用的数据来自新疆某风电场实测数据,采样时间为2017年7月4日至8月10日。采样时间间隔为15 min, 共3 648个数据点,训练集使用前3 552个数据点,测试集为后96个数据点。
本文采用均方根误差(root mean square error, RMSE)、平均绝对误差(mean absolute error, MAE)及拟合优度系数R2来评价模型误差,定义如下
式中,yˆy^i和yi同上;y¯y¯i为平均实际功率。
3.1 风电功率序列CEEMDAN-RCMSE仿真试验
本文采用CEEMDAN算法对风电功率原始数据序列进行分解,添加白噪声组数NR=50,噪声标准差Nstd=0.05,最大迭代次数MaxIter=100。分解结果如图3所示。
由图3可知,风电功率序列被CEEMDAN分解成不同频率尺度下的10个模态分量和1个余量。由于序列的非平稳性使得分解所得分量序列较多,如果直接对各分量进行建模预测会导致计算量急剧增大。因此本文采用RCMSE方法计算各分量的精细复合多尺度熵值从而评估各分量复杂度,并基于此对各分量进行合并重组。RCMSE试验参数: 嵌入维数m=2,条件阈值r取分量序列标准差的0.2倍。时滞tau=1。各IMF分量和余量的RCMSE值如表1所列。
从由表1可看出,各分量序列的RCMSE值主要分布在0.2、0.06、0.02和0.001四个数值邻域范围内。据此,本文将各分量序列进行重组,结果如下:F1=IMF1+IMF2+IMF3+IMF4,F2=IMF5,F3=IMF6+IMF7+IMF9,F4=IMF8+IMF10+R为重组分量。图4为风电功率重组分量序列。对比图3和图4可知,重组后分量数比重组前减少了7个。因此,可以达到减少模态分量和提高计算效率目的。
3.2 Stacking模型功率预测的横向对比试验
为了对比Stacking预测模型的预测精度,本文将使用4种基学习器做提前一天风电功率预测横向对比试验。各模型误差评价指标值和功率预测图如图5所示和表2所列。
从表2中可知,在基学习器中,ANN算法预测误差RMSE和MAE最小,分别为1.565 7和1.210 8。从拟合效果来看,也是ANN模型拟合程度最高。这说明该模型表现最佳,泛化能力最强,同时实证了本文对Stacking模型的元学习器设为ANN模型的合理性和有效性。而集成了4种模型的Stacking模型取得了比单一模型更好的预测性能,其预测误差RMSE和MAE比单一模型中表现最好的ANN模型分别低了7.98%和11.41%。相比单一模型中表现最差的KNN模型则分别低了28.18%和19.17%。对风电功率实际值的拟合程度也提高了2.02%。这说明通过Stacking模型集成各模型的优点,获得更好的预测效果。
3.3 基于CEEMDAN-RCMSE-Stacking模型短期风电功率预测试验
为进一步验证所提模型的有效性,本文搭建Stacking模型和EMD-RCMSE-Stacking模型进行对比,分别对它们做提前一天预测。不同模型的功率预测结果如表3所列和图6所示。
由表3可知,相较于未进行分解重组的Stacking模型,EMD-RCMSE-Stacking模型和CEEMDAN-RCMSE-Stacking模型预测精度都有显著提升。这说明对风电功率原始序列进行信号分解重组,可以有效消除原始风电功率序列波动性对预测精度的影响,从而改善预测性能。CEEMDAN的预测性能优于EMD,其RMSE和MAE值分别降低了9.74%和6.35%,而在拟合程度方面提高了1.62%。这主要是因为CEEMDAN分解过程中并没有出现EMD 模态混叠问题,提高了Stacking预测模型的预测精度。综上,本文所提出的CEEMDAN-RCMSE-Stacking模型预测精度最高,从图6可知在预测趋势上也最贴合实际功率曲线。
3.4 全年短期风电功率预测试验
为进一步验证本文所提出的CEEMDAN-RCMSE-Stacking模型的普适性和准确性,本文使用该风电场1年12个月风电功率数据做短期风电功率预测试验。全年共35 040个数据点,随机选取每个月连续3 d(288个数据点)做测试集,剩余34752个数据点做测试集。对比模型仍为Stacking模型和EMD-RCMSE-Stacking模型。12个月风电功率在各预测模型下的预测结果如表4所列。
从表4可看到,三种模型在全年12个月中皆具有良好的预测表现,这是因为随着数据点越多,模型预测能力就越高。其中本文所提的 CEEMDAN-RCMSE-Stacking模型表现明显优于其他两种对比模型,验证了本文方法的普适性和准确性。同时,CEEMDAN-RCMSE-Stacking模型的拟合精度也是最高的,充分反映了CEEMDAN-RCMSE-Stacking模型的优良预测性能。
3.5 结果讨论
本文所提方法在单一风电场的预测任务中表现良好,适用于风电出力波动性较大的短期风电功率预测和制定日前发电计划等场合,但电网调度常常需要关注更多相邻风电场乃至风电场群的风电出力情况,以及超短期和中长期风电功率趋势,因此需要继续探索不同时空尺度下的风电功率预测。与此同时,本文所提方法仅针对风电场风电功率实测数据展开短期风电功率预测研究,并没有结合风电场的风速、风向等气象特征数据。此外,风电场风机间相互作用也会影响风电功率预测精确度。因此,综合多种影响因素下的风电功率预测特性,这也值得进一步研究。
4 结 论
本文提出了一种基于CEEMDAN-精细复合多尺度熵和Stacking集成学习的短期风电功率预测方法,并通过新疆某风电场实测数据进行实例验证。主要结论如下:
(1)针对风电功率间歇性和波动性的特点,本文引入CEEMDAN算法对风电功率序列进行分解,有效降低了原始序列的非平稳特性。同时CEEMDAN算法克服了EMD中可能出现的模态混叠问题,有助于预测模型挖掘信号特征。
(2)利用精细复合多尺度熵计算CEEMDAN分解分量的复杂度,并按RCMSE值对其进行重组,降低了模型复杂度和计算规模。
(3)充分利用不同单一模型的优势特点,应用KNN、RF、SVR、ANN作为基学习器,建立Stacking集成学习模型并对风电功率进行预测。实例结果表明,该模型克服了单一模型的局限性,大幅度提升了模型的泛化能力和风电功率预测的准确性。
水利水电技术(中英文)
水利部《水利水电技术(中英文)》杂志是中国水利水电行业的综合性技术期刊(月刊),为全国中文核心期刊,面向国内外公开发行。本刊以介绍我国水资源的开发、利用、治理、配置、节约和保护,以及水利水电工程的勘测、设计、施工、运行管理和科学研究等方面的技术经验为主,同时也报道国外的先进技术。期刊主要栏目有:水文水资源、水工建筑、工程施工、工程基础、水力学、机电技术、泥沙研究、水环境与水生态、运行管理、试验研究、工程地质、金属结构、水利经济、水利规划、防汛抗旱、建设管理、新能源、城市水利、农村水利、水土保持、水库移民、水利现代化、国际水利等。
标签: #改进自适应遗传算法在bp神经网络代码