APP下载

基于APSO-LSTM模型的短期电力负荷预测

2023-02-02戴春萍袁华保峰胡万平钱正杰

科技与创新 2023年2期
关键词:适应度权重粒子

印 江,戴春萍,袁华保峰,胡万平,钱正杰

(1.山西大学电力与建筑学院,山西 太原 030000;2.山西大学自动化与软件学院,山西 太原 030000)

自动发电系统(Automatic Generation Control,AGC)承担着协调炉机系统及响应调度中心负荷指令的重要任务,是连接单元机组与电网的枢纽[1]。火电厂分布控制系统上位机接受来自AGC程序的分配,优化后将负荷指令合理地分配给各个单元机组,通过协调机组燃烧和调门开度及时响应AGC指令。但是机组运行过程涉及的工艺设备多,且炉侧和机侧是2个动态特性差异特别大的控制对象[1],汽轮机惯性小,而锅炉系统燃烧过程惯性时间长,造成单元机组难以快速响应AGC指令。利用短期负荷预测,开展AGC超前控制策略[2],协调电厂各个子系统提前动作,补偿大惯性设备造成的响应迟延,可以提高电厂对AGC指令的响应速度。负荷预测指对历史负荷进行数据挖掘并对未来负荷进行预测,根据精确的负荷预测[3]指令开展超前控制,有利于实现电量的实时供需平衡,是电力领域的研究热点。

电力负荷预测分为长期预测、中期预测、短期预测、超短期预测[4],短期负荷预测以小时或天为单位,由于短期负荷受节假日、天气等复杂因素影响较大,随着电网规模不断扩大和负荷多样性增加,高效和精确的短期负荷预测变得更加困难[5]。众多研究者提出不同模型进行预测,文献[6]提出利用Elman神经网络模型进行负荷预测,但预测算法的初始权值是随机选择的,还有很大的优化空间[7];文献[8]提出基于MLR和LSTM的神经网络模型,但模型未考虑电价因素,预测精度有待进一步提高;文献[9]提出一种灰色模型和神经网络相结合的模型,但是大样本情况下预测精度不高,由此可以看出,精确的负荷预测目前具有很大的改进空间。

长短记忆的时间递归神经网络(Long Short Term Memory,LSTM)具有很强的长时记忆功能,可以学习长期依赖信息[10],负荷预测采用LSTM模型可以获得较高的预测精度。但其优化算法学习率的初始值一般采用经验值,降低了模型的预测精度和泛化能力。粒子群算法是一种常见的寻优算法,但由于算法的静态学习导致寻优过程缓慢且容易陷入局部最优值。本文提出一种改进的自适应粒子群算法(Adaptive Particle Swarm Optimization,APSO),将算法的学习因子和惯性权重动态化,改进位置更新公式,使算法具有更强的寻优能力,利用APSO计算LSTM优化算法的学习率初始值,并分别结合LSTM的3种优化算法进行模型学习,得到最佳的预测模型,可以提高模型的预测精度。

1 LSTM模型

为了解决循环神经网络,(Recurent Neural Network,RNN)梯度爆炸的问题,首先由HOCHREⅠTER等在1997年提出LSTM模型,如今在时间序列数据的预测应用十分广泛[11]。LSTM模型作为RNN的一种特殊形式,具有RNN的重复链式结构,但重复的模块中具有与RNN网络不同的结构,其主要结构可以分为忘记门(又称遗忘门)、输入门、输出门3部分[12]。

1.1 忘记门

忘记门决定模型会从细胞状态中丢弃何种信息,该门会读取ht-1和xt,输出一个0~1之间的数值,给每个在上一次细胞状态中的Ct-1数字,1表示完全保留,0表示完全舍弃,将上一步的细胞状态中的信息选择性遗忘[13]。

式(1)中:ft为忘记上一次细胞信息Ct-1的程度;σ为Sigmoid函数;Wf为忘记门的更新权重矩阵;ht-1为上一步LSTM的输出;xt为当前步LSTM的输入;bf为忘记门的偏置。

1.2 输入门

输入门的功能可以分为2部分,即找到那些需要更新的细胞状态和把需要更新的信息更新到细胞里。

式(2)(3)中:it为输入门更新值的概率;Wi为输入门的更新权重矩阵;bi为输入门的偏置;为tanh层创建的候选值向量;Wc为细胞状态更新权重矩阵;bc为细胞状态偏置。

在私密的卧室空间里设计一扇天窗,让更多的光线进入室内,可以让室内保持充足的温度和大量的自然光,增大室内的空间通透感。另外,通过不同的光感形式还可营造卧室空间丰富多彩的视觉效果。巧妙地设置天窗,可以让卧室瞬间拥有明亮感;通过天窗的光线,可以为卧室营造浪漫舒适的氛围,晕染的光环笼罩着整个卧室如梦如幻,质朴的内饰与大自然外景相辅相成,躺在自己的一片小天地里仰望上方,正是一片闪耀的星空。

忘记门找到需要忘记的信息后,将它与旧状态相乘,丢弃确定需丢弃的信息,再将结果加上it·C˜t使得细胞状态获得新的信息,这样就完成了细胞状态的更新。

式(4)中:Ct为当前步LSTM的细胞状态;◦为哈达玛乘积;Ct-1为上一步LSTM的细胞状态。

1.3 输出门

在输出门中,通过一个Sigmoid层确定哪部分的信息将输出,接着把细胞状态通过tanh进行处理得到一个-1~1之间的值,并将它和Sigmoid层的输出相乘,得出最终想要输出的那部分。

式(5)(6)中:Ot为输出门中当前步Sigmoid层的输出;Wo为输出门的更新权重矩阵;bo为输出门的偏置;ht为当前步LSTM的输出。

2 粒子群算法

由于神经网络的参数优化方法中学习率的初始值一般来说都是根据经验取值,但这不一定能够达到很好的效果,超参数设置过大或者过小都会严重影响最终的负荷预测精度,于是本文考虑采用粒子群算法得到学习率的初始值。

2.1 粒子群算法原理

粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,通过鸟群之间的竞争与合作寻找目标食物[14]。粒子仅具有速度和位置2个属性,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独地搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置,从而使自己达到更优的位置。

式(7)(8)中:w为惯性常数,非负数,调节对解空间的搜索范围;为第i个粒子在第k-1次d维的速度;c1、c2为学习因子,调节学习的最大步长;r1、r2为2个随机值,取值范围为[0,1],增加解空间搜索的随机性;pbestid为第i个粒子d维的历史搜索最优值;为第i个粒子在第k-1次d维的位置;gbestd为d维全局最优解。

2.2 粒子群算法步骤

粒子群算法步骤如下:①对粒子群的随机位置、学习因子、惯性权值等进行初始设定,同时设定选代次数并将粒子的最优历史位置pbest作为当前位置,群体中最优的粒子设置为当前的gbest;②在每一次迭代中计算每个粒子的适应度函数值;③对每个粒子,将当前所处位置的适应度值与所经历的历史最好位置pbest的适应度值进行比较,若当前位置的适应度较好,则将其作为该个体最优位置;④对每个粒子,将当前所处位置的适应度值与全局所经历的最好位置gbest的适应度值进行比较,若当前位置的适应度较好,则将其作为当前的全局最优位置;⑤根据粒子的速度更新公式和位置更新公式对粒子的速度和位置进行优化,从而产生新的粒子状态;⑥如未达到结束条件(通常为最大迭代次数数或最小误差要求),则返回第②步。

3 改进的自适应粒子群算法

标准PSO算法存在一些固有缺陷,如搜索精度低、局部搜索能力差,尤其求解复杂非线性多峰函数时容易陷人局部极小解出现“早熟”收敛[15],于是,本节将粒子群算法进行改进。

3.1 改进学习因子

c1是个体认知因子,促使粒子获得个体历史的最优位置,有利于开发局部最优解,c1=0为无私型粒子群算法,会迅速丧失群体的多样性优势,易陷入局部最优而无法跳出;c2为社会认知因子,推进粒子向全局最优的区域收敛,加快收敛速度,c2=0为自我认知型粒子群算法,完全没有信息的社会共享,导致算法收敛缓慢。

粒子群算法的2个学习因子对于学习过程具有不同促进作用,在迭代过程的前半程和后半程粒子的寻优特点是不同的,所以应使得学习因子在整个迭代过程中动态化,发挥2个学习因子的优势,提高寻优速度和质量。在迭代过程的前半程,应增大c1,减小c2,能够帮助粒子探索自身的最优值,强调粒子的个体认知,避免粒子过早聚集在最优值周围,在迭代过程后半程,应增大c2,减小c1,能够帮助粒子更快地向群体最优值靠近,强调社会认知部分,提高寻优速度,这种改进后的粒子群算法,其参数具有自适应性,称为自适应粒子群算法。

式(9)—式(11)中:cmax为学习因子初始值最大值,一般设为2.1;cmin为学习因子初始值最小值,一般设为0.8;k为当前迭代次数;K为总迭代次数;δ为加速度率,其值在[0.05,0.1]中随机产生,可以防止第i个粒子k+1次和k次迭代学习因子差距过大。

3.2 改进惯性权重

惯性权重w是一个重要的调节参数,调节对解空间的搜索范围,使得算法具有较大的全局搜索能力,尽快靠近最优解。w较大时算法具有更强的全局搜索能力,w较小时算法具有更强的局部搜索能力,在算法迭代的前期应提高粒子的全局搜索能力,使得粒子快速靠近最优解,算法迭代后期,应提高粒子的局部搜索能力,发掘粒子附近的最优值。

式(12)中:wmax为惯性权重最大值;wmin为惯性权重最小值。

3.3 改进位置更新公式

传统粒子群算法容易陷入局部最优,仅靠速度公式中参数的更新难以较好解决这一问题。因此对位置更新公式进行改进,在传统粒子群算法位置更新公式的基础上引入扰动补偿因子可以很好解决这一问题,促使粒子跳出局部最优值搜索空间,向全局最优值空间进行搜索,使得粒子对全局空间的搜索更加广泛。

本小节将学习因子、惯性权重动态化,使得粒子群算法的迭代过程中参数变化更加符合迭代过程阶段特征的变化,此外引入扰动因子更新位置公式,提高了粒子种群的多样性。

4 APSO-LSTM预测模型

LSTM模型训练中参数优化算法通常使用SGD算法、AdaGrad算法、Adam算法,但是学习率的初始值一般是根据经验值给定,降低了学习的效果和负荷预测的精度,于是采用APSO来进行优化算法中学习率初始值的优化给定,可以提高模型的预测精度。

4.1 APSO-LSTM模型构建

取山西某电厂2016-11-25—2019-11-24的负荷、当日最高温度和最低温度为数据集,按照7∶3的比例将数据集划分为训练集和测试集,使用24 h的负荷预测第25 h的负荷,APSO的适应度函数取为LSTM模型中测试集的预测误差MAPE,APSO的优化目的就是最小化MAPE,即缩小预测值和真实值之间的差值。利用APSO得到最优的学习率,再将此学习率带入LSTM模型重新训练,得到负荷预测值。

式(13)中:yi为第i个样本的负荷真实值;predi为第i个样本的负荷预测值。

4.2 APSO-LSTM算法流程

APSO-LSTM算法流程如图1所示。算法流程总体上分为APSO部分和LSTM模型部分,具体步骤如下。

图1 APSO-LSTM算法流程图

电力负荷受温度因素影响相对较大,将日最高气温、日最低气温、负荷值、日类型值、月类型值作为LSTM模型的输入。其中,日类型和月类型分别体现负荷的日周期性和月周期性,大小区间为[0,1]。日类型值为每个时刻在一天24个时刻中的相对大小值,月类型值为每个时刻在一个月总天数中的相对天数大小值。

对数据集进行预处理,剔除异常数据。将日最低温和日最高温进行归一化处理,并按照7∶3将LSTM模型的输入划分为训练接和测试集,将前24 h的负荷和第25 h的负荷作为一组数据输入LSTM模型的迭代器。

初始化LSTM模型参数及粒子群,将适应度函数定义为测试集的预测值和真实值的平均绝对误差百分比MAPE,r1、r2的值由随机函数产生。

粒子群算法中用随机函数初始化学习率并输入LSTM模型进行模型训练,模型训练的优化器分别使用SGD算法、AdaGrad算法、Adam算法来进行神经网络权重参数的优化。

比较粒子适应度值和个体最优值以及粒子适应度值和群体最优值,根据速度公式和改进后的位置公式更新粒子状态,同时更新学习因子、惯性权重,进行下一次迭代。

满足APSO设置的迭代次数则迭代结束,得到3种不同权重优化算法学习下最优学习率初始值,代入LSTM模型,重新进行LSTM模型训练,得到负荷预测值。

4.3 仿真实验

仿真实验采用Python语言进行编写,其中LSTM模型部分程序的编写框架选用Pytorch,此框架是Facebook中最为流行的深度学习框架。选取山西某电厂2018-12-31的数据预测2019-01-01—2019-01-03的负荷,每小时采样一次,2018-12-31的数据共计24个数据点,2019-01-01—2019-01-03共计72个数据点。本次实验将LSTM模型中batch_size设置为30,即每次训练使用30组数据,由于数据量很大,epoch设置为10,即将数据训练10遍。APSO中粒子数设置为50,迭代次数设置为20,将惯性权重初始值最大值设置为0.9,最小值设置为0.5,学习因子初始值最大值和最小值分别设置为2.1和0.8。为进一步说明实验方案的可行性,将SGD算法、AdaGrad算法、Adam算法分别作为优化算法进行预测,学习率根据初始值设置为0.05,再利用APSO分别训练得到3种优化算法下的初始学习率,然后重新代入LSTM模型训练得到预测结果。

运行Python程序得到图2和图3,其中图2为分别使用SGD算法、AdaGrad算法、Adam算法,并将学习率初始值设置为经验值的预测结果,图3为将APSO优化后的学习率分别作为SGD算法、AdaGrad算法、Adam算法的初始学习率的预测结果。对比图2和图3可以明显看出,经过APSO优化初始学习率后采用3种优化算法的模型预测结果更加贴合实际预测值。

图2 模型改进前的预测结果

图3 模型改进后的预测结果

为了更有力说明预测精度的提高,计算MAPE指标和MAE指标来进行说明,结果如表1所示。可以看出经过自适应粒子群算法优化的LSTM模型,采用3种不同优化算法进行负荷预测时,其预测精度均得到提升,预测性能好。

表1 不同模型的预测误差对比

5 结语

准确的电力负荷预测能给电厂智能调配和稳定运行提供安全保障。为提高短期电力负荷预测的精度,使用改进的自适应粒子群算法对LSTM模型的初始学习率进行优化,实验采用3种不同的优化算法进行仿真,并使用MAPE和MAE这2个指标对预测精度进行说明。可以发现,3种优化算法结合了APSO后,预测误差大幅度降低,其中APSO-Adam-LSTM模型的精度最高,APSO-LSTM模型比LSTM模型具有更高的预测精度。

但由于APSO的初始化参数是经验给定,故还有较大的改进空间。后续可以采用多重粒子群算法对粒子群初始化参数进行优化设置,进一步提高模型的寻优能力。

猜你喜欢

适应度权重粒子
改进的自适应复制、交叉和突变遗传算法
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
权重常思“浮名轻”
基于膜计算粒子群优化的FastSLAM算法改进
Conduit necrosis following esophagectomy:An up-to-date literature review
为党督政勤履职 代民行权重担当
一种基于改进适应度的多机器人协作策略
基于粒子群优化极点配置的空燃比输出反馈控制
基于空调导风板成型工艺的Kriging模型适应度研究
基于局部权重k-近质心近邻算法