时间:2024-05-18
李丹阳 胡宏剑 李卓璇 曾沛哲 李木
(中国矿业大学(北京) 北京 100083)
近40年来,风电技术在能源危机和环境危机的背景下迅速发展。截至2021年底,全球风机总装机容量达837 GW,新增装机量近94 GW,较2020 年同比增长率仅低1.8%。风力发电已成为全球发电不可忽视的一部分,但在风机容量和风电场规模不断扩大,风电需求与占比日渐增加的同时,也产生了诸多问题[1]。由于风力发电本身具有波动性、间歇性和不稳定性等特点,在电网的计划和调度上,风电长期面临着诸多困难。为了提高电网运行的安全性、稳定性、经济性,使电网调度更加合理,需要进行风电功率预测,进而建立起准确有效、功能完备的风电预测系统[2-3]。
目前国内外的风电功率预测方法主要有物理方法、统计方法、人工智能方法。物理方法指利用数值天气预报(Numerical Weather Prediction,NWP)获取气象数据,根据风电场功率曲线,综合考虑风电场周围等高线、粗糙度、障碍物等信息进行预测[4]。虽然不需要大量历史数据,但由于NWP更新频率较低且耗费大量计算资源,故不适合用于短期及超短期预测[5]。统计方法根据输入的历史数据、NWP等建立与风电输出功率的映射关系,搭建模型多为线性模型,包括卡尔曼滤波法[6]、时间序列法[7]、灰色预测法[8]等。这些模型计算速度快,短期预测性能好,但使用信息单一,模型简单,不能很好地应对突变情况,且不适合非线性较强数据的预测。人工智能方法通过对大量的历史数据进行学习、训练,能更准确地拟合出输入数据与输出功率之间的非线性关系。通过经验模态分解将风速分解为一系列更具规律性和平稳性的数据序列,再构建对应的支持向量机(Support Vector Machine,SVM)模型,从而提高了短期预测的精度[9]。利用注意力模型对长短期记忆网络(Long-term and Short-Term Memory,LSTM)各个特征向量的权重进行,相较于传统LSTM 显著提高了预测精度。薛阳等人[10]为减少模型输出量,将卷积神经网络(Convolutional Neural Network,CNN)和门循环单元(Gate Recurrent Unit,GRU)相结合,得到超短期风电功率预测结果,有效解决了梯度爆炸的问题[11]。
考虑到时间卷积网络(Temporal Convolutional Network,TCN)具有稳定的梯度、可变长度输入等优点,本文基于TCN来挖掘历史风电数据与风电输出功率之间的规律,预测未来的风电功率并通过改变预测时间节点来比较不同预测时间节点模型的精确度[12]。
TCN 是一种新型的时间卷积网络,可用于解决时间序列预测问题,由Lea等人于2016年首次提出,通常涉及两个步骤:首先,使用CNN 编码时空信息来计算相关的低级特征;其次,将这些低级特征输入分类器中,使用循环神经网络(Recurrent Neural Network,RNN)收集高级时间信息。
TCN 中采用的膨胀卷积结构,如图1 所示。因果卷积层实现了只使用当前和过去的样本计算t时刻的输出。另外,为了解决梯度消失等问题,采用拓展卷积层,在获得足够大的感受野时尽可能减少卷积层数,从而减少计算量。其中一维输入向量xi的第n个元素处的膨胀卷积计算式(1)如下:
图1 膨胀卷积原理图
式(1)中:q∈0,1,…,k-1为过滤器,d为膨胀因子,k为过滤器的大小。
TCN 的残差连接结构和扩展因果卷积结构如图2所示,残差连接结构由两个相同的连续部分组成,其结构按照膨胀因果卷积、权值规一化、激活函数和随机失活排列的顺序构成。数据输入1×1 卷积层以保证输入和输出宽度相同,并通过膨胀卷积、权值规范化、激活函数和随机失活结构进行两次输出。
图2 残差连接结构和扩展因果卷积结构
2.1.1 数据集的划分
在使用数据集训练模型之前,还需要按照a:b:c的比例将数据集划分成3 个部分:训练集(Tr)、验证集(Va)和测试集(Te)。其中,训练集用于更新模型中的权重参数。验证集通常是从训练集中提取出的一部分,作用是在模型训练的每个迭代过程中验证当前模型的参数优化程度,也是选择最优模型的重要基础。测试集是用于评估最终模型性能的数据,不参与模型的训练过程。
2.1.2 数据清洗
数据清洗是不可或缺的重要环节,其结果决定了数据分析的准确性,这直接影响到模型的训练效果。风电功率数据具有较强的随机性和波动性,为了尽可能挖掘训练数据中隐藏的变化规律,本文采用基于统计学的数据填充法和删除法对数据集进行初步处理,将所有负值设置为0,删除其值超出正常范围的数据,并用线性插值方法填充数据中的缺失点。如果在连续的长时间内存在缺失点,则直接舍弃该时间段内的数据,以保持数据集的时间连续性和完整性。
2.1.3 数据归一化
通常从风电场收集的信息包括参数信息的不同方面,如风力资源、气象条件和风力涡轮机输出。由于数据集中包含了各种物理量,且数据的单位和量级均不同。例如:风力涡轮机上的传感器测量的风速以米/秒(m/s)为单位,而风电场的输出功率通常以兆瓦(MW)为单位。因此,在输入到网络模型之前,数据集需要进行归一化。数据归一化是数据分析中最常见的操作,主要思想是通过数学公式将有量纲表达式转换为无量纲表达式,这可以防止不同的特征维数和数量级对计算产生不利影响,并有助于提高模型的收敛速度。
本文采用数据归一化中的最值归一化(Min-Max Normalization)对其进行处理,将所有的特征数据值都映射到[0,1]这个区间内,具体公式为
式(2)中:xmax和xmin是指要归一化数据的最大值和最小值,x为特征数据的实际值;xstd为经归一化后得到的特征值。
本实验采用均方根误差(RMSE)来表征预测精度,如式(3)所示。
式(3)中:n为训练或测试样本的数目;ŷi为预测功率值;yi为真实功率值。
基于预处理之后的数据集,把训练集(Tr)的数据输入网络进行模型的训练,再把验证集(Va)的数据带入模型进行验证,同时记录每轮迭代的训练集损失函数值和验证集训练损失函数值。若满足早退条件,则保存此时模型为最优模型。将测试集(Te)的数据带入最优模型得到RMSE的值,否则,进行下一轮循环迭代,直至满足早退条件或者达到循环设定的次数。建模过程如图3所示。
图3 建模流程图
本文取自Longyuan Power Group Corp.Ltd: SDWPF的风电预测数据集。数据集由风电场30 台风电涡轮机以15 min为记录间隔连续记录7 d的真实数据,包含了风力涡轮机ID、纪录日、记录创建时间、风速计记录的风速、风向与涡轮机舱位置之间的角度、叶片1~3的桨距角、有功功率共9个元素。将数据集中ID为105~124 的20 个涡轮机数据作为训练集(Tr),共11 838 组数据;将ID 为124~129 的5 个涡轮机数据作为验证集(Va),共3 029 组数据;将ID 为130~134 的5 个涡轮机数据作为测试集(Te),共3 106组数据。
本实验选用的时间步长(timestep)为32,训练的数据个数(batch_size)为32,学习率(learning_rate)为0.001,循环迭代次数(epoch)为100,时间卷积层数为3,用4倍预测结果的预测数据进行预测,即4 组数据预测未来一个点,以此类推。任意选取测试集中的某段时刻,对未来的1个点、4个点和16个点的风功率进行预测,预测曲线如图4所示。其中:实线为真实功率,划线为预测未来1个点的预测功率,点-划线为预测未来4个点的预测功率,点线为预测未来16 个点的预测功率。划线和点-划线采取滚动预测的方法取得未来16个点的预测值。从图中可以看出划线与实线的贴合程度最好,点-划线程度次之,点线程度最差,且在预测8个点之后的曲线偏离情况愈加严重。
图4 多时间尺度风电功率预测曲线图
整个测试集预测结果的性能指标如表1所示。
表1 预测结果的RMSE (单位:MW)
由表中数据可知,基于本文建立的预测模型,能够对风力涡轮机的发电功率进行准确预测,并随着预测结果个数的增加,预测值与真实值的均方根误差增大,预测精度降低。
本文提出了一种基于TCN模型的风力涡轮机发电功率预测方法。通过选取与功率相关的特征作为网络输入,实现不同时间尺度的功率预测。本文研究内容不仅为超短期风电功率预测选取不同的时间尺度提供了参考依据,而且对于研究电力系统领域中其他预测问题如光伏发电、潮汐发电功率预测等提供了借鉴意义。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!