基于改进粒子群算法优化LSTM的短期电力负荷预测

2024-01-19 08:16崔星李晋国张照贝李麟容
电测与仪表 2024年1期
关键词:适应度粒子神经网络

崔星,李晋国,张照贝,李麟容

(1.上海电力大学 计算机科学与技术学院, 上海 201300;2.梅州市职业技术学校 信息与电气工程学院, 广东 梅州 514017)

0 引 言

负荷预测指对历史负荷进行数据挖掘并对未来负荷进行预测,是电力系统领域的重要研究问题之一[1]。电力系统负荷预测是电力系统部门进行输电网络扩展和规划、电力调度和其他重要决策的要旨。精准的电力负荷预测有利于合理安排调度运行方式、机组使用计划和交换用电方案。因此,负荷预测的高精度有利于电力计划管理、降低发电成本、制定合理的电力建设计划,提高电力系统的经济效益和社会效益。

随着智能电网的发展,分布式发电机、电动汽车和储能类需求响应资源越来越多地进入智能电网的用电侧,这将增加供方与需求方之间的实时交互性,其波动性对智能电网的稳定性有很大影响[2-3]。短期负荷预测在评估电网稳定性,实时功率以及优化电压方面起着重要作用,这也使得负荷预测越来越受到重视。智能电网关键技术之一的储能系统,存储量的大小和释放时间,同样需要负荷预测技术的支撑[4-5]。目前,先进的计量设施能够在很短的时间内获得周期完整、复杂和长序列的负荷数据。在新的背景下,如何有效地利用负荷大数据,提高负荷预测的准确度,具有十分重要的意义。针对短期负荷预测,已有的传统预测方法如线性回归、时间序列等理论发展较为成熟。然而上述模型初始化难度较大、过程比较复杂、需要丰富的经验和较高的技巧。且负荷预测的准确度对数据的完整性和多样性同样要求较高,诸多决定性因素 (如温度、湿度)考虑不充分会使模型的预测效果大大降低。国内外文献已经提出了各种基于统计学和深度学习的人工智能预测方法的模型,包括前馈神经网络[6]、模糊神经模型[7]、支持向量机[8]和PSO-SVM组合模型[9-10]。文献[11]采用多重组合模型C-PSO-SVM-ARMA运用到风功率预测也取得了不错的效果。然而上述方法缺乏对时序数据时间相关性的考虑。而深度学习算法在处理非线性映射方面具有较大优势,在电力负荷预测领域应用也更为广泛。文献[12]采用循环神经网络(recurrent neural networks,RNN)并取得了较好的预测效果。但该类方法存在梯度下降和消失的问题。文献[13-14]把LSTM运用到了负荷预测并极大提高了预测精度。文献[15]采用PSO-LSTM用于非时序电价信号的短期预测,利用粒子群技术优化LSTM网络输入权重,然而未考虑粒子群自身的权重对全局最优解的影响。

与其他神经网络模型类似,LSTM神经网络模型中部分参数如时间窗大小、批处理数量、隐藏层单元数目等依赖于经验值和多次实验反复验证结果,效率低下,隐藏层数和隐藏层单元数直接决定模型的拟合能力,时间窗大小和批处理大小影响模型的训练过程和效果,不同参数训练出模型的预测性能差异巨大,依靠经验设定的参数会导致预测结果具有较大的不稳定性,降低了预测精度。针对LSTM模型存在的缺陷,提出如下改进方案:

1)提出非线性动态调整惯性权重的方法对PSO进行优化,提高了PSO算法种群的多样性,避免陷入局部最优解;

2)利用优化后的PSO对LSTM进行优化,获得最优超参数。利用得到的超参数构建模型并得到预测结果,大大提高了模型的预测精度;

3)进行了全面地可行性实验研究,并与现有的各种预测方法进行比较,验证了所提模型的有效性和优越性。

1 相关工作

1.1 循环神经网络(RNN)

对于序列类型的数据,比如翻译问题、预测时间序列数据等问题,可从样本之间寻找一定的关联,而传统的神经网络捕捉这些关联的能力有明显的劣势。RNN(recurrent neural network)[16]与传统人工神经网络的区别在于,RNN隐藏层单元之间存在连接,从而在同一层中形成有向循环。通过这些连接,RNN可以提取时间特征,并得到记忆输入序列、反应节点内部状态的能力,因此性能要优于传统神经网络。基于时间展开的RNN结构如图1所示。其中xt,ot分别为t时刻的输入和输出,st为隐藏层在t时的状态。由其独特的记忆单元和递归神经网络结构,可以处理较长时间的数据作为输入,并能反映时间序列的特性。

图1 标准RNN结构图

然而输入数据的持续时间过长,网络很难将信息从较早的时间步传到后面的时间步。因此,尝试处理数据量较大的预测时,RNN存在会遗漏开头重要信息的问题[17]。RNN存在的另一类基本问题是梯度消失和梯度爆炸。梯度消失是所有基于梯度的学习算法在训练网络过程中不可避免的问题。在基于梯度的学习算法中,每次的迭代过程中通过获取误差相对于其权重的偏导来更新权重。在某些情况下,经过足够的迭代后,梯度会变得太小,以至于阻止权重更新,也会导致训练时由于梯度消失而完全停止。造成的结果是网络加深时,学习的速率低下或无法学习,这种现象称为“饱和态”。

1.2 长短期记忆神经网络(LSTM)

为了克服RNN梯度消失的问题,Hochreiter和Schmidhuber提出了长短期记忆(Long Short-Term Memory,LSTM)神经网络单元来替代RNN单元。LSTM通过长短期存储技术“门”逻辑控制决定数据是更新还是丢弃,让LSTM神经网络可以记住较为长期的信息,从而解决了梯度消失的问题。基于在这些方面的优异表现,应用其对时间序列进行研究受到广泛关注,由于其包含时间记忆单元,因此适用于电力短期负荷预测等场景[18]。LSTM的结构中包含一个记忆单元状态(Cell)和三个门,即更新门Γi、遗忘门Γf、输出门Γo。通过Cell和三个门结构可以避免传统循环神经网络的梯度消失问题,能有效反应历史信息对当前状态的影响。

标准LSTM结构如图2所示,网络由多个同结构单元格(Cell)构成,包含三个输入分别为:xt、ht-1、Ct-1,输出分别是ht、Ct、xt代表t时刻的输入序列特征,ht-1表示上一轮的状态量输出,Ct-1表示上一轮全局一个信息的载体;ht表示本轮的状态量输出,Ct表示本轮全局的一个信息载体。LSTM的每个单元可以用下列式子来表示:

Γf=σ(Wf[ht-1,xt]+bf)

(1)

Γi=σ(Wi[ht-1,xt]+bi)

(2)

(3)

(4)

Γo=σ(Wo[ht-1xt]+bo)

(5)

ht=Γo*tanh(Ct)

(6)

式中Wf,Wi,Wo分别为对应门的加权矩阵;bf,bi,bo分别为对应门的转置矩阵;σ,tanh分别为sigmoid函数和tanh函数,*为矩阵对应元素相乘。LSTM的关键在于如何控制长期状态C,遗忘门决定上一时刻的Cell状态Ct-1有多少保存到当前Cell状态Ct。更新门决定当前LSTM的输入xt有多少保存到当前Cell状态Ct。最后由输出门控制Cell状态Ct有多少输出到LSTM的当前状态值ht。

图2 标准LSTM结构图

1.3 传统粒子群算法(PSO)

粒子群算法(particle swarm optimization, PSO),是J.Kennedy和R.C.Eberhart等人从动物群体的群居特性中得到启发的优化算法[19]。PSO算法中将每个个体称为一个粒子,它的位置代表优化问题在搜索空间中的候选解。解的适应度值由优化问题的适应度函数决定。粒子从随机解出发,通过不断迭代改变方向和距离,从当前搜索到的最优解寻找全局最优解,并通过适应度来评价解的质量。粒子的速度决定了它飞行的方向和距离,每个粒子在解空间中单独搜寻最优解,并将其作为个体最优解Pbest,将所有粒子的最优解作为整个粒子群的全局最优解Gbest。每一次迭代过程中,粒子信息被整合在一起,以调整粒子在每个维度的速度,从而计算出粒子的新位置。优化问题空间的不同维度之间的唯一联系就是引入目标函数。第i个粒子在D维搜索空间中的位置表示为Xi= (xi1,xi2,…,xiD),它经历过的最好位置(适应度值)记为Pi= (pi1,pi2,…,piD),将粒子i的速度用Vi= (vi1,vi2,…,viD)表示,对每一代,它的第d+1维(1≤d+1≤D)根据如下方程变化:

(7)

(8)

2 NIWPSO优化LSTM网络模型

2.1 改进离子群算法(NIWPSO)

传统PSO算法中,惯性权重随着迭代次数的增加沿直线递减,使得其在迭代初期具有较强的全局搜索能力,后期具有较强的局部搜索能力,但存在过早收敛的倾向。因此文中提出利用非线性变化惯性权重的方法来防止PSO过早陷入局部最优。NIWPSO(nonlinear inertia weight in particle swarm optimization)[20]根据调整ω使算法能灵活地调整全局寻优能力与局部寻优能力,并提高LSTM参数寻优的准确性。NIWPSO算法在初始搜索阶段,惯性权重系数非线性减小,使算法在该阶段具有较强的全局搜索能力,能尽快进入局部搜索,后期缓慢搜索,因此我们选择凹函数的递减策略。更新公式如下:

(9)

式中ωmax和ωmin分别为惯性权重的最大值和最小值;t为当前迭代次数,tmax为最大迭代次数;k为控制因子,控制ω曲线的平滑度。上述改进粒子群优化算法中控制因子k取0.6。变量迭代次数前的系数1.5是为了保证ω的值介于0.3~0.7之间,即ω从最初的0.7非线性动态递减至最后的0.3。为了在初始搜索阶段获得粒子的多样性,可以参照遗传算法的“变异”操作,可以对粒子的一维进行变异,以一定的概率调整其位置,进入其他区域继续搜索。这样可以有效地扩大搜索范围,得到算法的全局最优解。这是自适变异粒子群算法的基本思想,其公式如下:

p(i,k)=5×rand,x>0.95

(10)

其中,p(i,k)表示群体中i粒子的k维突变操作,当0~1之间的随机数x>0.95时会发生变化,rand为[0,1]范围内变换的随机数。

2.2 NIWPSO-LSTM预测模型

电力负荷作为一种时间序列数据,在短期内具有高度的波动性和随机性。文章以在时间序列预测中表现优异的LSTM模型为基础,构建针对电力负荷数据的预测模型。LSTM模型中某些超参数的取值间接决定着模型网络结构并影响预测精度,在实际应用中,这些参数都是依靠经验来确定,随机性较大,模型的预测效果也大打折扣。为了使模型网络结构与电力负荷数据特征相匹配,将非线性动态惯性权重改进粒子群算法(NIWPSO)使得LSTM模型能够根据电力负荷数据的特性,快速、精准地确定最优超参数实现LSTM模型网络结构与电力负荷数据特征的有效结合。该模型将LSTM的批处理大小、时间窗大小、隐藏层单元数作为NIWPSO的优化对象。将输入数据与目标数据之间的初始误差作为粒子群算法的适应度值,根据条件判断粒子群的性能。适应度函数公式如下:

(11)

Step 1:将LSTM模型中的时间窗大小、批处理数量、隐藏层单元数目作为优化对象,随机生成一组待优化参数作为粒子初始化坐标;

Step 2:将预测结果的平均绝对百分比误差作为适应度值,根据式(11)计算适应度值;

Step 3:将每个粒子的个体最优解Pbest设置为粒子的当前位置,并计算每个粒子的适应度值。其中适应度值最大的粒子的个体最优解是当前种群Gbest的最优解;

Step 4:将每个粒子的适应度值与Pbest进行比较,并保留更好的Pbest。同理,将每个粒子的适合度值与Gbest进行比较,并保留更好的Gbest;

Step 5:根据式(7)和式(8)更新粒子的位置和速度;

Step 6:若满足终止条件,利用得到的最优粒子构建LSTM网络模型;

Step 7:将测试集输入构建好的LSTM模型进行预测,输出电力负荷预测值。

NIWPSO-LSTM算法流程如图3所示。

图3 NIWPSO-LSTM流程图

3 实验与结果

3.1 输入数据预处理

提出的改进粒子群优化的LSTM网络,计算机配置为:处理器为IntelCore i7-7800X、显卡为RTX2080Ti、固态硬盘容量大小1 TB、内存为64 GB。实验环境使用Keras搭建神经网络。实验样本为2016全球能源预测大赛2009年1月1日~2012年10月1日负荷数据和气象数据,采样间隔为1 h。将负荷数据和气象数据中70%作为训练数据、 20%作为验证数据、10%作为测试数据。

1)异常数据处理。

采用线性插值法来填充缺失数据和替换异常数据。已知t时间和t+iΔt时间的负荷值为Lt和Lt+iΔt,如果中间时间t+jΔt的负荷数据丢失,则此时t+jΔt的负荷值可为:

(12)

2)数据归一化。

考虑到神经网络对数据的要求,对数据进行归一化后最优解的寻优过程明显会变得平缓,更容易正确地收敛到最优解,便于后续负荷数据的趋势分析。公式如下:

(13)

式中xR为归一化后的值;x为负荷数据原始值;xmax和xmin分别代表同一天的最大负荷值和最小负荷值。

3.2 模型参数设置

NIWPSO-LSTM模型结构由输入层、两层LSTM层、输出层组成,模型训练过程采用Adam算法训练LSTM内置参数。该模型将时间窗口大小、批处理大小、训练次数和隐藏层单元个数设置为LSTM网络模型超参数。为了减少人为因素对模型的影响,实验根据数据具体情况,对超参数的取值范围设置如下:指定时间窗口大小取值范围[1,300],批处理大小取值范围[1,300],隐藏层单元个数取值范围[10,32]。查看数据以获取常规设置参数并进行收敛测试后,确定NIWPSO参数如下:种群大小为20,算法迭代次数为30,学习因子c1,c2均设置为2,惯性权重初始值ω为0.7。NIWPSO-LSTM训练次数由模型误差损失情况直接确定,模型迭代次数由误差损失情况直接确定,当模型迭代到600次时误差损失函数达到收敛状态。因此模型的训练次数设为600。

3.3 网络评价指标

选取平均绝对百分误差(MAPE)以及决定系数(R2)来衡量模型的准确性和模型拟合好坏程度;MAPE数值越小代表模型的预测结果与实际值的误差越小、模型越优;R2越接近1,代表拟合优度越大,模型预测效果越好。其公式如下:

(14)

(15)

3.4 网络评价指标

为验证所提方案的精度,分别使用RNN模型、LSTM模型、PSO-LSTM及NIWPSO-LSTM模型在相同数据集上对一周的负荷进行预测。NIWPSO模型所得LSTM最优超参数:时间窗口大小为57,批处理大小为37,第一层隐藏层单元个数为15,第二层隐藏层单元个数为19。利用得到的以上参数建立LSTM预测模型,使用MAPE和R2来评价各模型的预测效果如表1所示。由表1可知,基于改进的粒子群算法优化LSTM网络的MAPE值远小于RNN模型、LSTM模型和PSO-LSTM模型,且R2值更接近于1,在预测精度与模型稳定性方面比RNN模型和LSTM模型更具优势。

表1 各模型预测168 h实验结果对比

为进一步分析提出方案的准确性,对实验结果中某一天24 h负荷进行算例分析。从表2可以看到基于改进粒子群算法优化的LSTM网络的MAPE值,远小于其他标准网络的值,尽管某些点的预测效果要略逊于其他模型,但整体具有较高的预测精度与稳定性。这证实了相比人为控制超参数,使用算法调整超参数对于深度学习网络进行负荷预测也是非常重要。

表2 各模型24 h预测误差对比

由图4可知,波动幅度与实际值相似,在高峰预测也取得了良好的准确性。且相较于其他标准网络,模型拟合程度更好。由于解的多样性,改进的粒子群算法相较于传统粒子群算法能得到更好的全局最优解,由此构建性能更优的基于LSTM的模型。虽然在模型训练的过程中NIWPSO收敛速度较慢、较难收敛到局部最优解,但是一旦模型训练完毕,最终预测得到的负荷结果要明显优于未优化的神经网络,也证实了所提出的NIWPSO-LSTM具有更高的预测精度。

图4 各模型预测曲线图

4 结束语

建立了一种基于非线性动态调整惯性权重粒子群算法优化LSTM网络的短期负荷预测方法,NIWPSO减少了人为因素对LSTM的影响,提高模型捕获电力负荷数据特征的能力。实验结果表明,与RNN、LSTM和PSO-LSTM网络相比,所提出的模型具有更高的预测精度,为短期电力负荷预测提供了新的思路。未来可考虑对该方法进行改进,实现并行运算,以减少其训练及预测时间。

猜你喜欢
适应度粒子神经网络
改进的自适应复制、交叉和突变遗传算法
神经网络抑制无线通信干扰探究
基于粒子群优化的桥式起重机模糊PID控制
基于粒子群优化极点配置的空燃比输出反馈控制
基于空调导风板成型工艺的Kriging模型适应度研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于Matlab的α粒子的散射实验模拟
基于两粒子纠缠态隐形传送四粒子GHZ态