马 骥马忠彧马宏锋
(1.电子科技大学电子科学与工程学院(示范性微电子学院)成都610051)
(2.兰州工业学院电子信息工程学院 兰州730050)(3.甘肃省资源环境信息化工程实验室 兰州730050)
风能是一种清洁能源,作为可再生能源中最便于利用的能源之一,自古以来就被人类广泛利用[1~2]。目前,甘肃电网风电装机已达到1033万kW,占全省总装机的24.25%,风电最大出力478.6万kW,占当时全省发电量的28.6%,风电最大日发电量9454.3万kWh,占当日全省用电量的38.7%,风电在甘肃电网中扮演着十分重要的角色。随着风电出力的增加,整个甘肃河西电网的电压随之大幅下降,各级调度需迅速调整当地所辖的无功补偿装置,但是由于调整范围较广,调整时间较长,会导致电网电压短时越限。如果风电在电网中的比例超过一定数值,就会对电网造成严重冲击。因此,调度系统希望通过对风电进行精确的预测,适机对电网做出精确的调整,减少风电对电网造成的冲击[3~5]。
极限学习机(ELM)是Huang等提出了的一种新型单隐层前馈神经网络(SLFN)[6~7]。针对传统神经网络基于梯度下降学习算法的缺点,在ELM中,由于网络隐含层节点的权值和阈值都是随机生成而得,就可以通过网络隐含层输出矩阵的MP广义逆求得系统输出权值。这样ELM在保证网络具有良好的泛化性能的同时,避免了由于梯度下降算法产生的诸多缺陷,提高了学习速度[8~14]。特别是ELM的参数确定相对简单,计算时间少,还能提高系统建模精度和泛化性能[15~16]。其网络结构如图1所示。
图1 ELM网络结构拓扑图
ELM学习算法主要归纳为三个步骤。
通过确定激活函数G(x)以及隐含层节点数N͂的基础上就可在给定一个训练集(xi,ti)∈Rn×Rm,i=1,…,N,上得出β,有
1)随机产生输入层与隐含层间的连接权值和隐含层神经元的偏置数值,并确定隐含层神经元个数,隐含层节点参数为(ai,bi),j=1,2,…,N͂;
2)确定隐含层神经元的激活函数实际上为选择一个无限可微的函数,并计算隐含层输出矩阵H;
3)进一步计算输出的权值β̂:β̂=H+T。
极限学习机ELM算法必须要先确定好隐含层的激励函数,再随机选取网络隐含层节点数输入权值,从而得到ELM预测模型的隐含层节点数和网络的神经元个数组合RMSECV,即:
基于ELM的预测的基本步骤为[6]
1)预处理样本数据。
2)确定激活函数、最大隐含层节点数和最大主成分数(小于等于输入模型的影响因子数)。
3)若RMSECV均值最小,求取隐含层节点数的最优参数组合。
4)通过对测试样本和训练样本的分析,计算出其输出权值β̂、隐含层输出矩阵H、主成分矩阵。
5)利用步骤4)中最佳矩阵集来预测风电机组输出功率。
基于极限学习机ELM算法的功率预测的逻辑框图如图2所示。
图2 基于ELM的风电功率预测模型框图
采用高原某风场的历史风电功率数据进行分析(2016年2月13日~2月22日),记录周期为10min,先将前8天的风速以及风机附近的气压、湿度、温度和风向的按时间序列,共有4464个时间序列数据,用前4320个数据时间序列训练ELM网络,最后用训练好的ELM网络预测2月22日每隔10min的输出功率值。
基于极限学习机ELM算法的输入权值和阈值是随机选取,神经元节点选为30,风电机组输出功率预测仿真结果见图3,基于时间序列ARMA算法输出功率预测仿真如图4所示。
图3 基于ELM模型预测的功率预测
图4 基于ARMA模型的功率预测仿真结果
从图3和图4可以看出,当输出功率超过1500kW时,使用基于极限学习机ELM算法预测出的输出功率更为接近实际的输出功率,而基于时间序列ARMA算法输出功率得到预测的输出功率与实际的输出功率存在较大的偏差。当输出功率低于500kW时,基于时间序列ARMA算法能得到比较理想的预测数据,而使用基于极限学习机ELM算法得到的预测数据与实际数据相差较大。当输出功率介于500kW~1500kW之间时,两种方法预测方法都能得到的预测数据与实际数据相差均较小。
同样,每间隔10个数据选取一组数据(实际输出功率值和输出功率预测值),得到不同时间段对应的基于极限学习机ELM算法的输出功率误差值如表1所示。表2为基于时间序列ARMA算法的输出功率误差值。
由表1和表2可以看到,在得到的15个预测数据与实际数据误差中,基于极限学习机ELM得到预测数据与实际数据误差大于8%共有两次,而基于时间序列ARMA算法得到预测数据与实际数据误差大于8%则有5次之多。基于极限学习机ELM得到预测数据的最小误差为0.1%,且误差多在0.1%~3%之间。基于时间序列ARMA算法得到预测数据的最小误差为-1.05%,且得到的误差大部分都超过了3%。由表1和表2得到的误差数据求出两种算法的误差均方根如表3所示。
表1 基于极限学习机ELM预测不同时间段对应的误差值
表2 基于时间序列ARMA算法预测不同时间段对应的误差值
表3 两种预测算法额误差均方根
由表3以上分析可以看出,基于ELM的预测效果更好。
本文应用基于ELM预测方法对风力发电量进行预测研究,针对风力发电过程中的复杂性和不确定性,建立预测模型,和基于ARMA方法进行了对比分析,结果表明使用基于ELM预测方法预测效果更优,跟踪误差小。