一种负荷预测方法及系统与流程

专利查询2023-7-24  119



1.本发明属于负荷预测技术领域,尤其涉及一种负荷预测方法及系统。


背景技术:

2.在建设智能电网的大背景下,精准的短期电力负荷预测对于电网的安全稳定运行和高效调度等有着重大作用。而电力负荷短期预测的现有技术往往使用深度学习方法,利用如深度置信网络、深度卷积神经网络、深度长短期记忆神经网络等方法进行负荷预测,这样的结构可能会造成误差反向传播困难,易出现梯度消失、梯度爆炸或陷入局部最优等问题,模型训练的稳定性和准确性不能保证;且模型层数太多、参数太多,训练时间过长。


技术实现要素:

3.为了解决现有技术存在的问题,本发明提供一种负荷预测方法,能够提高电力负荷预测的准确性。
4.本发明所要解决的技术问题是通过以下技术方案实现的:
5.第一方面,提供了一种负荷预测方法,包括:
6.对获取的历史负荷数据和待预测负荷的时间数据进行预处理;
7.构建并行长短期记忆负荷预测模型;
8.通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;
9.通过训练好的长短期记忆负荷预测模型对负荷进行预测。
10.结合第一方面,进一步的,所述对获取的历史负荷数据和待预测负荷的时间数据进行预处理包括:
11.通过线性插值法补全历史负荷数据,并将将待预测负荷的时间数据用整数编码,并对历史负荷数据和整数编码后的待预测负荷的时间数据进行归一化。
12.结合第一方面,进一步的,所述长短期记忆负荷预测模型包括:若干长短期记忆模块和一个线性模块,长短期记忆模块之间并列设置,线性模块和长短期记忆模块并列设置。
13.结合第一方面,进一步的,所述长短期记忆模块的数量为5个。
14.结合第一方面,进一步的,所述通过训练好的长短期记忆负荷预测模型对负荷进行预测包括:
15.将预处理后的[t-8t,t-1]、[t-6t,t-1]、、[t-4t,t-1]、[t-2t,t-1]以及[t-t,t-1]时间段内的历史负荷数据分别输入到五个长短期记忆模块中,将待预测负荷的时间数据输入到线性模块,将五个长短期记忆模块的输出与线性模块的输出合并后输入到线性输出层得到最终的预测负荷,其中,t为待预测时刻,t为时间步长。
[0016]
结合第一方面,进一步的,在长短期记忆模块和线性模块前需要进行初始化,对长短期记忆模的权重参数进行xavier正态分布初始化,对线性模块的权重进行均值为0、方差为0.1的随机正态分布初始化,对所有的偏置进行全0初始化。
[0017]
第二方面,提供了一种负荷预测系统,包括:
[0018]
预处理模块,用于对获取的历史负荷数据进行预处理;
[0019]
建模模块,用于构建并行长短期记忆负荷预测模型;
[0020]
模型训练模块,用于通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;
[0021]
预测模块,用于通过训练好的长短期记忆负荷预测模型对负荷进行预测。
[0022]
本发明有益效果:本发明提高了预测模型对各个长度的负荷序列的敏感度,充分提取历史负荷序列中隐含的特征,减少时间推移可能带来的待预测负荷值的偏移,提高预测准确性和稳定性;加快训练速度,也可避免深度学习中易出现的梯度消失或梯度爆炸等问题,保证模型误差的收敛趋势。
[0023]
本发明通过设置多个能够处理不同长度历史负荷时间序列的并行lstm模块,提高预测方法对各个长度的负荷序列的敏感度,充分提取历史负荷序列中隐含的特征,提高预测准确性;且并行的单层lstm模块深度浅,这样的网络结构能够提高训练速度,也可避免深度学习中易出现的梯度消失或梯度爆炸等问题;通过并行的线性模块加入待预测负荷所处时间点的时间特征,包括一天中的时刻、月份、季节和周末信息,减少时间推移可能带来的待预测负荷值的偏移;通过针对性的模型参数初始化方法,提高预测模型在迭代过程中的稳定性,避免陷入局部最优;通过优选合理设置超参数及参数更新方式,提高预测模型的训练速度,保证模型误差的收敛趋势。
附图说明
[0024]
图1为本发明中并行lstm负荷预测模型构建流程图;
[0025]
图2为本发明中并行lstm网络结构图;
[0026]
图3为本发明中lstm单元结构图;
[0027]
图4为本发明中测试集部分预测值与测量值的仿真结果对比曲线图。
具体实施方式
[0028]
为了进一步描述本发明的技术特点和效果,以下结合附图和具体实施方式对本发明做进一步描述。
[0029]
实施例1
[0030]
如图1-4所示,本发明所提出的一种负荷预测方法,包括以下步骤:
[0031]
步骤一、数据预处理
[0032]
通过线性插值法补全历史负荷数据,并将历史负荷数据所在的时刻、月份、季节和周末信息(时间数据)用整数编码,并对历史负荷数据和证书编码后的数据进行归一化,然后按数据种类划分为多个数据集。
[0033]
步骤二、构建并行长短期记忆负荷预测模型;
[0034]
基于python平台提供的pytorch深度学习框架,进行模型的创建,具体为:根据影响短期电力负荷预测的因素以及电力负荷的周期特性,构造适应不同尺度历史负荷序列的并列的长短期记忆(long short-term memory,lstm)模块,数量为5个,1个线性模块,以及一个线性输出层。
[0035]
其中构成lstm模块的就是lstm单元,是对能够处理序列数据的循环神经网络
(recurrentneuralnetworks,rnn)的一种改进,旨在消除rnn中出现的长期依赖的问题,提高网络在处理更长序列时的性能。将lstm模块按照时间顺序展开的结构如附图2所示,其中h
t-1
代表上一节点(上一时刻)传入的输出信息,x
t
代表当前节点(当前时刻)的输入信息,c
t-1
代表上一节点(上一时刻)长短期记忆细胞状态。lstm单元通过门结构来实现对上一节点细胞状态的遗忘、对当前节点输入信息的更新和对输出信息的控制,门控函数为sigmoid函数,将门控输入转换成0-1之间的数值,控制细胞状态信息的遗忘、更新及输出,从而实现“门”的功能。
[0036]
遗忘门决定从细胞状态中丢弃哪些信息,该门将x
t
和h
t-1
合并后乘上权重wf再加上偏置bf作为门控输入,经过sigmoid函数后输出一个0-1之间的数值f
t
,0表示完全丢弃,1表示完全保留,公式如下:
[0037]ft
=σ(wf·
[h
t-1
,x
t
]+bf)
ꢀꢀ
(1)
[0038]
更新门又称输入门,决定让哪些新输入的信息对细胞状态进行更新,与遗忘门类似,更新门函数i
t
由一个sigmoid层构成,其值为0表示不更新,1表示更新;此外,还有一个tanh层用于生成更新值公式如下:
[0039]it
=σ(wi·
[h
t-1
,x
t
]+bi)
ꢀꢀ
(2)
[0040][0041]
b、bc为偏置
[0042]
遗忘旧的细胞状态,并添加新的信息后,当前节点的细胞状态变为c
t
,公式如下:
[0043][0044]
输出门决定对当前细胞状态的哪些部分进行输出,对当前细胞状态进行一种过滤。与更新门类似,输出门包括两个部分,一个sigmoid层构成输出门函数o
t
,一个tanh层用于生成输出值,公式如下:
[0045]ot
=σ(wo·
[h
t-1
,x
t
]+bo)
ꢀꢀ
(5)
[0046]ht
=o
t
*tanhtanhc
t
ꢀꢀ
(6)
[0047]
处理时间信息、集成各并行模块输出获得最终预测结果的线性模块即简单的线性回归,输入为时,输出为公式如下:
[0048]
y=wx+b
ꢀꢀ
(7)
[0049]
b、bo为偏置。
[0050]
由于lstm模块中所使用的激活函数为tanh(
·
)和sigmoid(
·
),而这两个函数都是关于0对称,因此对lstm的权重参数进行xavier正态分布初始化,对线性模块的权重进行均值为0、方差为0.1的随机正态分布初始化,对所有的偏置进行全0初始化。
[0051]
步骤三、通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;
[0052]
将数据集划分为训练集和测试集,为了符合实际运用场景,训练集为数据集的前80%,测试集为后20%。
[0053]
将t-8t时刻至t-1时刻的历史数据作为表征待预测时刻t时的负荷的输入特征。为了达到较好的效果,取t=6,即利用过去两天的历史负荷预测下一小时的负荷值。将待预测
负荷所在的时刻、月份、季节和周末信息用数字表示,作为输入到线性模块时间特征。
[0054]
为避免训练时出现数值问题和梯度爆炸等问题,对训练集数据的每列特征数据分别进行归一化处理,并用相同参数对测试集进
[0055]
行同样处理,得到归一化后的所有数据范围均在[0,1]内。
[0056]
以平均绝对误差(mean absolute error,mae)作为损失函数,即pytorch中的l1loss,测量值为预测值为时,误差值为
[0057][0058]
在每次迭代过程中,使用adam优化器进行批量梯度下降方法对参数进行优化,经过优选,超参数设置如表1所示。
[0059]
表1本发明所提预测模型的相关超参数设置
[0060]
超参数类型数值批大小36最大迭代次数100初始学习率0.1学习率调整策略每10次迭代后学习率下降70%
[0061]
以训练集所有数据输入模型进行计算为一次迭代,每次迭代后计算并比较训练集误差,保存训练集误差最小的一组参数作为最优模型参数,再进行下一次迭代。当迭代次数达到预设的最大值后,读取保存的在训练集上损失函数达到最小的最优模型,对测试集数据进行测试。
[0062]
步骤四、通过训练好的长短期记忆负荷预测模型对负荷进行预测
[0063]
将预处理后的[t-8t,t-1]、[t-6t,t-1]、、[t-4t,t-1]、[t-2t,t-1]以及[t-t,t-1]时间段内的历史负荷数据分别输入到五个长短期记忆模块中,将历史负荷数据所在的时刻、月份、季节和周末信息输入到线性模块,将五个长短期记忆模块的输出与线性模块的输出合并后输入到线性输出层得到最终的预测负荷,其中,t为待预测时刻,t为时间步长(t为6小时)。
[0064]
最后对所提出的对长短期记忆负荷预测模型进行实例分析,验证预测效果
[0065]
本方明利用某城市某小区2016年1月1日至2017年12月31日的每小时用电负荷记录作为数据集,前80%为训练集,后20%为测试集,设置最大迭代次数为100次。在100次迭代后,使用记录的最优模型参数对测试集数据对本发明的预测效果进行评估,使用mae和平均绝对百分比误差(mean absolute percentage error,mape)作为评价指标,其中mape计算公式如下:
[0066][0067]
训练集和测试集的各类误差指标如表2所示。
[0068]
表2本发明所提预测模型的误差
[0069][0070][0071]
由上表可知测试集与训练集相比误差略大,但相差较小,说明模型有较好的泛化性。且测试集的mape为6.88%,显示出本发明的预测方法准确度高,可以满足实际应用需求。
[0072]
测试集的部分预测值和测量值的仿真结果对比曲线如图4所示,从图中可以看出,本发明的短期负荷预测模型能够很好地捕捉负荷的变化趋势,并且能够精确预测绝大部分时间点的负荷值。
[0073]
实施例2
[0074]
本发明还提供了一种负荷预测系统,包括:
[0075]
预处理模块,用于对获取的历史负荷数据进行预处理;
[0076]
建模模块,用于构建并行长短期记忆负荷预测模型;
[0077]
模型训练模块,用于通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;
[0078]
预测模块,用于通过训练好的长短期记忆负荷预测模型对负荷进行预测。
[0079]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0080]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0081]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0082]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0083]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然
可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

技术特征:
1.一种负荷预测方法,其特征在于,包括:对获取的历史负荷数据和待预测负荷的时间数据进行预处理;构建并行长短期记忆负荷预测模型;通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;通过训练好的长短期记忆负荷预测模型对负荷进行预测。2.根据权利要求1所述的一种负荷预测方法,其特征在于,所述对获取的历史负荷数据和待预测负荷的时间数据进行预处理包括:通过线性插值法补全历史负荷数据,将待预测负荷的时间数据用整数编码,并对历史负荷数据和整数编码后将待预测负荷的时间数据进行归一化。3.根据权利要求1所述的一种负荷预测方法,其特征在于,所述长短期记忆负荷预测模型包括:若干长短期记忆模块和一个线性模块,长短期记忆模块之间并列设置,线性模块和长短期记忆模块并列设置。4.根据权利要求3所述的一种负荷预测方法,其特征在于,所述长短期记忆模块的数量为5个。5.根据权利要求4所述的一种负荷预测方法,其特征在于,所述通过训练好的长短期记忆负荷预测模型对负荷进行预测包括:将预处理后的[t-8t,t-1]、[t-6t,t-1]、、[t-4t,t-1]、[t-2t,t-1]以及[t-t,t-1]时间段内的历史负荷数据分别输入到五个长短期记忆模块中,将待预测负荷的时间数据输入到线性模块,将五个长短期记忆模块的输出与线性模块的输出合并后输入到线性输出层得到最终的预测负荷,其中,t为待预测时刻,t为时间步长。6.根据权利要求3所述的一种负荷预测方法,其特征在于,在长短期记忆模块和线性模块前需要进行初始化,对长短期记忆模的权重参数进行xavier正态分布初始化,对线性模块的权重进行均值为0、方差为0.1的随机正态分布初始化,对所有的偏置进行全0初始化。7.一种负荷预测系统,其特征在于,包括:预处理模块,用于对获取的历史负荷数据和待预测负荷的时间数据进行预处理;建模模块,用于构建并行长短期记忆负荷预测模型;模型训练模块,用于通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;预测模块,用于通过训练好的长短期记忆负荷预测模型对负荷进行预测。

技术总结
本发明公开了一种负荷预测方法,包括对获取的历史负荷数据和待预测负荷的时间数据进行预处理;构建并行长短期记忆负荷预测模型;通过预处理后的历史负荷数据对长短期记忆负荷预测模型进行优化训练;通过训练好的长短期记忆负荷预测模型对负荷进行预测,本发明在保证模型稳定性的条件下充分利用历史负荷序列中的隐含信息,提高预测准确性,并尽量提高模型训练速度。型训练速度。型训练速度。


技术研发人员:朱庆 韦思雅 李雪明 马宛星 郑红娟 张卫国 王金明 武文广 宋杰 顾琳琳 周材
受保护的技术使用者:国电南瑞南京控制系统有限公司 国网电力科学研究院有限公司
技术研发日:2021.12.17
技术公布日:2022/3/8

最新回复(0)