基于宽度-深度神经网络的风电功率预测方法
2019-06-25赵智辉张君胜何培东杨凯麟王晨丞
赵智辉,张君胜,何培东,杨凯麟,王晨丞
(国网四川省电力公司,四川 成都 610000)
0 引 言
风能源是一种洁净的可再生能源。随着风力发电技术的日趋成熟,风力发电系统在电力建设中的建设规模不断扩大。然而,风电的间歇性和随机波动性使得大容量风电机组的稳定性受到了严峻地挑战。因此,需要研究高精度风电功率预测方法来维护电网安全和稳定。
现有的风电功率预测算法主要分为以下两大类:一类是基于风速时间序列进行功率预测的方法。这类方法通过分析风速的时间序列,通过预测风速来获得风电场功率。典型的算法有持续预测法[1]自回归移动平均方法[2-5]、自回归差分移动平均法[6]、混沌时间序列法[7]以及广义自回归条件异方差方法[8-10]等。其中,持续预测法是一种传统的风电功率预测算法是直接利用风速与风电功率之间的联系,通过数据拟合来获得风电输出功率的预测。这种算法只考虑了风速对风电功率的影响,其算法复杂度较低。
另一类是基于统计模型的方法,包括人工神经网络法[11,15]、模糊逻辑法等[16]。人工神经网络法是根据风电场风速历史数据,基于人工神经网络进行风电功率的预测。这类方法的优点在于不需要人工建立风电功率预测模型,而是通过神经网络来拟合出最优的预测模型。
近年来,随着机器学习领域的不断发展,深度学习在大数据处理方面具备了独一无二的优势。深度学习算法能够处理采集得到的原始数据,其可以在不同层自学习特征,而不像传统机器学习算法需要丰富的专业领域知识来处理数据[17]。由于深度学习算法的自学习性,随着获得的数据量的增加,该算法能够自行调参,从而提高算法精度。
风功率预测不仅受到风速因素的影响,还同时受到风向、空气密度等因素的影响,为了更好的预测风电功率,需要将上述因素均考虑进来。然而这些因素有的属于离散特征,有的属于连续特征,人工发掘和建立这些因素与风电功率的数学模型是十分困难,并且精度不够。因此,本文提出一种利用宽度-深度神经网络来进行风电功率预测的方法。
宽度-深度神经网络(Wide and Deep Neural Network,WDNN)是由谷歌H.T Cheng等人[18]提出的网络模型,该模型同时结合了宽带神经网络和深度神经网络的优势,能够同时利用人工选择的特征以及网络学习到的深度特征。本文利用风电场大量历史数据,通过将风电场不同电机位置的风速、风向、空气密度等因素输入到WDNN中,利用机器学习算法来获得更高的风电功率预测精度。
1 宽度-深度神经网络
宽度-深度神经网络主要由两个部件构成(图1):即宽度部件以及深度部件。宽度部件是根据宽度神经网络生成的,它本质上是一个线性模型,其可以用下式表示:
y=wTx+b
(1)
式中,y为预测值,x=[x1, x2,…., xd] 代表了选择的特征向量,w=[w1, w2,…,wd]代表了模型参数,b代表了线性偏差。
图1 宽度-深度神经网络组成
在使用宽带神经网络时,可以同时选择数据的原始特征及变换特征作为输入。变换特征是指将原始特征进行交叉积得到的新特征向量,特征变换的过程如下:
(2)
式中,cki为1当且仅当第i列特征属于选择的变换特征zk。通过利用交叉积进行特征变换,在保持输入特征向量稀疏性的同时,使得线性的宽度网络获得了一定的非线性,从而使的预测精度能够提高。但仅利用宽度神经网络的限制是只能利用现有的数据特征进行组合,而不能自行产生一些特征。为了解决这一缺陷,我们采用深度神经网络来从数据中学习一些深度特征。
在宽度-深度神经网络中,深度部件是指一个前向反馈的神经网络,其由三部分构成,即输入层、隐含层以及输出层。对于输入的类别特征,输入的原始特征通常是一些词汇,如果直接将这些词汇表示为一些独立的离散符号,将会导致产生大量的稀疏数据,有可能致使模型训练不收敛。为了解决这个问题,需要把输入的词汇特征进行word embedding,从而将稀疏特征映射到一个新的低维度稠密空间上,得到一个词向量。Word embedding通常选择的低维度空间的维度范围为O(10) 到O(100)。在进行完word embedding 之后,深度部件将会把获得的词向量特征传给隐含单元进行前向传播,在每一个隐含单元中将会按照下式进行计算输出:
a(l+1)=f(W(l)a(l)+b(l))
(3)
式中,l代表了深度神经网络的层号,a(l),b(l), andW(l)分别代表了第l层网络的输出,偏差以及模型权值。f为网络中采用的激活函数,通常选择ReLU作为激活函数,其函数表达式如下所示
F(x)=max(0,x)
(4)
在构建完宽度部件和深度部件之后,就可以构成宽度-深度神经网络。在训练时,将会同时对两个部件权值进行参数优化,对于分类问题,宽度-深度神经网络的预测值可以表示为:
(5)
2 基于WDNN的风功率预测
2.1 特征选择
风电场功率预测受到诸多因素的影响,传统方法仅考虑了风速对风电场功率的影响,这使得风电场功率预测的精度不会很高。本文提出的基于WDNN的风电功率预测方法将考虑影响风电功率的诸多因素,将不同因素作为WDNN的输入特征。
宽度-深度神经网络的输入特征主要分为两种特征:一种是离散特征,另一种是连续特征。根据文献[19],在进行风电功率预测时,本文选择以下连续特征:
(1)风速
风速与风电场功率与直接的联系,风速越快,风电功率越强。不同于传统方法人工去建立风速-功率的数学模型,本文将测得的风速直接作为连续特征输入到网络中,通过网络学习模型。值得注意的是,对于分布在不同地点的风机来说,每一个地点的风速都会选择为独立的特征。
(2)空气密度
空气密度是影响风电功率的重要因素。发电机空气密度会影响风电机的转矩,当空气密度发生变化时,风电机的转矩将会发生改变,进而改变风电机输出功率。目前,风电机在设计时是按照当地平均空气密度设计的。而同一地区空气密度随着时间的推移将会不断变化,从而导致风电机偏离设计的最佳转矩,造成风电功率下降。因此,本文将空气密度作为连续特征输入到网络。
在利用上述连续特征的同时,本文还选择了以下离散特征:
(3)风向
风电机在发电时将会根据风速计和风向标,来调整发电机组对准来风方向。然而,风电机组调整风向具有时滞,并且风电机存在定向误差,这些因素使得风电机不能完全对准风来向,这使得传统仅利用风速估计风电功率的方法精度下降。为了解决上述问题,本文将风向作为离散特征输入到WDNN中。
(4)月份
月份的变化也会影响发电机功率的预测。随着月份的改变,气压、空气的湿度、温度都会发生改变,造成风电机功率输出的变化。因此本文将月份作为离散特征输入到WDNN中。
2.2 网络结构
本文用于风电功率预测的WDNN的网络结构如图2所示。第一层输入层,其输入是上节中选择的离散特征和连续特征。对于深度部件,第二层是Word Embedding层,该层通过word embedding 将离散特征转化为向量,进而输入到深度网络中。连接在Word Embedding层之后是三层隐含层,在隐含层中数据的操作按照式(3)进行。为了避免过拟合,再训练时采用了Dropout方法[20]。对于宽度部件,第二层是特征变换层。该层通过交叉积进行特征组合,并将组合特征输入到宽度网络中。在最后一层,WDNN将宽度部件和深度部件的输入进行组合,根据式(5)得到最终的风功率预测。
图2 本文采用的WDNN网络结构
由网络的结构可以看出,宽带-深度神经网络对宽带部件和深度部件是同时进行训练的。相比于传统的集成学习算法需要分别采用不同的模型进行训练,采用WDNN可以大大减少算法的复杂度,并且减少训练的时间。
3 实例分析
为了验证提出的风电功率预测算法的精度,本文采用爱尔兰某风电场的2012年至2016年共60个月的实测数据进行风电功率预测,不同月份的平均风电输出功率如图3所示。该数据总共包含32000条数据,每条数据包含数据采集的月份、空气密度、风向以及风电机组17个位置处的风速信息。本文采用的训练集、验证集及测试集所包含数据个数的比例为12∶3∶1。
图3 爱尔兰某风电场月平均风电输出功率
训练前,首先需要对数据进行预处理,以补全数据中遗漏的信息。本文主要采用线性插值的方法进行数据的拟合。对于数据缺失部分较大的情况,可以联合利用周围气象站测得的风速及海拔高度来进行风电机附近的风速计算。
在训练时,本文选择17个位置的风速以及空气密度作为连续特征,而将月份及风向作为离散特征输入到网络中。为了简化问题,我们以15度为间隔,将360度的风向(正北)分为24个区间,分别标记为1-24。隐含层中的节点个数分别为100,75,50。最后一层节点个数设置为25。训练时的学习率设置为0.1,我们共进行了135000次的循环迭代,WDNN的网络损失如图4所示,由图可以看到在50000次训练后网络就开始收敛。
图4 网络损失的变化
在得到训练好的预测模型后,我们利用2000条测试数据进行了风电功率的预测,预测值与实测值的比较如图5所示:
图5 风电功率预测值与实际值的比较
从图中可以清晰的看到,本文提出算法的风电功率预测曲线与实测风电功率曲线能够较好的拟合。
在实验中,本文还将传统的自回归移动平均方法(ARMA)、模型基于浅层BP神经网络、基于RBF神经网络的风电功率预测算法与本文提出的算法进行了比较。进行比较实验时,采用的BP神经网络以及RBF神经网络均是包含一层隐含单元的3层神经网络,比较结果如表1所示:
表1 不同网络预测误差对比
可以看出,由于WDNN同时利用了离散特征以及通过机器学习得到的深度特征,其预测精度相对于传统的神经网络算法有了较大的提高。进一步,我们统计本文风电功率预测算法的误差分布,统计结果如表2所示,可以看到本文算法的误差明显较小,并且预测的稳定性也要优于其他基于神经网络的风电功率预测算法。
表2 不同网络预测精度对比
4 结 语
本文提出一种基于宽度-深度神经网络的风电功率预测算法,通过将大规模的风电功率历史数据输入到网络中,利用网络来自学习风电功率预测模型,获得了较高的风电功率预测精度。该模型的优点在于同时结合了宽带神经网络和深度神经网络,使得神经网络能够联合利用离散特征数据以及连续特征数据来进行风电功率预测,以数据驱动的方式来客观的学习到预测模型。
在未来的工作中,将在该模型的基础上选择更多的特征来进行风电功率预测,同时也将研究神经网络的自设计方法,从而使得机器能够自主学习预测模型。