一种基于LSTM-RNN的冷热电联供系统负荷预测方法及系统与流程

文档序号:19529696发布日期:2019-12-27 15:16阅读:491来源:国知局
一种基于LSTM-RNN的冷热电联供系统负荷预测方法及系统与流程

本发明属于可再生能源系统负荷预测技术领域,尤其涉及一种基于长短期记忆循环神经网络(lstm-rnn)的冷热电联供(combinedcoolingheatingandpower,cchp)系统负荷预测方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

冷热电联供系统是一种基于能量梯级利用的综合能源生产利用系统。在传统的能源供应系统中,发电效率仅为40%左右,剩余的60%左右的能源被浪费掉。而冷热电联供系统通过回收发电余热,可有效降低污染物的排放,使能源利用率显著提高到80%以上。因此,冷热电联供系统已成为分布式能源发展的最重要方向和形式。

冷热电负荷的准确预测是冷热电联供系统优化设计和运行调度的关键因素和基本前提,其预测精度直接影响着供电系统的有效性以及能源的利用率。因此,冷热电联供系统负荷的有效预测对冷热电联供系统的有效运行以及提高能源利用率具有重要意义。

在过去的几年里,已经有许多相关工作者研究了丰富的负荷预测方法。但发明人发现,大多数文献中对冷热电负荷的预测大多为单变量预测,极少考虑他们之间的耦合关系。并且负荷序列具有周期性,部分预测方法并不适用于长时间周期性负荷序列预测。



技术实现要素:

为克服上述现有技术的不足,本发明提供了一种基于lstm-rnn的冷热电联供系统负荷预测方法及系统,基于相关性分析确定输入输出变量,采用长短期记忆循环神经网络模型挖掘冷热电负荷三者之间的耦合关系,提高了负荷预测精度。

为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:

一种基于lstm-rnn的冷热电联供系统负荷预测方法,包括以下步骤:

接收热负荷、冷负荷以及电负荷历史数据;

根据历史数据某一时刻与其之前多个时刻之间的相关性确定输入数据所采用的时间段;

根据热负荷、冷负荷以及电负荷历史数据两两之间的相关系数确定输入输出数据;

将训练集输入长短期记忆循环神经网络,训练负荷预测网络模型;

基于所述负荷预测网络模型进行负荷预测。

进一步地,确定输入数据所采用的时间段包括:

计算历史数据某一时刻与其之前多个时刻之间的自相关系数和偏相关系数,确定自相关系数绝对值均大于设定阈值的连续时间段,以及偏相关系数绝对值均大于设定阈值的连续时间段;

选取两个时间段中重叠的时间段作为输入数据所采用的时间段。

进一步地,确定输入输出数据后,还对输入输出数据执行预处理:采用零均值归一化将数据进行标准化。

进一步地,所述训练集选取方法为:定义输入数据所采用的时间段为预测周期,多个连续预测周期构成一组训练数据,选取的所述训练集由多组连续的训练数据组成。

进一步地,训练负荷预测网络模型包括:

将训练集中的各组训练数据按时间顺序依次输入到长短期记忆循环神经网络的输入层进行迭代训练,直至网络收敛;

网络收敛后基于测试集进行误差预测,进行参数优化,直至误差达到最小。

进一步地,所述长短期记忆循环神经网络包括输入层、隐藏层和输出层,其中,隐藏层包括一个sigmoid神经网络层和一个乘法结构。

一个或多个实施例提供了一种基于lstm-rnn的冷热电联供系统负荷预测系统,包括:

数据获取模块,接收热负荷、冷负荷以及电负荷历史数据;

相关分析模块,根据历史数据某一时刻与其之前多个时刻之间的相关性确定输入数据所采用的时间段;根据热负荷、冷负荷以及电负荷历史数据两两之间的相关系数确定输入输出数据;

模型训练模块,将训练集输入长短期记忆循环神经网络,训练负荷预测网络模型;

负荷预测模块,基于所述负荷预测网络模型进行负荷预测。

一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述基于lstm-rnn的冷热电联供系统负荷预测方法。

一个或多个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述基于lstm-rnn的冷热电联供系统负荷预测方法。

以上一个或多个技术方案存在以下有益效果:

本发明基于自相关和偏相关分析确定对负荷预测影响显著的时间段,从而选取训练样本,基于皮尔森相关系数确定采用多变量预测方法,有利于提高预测结果的准确性。

本发明采用长短期记忆循环神经网络模型,长短期记忆网络是一种时间循环神经网络,其适应于预测时间序列中间间隔和延迟相对较长的重要事件,其可挖掘冷热电负荷三者之间的耦合关系,因此有效提高了基于lstm-rnn的冷热电联供系统负荷预测精度。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为传统循环神经网络结构示意图;

图2为本发明一个或多个实施例中冷热电联供系统负荷预测方法的流程图;

图3为本发明一个或多个实施例中lstm预测算法模型结构图;

图4为本发明一个或多个实施例中热负荷历史数据自相关性和偏相关性分析图;

图5为本发明一个或多个实施例中冷负荷历史数据自相关性和偏相关性分析图;

图6为本发明一个或多个实施例中电负荷历史数据自相关性和偏相关性分析图;

图7为本发明一个或多个实施例中热负荷多变量预测与单变量预测结果对比图;

图8为本发明一个或多个实施例中冷负荷多变量预测与单变量预测结果对比图;

图9为本发明一个或多个实施例中电负荷多变量预测与单变量预测结果对比图;

图10为本发明一个或多个实施例中不同预测方法预测结果对比图。

具体实施方式

应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

名词解释:

循环神经网络(rnn,recurrentneuralnetwork),是一种节点定向连接成环的人工神经网络,是包括输入层、隐藏层、输出层的三层神经网络;

长短期记忆网络(lstm,longshort-termmemory),是循环神经网络的一种,可以解决循环神经网络中梯度扩散问题。

如图1所示,rnn是一种具有反馈结构的神经网络,不同于传统的前馈神经网络,其输出不仅与当前输入和网络权重有关,而且与先前网络的输入有关,可以挖掘序列前后之间的耦合关系。rnn通过在时间点上添加自连接隐藏层来建模时间,换句话说,隐藏层的反馈不仅仅是输出,还包括下一刻的隐藏层,该结构可使得rnn能够更好地利用序列数据的信息。因此rnn很适合时间序列的预测。

实施例一

本实施例公开了一种基于长短期记忆循环神经网络的基于lstm-rnn的冷热电联供系统负荷预测方法,如图2所示,包括如下步骤:

步骤1:计算历史数据的相关性,确定模型的输入输出量。

具体的,所述步骤1中分别采用自相关系数、偏相关系数以及皮尔森相关系数来分析历史数据之间的相关性,从而选取合适的数据作为输入输出变量。

所述自相关系数用于度量同一事件在两个不同时期之间的相关程度,具体地,以某一时刻为参考,分别计算该时刻与其之前某一时间段内每个时刻的自相关系数。其公式可表示为:

式中,xt为t时刻(本实施例中时刻以小时为单位)的负荷数据,xt+l为t+l时刻的负荷数据,cov(·)为数据协方差,var(·)为数据方差。

所述偏相关系数是暂时不考虑其他要素影响,单独研究两个要素之间的相互关系的密切程度,其计算方法有迭代法、相关矩阵求逆法等。具体地,以某一时刻为参考,分别计算该时刻与其之前某一时间段内每个时刻的偏相关相关系数。

综合考虑自相关系数和偏相关系数来确定输入数据所采用的时间段,具体包括:

计算历史数据某一时刻与其之前多个时刻之间的自相关系数和偏相关系数,确定自相关系数绝对值均大于设定阈值的连续时间段,以及偏相关系数绝对值均大于设定阈值的连续时间段;

选取两个时间段中重叠的时间段作为输入数据所采用的时间段。

本实施例中的热负荷、冷负荷以及电负荷各自历史数据间的自相关系数和偏相关系数结果分别如图4、图5、图6所示。经分析可得知,某一时刻的数据不仅与它近期的前几个小时的数据相关性较大且与其前一天同一时刻的数据相关性较大,因此,本实施例选取某一具体时刻的前1-24小时的数据作为输入。

所述皮尔森相关系数用来度量三种负荷之间相关关系的强弱,其可计算如下:

式中,xi和yi为两个时间序列,x’为xi的平均值,y’为yi的平均值,n为时间序列数据的个数。

通过计算热负荷、冷负荷以及电负荷历史数据两两之间的皮尔森相关系数来判断输入数据是单因素还是多因素,若两两之间皮尔森相关系数绝对值均小于设定阈值,可以认为三者不具有相关性,考虑采用单变量建立预测模型;若两两之间皮尔森相关系数绝对值均大于设定阈值,认为三者具有一定的耦合性,采用多变量建立预测模型。

本实施例获取的三种负荷数据彼此之间的皮尔森相关系数如下表1所示。经分析得知,三种负荷彼此之间都具有一定的关联性。因此采用多变量(热负荷、冷负荷以及电负荷)建立预测模型。

表1冷热电负荷pearson相关系数

步骤2:对输入输出数据集分别进行预处理。

具体的,所述步骤2中数据预处理即采用零均值归一化将数据进行标准化,其可计算为:

式中μ为平均值,σ为标准差。

步骤3:将预处理后的数据集划分成为训练集、验证集以及测试集三个部分。

定义步骤1中确定的输入数据所采用的时间段为预测周期,多个连续预测周期构成一组训练数据,选取的所述训练集由多组连续的训练数据组成;训练集之后的一个预测周期即为测试集;选取训练集中的部分作为验证集。

具体地,本实施例中预测周期为24小时,即一天,选择某日前两个月的数据作为训练集,其中训练集中选取部分为验证集,某日当天的数据用作测试集。

步骤4:利用处理后的数据训练更新模型参数,构造合适的长短期记忆循环神经网络预测模型。

将训练集中的各组训练数据按时间顺序依次输入到长短期记忆循环神经网络中,学习得到预测模型。

本实施例中,这两个月的数据分成7天一组依次输入,比如1-7天为一组作为输入,第8天为输出;接下来是2-8天为输入,第9天为输出;然后是3-10天为输入,第11天为输出……依次类推直到2个月的数据全部输入训练完。具体的,如图3所示,lstm-rnn负荷预测模型一般有三层组成,包括输入层、隐藏层、输出层,其中输入层为要预测的当前日期的前七天的每天24小时的数据(包括冷负荷、热负荷以及电负荷)以及日期类型,即图3中r为7,日期类型为一周七天,用数字1~7来表示。隐藏层是通过“门”结构来决定每个细胞状态中信息的清除或增加,该结构是一种选择信息的方式。它含有一个sigmoid神经网络层和一个乘法结构,sigmoid神经网络层输出0到1之间的数值,代表了每个部分有多少信息可以通过,若为0,则表示无信息通过,若为1,则表示允许任意量通过。输出层为测试当天的24小时的数据(包括冷负荷、热负荷以及电负荷)。

所述隐藏层的门结构包括三个门结构,分别为遗忘门、输入门以及输出门。

所述遗忘门是用来决定从细胞状态中丢弃的信息,该门通过读取上一层的输出ht-1以及当前输入xt通过σ函数来决定输出一个0到1之间的数值给细胞状态ct-1,用于决定状态的保留以及舍弃情况,可表示为:

ft=σ(wf·[ht-1,xt]+bf)

式中,wf和bf分别代表遗忘门的权重矩阵和偏置向量。

所述输入门是用来决定细胞中需要加入的新的状态,包括两部分,第一部分使用sigmoid函数来决定需要更新的值,另一部分使用一个tanh层来创建一个新的输入向量,可表示为:

it=σ(wi·[ht-1,xt]+bi)

ct=ft*ct-1+it*tanh(wc·[ht-1,xt]+bc)

所述输出门是用于决定最终输出结果。首先,通过一个sigmoid层来决定细胞状态需要输出的信息,然后将通过输入门产生的细胞状态信息使用tanh层处理,将处理后的信息与该sigmoid层的输出相乘得到最终的输出结果,可表示为:

ot=σ(wo·[ht-1,xt]+bo)

ht=ot*tanh(ct)

yt=wy·ht+by

所述sigmoid层函数为:

所述tanh层函数为:

步骤4:利用处理好的数据迭代训练lstm网络。

步骤5:判断网络是否收敛,若收敛则进行下一步计算测试集预测误差,否则返回步骤4继续迭代。

步骤6:寻找合适的参数直到测试集预测误差达到最小停止,否则返回步骤3重新形成lstm网络。

步骤7:利用上述训练获得的lstm网络进行负荷预测得到结果。

实施例二

本实施例的目的是提供一种冷热电联供系统负荷预测系统。

为了实现上述目的,本实施例提供了一种冷热电联供系统负荷预测系统,包括:

数据获取模块,接收热负荷、冷负荷以及电负荷历史数据;

相关分析模块,根据历史数据某一时刻与其之前多个时刻之间的相关性确定输入数据所采用的时间段;根据热负荷、冷负荷以及电负荷历史数据两两之间的相关系数确定输入输出数据;

模型训练模块,将训练集输入长短期记忆循环神经网络,训练负荷预测网络模型;

负荷预测模块,基于所述负荷预测网络模型进行负荷预测。

实施例三

本实施例的目的是提供一种电子设备。

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤,包括:

接收热负荷、冷负荷以及电负荷历史数据;

根据历史数据某一时刻与其之前多个时刻之间的相关性确定输入数据所采用的时间段;

根据热负荷、冷负荷以及电负荷历史数据两两之间的相关系数确定输入输出数据;

将训练集输入长短期记忆循环神经网络,训练负荷预测网络模型;

基于所述负荷预测网络模型进行负荷预测。

实施例四

本实施例的目的是提供一种计算机可读存储介质。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行以下步骤:

接收热负荷、冷负荷以及电负荷历史数据;

根据历史数据某一时刻与其之前多个时刻之间的相关性确定输入数据所采用的时间段;

根据热负荷、冷负荷以及电负荷历史数据两两之间的相关系数确定输入输出数据;

将训练集输入长短期记忆循环神经网络,训练负荷预测网络模型;

基于所述负荷预测网络模型进行负荷预测。

以上实施例二、三和四中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。

实验结果

为了证明所提方法的有效性,本文采用rstudio语言编写程序,分别构建了两组对比实验,一组是三种负荷分别采用单变量输入的lstm预测模型和多变量输入的lstm预测模型的进行预测,另一组是以热负荷为例分别采用lstm预测模型、ls-svm预测模型以及rbf神经网络模型进行预测。利用某一时刻前两个月每天24小时的数据进行训练,且以7天为一个周期进行输入输出,进行迭代训练。对预测结果的性能评价分别采用均方误差rmse以及平均绝对百分比误差mape。

式中,xi表示实际值,x′i表示该时刻的预测值,n表示预测点的个数。对于第一组对比实验中的预测模型进行仿真得到预测结果分别如图7,图8,图9所示。下表2为三种负荷采用各预测方法的评价指标。

表2各预测算法评价指标

分析可得,热负荷使用单变量预测方法均方误差以及平均绝对误差分别为1.4744和1.1938,而使用多变量预测方法进行预测其均方误差以及平均绝对误差分别为1.0314和0.7707;冷负荷使用单变量预测方法均方误差以及平均绝对误差分别为3.4130和0.4076,使用多变量预测方法进行预测其均方误差以及平均绝对误差分别为1.9587和0.2321;电负荷使用单变量预测方法均方误差以及平均绝对误差分别为0.1470和0.0752,使用多变量预测方法进行预测其均方误差以及平均绝对误差分别为0.0683和0.0410。对每一类负荷,其多变量预测模型精度均高于单变量预测模型,可见使用多变量预测方法可有效挖掘冷热电负荷之间的耦合关系,从而提高负荷的预测精度。

对于第二组对比实验中各预测模型进行仿真得到预测结果如图10所示。经计算可得,使用rbf神经网络模型对热负荷进行预测得到的均方误差为1.0655,平均绝对误差0.7707;使用ls-svm模型对热负荷进行预测得到的均方误差为1.7826,平均绝对误差为1.3953;以lstm模型对热负荷进行预测得到的均方误差为1.0341,平均绝对误差为0.7136。可见,lstm算法相较于传统机器学习算法,可有效挖掘时间序列当前数据与历史数据之间的耦合关系,对于周期性较强的负荷而言,其预测精度可得到有效提高。

以上一个或多个实施例具有以下技术效果:

本发明基于自相关和偏相关分析确定对负荷预测影响显著的时间段,从而选取训练样本,基于皮尔森相关系数确定采用多变量预测方法,有利于提高预测结果的准确性。

本发明采用长短期记忆循环神经网络模型,长短期记忆网络是一种时间循环神经网络,其适应于预测时间序列中间间隔和延迟相对较长的重要事件,其可挖掘冷热电负荷三者之间的耦合关系,因此有效提高了基于lstm-rnn的冷热电联供系统负荷预测精度。

本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1