基于序列到点和残差连接的非侵入式负荷分解方法

文档序号:31697551发布日期:2022-10-01 06:15阅读:242来源:国知局
基于序列到点和残差连接的非侵入式负荷分解方法

1.本发明属于非侵入式负荷监测、分解技术领域,具体为一种基于序列到点和残差连接的非侵入式负荷分解方法。


背景技术:

2.非侵入式负荷监测,也称为能量分解,可将用户总负荷信息分解为各用电设备信息。以降低能源消耗为目的,非侵入式负荷监测技术可以帮助家庭用户了解家用电器的具体用电量,从而合理安排电器使用达到降低能耗成本、节能电能的作用。随着深度学习在非侵入式负荷监测领域上的应用,基于神经网络的负荷分解模型的误差逐渐降低,但模型的信息特征提取能力和的功率分解值的准确性依旧不够高,网络层数加深会导致网络参数增加,同时可能会使网络训练过程中会出现梯度消失、网络退化等现象,这会导致网络难以得到充分的训练。


技术实现要素:

3.本发明的目的在于提供基于序列到点和残差连接的非侵入式负荷分解方法,在丰富数据样本、提升模型的信息特征提取能力和负荷分解准确率的同时解决网络加深网络导致难以训练的问题。
4.本发明提供的基于序列到点和残差连接的非侵入式负荷分解方法,引入了序列到点方法将网络利用滑动窗口提取到的总有功功率序列映射到目标电器窗口序列的中点,这样输出序列的每个元素只会被预测一次,即每个时刻目标电器的有功功率值只会被预测一次,不会出现被预测多次而取平均值作为预测结果的情况,这样会使输出预测的准确度更高。本发明还对采集的总有功功率序列进行了差分处理与原始采集的总有功功率同时作为网络的输入,使每个时间步长的功率分解考虑了前一个时间步长的功率波动信息,丰富了特征数据,来提高负荷分解的准确率。本发明引入了残差连接构建了基于bilstm的残差子模块,子模块中还加入了自注意力机制,能增强对关键信息的特征提取能力,残差子模块在输入和输出之间建立了直接连接,从而达到了上述提升模型性能同时降低了模型的训练难度的目的。
5.为了实现上述目的,本发明提供的基于序列到点和残差连接的非侵入式负荷分解方法,所述方法包括以下步骤:
6.步骤一、数据预处理:采集主电源的总有功功率和各目标电器的有功功率,将主电源总有功功率进行差分处理并与原始采集的总有功功率数据合并,并对合并后得到的总有功功率数据和各目标电器的有功功率数据做最大最小归一化处理;
7.步骤二、特征提取:电力负荷数据是一种时间序列数据,利用滑动窗口的方法提取数据;将预处理后得到的数据,设置长度参数为w的滑动窗口,对预处理后的时间序列数据进行提取;
8.步骤三、构建基于bilstm的残差子模块:残差子模块包括1d卷积神经网络层、
bilstm层、自注意力机制层和残差连接,在残差块的输入和输出之间建立直接连接;
9.步骤四、构建基于序列到点和残差连接的非侵入式负荷分解模型:网络结构由一层1d卷积层、一个基于bilstm残差子网路模块、lstm层以及两层全连接层组成,网络模型经过最后一层全连接层后实现序列到点的映射,模型的输出为目标电器对应窗口中点的功率值;
10.步骤五、训练基于序列到点和残差连接的非侵入式负荷分解模型:训练网络前会先对给定的一个长度为t的输入序列x=(x1...x
t
)的开头和结尾填充w/2个零,采用序列到点(seq2point)学习的原理训练整个网络模型,即定义所训练的网络为g
p
,将输入总有功功率窗口序列经过g
p
非线性映射到目标电器对应窗口的中点,其非线性映射的表达式如下:
11.yk=g
p
(x
t:t+w-1
)+ε
12.其中,w为选取的滑动窗口的长度,x
t:t+w-1
为输入滑动窗口提取的经过预处理的总有功功率序列,k=t+w/2,yk为输出窗口下目标电器的有功功率序列y
t:t+w-1
的中点值,ε为误差,t为时间点;
13.根据非线性映射函数,求得损失函数,训练网络得到最终参数;
14.步骤六、进行负荷分解:将训练好的网络模型用于负荷分解。
15.进一步的,步骤一中,所述的差分处理操作具体为:将滤波后相邻时间点的总有功功率值相减,得到总有功功率差分处理后的数据,差分处理的公式如下:
16.δx
t
=x
t-x
t-1
17.其中,x
t
表示时间点t的总有功功率,x
t-1
是时间点t-1的总有功功功率,δx
t
是差分处理的结果。
18.进一步的,步骤三中,所述的自注意力机制是对输入序列x计算权重并为自身加权,采用的权重的计算表达式如下:
19.c(x)=r
1t
(x)r2(x)
20.a(x)=softmax(c
t
(x)r3(x))
21.式中,r1(
·
)、r2(
·
)、r3(
·
)为三个结构相同、参数变通的lstm变换,a(
·
)为自注意力得分,通过计算得到的自注意力得分为经过lstm变换的输入进行加权;
22.基于bilstm的残差子模块结构为:残差子模块由两部分组成,一部分是主要组成部分,从数据传递方向看为1d卷积神经网络层、bilstm层、自注力机制层组成,二是残差连接部分,即在输入和输出直接建立了直接连接,令残差块中主要组成部分神经网络层的输出为f(x),则残差网络块的总输出为h(x)=f(x)+x。
23.进一步的,步骤四中,所述搭建的基于序列到点和残差连接的非侵入式负荷分解模型具体结构如下:
24.输入层:滑动窗口提取的长度为w的经预处理过的总有功功率序列;
25.1d卷积层:包括16个卷积核,每个卷积核尺寸为1
×
4,步幅为1,激活函数为relu;
26.残差子模块:基于bilstm的残差子模块,子模块的主要组成部分中的1d卷积神经网络层的卷积核数量为16,卷积核大小1
×
4,层后接relu函数,bilstm层中每层每层包括16个lstm单元,attetion层为经过lstm变换的输入进行加权,与残差连接部分构成残差子模块;
27.lstm层:包括32个lstm单元,激活函数为relu;
28.全连接层:神经单元数为128,激活函数为relu;
29.全连接层:神经单元数为1,激活函数为linear。
30.进一步的,步骤五中,所述的损失函数ls的表达式如下:
[0031][0032]
其中,θ为网络参数,t为预处理过后一个完整输入序列的总长度,x
t:t+w-1
为输入滑动窗口提取的经过预处理的总有功功率序列,k=t+w/2,yk为目标电器对应窗口的中点的有功功率值。
[0033]
进一步的,步骤六中,将训练好的网络模型用于负荷分解是将总有功功率窗口序列输入到训练好的网络模型中,得到负荷分解结果。
[0034]
和现有的技术相比,本发明的有益效果如下:
[0035]
1、本发明非侵入式负荷分解方法,利用差分处理技术对原始总有功功率数据进行了差分处理,将差分处理后的有功功率数据和原始功率数据同时作为网络的输入,使每个时间步长的功率分解考虑了前一个时间步长的功率波动信息,丰富了特征信息,从而提高负荷分解准确度。
[0036]
2、本发明构建的整体网络结构中引入了基于bilstm的残差子模块,在残差子模块的输入和输出之间建立直接连接,避免网络训练过程中出现梯度消失或者网络退化等问题,子模块中也引入了自注意力机制计算权重关注序列重要时刻信息,从而加强信息提取能力。
[0037]
本发明整个网络模型训练引入了序列到点方法将网络输入的总有功功率窗口序列映射到目标电器对应窗口有功功率序列的中点,能产生更准确的预测。
附图说明
[0038]
图1为本发明基于序列到点和残差连接的非侵入式负荷分解方法的流程图;
[0039]
图2为本发明基于bilstm的残差子模块结构图;
[0040]
图3为本发明基于序列到点和残差连接的非侵入式负荷分解模型图;
[0041]
图4为本发明实施例中采用基于序列到点和残差连接的非侵入式负荷分解模型进行负荷分解得到的洗衣机的预测功率曲线和真实功率曲线的对比图。
具体实施方式
[0042]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和具体实施方式进行描述,以便于本技术领域的技术人员理解本发明。应当指出,所描述的基于实施方式的实施例仅仅用以解释本发明,并不用于限定本发明。
[0043]
本发明的基于序列到点和残差连接的非侵入式负荷分解方法,其流程图如图1所示,可分为以下几个步骤:
[0044]
步骤一、数据预处理:采集主电源的总有功功率和各目标电器的有功功率,先将主电源总有功功率进行差分处理,即将滤波后相邻时间点的总有功功率值相减,得到总有功功率差分处理后的数据,差分处理的公式如下:
[0045]
δx
t
=x
t-x
t-1
[0046]
其中,x
t
表示时间点t的总有功功率,x
t-1
是时间点t-1的总有功功功率,δx
t
是差分处理的结果;
[0047]
将差分处理后的总有功功率数据并与原始采集的总有功功率数据合并,并对合并后得到的总有功功率数据和各目标电器的有功功率数据做归一化处理,归一化公式如下:
[0048][0049]
其中,x
max
为总有功功率序列或者目标电器序列的最大值,x
min
为总有功功率序列或者目标电器序列的最小值,x
t
为时间点t的非归一化有功功率值,x
*
为归一化的结果。
[0050]
本方案的选取的数据集是现有的uk-dale数据集,选取的目标待分解电器为洗碗机、电冰箱、水壶、微波炉、冰箱,在进行训练时,目标电器为同类型电器。
[0051]
步骤二、特征提取:利用滑动窗口的方法提取数据,设置长度参数为w的滑动窗口,对预处理后的时间序列数据进行提取;读取经过合并以及归一化处理的总有功功率序列作为神经网络模型的输入;
[0052]
本方案选取的目标待分解电器为洗碗机、电冰箱、水壶、微波炉、冰箱的电器的参数以及电器的滑动窗口长度如表1所示:
[0053]
表1 电器的使用参数
[0054][0055]
步骤三、构建基于bilstm的残差子模块:如图2所示,残差子模块包括1d卷积网络层、bilstm层、自注意力机制层和残差连接,在残差块的输入和输出之间建立直接连接;
[0056]
本方案自注意力机制是对输入序列x计算权重并为自身加权,采用的权重的计算表达式如下:
[0057]
c(x)=r
1t
(x)r2(x)
[0058]
a(x)=softmax(c
t
(x)r3(x))
[0059]
式中,r1(
·
)、r2(
·
)、r3(
·
)为三个结构相同、参数变通的lstm变换,a(
·
)为自注意力得分,通过计算得到的自注意力得分为经过lstm变换的输入进行加权;
[0060]
基于bilstm的残差子模块结构为:残差子模块由两部分组成,一部分是主要组成部分,从数据传递方向看为1d卷积神经网络层、bilstm层、自注力机制层组成,二是残差连接部分,即在输入和输出直接建立了直接连接,令残差块中主要组成部分神经网络层的输出为f(x),则残差网络块的总输出为h(x)=f(x)+x。
[0061]
步骤四、构建基于序列到点和残差连接的非侵入式负荷分解模型:网络结构由1d卷积层、一个基于bilstm的残差子网路模块、一层lstm层以及两层全连接层组成,网络模型经过最后一层全连接层后实现序列到点的映射,模型的输出为目标电器对应窗口中点的功率值;
[0062]
如图3所示,搭建的基于序列到点和残差连接的非侵入式负荷分解模型的具体结构如下:
[0063]
输入层:滑动窗口提取的长度为w的经预处理过的总有功功率序列;
[0064]
1d卷积层:包括16个卷积核,每个卷积核尺寸为1
×
4,步幅为1,激活函数为relu;
[0065]
残差子模块:基于bilstm的残差子模块,子模块的主要组成部分中的1d卷积神经网络层的卷积核数量为16,卷积核大小1
×
4,层后接relu函数,bilstm层中每层每层包括16个lstm单元,attetion层为经过lstm变换的输入进行加权,与残差连接部分构成残差子模块;
[0066]
lstm层:包括32个lstm单元,激活函数为relu;
[0067]
全连接层:神经单元数为128,激活函数为relu;
[0068]
全连接层:神经单元数为1,激活函数为linear。
[0069]
步骤五、训练基于序列到点和残差连接的非侵入式负荷分解模型:训练网络前会先对给定的一个长度为t的输入序列x=(x1...x
t
)的开头和结尾填充w/2个零,采用序列到点(seq2point)学习的原理训练整个网络模型,即定义所训练的网络为g
p
,将输入总有功功率窗口序列经过g
p
非线性映射到目标电器对应输出窗口的中点,其非线性映射的表达式如下:
[0070]
yk=g
p
(x
t:t+w-1
)+ε
[0071]
其中,w为选取的滑动窗口的长度,x
t:t+w-1
为输入滑动窗口提取的经过预处理的总有功功率序列,k=t+w/2,yk为输出窗口下目标电器的有功功率序列y
t:t+w-1
的中点值,ε为误差,t为时间点;
[0072]
本方案所述的模型的损失函数ls的定义表达式如下:
[0073][0074]
其中,θ为网络参数,t为预处理过后一个完整输入序列的总长度,x
t:t+w-1
为输入滑动窗口提取的经过预处理的总有功功率序列,k=t+w/2,yk为目标电器对应窗口的中点的有功功率值。
[0075]
实施时,本方案基于序列到点和残差连接的非侵入式负荷分解模型的训练的训练是利用uk-dale数据集1、3、4、5房子里的数据,为洗碗机、电冰箱、水壶、微波炉、冰箱这些目标电器单独训练一个网络模型,网络的测试是使用uk-dale数据集2号房子里的数据。
[0076]
步骤六、进行负荷分解:将训练好的模型用于负荷分解。
[0077]
实施时,本方案将训练好的模型用于负荷分解是利用uk-dale数据集2号房子中接入有目标电器电表中的总有功功率数据构成的测试集经预处理后输入到已训练好的基于序列到点和残差连接的非侵入式负荷分解模型中,得到负荷分解结果。
[0078]
实施例
[0079]
本实施例以uk-dale数据集的电器洗衣机为例进行实验。
[0080]
采集uk-dale数据集1、2、3、4、5号房子里的接入洗衣机的电表的总有功功率功率和洗衣机的有功功率数据,对数据进行数据预处理,即将总有功功率数据进行差分处理后与原始总有功功率数据合并,并对合并后得到的总有功功率数据和各目标电器的有功功率数据做最大最小归一化处理。
[0081]
对洗衣机的滑动窗口长度和电器的使用参数进行设置,设置的输入的滑动窗口长度为199,功率开启阈值为20瓦,功率平均值为400瓦,功率标准差为700瓦,利用滑动窗口的方法对预处理后的时间序列数据进行提取。
[0082]
将在uk-dale数据集1、3、4、5号房子设置为训练房子,2号房子设置为测试房子,将训练房子里提取后的总有功功率和洗衣机的有功功率数据构成训练样本集。
[0083]
构建基于bilstm的残差子模块后搭建基于序列到点和残差连接的非侵入式负荷分解模型,模型其他的一些参数设置为:学习率初试值设置为0.001,训练批次尺寸为256,迭代次数设置为6,输入窗口大小为199,输出长度为1。
[0084]
将训练样本集用于训练基于序列到点和残差连接的非侵入式负荷分解模型。
[0085]
在测试过程中,调用已经训练好的模型,将uk-dale数据集2号房子含有洗衣机负荷的总有功功率输入,执行负荷分解任务,进而得到模型对洗衣机的预测功率曲线,将该预测功率曲线和真实功率曲线对比,对比结果如图4所示。
[0086]
通过对比图4可以看出,本发明所搭建的基于序列到点和残差连接的非侵入式负荷分解模型分解得到的洗衣机的功率预测曲线能很好地拟合真实曲线,且功率分解的值的准确性也较高,说明所提的基于序列到点和残差连接的非侵入式负荷分解模型能较好地预测出洗衣机运行的规律及趋势,模型对洗衣机进行负荷分解具有良好的负荷分解能力。
[0087]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,对于本领域的普通技术人员而言,可以理解在不脱离本发明原理和精神的情况下可以对这实施例进行多种变化、修改、替换和变型,本发明公开的范围由所附的权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1