具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式所述的基于深度学习方法的短期风速多步预测方法,
步骤一:基于深度学习方法,建立具有多输入多输出结构的深度神经网络回归模型;
步骤二:采用逐层贪心方法,结合被测风电场的近期实际风速数据对步骤一建立的深度神经网络回归模型进行训练,通过所述模型的非线性映射功能,学习得到所述模型的序列之间的映射关系,来确定深度神经网络回归模型;
步骤三:根据步骤二确定的深度神经网络回归模型,对被测风电场的实际风速进行多步预测,得到所述被测风电场的风速预测结果。
具体实施方式二:本实施方式是对具体实施方式一所述的基于深度学习方法的短期风速多步预测方法的进一步限定,
所述步骤一中,基于深度学习方法,建立具有多输入多输出结构的深度神经网络回归模型的方法为:
通过受限的玻尔兹曼机(RBM)的叠置构建具有多输入多输出结构的深度神经网络回归模型,
所述具有多输入多输出结构的深度神经网络回归模型是为l层神经网络,向量x=h0表示原始输入,(h1,……,hl-1)表示相应隐含层的输入,hl表示输出层的输入;其1:l-1的隐含层是使用sigmoid函数并由受限的玻尔兹曼机构成,顶层激活函数使用纯线性函数;
对于原始输入x、l-1层隐含层和输出层的联合概率分布:
其中,l为正整数。
如图2所示的五层深度神经网络的结构示意图。
受限的玻尔兹曼机是一个基于能量的生成型模型。其由一个输入层和一个隐含层构成,层内之间无连接,层间全连接。
受限的玻尔兹曼机可以表示成一个无向图的形式,如图3所示。其中,v为输入层,又称为可见层,h为隐含层,又称为重新表达层。
对于全体的可见层单元和隐含层单元,给定一个能量函数energy(v,h),其联合概率分布可以表示为:
其中Z是一个归一化因子,其计算次数随着隐含层数目和输入层数目成指数次增长,因子在实际计算中很难计算出其真实分布。
受限的玻尔兹曼机的能量函数为
其中,vk表示第k个可见层单元,hj表示第j个隐含层单元,wjk表示二者的连接权值,ck表示第k个可见层单元的阈值,bj表示第j个隐含层单元的阈值。RBM的一个重要特性是:当给定其中一个层时另一个层的后验概率的计算是易于得到的。由图5,当给定可见层状态时,隐含层的激活概率为条件独立,其中第j个隐含层节点的概率为:
对于整个隐含层,为
同理,给定隐含层状态时,可见层第k个点的激活概率为
对于整个可见层,概率为
为了训练一个RBM,我们计算相对于RBM参数的对数似然的负梯度。给定一个输入v0,对于参数θ的梯度表示为:
其中,等式右边第一项表示在概率分布p(h|v
0)下
的期望,第二项表示在概率分布p(v,h)下
的期望。对于给定的RBM,第一个期望值可以直接计算出来,但是第二项其对应着v和h的所有可能性取值,其组合数目呈禁止性的指数式关系,无法直接计算得到。针对这一问题,Hinton提出了对比散度法(CD),可实现对第二个期望项的一种近似。
为实现这种近似有两个关键的要素。第一个是,为了估计第二个期望,我们需要将梯度用在某个特定数对(v,h)处的梯度唯一的表示。这个数对(v,h)理想情况下应该由分布p(v,h)采样得到,这样可以使得对梯度的估计是无偏的。然而,从一个RBM分布上准确采样并不像一个有向图模型上那样简单。事实上,我们必须依赖马尔科夫蒙特卡洛一类的方法。对于一个RBM,我们可以根据条件概率分布进行吉布斯采样(Gibbssampling),然而步数较大的吉布斯采样计算量大效率低。于是第二个关键的因素是只使用较少次迭代的吉布斯采样,并使用v0作为可见层初始的状态。经验表明,只是用一次迭代的马尔科夫链在实际中表现较好。采样过程可以由下式表示:
其中
和
分别表示从概率p(h
i|v
i)和p(v
i+1|h
i)上进行采样过程。通过以上过程对梯度进行估计即所谓的CD-1方法,当迭代的次数变为k时即所谓的CD-k方法。
考虑对权值矩阵中wjk的梯度的估计,有:
于是基于CD-1采样估计的梯度公式可以写成
以上的梯度估计过程,可以使用随机梯度下降法,在训练集中迭代选择v0进行参数的更新。对于偏置向量b和c的更新采用类似的过程,具体算法如下所示:
输入:训练样本x,RBM的权矩阵Wi,偏置bi和ci,学习率η
注释:a~p(·)表示a是从概率p(·)上得到的随机采样
%设置RBM参数
W←Wi,b←bi,c←ci
v0←x
%采样过程
h0~p(h|v0)
v1~p(v|h0)
%更新过程
具体实施方式三:本实施方式是对具体实施方式一所述的基于深度学习方法的短期风速多步预测方法的进一步限定,
采用逐层贪心方法,结合被测风电场的实际风速数据对步骤一建立的深度神经网络回归模型进行训练,通过所述模型的非线性映射功能,学习得到所述模型的序列之间的映射关系,来确定深度神经网络回归模型的过程为;
步骤二一:把对步骤一建立的深度神经网络回归模型分层,由下至上,再利用被测风电场的实际风速数据对输入x的那一层进行无监督的训练;
步骤二二:所述无监督的训练结束后,使用有监督的学习对所述深度神经网络回归模型进行精调:
除了原始输入x的隐含层,以深度神经网络回归模型输出作为监督信号,构造损失函数,采用梯度下降法对所述深度神经网络回归模型的其他隐含层进行有监督的训练,得到所述模型的序列之间的映射关系,最终确定深度神经网络回归模型。
深度神经网络(DBN)其构建了一个生成型的模型,其中包含多层隐含层。输入观测数据x,底层的隐含层提取的是输入的低水平的特征,随着层数的向上,输入被不断地重新表达,其逐渐得到更抽象的特征。深度学习神经网络随着层数的向上增长,逐步进行重新表达,提取更加抽象但易于建模的特征,并把提取出的特征作为下一层的输入,如图4所示。
使用无监督的逐层贪心算法进行训练,通过其强大的非线性映射能力,旨在学习得到序列之间的映射关系。具体为:
逐层贪心学习算法的具体实现方式如下所示:
具体实施方式四:本实施方式是对具体实施方式一所述的基于深度学习方法的短期风速多步预测方法的进一步限定,
步骤二中所述近期实际风速数据为所述被测风电场近三个月的风速数据。
具体实施方式五:本实施方式是对具体实施方式四所述的基于深度学习方法的短期风速多步预测方法的进一步限定,
步骤三中,所述对被测风电场的实际风速进行多步预测为对被测风电场的未来10分钟的实际风速进行多步预测。
为了验证深度学习理论在风速预测领域的效果,以某被测风电场2011年5月至7月三个月逐10分钟的风速数据为训练集,如图5所示,随后的8月份风速数据为相应的测试集;将基于深度神经网络的预测效果、基于单隐含层神经网络的预测效果、基于多隐含层的BP网络的预测效果,基于支持向量回归的预测效果进行对比,对误差进行分析,给出不同方法预测效果的评价。
本发明通过引入深度学习理论,建立起一个深度神经网络模型(DBN)进行风速预测,该模型以序列与序列之间的映射关系为研究对象,模型结构为144输入144输出,以进行天前风速预测。通过对比单隐含层BP神经网络,多隐含层BP神经网络,深度神经网络DBN和支持向量回归SVR的实验预测效果可以看出:DBN的MSE和MAE与其他方法相比,在大部分情况下均处于较小水平。DBN随着预测步长的增加,其误差也具有快速增长的趋势,但是增长速度小于其他方法。
其中,DBN初选隐含层数为三层,每个隐含层节点数为100。作为对比试验,多层BP网络的层数和隐含层节点数与DBN选择相同。对于单隐含层的浅层神经网络,隐含层节点数目需有所增加,本文取200个隐含层节点。支持向量回归预测模型使用滚动预测法滚动预测未来144步。为了图片展示的清晰性,本发明只画出预测结果中的一部分作为预测效果的展示。在测试集上四种方法的预测效果如图6所示。
根据所述四种方法的均方误差MSE和平均绝对误差MAE的变化,基于深度学习理论建立的含3个隐含层的DBN网络预测效果较好,随着预测步长的增加,其MSE增长较为缓慢,在整个区域范围内维持了一个较低的水平,如图7和图8所示。基于单隐含层BP网络的预测模型,其在预测步长较短的几步范围内,其MSE和MAE均略高,在步长为30-50,80-100左右位置,又出现了较高的预测误差。产生这一现象的原因可能是因为单隐含层神经网络作为一个多输入多输出模型,以序列作为研究对象,其并没有将序列之间的关系学习得到,即有序列的部分片段但隐含层神经网络学习的并不好。而对于支持向量回归预测模型,在步长较短时,6步以内,其误差控制是较好的,此时优于神经网络模型,与DBN的效果相近。由于SVR是一个多输入单输出模型,本发明实现其多步预测使用的是滚动预测的方法,由于误差累积的影响,随着步长的增加其误差迅速增长,在24步预测以后,其MSE和MAE均已达到一个较高位的水平。而对于多隐含层的BP网络,其误差处于较高水平,并且波动较大,这是由于多层的BP网络极难训练,容易陷入局部极小点中,得到较差的预测效果,因此在深度学习理论提出之前很少应用。由误差的变化曲线可以看出,支持向量回归在预测步长较短时有一定的优越性,但随着步长的进一步增加,以序列预报为视角的神经网络模型显示出一定的优越性。而在此基础上发展而来的深度网络DBN在预测中取得了较好的效果。四种方法在天前预测误差(即144步平均误差)的统计结果如表1所示。
表1 测试集风速天前预测平均误差
|
NN(单隐含层) |
NN(多隐含层) |
SVR |
DBN |
MSE |
8.3719 |
13.8568 |
11.3905 |
6.5021 |
MAE |
2.2865 |
3.0807 |
2.8303 |
2.0227 |