刘译文 倪 旻
(云南民族大学电气信息工程学院 昆明 650500)
随着人们对环境问题的持续关注,新能源的利用越来越受到人们的重视。太阳能发电被认为是一种重要的新能源利用方式,而它高度依赖地理环境和天气状况,使得光伏输出功率具有明显的随机性和波动性。这种不确定性的输出功率并网对电力系统产生巨大的威胁,对电网的安全稳定运行带来了一系列的安全问题[1]。准确的光伏出力功率预测仍然是解决这个问题经济有效的手段之一[2]。因此,精确的太阳能出力功率预测对电力系统的稳定运行至关重要。在实际的光伏发电站中,光伏发电输出功率受多种环境和气象因素(如太阳辐照度、环境温度、湿度、经纬度)的影响。相关气象信息的可靠程度对光伏出力预测起着决定性的作用,而太阳辐照度是影响光伏出力的主要因素[3],太阳能辐照度的准确预测是准确光伏发电预测的前提[4]。
随着预报理论和机器学习的快速发展,大量的研究方法也不断涌现,从早期的物理方法、统计学方法到现在比较热门的机器学习方法[5]。Yanting Li 等[6]提出用ARIMAX 统计学方法来预测光伏出力功率,保持了常规ARIMA 模型的简单特性但比ARIMA 模型更具实用性,通过实例进行了验证。Jie Shi 等[7]提出了基于天气分类和支持向量机(Support Vector Machines,SVM)的光伏系统功率输出预测模型,基于天气预报数据和历史功率数据对光伏发电站提前一天进行预测,实验结果表明所提预测模型是有效的。M.Bouzerdoum 等[8]结合季节性自回归综合移动平均法(Seasonal Autoregressive Integrated Moving Average,SARIMA)和支持向量机方法提出了一种新的混合模型,研究表明了混合模型的性能优于SARIMA 和SVM 模型。张岚等[9]建立了基于神经网络的光伏发电功率预测模型,实验表明该方法具有较高的预测精度。李练兵等[10]采用Elman 神经网络算法建立光伏发电短期功率预测模型,通过与BP 神经网络算法对比表明,Elman神经网络具有更高的预测精度。
随着深度学习理论的发展,各种神经网络不断的迁移应用到光伏功率预测领域,C.-J. Huang 和P.-H. Kuo[11]提出了一种称为PVPNet 的高精度深度神经网络模型来预测光伏系统的输出功率,该模型基于深度神经网络,利用气象信息(例如温度,太阳辐射和历史光伏系统输出数据)生成24h 概率和确定性的光伏发电输出预测。Li,Wang 等[12]提出了一种基于递归神经网络的新的预测方法,通过使用比利时法兰德斯的实际太阳能对提出的预测方法进行了测试,结果表明在非常短期的预测中表现出良好的预测性能。H.Zang 等[13]提出了一种基于深度学习的CNN 预测模型,案例研究证明了所提出的预测方法的准确性和可靠性。
最近,长短期记忆网络(Long Short-Term Memory,LSTM)在空气质量指数、电力负荷、语音识别预测应用中取得了不错的效果。由于其循环的体系结构和存储单元,可以对数据中的时间变化进行建模,可以捕获太阳辐照度序列中的抽象概念。文中提出利用长短期记忆(LSTM)神经网络预测太阳辐照度的方法。对不同结构的LSTM 模型在太阳能辐照度预测中的性能进行了评估,得到最佳的网络架构模型。为了验证该方法的有效性,我们将其与四种广泛使用的深度神经网络太阳能辐照度预测方法进行比较验证所提模型的有效性。
递归 神经 网络[12](Recurrent Neural Network,RNN)通过在神经元中加入循环连接解决了时间序列上的映射关系。递归神经网络能够建立上个时刻输入对下个时刻输出影响的输入输出序列映射关系,使得递归神经网络具有“记忆”的功能。递归神经网络结构(见图1)。
图1 递归神经网络结构
如图1所示将递归神经网络展开,每个节点代表一个单一时间步,每个时间步的神经元可以表示为h(h(…),…,h(t-1),h(t),h(t+1),…,h(…)),则输入序列和输出序列分别为x和o,它们的前向传导过程为
其中,I、H、K分别为输入层、隐含层、输出层神经元的个数,wih为输入层到隐含层的权重,wh′h为t-1时刻到t时刻隐含层到隐含层的权重。为得到最优权重的参数网络,模型需要反向传播得到预测误差修正权重参数,其过程为
上式中,L表示衡量误差的代价函数,表示为t时刻输入层神经元i的值,为t时刻神经元j的输入,为t时刻神经元j的激活值。
长 短 期 记 忆 神 经 网 络[14](Long Short-Term Memory,LSTM)是由递归神经网络发展而来,通过引入门控单元改进了经典的RNN 网络,通过加入输入门、输出门、遗忘门和记忆单元解决RNN 网络的梯度消失和梯度爆炸现象。其结构见图2。
图2 LSTM网络结构图
图2 所示的分别表示在t时刻遗忘门、更新门、输出门的状态。更新门控制t时刻输入信息能否传递到t时刻记忆单元中,遗忘门控制t-1 时刻记忆单元中的信息能否保留到t时刻,输出门控制t时刻记忆单元的信息是否保存在隐含层中。如此,LSTM 网络便拥有长期和短期的“记忆”。与BP神经网络和循环递归网络相同的是都通过前向传播和反向传播实现网络参数的训练。LSTM 网络在反向传播中也是用BPTT(Back Propagation Through Time)的方法更新权重。LSTM单元更新公式如下:
在t时刻遗忘门、更新门、输出门的值为、,输入输出的值为
其中,at表示激活值,ct、ct表示记忆单元状态和候选状态,σ表示激活函数。反向传播权重系数更新如下:
文中数据来自澳大利亚沙漠知识数据中心Desert Knowledge Australia Solar Centre(DKA Solar Centre)太阳能数据中心[15],气象数据包括温度、湿度、风速、全球水平辐射、漫反射水平辐射等,数据涵盖了2009-2018年的每日数据,数据每5min采集一次。如表1所示。
表1 原始数据样例
为消除不同特征的量纲影响和保证数据处理和模型训练的高效和收敛速度,需要对原始数据影响标准化处理。具体公式如下:
其中,x为原始数据,xmin和xmax分别为原始样本数据的最小值和最大值,x′为归一化后的值。
为增加数据采集时间的间隔,减小数据采集的误差,需要对原始5min 采集一次的原始数据进行数据融合,文中采用平均值融合,将三条5min 一次的数据用平均值法进行融合得到15min 分辨率的数据。为探究太阳辐照度预测模型,将采用原始数据中的全球水平辐照度作为研究对象,为减少不必要的辐照度预测,只选取早晨7:00 至晚上8:00 时间范围的数据作为样本数据,经数据融合后一天中有52个太阳辐照度记录点(见图3)。
图3 输入数据构成
太阳辐照度具有连续性、规律性和周期性等特点,历史辐照度与待预测日辐照度有一定的时间关联性,所以将历史时刻和历史日的太阳辐照度作为预测模型的输入。按时刻时间向量表示,每15min记录一次太阳辐照度的值。通过第d天的历史数据来预测第d+1 日的太阳辐照度。其中输入的太阳辐照度为Gi:
输出即预测的太阳辐照度序列为Go:
融合后部分数据样例如表2所示。
表2 原始数据融合为输入数据
为更好地评估光伏出力功率预测模型的性能,使各个模型间可以相互比较,需要建立统一的评价指标进行定量分析。文中选用的评价指标有平均绝对误差[16](Mean Absolute Error,MAE)和平均方根误差(Root Mean Square Error,RMSE),其中MAE和RMSE定义式如下:
其中,n为全球水平辐照度序列;N为数据总数,yn和yn分别为n时刻全球水平辐照度的实际值和预测值。
文中选用Desert Knowledge Australia Solar Centre 太阳能数据中心[15]的所有年份的气象数据作为验证数据集。包括2009 年1 月到2018 年9 月所有天共计3536 天辐照度数据,只选择早晨7:00 到下午8:00的全球水平辐照度每15min一次,每天的太阳辐照度有52 个时刻点。其中训练集和测试集的比 例 设 置 为0.7∶0.3。在Intel i5-3230M CPU,NVIDIA GeForce GT 750M,8G 的硬件平台下,基于Python3.6 软件环境使用Keras 搭建预测模型进行仿真验证。将提出的LSTM 预测模型与深度神经网络模型(Deep Neural Networks,DNN)、卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、门控循环单元(Gated Recurrent Unit,GRU)预测模型进行对照实验。在训练过程中出了这个模型的基本结构不同以外,其余参数均设为一致的。
为提高预测模型的性能对LSTM 模型在不同网络架构下的性能进行了研究。首先对不同网络深度的模型进行比较研究,其具体网络结构如图4。
图4 多层LSTM网络结构
图4 (a)对应的是单层的LSTM预测网络,图4(b)为两层LSTM 预测网络,图4(c)为三层LSTM 预测网络。在这三个预测网络中全部使用tanh 激活函数,这三个网络模型训练全部使用Adam 自适应学习率算法。模型训练200 个循环,批量大小全部设置为32。三个模型的不同的点:图4(a)中单层LSTM 的神经元个数设置为128 个,图4(b)中两层LSTM 每层神经元个数分别为128 个和64 个,图4(c)中三层LSTM 的各层神经元分别为128、64、32个,其余全部参数均一致。
在不同神经元个数性能测试中,均使用如图4(a)所示的单层LSTM 结构。在不同神经元数量预测模型性能比较中,均使用tanh 激活单元,只调节不同预测模型的神经元个数,其余全部参数均一致。
综合表3 和表4 提供的资料,提高LSTM 网络层数和增加LSTM 网络神经元个数并不能有效改善太阳能辐照度的预报表现。在使用不同数量神经元的预测中64 个神经元预测模型的各项性能指标都优于其他的预测模型。因此,我们可以得出结论,在不同的预测模型结构和全球水平辐照度数据集下,使用tanh 激活单元和组合64 个神经元数量的单层LSTM网络的预测性能是最佳的选择。
表3 不同LSTM网络层性能比较
表4 不同神经元个数预测性能比较
文中比较所提出的方法与四种预测方法(深度网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)和门控单元(GRU))的性能。它们的网络结构见表5。
表5 预测模型结构
如表5 所展示,深度神经网络(DNN)的结构是由3 层全连接层构成,其中第一层的神经元个数128 个,第二层的神经元个数是64 个,第三层的神经元个数是32 个。卷积神经网络(CNN)是由2 层卷积层和3 层全连接层构成,其中第一个卷积层是由32 个卷积窗口为5 的卷积核构成,第二层是由8个卷积窗口为3 的卷积核构成,全连接层结构和深度神经网络一致。为保证所提模型与基准模型的平衡性,循环神经网络(RNN)和门控单元(GRU)与长短期记忆网络(LSTM)一样都具有“记忆”的特性和处理针对时间序列问题的优势。它们三种模型除网络结构不一样其他所有参数一致。
将2009-2018 年全球水平辐照度按0.7:0.3 的比例划分为训练集和测试集分别用LSTM、DNN、CNN、RNN 和GRU 进行提前一天预测测试,结果如表6和图5所示。
表6 2009-2018年数据集预测结果
图5 2016年某日水平辐照度预测结果
如图5 所示,文中所提的LSTM 预测模型相比较其他的预测效果是最好的。但这一天的数据并不能说明预测模型在每一天的预测结果都要好,为更清楚地分析所有模型的预测性能,使用训练时间、均方根误差和平均绝对误差对模型精度和训练时间复杂度进行定量化分析。如表6所示,相较于单一年份的预测模型,2009-2018 年数据集训练出的预测模型的RMSE 和MAE 精度指标好于单一年份的预测模型。在短期太阳辐照度预测中LSTM模型预测结果的平均根方误差为153.7927,平均绝对误差为77.58411。RNN 模型预测结果的平均根方误差为152.8926,平均绝对误差为79.43582。CNN 模型预测结果的平均根方误差为168.7126,平均绝对误差为83.73888。相比较CNN 模型LSTM模型预测值的平均根方误差低8.84%,平均绝对误差低了7.34%。与RNN 模型相比较,LSTM 网络在平均根方误差上低了0.58%,在平均绝对误差上低2.33%。
文中提出了一种基于LSTM 网络的太阳辐照度预测方法,该方法针对时间序列的太阳辐照度有特殊的优势。对多层LSTM 网络与单层LSTM 网络预测模型的性能进行了研究。实验结果表明,在短期太阳辐照度的预测中文中所提的LSTM 预测模型比卷积神经网络预测模型在平均根方误差上低了8.84%,在平均绝对误差指标上比卷积神经网络预测模型低了7.34%。