黄文琦,方必武,戴珍,侯佳萱,曹尚,梁凌宇,林全郴,余涛
(1.南方电网数字电网集团有限公司,广州市 510670;2.中国南方电网电力调度控制中心,广州市 510663;3. 华南理工大学电力学院,广州市 510640)
结合目前碳中和目标的政策要求[1-2],建设以新能源为主体的新型电力系统是未来的重要发展趋势[3-5],未来将会有越来越多的新能源接入到电力系统当中,其中,风力发电具有更高的不确定性和随机性[6-7],其大规模接入电力系统将会进一步导致系统运行的不确定性增强、系统调度优化难度增大[8-9]。解决该问题的重要措施是提高风电出力预测的精确度[10]。
风电出力预测从时间尺度上可以分为超短期、短期和中长期预测,其中较为广泛应用的是短期预测,其预测内容一般为预测未来一天每小时的风电出力大小,从而为电力系统的调度与运行提供重要依据。
短期风电出力预测方法的研究主要分为传统预测方法以及人工智能预测方法,传统预测方法方面,文献[11]基于历史风电出力序列,采用差分自回归移动平均模型(autore-gressive integrated moving average, ARIMA)来拟合风电的出力曲线,但由于风电机组主要依靠风力来推动风轮转动从而产生电能,因此风电出力受风速、风向等环境因素影响较大。因此,在预测建模上,应该考虑环境因素的影响,文献[12]通过指数平滑法预测风速,接着构建状态概率模型以获得风电出力;文献[13]通过建立多元回归模型( multiple linear regression,MLR)来研究风速、风向等影响因素与风电出力的内涵联系,从而获得最优拟合解。这类方法计算简便,然而非线性拟合能力较弱,预测精度较低,并且随着智能电网的发展使得系统运行数据和外源数据的广度和维度显著增加[14],大数据与电网相结合的特点越加明显,传统预测方法难以处理数据量大的多源数据。对此,人工智能方法在非线性拟合和大数据处理方面更有优势,文献[15]和文献[16]分别基于梯度提升决策树(gradient boosting decision tree,GBDT)和随机森林(random forest, RF)的预测模型利用历史天气数据和光伏发电出力数据对模型进行迭代训练,并用于根据天气预报数据预测未来光伏发电出力,预测结果相比于传统方法取得了较大的提升。针对随机波动问题,文献[17]首先利用经验模态分解对风电历史出力序列进行分解,获得数据特征集,接着利用长短期记忆 (long-short term memory,LSTM) 人工神经网络建立预测模型;文献[18]先用CEEMD(complementary ensemble empirical mode decomposition)方法将原始数据分解成易于预测的分量,然后用遗传算法神经网络进行预测,这些方法都获得了较好的预测性能;为了进一步提高预测的可靠性,文献[19]利用Stacking集成学习方法和LSTM模型,将多个子模型进行融合集成,获得一个综合预测结果,有效降低了预测误差。但上述方法都是针对同一区域风电场站进行建模,在模型训练过程中存在过拟合和稳定性差的问题,并且,受限于欧氏空间下数据的顺序输入,对风电场站之间的内涵关联信息挖掘不足,预测精度仍存在提升的空间。
图学习技术的提出为挖掘数据关联特征和数据表达提供了新的思路[20-21],与以往欧氏空间数据下建模不同,图学习是建立在非欧氏空间下的学习模型,利用节点和边来构建非欧氏空间下的数据特征,目前已在文本、图像、科学、知识图谱和组合优化等领域广泛应用。若将先进的图学习技术引入风电出力预测任务当中,将多个风电场站之间的特征用节点表示,风电场站之间的内涵关系用边表示,充分联合多个风电场站之间的关联性进行建模,实现多源数据信息的充分挖掘,有望提升预测效果。
综上,为了充分利用多源数据和时空数据特点,进一步提升风电出力预测精度,为电力调度运行部门制定调度计划提供参考,本文针对短期风电预测需求提出了基于多源数据图表示学习的风电出力预测方法,实现对未来一天24 h风电出力的精准预测。本文创新点总结如下:
1)基于Stacking理论和图深度学习理论设计了一种能够融合多个风电场站特征数据的图数据表达形式,通过将多个风电场站下的数据转化成非欧氏空间下的数据,从而获得了对多个风电场站的图数据表达形式,有效地集成了多个场站下的多个基础预测方法的结果和所对应的风电场站的特征信息。
2)设计了带注意力残差机制的图卷积网络(graph convolutional network, GCN),该网络在原来传统的图卷积方法上增加注意力和残差链接过程,使得在模型构建的过程中不仅能够搭建多层图卷积神经网络,还能够提取更加丰富的特征信息,提升了图学习过程中对特征数据的融合和提取性能。
传统风电出力预测系统通常表现为分散式预测系统,即单个风电场站配有一套功率预测系统,该模式不仅成本高昂,且系统中的多源数据并不互通,在预测过程中易受数据缺失、数据异常等问题的影响,功率预测效果存在一定的局限性。随着计算机技术和大数据技术的不断发展,风电出力预测系统逐步从分散模式趋向于统一,其表现为单一系统集成多个风电场站的多源数据和预测模型,并实现集中功率预测[22-23],如图1所示。
图1 风电出力预测系统变化趋势
其表现为如下特点,一方面,集中式的风电出力预测系统集中了多个数据平台,其数据来源各异,且数据记录都能够为电网运行决策等提供重要的信息挖掘数据基础,若能够联合运用大数据信息,将能有效提高数据利用率,提高电网智能化管理运行水平[24-25];另一方面,随着高精度采集设备的技术提升以及通讯技术的提高,数据的颗粒度越来越精细化,大量细颗粒度的数据要求预测系统能更好地处理与挖掘这些数据特征。但目前所用的风电出力预测方法以传统方法为主,导致大数据价值尚未得到充分挖掘、融合表征困难、挖掘效率低下、分析方法缺失等问题。
为此,文中提出了基于多源数据图表示学习的风电出力预测方法,方法通过基于Stacking集成学习框架与残差图卷积的方式进行融合建模,不仅获得更高精度的风电出力结果,还能有效利用电网多源大数据,充分挖掘重要隐含特征。其总体框架如图2所示。
图2 总体框架
1.2.1 Stacking集成学习框架
由于风电出力功率容易受气象变动的影响,呈现出波动性和随机性高的特点,因此,在开展风电出力预测任务时,为了提升模型的稳定性,并避免出现模型过拟合等问题,可以采用集成学习的方式进行特征挖掘和模型学习,实现提高模型综合性能的目的[26]。
集成学习的实现思路为对多个基础预测模型所得到的结果进行综合评价,组合成一个综合的预测模型,最后输出一个可靠、稳定的预测结果,这种学习方式不仅降低了模型过拟合的风险,还能够充分结合各类基础算法的优势,实现高精度的风电出力预测。目前常用的集成学习方式有Bagging、Boosting和Stacking等,其中,Stacking[27]集成学习能够融合多种异质基础预测模型,因此本文采用Stacking的集成学习方式进行融合建模,其集成学习框架如图3所示。首先将数据集分成训练集和测试集,接着,利用多个基础预测模型对测试集的输入特征和输出结果进行建模,得到多个基础预测结果,接着再利用一个综合模型学习基础预测结果到训练集中的输出结果的非线性映射关系,从而获得综合集成结果,并用测试集验证集成学习的效果。
1.2.2 基于Stacking集成学习框架的图数据
图数据的特点在于可以利用节点和连接两个节点之间的边来表征数据信息,是一种新的数据表达方式[28-29]。在风电出力预测问题上,由于现场的测量系统以及气象测量位置等问题,使得风电场站所对应的气象数据并不是最为精确的,为了避免这种数据上的缺陷,多个场站的联合分析与建模是关键。相邻风电场站之间的气象数据或者出力数据都可以为其他场站的出力分析提供参考,相关性越高,则表示场站之间的关联性越强。由于欧氏空间下无法对这种数据关系清晰建模,因此,文中通过构建“多场站图数据”来表示多个场站之间的功率。在构建多场站图数据的时候,结合Stacking集成学习的思想,将风电场站的数据特征及其多个基础预测结果作为节点数据,将场站之间的功率相关性大小作为边大小,如图4所示,从而实现充分表达多个场站间的数据及其相关关系,有助于在执行风电出力预测任务时充分考虑相邻场站之间的影响。
图4 基于Stacking的多场站图数据
1.2.3 构建“基于Stacking的多场站图数据”
2)一个图数据G由G(A,X,E)构成,其中,A为全连接矩阵,大小为N×N,文中所构建的为全连接图,因此元素值为1,X为该图数据的数据信息,数据为某一个时刻的多场站数据特征集合,E为连接边的权重大小,其值为不同场站之间的功率相关性大小,相关性计算公式如下所示:
(1)
3)重复1)、2)过程,获得多时刻的图数据。
其中,一个场站(即一个节点)的数据特征为对应时刻的气温、气压、湿度、风速以及不同预测方法的预测结果。
如前文所述,图数据包含两种关键特征,一是节点信息,二是结构信息,对图数据进行数据挖掘与提取,形成更加抽象表示的高级特征描述的过程就是图学习过程[30]。传统的卷积神经网络在文本和图像领域应用广泛,但是它仅能处理欧氏空间数据,不能直接处理非欧空间的图数据,因此,为了能够实现图学习过程,需要采用有效的方式对图数据进行特征分析。
GCN是一种图卷积学习模块[31],其借鉴了传统欧氏空间下特征提取的操作,通过对相邻节点的信息进行计算和聚合,从而实现将节点信息映射到另外一个向量空间上,并且在卷积的过程中保留了图的连接边信息,是一种有效的图卷积层。该过程可以用以下公式表示:
(2)
(3)
式中:ReLU表示激活函数;j∈N(i)∪{i}为包含第i节点及其相连节点的集合中的第j个节点;Θ为权重矩阵;deg(i)和deg(j)表示节点i和节点j的度。
但一般的GCN层经过多层叠加之后,会出现过渡平滑的现象[32],为此,文中参考残差卷积的特点,通过对图卷积层的初始残差拼接[33],避免了网络深度较深时出现的退化问题,从而进一步提升图卷积的性能。其计算公式为:
(4)
式中:α表示原始特征的残差衰减因子;β表示权重矩阵的衰减因子,代表第层卷积参数;Im为单位矩阵,m表示单位矩阵的阶。
图残差卷积的示意图如图5所示。
图5 图残差卷积过程
文中设计了5层网络构建风电出力预测模型,网络的输入为多个场站的功率和相关特征及基础方法预测值所构成的“多场站图数据”,输出为对应未来24 h所对应时刻的风电出力值。首先,模型使用1个全连接层进行特征变换,其次使用一层激活层对特征进行非线性映射。其次使用3个图残差卷积层堆叠提取图数据的结构特征,最后使用1个全连接层实现对未来出力的预测。文中所构建的风电出力预测模型如图6所示。
图6 风电出力预测模型
第1层是全连接层,旨在对原始特征进行特征变换,将每个节点的特征映射到更高维的特征空间下,以提高对数据特征提取分析能力,其计算公式为:
(5)
第2层为激活层,采用激活函数对第一层的特征进行非线性映射,其计算公式为:
(6)
第3~5层为图残差卷积层,如公式(4)所示,k分别取3、4、5。该模型的α参数取经验值0.5,表示保留50%的初始特征信息,该参数设置过小会使得多层图卷积后将难以保留原有特征,设置过大则导致学习效率降低;β参数取默认值0。
最后一层为下游任务层,其功能在于将深层特征映射到目标任务上,其实现方式为使用全连接层的方式进行非线性映射,连接参数同样取64,其具体计算公式为:
(7)
文中构建的模型实际上属于回归问题,因此使用回归问题中常用的均方误差作为网络训练使用的损失函数,为了防止模型出现过拟合以及增强模型的泛化能力,文中采用加入L2正则化的均方误差损失函数:
(8)
训练过程以 Adam 优化算法作为网络的优化器,初始学习率设置为 0.001,学习率过大则容易导致模型不收敛,设置过小会大大增大训练所需的时间,并容易陷入局部最优解;训练样本数量设置为25,训练迭代次数设置为100。
为进一步量化评价预测效果,文中引入相对平均误差(mean absolute percentage error, MAPE)与均方根误差(root mean square error, RMSE)两个评价指标,对预测曲线与真实曲线的误差进行综合评估,其计算方式如下所示。
(9)
(10)
文中选取某大赛的数据集对文中提出的模型进行训练和测试。数据集包括多个风电场站2019年、2020年两年的历史功率数据、运行记录数据、实测气象数据以及天气预报等多源数据,保证了可用数据的多样性,同时,数据的采集频率为15 min采集1次,高时间分辨的数据也为以数据驱动的建模奠定了基础。
进一步地,采用线性插值的方式对缺失数据进行填补,并依照训练集、验证集和测试集之间比例为6∶1∶2的原则对原始数据进行划分,获得模型的基础数据集。
对风电机组的功率数据修复完后,按时间序列进行曲线绘制,得到图7所示曲线。
图7 风电功率曲线
从图7可以看出,风力发电机组的输出功率呈现出较大的随机波动的特点,为了挖掘风电机组的功率数据统计分布情况,对6个不同时刻的风电功率进行统计,结果如图8所示。
可以发现,不同时刻的出力分布不同,若运用单一模型对全时间尺度进行建模将难以保证预测精度,因此采用分时段的建模方法将具有更好的效果。
为了探寻各个场站之间的潜在联系,计算各个场站之间各类特征的相关性,其结果如图9所示,从相关性热力图可以看出,不同场站之间的特征参数存在一定的关联性,因此,利用图卷积的方法有望挖掘多个场站之间的潜在关联,从而提高预测的精度。
为了验证图卷积和集成学习的有效性,本文选取了传统方法ARIMA和MLR以及人工智能方法RF、极端梯度提升(extreme gradient boosting, XGBoost)、GBDT、基于决策树的快速轻量化算法(light gradient boosting machine, Lgbm)作为对比算例,并且,将上述4种人工智能方法的预测结果作为深度学习算法的输入,具体的输入输出参数及模型参数如表1所示。
表1 预测方法的输入输出参数
2.4.1 集成方法与基础方法比较
运用文中所提方法和各种预测方法对同一个风电机组进行出力预测,并计算不同方法预测结果与真实曲线之间的MAPE与RMSE结果,其结果如图10所示。
图10 预测结果箱体图
从图中可以看出,文中所提的方法具有更小的预测偏差,即有更高的预测精度,并且,其预测误差的总体极差也相对较小,说明了针对随机性较强的风电机组输出功率,该算法比一般的算法具有更好的稳定性,能够综合多个基础预测值的结果。
为了进一步地验证文中所提算法,对多个风电场的结果进行计算,并将其展示于表2中,从指标计算结果可以看到,无论是MAPE还是RMSE,对于多个风电机组的真实出力下,文中所提方法的误差结果更小,即预测精度更高,这有效的证明了文中所提方法在日前预测中相较于其他算法的优越性。
表2 算法对比结果
2.4.2 不同集成方法比较
为了验证图卷积方法能够有效联合多个场站的数据特征,实现高精度风电场站的功率预测,将文中所提方法中的图卷积集成方式换成其他神经网络(BP、LSTM)进行集成,并计算其误差结果,如表3所示。
表3 不同集成方法对比结果
从表中可以看出,对比集成方式预测精度比图卷积集成方式的精度低,这是因为对比方法仅能对欧氏空间下的数据特征进行学习,其计算原理为将所有输入特征简单地展平,而图卷积学习方法能够学习非欧氏空间下的数据,将不同电站的关联性也考虑在计算当中,因此获得了较好的预测效果。
文中提出的基于多源数据图表示学习的风电出力预测方法相比于传统方法取得了更高的预测精度,原因总结如下:
1)Stacking集成学习框架能够有效集成大数据与基础预测方法的结果,适用于集中式的风电出力预测系统,能够有效提升预测精度。
2)基于图理论将数据特征转换成非欧氏空间下的图数据,能够有效联合集成多个场站的信息,挖掘其中的关联关系。
3)引入了带注意力残差机制的图卷积网络来提升图学习过程中的特征融合和特征提取性能,该机制有利于搭建多层图卷积神经网络,提取更加丰富的特征信息。
本文所提方法融合了多个场站的特征信息以及多个场站的多个基础预测模型进行建模,该方法仍然存在一定的提升空间:
1)优化图学习训练过程,提升模型训练效率。目前的图学习过程是针对单一图进行图学习,训练效率仍有一定的提升空间,未来可设置多图并行训练机制,将单一图训练过程转化成多图并行训练,或者改进图残差卷积的计算方式来提升模型的训练效率,从而减少建模所需要的时间。
2)研究适应于动态变化的多场站图学习方法。本文所提方法是基于静态图数据结构开展研究,适用于对在一定区域内的多个风电场站融合建模,但是若该区域新建风电场站,则需要重新训练模型,因此,未来可研究适应于动态变化的多场站图学习方法,提高模型的适应能力。
3)应用于多个光伏场站的出力预测。光伏出力与风电出力类似,其出力大小均受环境因素的影响,因此,可以引用本文方法对多个风电场站的建模思路,对多个光伏场站进行建模,以获得精准的光伏出力预测结果。