基于遗传算法优化卷积长短记忆混合神经网络模型的光伏发电功率预测*

2020-06-04 09:45王晨阳段倩倩周凯姚静苏敏傅意超纪俊羊洪鑫刘雪芹汪志勇
物理学报 2020年10期
关键词:卷积发电神经网络

王晨阳 段倩倩 周凯 姚静 苏敏 傅意超纪俊羊 洪鑫 刘雪芹† 汪志勇

1) (重庆理工大学理学院, 绿色能源材料技术与系统重庆市重点实验室, 重庆 400054)2) (西南大学物理科学与技术学院, 重庆 400715)(2019年12月20日收到; 2020年2月6日收到修改稿)

光伏发电受天气与地理环境影响, 呈现出波动性和随机多干扰性, 其输出功率容易随着外界因素变化而变化, 因此预测发电输出功率对于优化光伏发电并网运行和减少不确定性的影响至关重要. 本文提出一种基于遗传算法(GA)优化的卷积长短记忆神经网络混合模型(GA-CNN-LSTM), 首先利用CNN 模块对数据的空间特征提取, 再经过LSTM 模块提取时间特征和附近隐藏状态向量, 同时通过GA 优化LSTM 训练网络的超参数权重与偏置值. 在初期对历史数据进行归一化处理, 以及对所有特征作灰色关联度分析, 提取重要特征降低数据计算复杂度, 然后对本文提出来的经GA 优化后的CNN-LSTM 混合神经网络(GA-CNN-LSTM)算法模型进行光伏功率预测实验. 同时与CNN, LSTM 两个单一神经网络模型以及未经GA 优化的CNNLSTM 混合神经网络模型的预测性能进行比较. 结果显示在平均绝对误差率(MAPE)指标下, 本文提出的GA-CNN-LSTM 算法模型比单一神经网络模型最好的结果减少了1.537%的误差, 同时比未经优化的CNNLSTM 混合神经网络算法模型减少了0.873%的误差. 本文的算法模型对光伏发电功率具有更好的预测性能.

1 引 言

随着全球传统化石能源日益枯竭, 并且污染严重, 能源危机与环境问题渐显突出. 当前光伏新能源具有清洁、可持续性等特点, 越来越受到人们的重视. 但是近些年我国新能源遭遇严重的弃光问题. 光伏发电受天气等多种因素影响呈现出波动不稳定[1], 所以在其并网输出电力使用时, 提前预测发电输出功率变得尤其重要.

目前在光伏发电功率预测领域研究热点是基于人工智能的方法, 主要包括机器学习, 以及深度学习[2]神经网络等技术. 2012年, Shi 等[3]建立基于支持向量机(SVM)的预测模型, 从预测效果来看机器学习模型明显好于传统数学统计模型.2016年, Liu 等[4]采用最大期望(EM)算法将天气进行聚类, 通过聚类结果, 选出反应预测日天气特点的样本作为输入, 利用小波SVM 回归模型进行输出预测, 分类后的机器学习模型表现出更好的预测效果. 2018年, Liu 等[5]提出反向传播(BP)神经网络模型, 利用15 kW 并网光伏系统的四种光伏输出和气象数据对该方法进行了测试, 在置信度分别为95%, 90%, 85%和80%的置信水平下计算预测区间覆盖率(PICPs), 它们所提出的模型在短期光伏功率输出和相关不确定性的预测方面优于传统的预测方法. 2019年, Gao 等[6]提出利用长短记忆神经网络(LSTM)对光伏系统的输出功率进行预测, 该方法使用一年内不同地点的每小时数据集进行评估, LSTM 进一步减少了预测误差, 体现出更优的预测效果[7]. 虽然上述的研究取得了不错的结果, 但是他们所采用的模型, 特别是人工神经网络模型, 过多的输入数据、隐含层数和隐含层节点很可能导致网络训练的过拟合、梯度消失和爆炸等问题, 并且单一神经网络模型普遍表现出预测精度不够高等缺点.

针对以上问题与缺点, 本文提出了一种基于遗传算法(GA)优化的卷积长短记忆神经网络混合模型(GA-CNN-LSTM). 首先对数据进行归一化处理去除量纲, 统一数据范围, 然后对历史数据特征进行灰色关联度分析[8], 选取最重要几个特征变量, 达到了降低计算复杂度和提高预测精度的目的. 该模型利用GA 算法解决了训练容易陷入局部最小值、收敛速度慢等问题, 同时使用辍学机制[9](Dropout)避免了模型易出现过拟合等缺点, 以及CNN 和LSTM 相结合的混合神经网络模型明显提高了预测精度, 并且在运行时间上表现出良好的性能.

2 数据预处理

本研究采用DC 竞赛光伏发电输出功率预测数据[10], 截取其中66860 组单年份数据作分析, 其中有风速、风向、温度、压强、湿度和实发辐照度为输入变量特征, 输出为实际发电功率. 我们首先对数据进行预处理, 将所有输入数据特征进行数据标准化, 去除量纲, 便于一致性分析, 然后采取灰色关联度分析筛选其中与输出实际发电功率相关程度更高的变量特征, 降低整体计算的复杂度, 同时能提高模型的精度.

2.1 归一化

数据归一化主要目的是将多种变量的数据统一缩放到一个范围[11], 这样的范围通常是(–1, 1)的一个数值区间, 转换函数为

其中max 为样本数据的最大值, min 为样本数据的最小值.x为当前样本点的值,x'为归一化转换计算所得的数值. 通过统一的归一化处理有利于加快模型的收敛速度, 同时能提升其计算结果的精度.

2.2 灰色关联度分析

通过分析两个变化量之间的关系, 来衡量两个量之间的关联程度, 以表达一个量对另外一个量的影响程度, 计算其灰色关联度的值通常有以下五个步骤[12]:

步骤1对所有数据进行归一化处理;

步骤2计算每个样本点的差值绝对值X;

步骤3找出样本点的最大值和最小值MAX,MIN;

步骤4计算每个对应的关联系数Y, 公式如(2)式所示:

步骤5对每列的所有关联系数Y做平均计算, 得出结果. 结果越接近于1, 相关联程度越高.

通过归一化和灰色关联度分析后得出结果如表1 所列, 其中实发辐照度的关联度值最高, 压强的关联度值最小. 在风况数据特征中, 虽然风速和风向与功率相关程度相近, 但是风速对光伏板的影响更为直接, 一方面, 风速越大光伏板的表面积尘越少, 进而使得光伏板实际接收到的辐照度越大;另一方面, 在白天工作时, 风速越大光伏板表面散热效果越好, 光伏板表面温度降低, 有利于光伏输出. 实验数据分析选取前四个相关联程度最高的特征变量(实发辐照度、湿度、温度、风速)作为下一步算法模型的输入数据样本变量. 这样的筛选, 一方面减少了特征数量, 有助于降低计算成本; 另一方面, 通过选择相关联程度更高的特征量有利于提高模型预测精度.

表1 灰色关联度分析值Table 1. Grey relational analysis value.

3 算法模型

本文采用遗传算法(GA)优化后的CNNLSTM 混合算法模型, 如图1 所示. 模型结构主要由卷积神经网络和长短记忆神经网络组成, 先由卷积神经网络提取数据的空间特征[13], 再由长短记忆神经网络提取时间特征. 整个模型结合了两种神经网络的优势, 并且在训练LSTM 神经网络的超参数时, 网络的权重系数和偏置值由GA 更新计算, 替换了传统的梯度下降法的训练方法, 使得整个训练学习的过程得到了优化.

图1 CNN-LSTM 混合算法模型Fig. 1. CNN-LSTM hybrid algorithm model.

3.1 卷积神经网络(CNN)

CNN 是一种专门用于处理具有已知网格状拓扑结构的数据的神经网络[14]. 例如,时间序列数据可以看作是按一定时间间隔采样的一维网格, 图像数据可以看作是由像素组成的二维网格, 在计算时, 网络主要采用了一种称为卷积的数学运算. 卷积是一种特殊的线性运算, 由它来代替一般矩阵计算可以达到多倍的运算效果[15]. 随着CNN 的发展, 出现了许多卷积网络结构的变体, 但它们的基本结构大多相似, 包括输入层、卷积层、池化层、全连接层和输出层[16]. 由于本文实验数据是以时间序列为主, 所以本文采用的是一维的卷积神经网络结构, 如图2 所示, 这样的选择避免了前期输入和后期输出数据维度的转换. 一维卷积核以时间步长单一方向的滑动为主, 这样的设置更有利于对时间序列数据的卷积处理.

图2 一维卷积神经网络结构[14]Fig. 2. One dimensional convolutional neural network structure.

3.2 长短记忆神经网络(LSTM)

LSTM 网络是一种递归神经网络[17](RNN).与所有的递归神经网络一样, LSTM 可以计算传统计算机在具有足够网络元素情况下的数据, 特别对时序数据能够体现更好的优势. 它的大体结构如图3 所示.

图中三个模块框部分可以看成三个细胞结构,前后两个细胞A代表前一个时刻和后一个时刻的细胞状态, 中间的细胞是当前时刻的状态, 它可以分为三个门控部分, 分别表示遗忘门、输入门、输出门[18]. 三个门接收前一个时间状态的LSTM 输出值ht-1和当前时间的输入数据xt作为输入[19].遗忘门部分的ft可以看成是由输入的xt和ht–1得到, 用来控制ct–1中的信息的遗忘程度,ft中的每个值都是属于[0, 1]的范围, 下界值0 代表完全遗忘, 上界值1 代表完全不变, 可以保留下来[20]. 遗忘门决定了前一个时期状态信息的遗忘程度, 之后输入门的作用就是往当前状态信息中添加新的内容[21]. 同样, 输入门部分由输入的xt和ht–1得到当前的it用以控制当前状态信息的更新程度. 这里当前状态信息cg也是通过输入的xt和ht–1计算得出.那么当前新的状态信息ct就很显然可以通过下面的公式计算得出, 通俗地说就是遗忘一些旧信息,更新一些新信息进去[22]. 最后就是输出门部分, 类似地, 根据xt和ht–1计算得出ot用以控制哪些信息需要作为输出. 具体计算公式为:

图3 LSTM 神经网络结构[17]Fig. 3. LSTM neural network structure.

其中w和b表示上述门的权矩阵和偏置向量,Ct表示存储单元,s和tanh 代表s 型函数和双曲正切激活函数.

3.3 遗传算法(GA)

遗传算法(GA)是模拟生物进化进行个体的选择、交叉和变异的一种算法, 它的主要核心是参数编码、初始群的设定和适应函数的确定, 然后通过最终的搜索得到最优解[23]. 本论文采用GA 优化LSTM 神经网络训练时权值以及偏置的确定计算, 优化改进模型流程如图4 所示.

图4 遗传算法优化流程Fig. 4. Optimization process of genetic algorithm.

4 误差性能指标

在衡量模型预测的性能时, 通常选取以下四个误差指标: 平均绝对误差(MAE)、平均平方差(MSE)、平均平方根误差(RMSE)和平均绝对误差率(MAPE). MAE 是一种基础性的考察误差的指标; MSE 作为平方效果后的误差, 侧重放大偏差较大的误差, 可评估出一个模型的稳定性;RMSE 作为一种方均根误差对异常点比较敏感[24];MAPE 不仅考虑预测值与真实值的误差, 同时它更能显现出误差与真实值的比率[25]. 假定预测值为x={x1,x2,x3,x4,··· ,xn}, 真实值为y={y1,y2,y3,y4,··· ,yn}, 四种指标的计算为:

5 结果与讨论

为验证算法模型的可行性, 本文选取前期预处理好的实验数据集, 将80%的数据作为训练集, 剩余20%的数据作为测试集. 实验选择在电脑上进行, CPU 配 置 为Inter Core I7-3770k, 频 率 为3.60 GHZ, 显卡为MX250, 系统为win10, 程序代码选择python3.6 版本, 编辑器是pycharm.

实验对本文提出的GA-CNN-LSTM 算法模型进行测试, 同时与CNN, LSTM 两个单一神经网络模型和未经优化的CNN-LSTM 混合神经网络模型的预测结果进行比较. 本实验不仅考量模型的预测误差性能指标, 还考量整个模型的训练和测试运行时间.

5.1 多种模型实验误差性能对比结果

实验对LSTM, CNN 两个单神经网络模型和CNN-LSTM 混合神经网络算法模型, 以及一种经过GA 优化过的CNN-LSTM 混合神经网络算法模型进行性能测试. 实验测试结果如图5—图8 所示, 分别为四种模型截取一周预测数据的时间与发电功率的关系图, 选取每15 min 为一个间隔的发电输出功率值, 其中红线代表实际发电输出功率,绿线代表预测发电输出功率. 单方面从图的预测线和实际线重合程度来看, 经GA 优化的CNNLSTM 混合神经网络模型明显优于其他三种模型,特别是在夜晚时间呈现的拟合情况, 预测值更贴近于实际值.

图5 CNN 模型预测功率图Fig. 5. Power diagram of CNN model prediction.

图6 LSTM 模型预测功率图Fig. 6. Power diagram of LSTM model prediction.

图7 CNN-LSTM 模型预测功率图Fig. 7. Power diagram of CNN-LSTM model prediction.

图8 GA-CNN-LSTM 模型预测功率图Fig. 8. Power diagram of GA-CNN-LSTM model prediction.

进一步通过具体的预测误差指标分析, 如表2所列, 在MAE 和MAPE 指标下, LSTM 预测值呈现性能最差, CNN 模型次之, GA-CNN-LSTM 预测最好. 特别是在MAPE 指标下, GA-CNNLSTM 比单一神经网络模型最好的结果减少了1.537%的误差, 比未经优化的CNN-LSTM 混合神经网络算法模型减少了0.873%的误差. 在MSE 和RMSE 指标下, CNN 模型预测值呈现性能最差, LSTM 模型次之, GA-CNN-LSTM 预测效果依然是最好的. 尤其是在RMSE 指标下, GACNN-LSTM 比CNN-LSTM 减少了8.108%的误差, 体现了GA 训练超参数的优势, 不仅避免了模型训练过拟合, 同时防止了梯度消失和爆炸的情况发生, 提高模型结果预测精度. 综合图像和图表结果, 本文提出的GA-CNN-LSTM 模型在各种误差指标下都呈现最优效果, 而且相对于单一神经网络模型, 混合的神经网络模型的预测性能更好, 充分表现了CNN-LSTM 混合模型既保留了CNN 在空间特征提取的优势也发挥了LSTM 在时间特征提取的优势.

表2 模型预测误差指标Table 2. Error index of model prediction.

5.2 多种算法模型运行时间对比结果

从运行时间方面来看, 具体训练与测试时间值如表3 所列. 首先在训练时, CNN 和LSTM 两个单神经网络模型所耗时间分别是456.434 和51.576 s, 而混合神经网络模型CNN-LSTM 和GA-CNN-LSTM 所耗时间分别为 611.88 和503.74 s. 其次在测试时, CNN, LSTM, CNNLSTM 和GA-CNN-LSTM 四个模型所耗时间分别是1.13, 1.22, 3.69 和2.77 s. 单一神经网络模型消耗训练时间和测试时间都相对较少, 但是综合误差性能, 混合神经网络模型更具性价比, 尤其是经过GA 优化后的混合算法模型更具优势.

表3 模型运行时间Table 3. Model running time.

6 结 论

为了保证光伏发电与电网电力供需平衡, 进一步提高光伏发电预测的准确率, 本文提出了基于遗传算法(GA)优化CNN-LSTM 混合神经网络的模型, 通过数据处理和算法模型实验分析表明:

1)采用归一化处理和灰色关联度分析, 降低了数据的维度, 减少了计算成本, 同时通过保留相关性较高的数据特征有助于为后期提高模型精度作准备;

2)通过将CNN 和LSTM 混合, 等同于将两种神经网络在空间特征与时间特征提取的优势相结合. 在MAPE 误差指标下, CNN-LSTM 混合模型比单一神经网络模型最好的结果减少了0.574%误差, 能够进一步提高模型精度;

3)经GA 优化LSTM 训练后所得的GACNN-LSTM 混合神经网络模型, 改进了传统梯度下降法的训练缺点. 在MAPE 误差指标下, 比未经优化的CNN-LSTM 混合神经网络算法模型减少了0.873%的误差, 表现出更高的预测精度;

4)从训练与测试运行时间来看, GA-CNNLSTM 模型所花费时间略高于单个神经网络模型,但劣势不是太明显.

综合预测性能和运行时间比较结果, GACNN-LSTM 模型在光伏预测系统以及整个光伏发电站运维工作中, 具有一定的应用价值.

猜你喜欢
卷积发电神经网络
“发电”
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
含风光发电的互联电力系统自动发电控制论述
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于Q-Learning算法和神经网络的飞艇控制