1.中国科学院计算机网络信息中心,北京 100190
2.中国科学院大学,北京 100049
3.国网河北省电力有限公司,河北 石家庄 050021
近年来,我国光伏发电产业得到了极大的重视并取得了快速的发展,无论是太阳能电池的产量还是光伏发电系统的装机容量都在不断地增加[1-2]。随着分布式光伏发电系统迅猛发展,其并网会给系统的运行带来许多负面影响[3-4]。分布式光伏的出力特性具有典型的概率分布特点,也是光伏电站优化规划设计、出力预测和优化调度管理的重要基础数据。因受到光照、季节等气候环境条件和地理、时间等客观运行条件影响,分布式光伏具有间歇性和随机性的特点。因此对其进行准确地建模和特性分析是一个多影响因素的数学难题。而只有在准确预测光电出力情况下,才可以使系统获得更高的可靠性,减少其对电力系统的影响,提高电力系统运行的安全性和稳定性,充分发挥其经济性和环境友好性[5]。
目前,光伏发电系统出力预测按预测时长可分为三类[6]:①长期预测 (时间尺度>月);②中期预测(时间尺度 l~7 天);③短期/超短期预测(时间尺度<24 小时)。其中,中长期出力预测是通过利用历史气象数据和历史输出功率数据的统计分析进行预测,时间尺度大,预测相对容易。而短期和超短期预测受太阳辐射和天气等因素的影响具有波动性和间歇性的特点,难以预测。
随着人工智能的发展,人工神经网络和机器学习的方法在光伏出力预测方面有比较多的应用[7],但都是使用比较简单的网络,如 BP 神经网络[8-12],SVM[13-14]等,只能提取特征的浅层结构,这些学习方法的泛化性受到了很大局限,而深度学习算法中明确突出了模型中特征学习的重要性,通过逐层的特征变换自动学习样本中抽象特征,将样本在原空间的特征表示变换为一个更抽象的特征空间,从而获得更优秀的预测效果,提高同一模型在处理不同场景下光伏预测问题的泛化性。另一方面,深度学习算法强调了模型特征结构的深度通常有5 层、10 层甚至上百层的隐层节点,使得模型中蕴含了更丰富的信息,可以更广泛地将光伏出力影响因素考虑在内。
循环神经网络 (Recurrent Neural Network,RNN)是一种优秀的深度学习方法,适用于时序数据。为了探索光伏发电功率序列的本质特征,本文提出了基于长期短期记忆 (Long Short-Term Memory,LSTM)的短期光伏发电功率预测模型。本文首先利用Pearson系数找出影响光伏发电的相关因素并进行特征提取,然后通过分析光伏发电日常曲线,发现在不同天气类型下光伏发电的日常功率曲线呈现出不同的趋势。因此建立不同天气类型的LSTM预测模型,并与未分类的LSTM 模型和LR 模型进行比较,验证模型的优势。
本文选取了华北电力大学的屋顶光伏发电站(N38°52′32.75″,E115°29′56.14″) 2016年11月6日到2017年10月28日的光伏功率数据以及气象数据。该数据集每15分钟一个数据,一天 96个数据,共34272个数据。将光伏发电功率数据 (部分) 展示如下图1。
如图1所示,一个波形代表一天的数据 (96个点),由波形的趋势,可知光伏发电功率存在周期性和强烈波动性,并且数据中存在大量的零数据。零数据是因为光伏发电需要光能,而夜间没有太阳所以夜间光伏发电功率为零。将功率数据根据天气类型进行聚类后,展示如图2。
图1 光伏发电功率数据图Fig.1 Pv power data graph
图2 不同天气下的光伏发电功率数据图Fig.2 Pv power data under different weather conditions
由图2 可知不同天气下光伏发电功率具有不同特征。晴天时光伏发电功率的波形光滑,具有比较好的周期性,而且总发电量大 (总发电量由波形与横坐标形成的面积大小估计);多云与阴天的光伏发电功率的波形类似,但是整体上阴天的波形较多云天气陡峭,波形与横坐标形成的面积较小;雨天、雾霾、雪下的波形与横坐标形成的面积都小,但是雪天的光伏发电功率大部分时间几乎为零,而雨天的波动性较雾霾天气强烈。由此可以发现光伏发电功率的波动性与天气类型有关。
根据相关文献[15-16]可知太阳辐射量、太阳能电池组的倾斜角度、太阳能电池组件转化效率、系统损失、组合损失、灰尘遮挡、温度特性、线路、变压器损失、逆变器效率、阴影、积雪遮挡、太阳高度角、地理纬度、大气透明度、海拔高度,日照时数、天气情况、气温、云等都在影响光伏出力。结合文献资料、实际情况和数据收集情况,本文选取辐照量、环境湿度、环境温度、降水量、风速、风向、最高温度、最低温度、太阳方位角、太阳高度角、积日、太阳时作为研究因素,并计算这些因素与光伏发电功率之间相关性。相关性计算采用Pearson 相关系数公式,公式如下:
其中X,Y表示两组变量,cov(X,Y)表示两组变量的协方差,σX,σY分别表示X,Y变量的标准差。
为了编程的方便须将上式转换成以下数学形式:
其中n为样本量,xi,yi分别为两个变量的观测值,,分别为两个变量的均值。r表示样本的相关系数,描述了两个变量间线性相关强弱的程度。r的取值在 -1与+1 之间,若 r>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若 r<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。r的绝对值越大表明相关性越强,若 r=0,表明两个变量间不是线性关系。
计算结果如表1和图3所示。
由表1和图3 可知,辐照量、太阳高度角、环境温度、风速、最高温度、最低温度、风向与光伏发电功率呈正相关;太阳方位角、降水量、积日、太阳时环境湿度与光伏发电功率呈负相关;其中辐照量、太阳高度角、环境温度、风速、最高温度、环境湿度与光伏发电功率具有较强的相关性,特别是辐照量、太阳高度角与光伏发电功率相关系数值大于 0.7,具有强相关性。
由光伏发电功率数据的特性可知在不同天气下光伏发电功率具有不同特征。因此构建两个数据集。一个是包括所有数据的数据集,另一个是按照不同天气类型划分的数据集。
数据集构建按照“特征+标签”进行构建。根据影响光伏发电的因素与光伏功率相关性分析结果,将相关系数绝对值大于 0.1的因素辐照量、太阳高度角、环境温度、风速、最高温度、环境湿度作为特征,因为光伏发电功率在夜间时为零,所以增加isDaytime 特征,isDaytime 特征数值为0 或 1,0表示该时刻为夜间,1表示该时刻为白天。所以特征向量为辐照量、太阳高度角、环境温度、风速、最高温度、环境湿度、isDaytime;标签为光伏发电功率。按照图4所示进行数据集构建。
表1 各因素与光伏发电功率的Pearson 相关系数Table1 The Pearson correlation coefficient of each factor and photovoltaic power generation
循环神经网络 (Recurrent Neural Network,RNN)是一种节点定向连接成环的人工神经网络,即以序列数据为输入,在序列的演进方向进行递归且所有循环单元按链式连接的递归神经网络 (Recursive Neural Network)[17]。循环神经网络的研究始于二十世纪八十至九十年代,在二十一世纪初发展为重要的深度学习(deep learning) 算法[18]。循环神经网络具有记忆性、参数共享等特性,因此可以利用它内部的记忆来处理任意时序的输入序列,对序列的非线性特征进行高效率学习。从理论上来讲 RNN 可以保留住长距离记忆,但在实践中,原始的RNN 模型存在梯度消失和梯度爆炸现象,使模型无法实现长期记忆。
长短期记忆网络 (LSTM)是一种特殊的RNN,最早由 Hochreiter和Schmidhuber[19]于 1997年提出,通过引入门控制的概念,将短期记忆与长期记忆想结合,并且在一定程度上解决了 RNN 存在的梯度消失的问题[20]。如图5所示,LSTM 网络单元具有输入门(input gates),遗忘门 (forget gates)和输出门 (output gates) 三种控制门结构,用来保持和更新细胞状态,其中输入门用于存储信息遗忘门在细胞状态中用于忘记信息,输出门用于输出信息。
图3 各因素与光伏发电功率的Pearson 相关系数Fig.3 The Pearson correlation coefficient of each factor and photovoltaic power generation
图4 数据集构建示意图Fig.4 Data set construction schematic diagram
图5 LSTM 结构[21]Fig.5 LSTM structure[21]
目前,光伏出力预测一般使用比较简单的网络,并且在分钟级上进行预测有一定的难度。光伏出力预测是一个回归问题,而长短时记忆 (LSTM) 在时间序列上具有良好的处理效果,所以本文选择 LSTM为模型。其具体预测框架如图6所示。
本文的数据主要包括历史的发电数据 (功率)、气象数据 (辐照量、环境湿度、环境温度、降水量、风速、风向、最高温度、最低温度)、太阳方位角、太阳高度角、积日、太阳时。首先需要对数据进行预处理。预处理过程包括两个部分:(1) 对数据进行下采样或者上采样处理以使所有数据的时间分辨率为15分钟;(2) 对数据进行归一化处理。然后使用Pearson相关系数计算气象因素、太阳方位角、太阳高度角、积日、太阳时等影响光伏发电的因素与光伏功率相关性,选择相关线性系数值的绝对值大于 0.1的因素和isDaytime 特征作为特征向量。由于光伏发电受天气类型的影响很大,所以对全数据集和不同天气类型的数据集研究都很有必要,因此构建全数据集和不同天气类型的数据集并训练出各自的LSTM 模型,通过比较选择预测结果好模型作为最后预测的结果。
模型评价指标用于评估功率预测模型的性能和预测精度,并使得各预测模型在不同光伏电站中的预测效果能够进行比较。目前存在多种模型评价指标,每种评估指标用来描述特定的误差分布规律,具有一定针对性,因而没有统一的最优误差评估标准。在光伏发电短期预测中常用的评价标准有:平均绝对误差(MAE)、平均误差百分比 (MAPE)、均方误差 MSE、均方根误差 (RMSE)和拟合优度R2。本文使用均方误差 MSE、均方根误差 (RMSE)和拟合优度R2作为误差评估指标,其数学表达式如下:
其中,N为测试集样本个数;ti为功率预测值;Ti为实际值;为Ti的平均值。MSE和RMSE 描述了预测值与期望值间的离散程度。拟合优度R2表示可根据自变量的变异来解释因变量的变异部分即拟合优度越大,自变量对因变量的解释程度越高,拟合结果越好。
为了验证 LSTM 预测的性能,将 LSTM 模型与线性回归模型 (linear regression model,LR) 进行比较。在实验中,LR 使用2个隐藏层网络结构,在 LSTM网络中,设置了 96个隐藏单元,每个隐藏单元接收一个时间点的特征输入。具体模型示意图如图7。
从图8和表2 可以看出 LSTM 图预测结果优于LR 模型,但是LSTM 模型对于波动剧烈处预测效果不理想。根据之前对数据观察可知不同天气下,光伏发电功率的波形具有各自的特征。因此对不同天气下的数据进行不同的训练,得到最优的模型。具体对比图如图9。
图6 LSTM 模型预测框架图Fig.6 LSTM model prediction frame diagram
图7 模型示意图(a.LR 模型,b.LSTM 模型)Fig.7 Schematic diagram of the model (a.LR model,b.LSTM model)
表2 LR 模型与LSTM 模型性能比较Table2 Performance comparison between LR model and LSTM model
图8 LR 模型与LSTM 模型的预测结果与实际数据对比图Fig.8 Comparison diagram of prediction results and actual data of LR model and LSTM model
表3 不同天气下不同模型的性能比较Table3 Performance comparison of different models in different weather conditions
图9 显示了 LR 模型,LSTM 模型以及具体天气模型的在晴天、多云、阴天、雨天、雾霾、雪天下的性能。蓝色曲线代表实际光伏功率曲线,红色曲线代表LSTM 模型的预测曲线。绿色曲线是LR 模型的预测曲线,黄色曲线的是具体天气模型的预测曲线,即在晴天的对比图中,黄色曲线代表晴天的LSTM 模型的预测结果。从图9 可以看出,在晴天、多云、阴天、雪天上具体的天气类型的LSTM模型的预测结果明显优于 LSTM 模型和LR 模型,并具有比较高的精度。在雨天、雾霾天气三个模型的精确都有所下降。如表3所示对不同天气不同模型的模型评价指标 R2、MSE、RMSE的数值进行比较,可以发现具体的天气类型的LSTM 模型性能优于 LSTM 模型和LR 模型,特别在晴天、多云、阴天、雪天。这与预测对比图相符合。由此可见,对按不同天气类型进行训练模型可以提高预测的准确性。
图9 不同天气类型的不同模型的对比图Fig.9 Comparison of different models for different weather types
光伏发电是一项复杂的技术,它具有随机性、波动性和不确定性等特点。对光伏发电功率进行预测,能够帮助提高电力系统运行的安全性和稳定性。本文基于光伏发电功率的实测数据,通过分析气象和太阳高度角等因素对伏系统发电功率的影响,给出特征向量,提出基于LSTM 模型的光伏预测方法。通过与LR 模型对比可以发现 LSTM 模型具有更好的性能,对不同季节的天气类型进行分类再预测能进一步提高模型的准确度。