一种电力负荷的预测方法及装置与流程

文档序号:31927482发布日期:2022-10-25 23:10阅读:136来源:国知局
一种电力负荷的预测方法及装置与流程

1.本发明涉及居民用电负荷预测领域,具体涉及一种基于cnn-lstm神经网络模型的居民用电负荷预测方法即装置。


背景技术:

2.随着新能源的崛起,对电力系统的需求也将是越来越大,电力负荷预测的重要性也日益突出。电力负荷预测是电力系统规划工作的基础,是合理安排发电、输电和配电的必要前提。因此,提高电力负荷预测的准确性具有十分重要的意义。
3.针对电力负荷预测的方法有很多,但是,随着用电智能化的速度不断加快,利用传统的自主回归模型已经不能够适应当下的环境;由于噪声、不确定性、传感器故障等问题,实际运行数据容易受到异常值、缺失值干扰。电力负荷预测很多时候要基于多元时间序列进行分析,利用传统的自回归移动平均模型(arma),自回归综合移动平均模型(arima)等统计方法对电负荷进行预测已越来越不能满足实际应用的需求。knn、随机森林、支持向量机等多种机器学习模型在数据样本量较小的情况下具有较好的预测性能,然而,传统的机器学习模型只能提取较浅层的特征,且通常需要复杂的特征工程。近几年,许多学者将cnn-lstm算法应用于时间序列预测问题上。cnn将上一隐层时间步的输出作为当下时间步的输入,并影响当下时间步的输出。凭借lstm其独特的循环机制,取得了良好的效果。


技术实现要素:

4.针对上述问题,本发明提供了一种预测准确性更高的基于cnn-lstm神经网络模型的电力负荷预测方法和装置。
5.本发明采用cnn-lstm算法神经网络,充分利用了cnn算法良好的特征提取能力和 lstm算法出色的针对时间序列建模的能力,有效的提高了电力负荷预测的准确性。
6.为了实现上述目的,一种电力负荷的预测方法,包括:
7.获取用户的用电数据;
8.对所述用电数据进行数据预处理,剔除错误数据;
9.将经过预处理的数据输入cnn深度学习神经网络中提取特征信息,得到具有时间依赖性的数据序列;
10.将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型;
11.利用训练好的模型进行用电负荷预测。
12.作为优选的一种技术方案,获取用户的用电数据,进一步包括:通过用电负荷传感器,收集每日预设时段的用户用电数据,归总至数据总表中,且在采集数据的时候,保证每15分钟采集一次;
13.作为优选的一种技术方案,对所述用电数据进行数据预处理,剔除错误数据,进一步包括:
14.根据先验经验,将数据中明显的错误信息剔除;
15.整合计算其中数据是否存在较大差异,若存在,则剔除,否则,将其保留;
16.将已经基本预处理好的数据,根据时间、采集条件以及其他属性要求,分别整理并保存至不同的类别;
17.通过时间属性,进行数理统计,并在数据集中至少保存90天的数据量。
18.作为优选的一种技术方案,将已经基本预处理好的数据,根据时间、采集条件以及其他属性要求,分别整理并保存至不同的类别,进一步包括:
19.根据采集时间、采集特性,生成包含时间、采集特性的数据集;
20.将数据集按照8:1:1的比例进行数据划分训练集、测试集、验证集。
21.作为优选的一种技术方案,将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型,进一步包括:
22.将所述训练集输入到cnn神经网络中;
23.经过relu函数进行激活,并通过max-pooling进行池化处理;
24.加入概率为0.3的dropout来防止过拟合;
25.输出为带有时间特征依赖的数据,并作为lstm神经网络的输入。
26.作为优选的一种技术方案,利用训练好的模型进行用电负荷预测,进一步包括:
27.根据cnn提取的具有时间依赖性的序列,将其按照时间顺序输入到lstm中,作为每一个timestep的输入;
28.为了使得模型具有更好的可扩展性和准确性,引入attention机制;
29.利用已经划分好的数据集,将lstm神经网络按照seq2seq的方式进行训练;
30.通过最后全连接层将attentionvalue进行映射到输出值,也即是模型的预测值,得到预测结果。
31.另一方面,本发明提供一种电力负荷的预测装置,包括:
32.获取单元,用于获取用户的用电数据;
33.预处理单元,用于对所述用电数据进行数据预处理,剔除错误数据;
34.特征提取单元,用于将经过预处理的数据输入cnn深度学习神经网络中提取特征信息,得到具有时间依赖性的数据序列;
35.训练单元,用于将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型;
36.预测单元,用于利用训练好的模型进行用电负荷预测。
37.在上述预测装置中,优选的,将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型,进一步包括:
38.将所述训练集输入到cnn神经网络中;
39.经过relu函数进行激活,并通过max-pooling进行池化处理;
40.加入概率为0.3的dropout来防止过拟合;
41.输出为带有时间特征依赖的数据,并作为lstm神经网络的输入。
42.在上述预测装置中,优选的,利用训练好的模型进行用电负荷预测,进一步包括:
43.根据cnn提取的具有时间依赖性的序列,将其按照时间顺序输入到lstm中,作为每一个timestep的输入;
44.为了使得模型具有更好的可扩展性和准确性,引入attention机制;
45.利用已经划分好的数据集,将lstm神经网络按照seq2seq的方式进行训练;
46.通过最后全连接层将attentionvalue进行映射到输出值,也即是模型的预测值,得到预测结果。
47.本发明相对于现有技术,有以下有益效果:
48.1)本发明可以方便地采用现有的公开数据集和深度学习框架进行模型的构建和预测;本发明选取的是uci机器学习知识库提供的个人家庭用电量数据集,使用深度学习框架keras, tensorflow进行模型的构建;代价小,易于实行;
49.2)针对已有的数据,利用错误剔除的方法,剔除了部分错误数据;针对缺失部分,利用线性插值的方法进行补充,从而可以更加贴近真实数据,更好验证模型的有效性;
50.3)充分利用了cnn神经网络提取特征的能力以及lstm神经网络针对时间序列所特征的处理方式与处理能力,具有更强的泛化能力以及预测精度,且具有较高的鲁棒性。
附图说明
51.图1是本发明提供的一种电力负荷的预测方法的流程图;
52.图2是本发明提供的cnn深度学习网络模型的特征提取模拟图;
53.图3是本发明提供的lstm深度学习网络模型的训练模拟图;
54.图4是本发明提供的一种电力负荷的预测装置的结构图。
具体实施方式
55.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
57.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
58.参照图1,本发明提供一种电力负荷的预测方法,包括以下步骤:
59.s10:获取用户的用电数据;
60.具体的,获取日常用电负荷数据:分别获取工业园区的用电负荷数据、日常居民用
电负荷数据;
61.在本实施例中,从uci机器学习知识库获取2006.12-2010.11中国北京一个家庭近四年的用电量数据集。该数据集是一个多变量时间序列数据集,以1分钟的采样速率,采集总共 2075259个时间序列的用电量。该数据集由9个属性信息构成。日期和时刻为时间信息,有功功率为用电量数据,无功功率、电压、电流强度、厨房有功电能、洗衣房有功电能、电热水器和空调有功电能为特征数据。
62.s20:对所述用电数据进行数据预处理,剔除错误数据;
63.具体的,1)利用直接、直觉判断,对明显存在的错误数据进行剔除;
64.2)利用数理统计的方法,对潜在的错误数据再次剔除,得到相对正确的数据;
65.3)利用线性插值的方法进行补全;总体来看,用电量受住户活动的影响较大,其波动的时 间和幅度都具有较强的随机性,但在短时间内,其趋势性比较明显;其中线性插值的公式如(1)所示;
[0066][0067]
式中,y
ij
:表示j特征在第i行内的插入值;x0:表示距离第i行最近的前一行五数据缺失行的行数值;xn:表示距离第i行最近的后一天无数据缺失行的行数值;xi:表示第i行的行数值;y
0j
:表示j特征在第x0行的值;y
nj
表示j特征在第xn行的值。
[0068]
4)其中,将前三年的数据划分为训练集,将最后一年的数据再次划分为测试集与验证集,次划分比例为3:1(前9个月,后3个月)。
[0069]
s30:将经过预处理的数据输入cnn深度学习神经网络中提取特征信息,得到具有时间依赖性的数据序列;
[0070]
具体的,1)通过cnn特征提取,而后利用relu函数进行激活,接着通过max-pooling 进行池化处理,最后加入概率为0.3的dropout来防止过拟合;
[0071]
2)在最后输出一段序列作为lstm的输入;其中cnn网络模拟图如图2所示;
[0072]
s40:将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型;
[0073]
s40:将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型;
[0074]
具体的,长短期记忆(lstm)是递归神经网络(rnn)的一种变体,它可以捕获时间序列在时间上的依赖关系并在时间序列预测上取得了良好的结果;
[0075]
1)通过cnn进行特征提取可以得到一段具有时间依赖性的序列,它们按照时间顺序输入到lstm中作为每个time step的输入;其中lstm时间序列预测网络如图3所示;
[0076]
2)引入attention机制:在上一步过程中,为了提高模型的可扩展性和准确性,引入 attention机制,将lstm每个time step的输出,即oi,与一层权重加权求和并通过softmax 进行输出,得到a作为attention系数,与输出o加权得到attention value;其中公式如(2)(3)(4) 所示;
[0077]
m=sigmoid(o)
ꢀꢀ
(2)
[0078]
α=softmax(ω
t
m)
ꢀꢀꢀ
(3)
[0079]
s=oα
t (4)
[0080]
(2)式中,m:表示经过sigmoid激活函数得到的attention value;o:表示cnn网络提取特征后的输出值;
[0081]
(3)式中,α:表示经过一次全连接层后的输出值;ω:表示lstm每个time step的输出; t:表示使用的变换矩阵;m:表示经过sigmoid激活函数得到的输出值,此时作为输入值;
[0082]
(4)式中,s:表示lstm输出的得分向量;o:表示cnn网络提取特征后的输出值;t:表示使用的变换矩阵。
[0083]
数据模型训练:将lstm按照seq2seq的方式进行训练,用到了 backpropagation-through-time(bptt)进行误差的反向传递,loss函数即是均方误差;其中loss 函数公式如(5)所示;
[0084][0085]
式中,loss:表示均方误差;n:表示样本总数;yi:表示第i次的实际值;outputi:表示第i次的预测值。
[0086]
模型输出、数据预测:通过一层全连接层将attention value进行映射到输出值,也即是模型的预测值;输出结果如公式(6)所示。
[0087]
output=sigmoid(ω
t
s) (6)
[0088]
式中,output:表示预测输出值;ω:表示经过一次全连接层后的输出值;t:表示变换矩阵;s:表示lstm输出的得分向量。
[0089]
一般的预测问题中,当面临长序列时,处理一些context中的依赖关系就会陷入瓶颈。一种解决方法就是通过引入attention机制,其中,attention机制可以允许模型聚焦关注输入序列中所需要的部分。引入了attention机制后的模型,它可以将输入序列中相关部分的作用进行放大,以实现比没有attention的模型更好的效果。通常,注意力机制的表现形式可以看作是一种加权求和。因此,为了提高集成神经网络模型的可扩展性和准确性,将attention机制进行了引入。将lstm每个time step的输出,即oi,与一层权重加权求和并通过softmax进行输出,得到a作为attention系数,与输出o加权得到attention value。
[0090]
3)数据模型训练:将lstm按照seq2seq的方式进行训练,用到了 backpropagation-through-time(bptt)进行误差的反向传递;
[0091]
4)模型输出、数据预测:通过一层全连接层将attention value进行映射到输出值,也即是模型的预测值。
[0092]
(5)验证cnn-lstm电力负荷预测模型的准确性与有效性
[0093]
1)使用4种常见的性能评估指标:均方误差(mse)、均方根误差(rmse)、平均绝对误差 (mae)和平均相对误差(mape)。
[0094]
2)在原数据集以每分钟采样的基础上,再按每时、每日、每周等不同时间单位进行重采样,以验证cnn-lstm神经网络电力负荷预测模型在不同时间分辨率下的性能。
[0095]
3)实验表明,当前使用的cnn-lstm混合神经网络模型具有较高的鲁棒性。
[0096]
s50:利用训练好的模型进行用电负荷预测。
[0097]
在另外一实施例中,本发明还提供一种电力负荷预测的装置,如图4所示,该识别装置包括:
[0098]
获取单元100,用于获取用户的用电数据;在此需要说明的是,由于具体的获取方式以及过程在上述电力数据的方法步骤s10中已经详细阐述,故在此不再赘述。
[0099]
预处理单元200,用于对所述用电数据进行数据预处理,剔除错误数据;在此需要说明的是,由于具体的预处理方式以及过程在上述电力负荷预测方法步骤s20中已经详细阐述,故在此不再赘述。
[0100]
特征提取单元300,用于将经过预处理的数据输入cnn深度学习神经网络中提取特征信息,得到具有时间依赖性的数据序列;在此需要说明的是,由于具体的特征提取方式以及过程在上述电力负荷预测方法步骤s30中已经详细阐述,故在此不再赘述。
[0101]
训练单元s40,用于将已经提取过特征的数据,输入到lstm深度学习神经网络中进行训练,得到训练模型;在此需要说明的是,由于具体的训练方式以及过程在上述电力负荷预测方法步骤s40中已经详细阐述,故在此不再赘述。
[0102]
预测单元s50,用于利用训练好的模型进行用电负荷预测在此需要说明的是,由于具体的预测方式以及过程在上述电力负荷预测方法步骤s50中已经详细阐述,故在此不再赘述。
[0103]
此外,本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种电力负荷预测方法的部分或全部步骤。
[0104]
最后,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0105]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0106]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
[0107]
应指出的是,以上描述中包括的大量细节仅是对本发明的示例性说明,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、功能等关系可以与所描述和图示的不同。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1