本发明属于电负荷监测,具体涉及基于多尺度注意力机制模型的负荷分解方法。
背景技术:
1、在电负荷分解领域,一种重要的技术是非侵入式负荷监测(nilm)。nilm是一种使用单个家庭电表读数的方法,通过分析电力数据的变化模式和特征,推断出各个电器设备的功耗贡献。nilm技术的关键在于识别和区分不同设备在总负荷中的功耗贡献,从而实现对电力数据的分解。
2、在负荷分解技术中,传统的方法包括基于统计模型、聚类分析和时序分解等。这些方法基于电力数据的统计特性和时序关系,通过建立模型或使用算法,将总负荷分解为各个设备的功耗贡献。
3、近年来,基于机器学习和深度学习的方法在负荷分解中取得了显著的进展。例如,基于深度学习的模型如卷积神经网络(cnn)、循环神经网络(rnn)和变换器(transformer)等,能够学习电力数据中的时序特征和设备关联性,从而实现准确的负荷分解。
4、此外,信号处理技术在负荷分解中也具有重要作用。通过滤波、频域分析和小波变换等技术,可以提取电力数据中不同设备的特征信号,并实现负荷分解的目标。
5、非侵入式负荷监测方法、传统的统计模型和时序分解方法,以及基于机器学习和深度学习的模型。这些技术的应用可以实现对电力数据的分解,揭示各个设备的功耗特性,为能源供应商和用户提供准确的能源需求预测和优化策略,从而促进能源领域的可持续发展。
6、但是,由于电力系统中多设备混合运行,会导致电流混叠问题;对此,上述方法的单独使用,会严重影响分解准确性和稳定性。
技术实现思路
1、本发明的目的是提供一种分解准确性高、稳定性好的基于多尺度注意力机制模型的负荷分解方法,以克服电力系统中多设备混合运行导致的电流混叠问题。
2、本发明提供的基于多尺度注意力机制模型的负荷分解方法,包括构建多尺度注意力机制模型,其结构参见图2所示,包括:卷积模块(cm)、残差注意力模块(ram)、多尺度融合模块(mfm)和全连接层(fc);其中,cm模块由卷积conv、批量标准化bn与relu组成,负责捕获输入数据的局部特征和抽象特征,增强特征的表达能力,为后续的负荷分解过程提供更丰富的信息基础;ram模块由时间-空间注意力机制模块和残差模块组成,用于强化对关键时序特征的关注,同时抑制不相关的特征,提高模型的分解准确性;mfm模块由三个卷积模块组成,分别进行3×1、5×1和7×1的卷积操作,确保模型能够捕获不同尺度的特征信息,提高模型对于低使用率电器的负荷分解效果;fc模块由多个神经元组成,将多尺度融合后的特征转化为具体的分解电流值,最终实现电流数据的非侵入性分解;具体步骤如下。
3、步骤1:数据采集和预处理;
4、通过部署电流传感器,以固定1khz采样频率采集1个插线板总线上的电流数据,以及多个分设备(对应于多个通道,例如6个)电流数据,采集时长为2h,利用滑动窗口方法获得本方法中的数据集;将数据集经过预处理操作,包括数据清洗和去噪,以确保数据的质量和准确性;再对数据集进行洗牌操作,打乱数据的顺序,选择数据集的80%用于训练,20%用于测试。
5、步骤2:深层特征提取;
6、输入数据首先经过卷积模块(cm),该模块由卷积conv、批量标准化bn与relu组成;其中,卷积conv用于捕获数据的局部特征,bn则对数据进行标准化,提高模型的稳定性,relu增强模型的非线性表达能力;整体而言,cm模块能够捕获输入数据的局部特征和抽象特征,增强特征的表达能力,为后续的负荷分解过程提供更丰富的信息基础。
7、步骤3:关键时序特征提取;
8、数据流向残差注意力模块(ram),该模块由时间-空间注意力机制模块和残差模块组成;时间-空间注意力模块能够强化关键时序特征,而残差模块则帮助网络学习恒等映射,加速和优化网络的训练;整体而言,ram模块强化对关键时序特征的关注,同时抑制不相关的特征,提高模型的分解准确性。
9、步骤4:多尺度特征融合;
10、数据进入多尺度融合模块(mfm),该模块由三个卷积模块组成,分别进行3×1、5×1和7×1的卷积操作;这些操作确保模型能够捕获不同尺度的特征信息;整体而言,mfm模块能够融合多尺度的特征,提高模型对于低使用率电器的负荷分解效果。
11、步骤5:数据分解;
12、数据通过全连接层(fc)进行处理,输出多个目标电器的分解电流值;fc模块由多个神经元组成,能够将多尺度融合后的特征转化为具体的分解电流值;整体而言,fc模块将处理后的特征数据转化为具体的输出结果,实现了电流数据的非侵入性分解。
13、步骤6:设计损失函数和优化器;
14、采用huber损失函数,用于衡量生成结果与真实负荷之间的差异;优化器选择adam优化器。
15、步骤7:模型训练和参数更新;
16、使用预处理后的电流数据作为输入,将目标负荷作为训练的目标,通过反向传播算法计算梯度并更新模型参数,以最小化损失函数;在训练过程中,采用批量训练及滑动窗口训练的方式,随机选择一批滑动窗口内数据进行模型的更新和优化。
17、步骤8:模型测试和预测;
18、将测试数据输入到训练好的多尺度注意力机制模型中,进行前向传播操作,得到电流负荷的预测结果。
19、进一步的,步骤1中所述数据采集,具体步骤为:
20、采集1个插线板总线和6个分设备上的电流数据,分别编号d0、d1、d2、…、d6;在采集电气数据时,从0时刻起,采集器开始采集,采集频率为1khz,采集时长为2h,对每一个设备来说,采集到的数据条目总数为7200000条。
21、使用滑动窗口法构造数据集,设置窗口大小为2000,滑动步长为31,前三条数据与最后一条数据为:[0,2000),[31,2031),[62,2062),…,[7198000,7200000),对于每个设备,总共可获得232195条数据,即每个设备的数据集矩阵格式为[232195,2000],7个设备的数据集矩阵格式为[232195,7,2000]。本发明将数据集以8:2的划分方式分为训练集和测试集,训练集的矩阵格式为[185756,7,2000],测试集的矩阵格式为[46439,7,2000];这样就同时得到了用来训练及测试模型的输入数据和计算loss的真实数据;
22、进一步的,步骤1中所述数据预处理包括:
23、(1)数据清洗:对采集到的原始电力数据可能包含的缺失值、异常值、重复值,进行数据清洗,以确保数据的准确性和一致性;具体包括:
24、(a)缺失值处理:对于每个记录,在时间点t处的电力消耗值表示为p(t),如果p(t)缺失,则使用相邻时间点的平均值进行填充,即
25、(b)异常值处理:对于每个记录,在时间点t处的电力消耗值表示为p(t),如果p(t)明显偏离其他时间点的取值范围,将其视为异常值;假设取值范围为[min,max],则异常值处理公式如下:
26、如果p(t)<min或p(t)>max,则
27、(2)数据去噪:采用基于小波变换方法去噪,具体如下:
28、将电流数据应用于小波变换,将其转换到小波域中;对小波系数应用软阈值滤波,将幅值低于阈值的小波系数置零,保留幅值高于阈值的小波系数;对滤波后的频域表示进行逆小波变换,得到去噪后的电力数据序列。
29、进一步的,步骤3中,在ram模块中,关键时序特征的提取是通过时间-空间注意力机制模块和残差模块共同完成的。具体地:
30、考虑一个给定的特征图g,其首先会被并行地送入通道最大池化(cmaxpool)层和通道平均池化(cavgpool)层中,完成通道上的最大池化和平均池化操作。这两种池化操作后的输出将被送入一个多层感知器(mlp)层进行进一步的处理。经mlp层处理后,将这两个结果进行相加,并通过sigmoid激活函数,从而得到通道注意力权重gc:
31、gc=σ(mlp(cmaxpool(g))+mlp(cavgpool(g))), (1)
32、此处,σ代表sigmoid激活函数。cmaxpool(g)和cavgpool(g)表示cmaxpool层和cavgpool层中对特征图g的两种池化操作;mlp(·)表示mlp层对·的处理;(类似的,下同)基于此,进一步引入一个残差结构,以确定是否需要应用通道注意力,具体表达为:
33、outputrc=g+g⊙gc, (2)
34、这里,⊙表示元素乘法,gc表示特征图的注意力权重。这一结构的主要目的是为进一步强化模型对于特征图中不同通道的核心信息的捕获能力,从而进一步提升模型的特征表示能力。
35、在经过通道注意力和残差模块处理后的特征图outputrc,进一步将其送入像素级最大池化(smaxpool)层和像素级平均池化(savgpool)层,实现像素级的最大池化和平均池化。这两个操作的输出将经过拼接(concat)层进行拼接,然后再经过一个卷积层(cm)。接着,通过sigmoid激活函数得到空间注意力权重:
36、gs=σ(cm(concat(smaxpool(outputrc),savgpool(outputrc)))), (3)
37、其中,各符号的定义参见式(1)中各符号的定义;
38、接下来,引入一个残差结构来决定是否使用空间注意力,具体表达为:
39、grcs=outputrc+outputrc⊙gs, (4)
40、其中,各符号的定义参见式(2)中各符号的定义;
41、此结构的设计初衷是为了进一步强化模型对于特征图中的空间位置的敏感性,从而提高模型的特征表示能力。
42、ram模块利用时间-空间注意力机制以及残差结构,强化对关键时序特征的关注,同时抑制不相关的特征并防止了模型的过拟合,提高模型的分解准确性。
43、进一步的,步骤4中,在mfm模块中,输入数据被表示为x,首先通过1×1的卷积操作被分为四组特征数据,分别表示为:x1,x2,x3,x4。
44、其中,第一组数据x1直接传递到输出端口。第二组数据x2经过一个3×1的卷积操作c3×1后得到y2:
45、y2=c3×1(x2), (5)
46、第三组数据x3在经过一个3×1的卷积操作后与y2进行融合,得到z3:
47、z3=y2+c3×1(x3), (6)
48、然后z3进一步通过5×1的卷积操作c5×1得到y3:
49、y3=c5×1(z3), (7)
50、第四组数据x4在5×1的卷积操作后与y3融合,得到z4:
51、z4=y3+c5×1(x4), (8)
52、然后z4使用7×1的卷积操作c7×1进行拟合,得到y4:
53、y4=c7×1(z4), (9)
54、模块的末端通过1×1的卷积操作c1×1将x1,y2,y3,y4进行整合,得到o:
55、o=c1×1(x1+y2+y3+y4), (10)
56、最后,通过残差连接得到输出r:
57、r=o+x, (11)
58、这种设计可确保模型能够有效地融合不同尺度的特征,从而更准确地捕获各种电器的负荷特性。
59、进一步的,步骤5中,数据首先进入全连接层(fc)进行处理。全连接层(fc)可以表示为一个矩阵乘法,其中输入数据被表示为向量x。fc模块的权重和偏置参数分别表示为w和b。因此,fc模块的输出y可以通过以下公式计算:
60、y=w·x+b, (12)
61、其中,点乘表示矩阵乘法。这个输出y代表模型对各个目标电器的电流消耗的预测。
62、为了增强模型的非线性表示能力,还可以在fc模块后加入一个激活函数,例如relu函数。relu函数定义如下:
63、relu(z)=max(0,z), (13)
64、因此,加入激活函数后的fc模块输出为:
65、y′=relu(w·x+b), (14)
66、这样,模型不仅可以学习输入特征与目标输出之间的线性关系,还可以捕获它们之间的非线性关系,从而更准确地预测各个电器的电流消耗。
67、进一步的,步骤7中,所述的模型训练和参数更新,具体为:
68、对模型的参数进行随机初始化;选择huber损失函数作为衡量模型预测结果与真实负荷之间差异的指标,选择adam优化器进行参数更新;将训练集输入模型,计算损失函数并进行反向传播,通过优化器更新模型参数,重复该过程进行多轮训练。huber损失函数表达式如下:
69、
70、其中,ypred代表模型的预测输出,这是模型根据输入数据做出的预测或估计,ytrue代表真实的标签或真实的值,这是从训练数据中获取的真实值,用于与模型的预测进行比较。
71、本发明的有益效果在于:
72、本发明提供的基于多尺度注意力机制模型的负荷分解方法,首先,cm模块由卷积conv、批量标准化bn与relu组成,负责捕获输入数据的局部特征和抽象特征,增强特征的表达能力,为后续的负荷分解过程提供更丰富的信息基础。接下来,ram模块由时间-空间注意力机制模块和残差模块组成,强化了对关键时序特征的关注,同时抑制了不相关的特征,提高了模型的分解准确性。随后,mfm模块由三个卷积模块组成,分别进行3×1、5×1和7×1的卷积操作,确保模型能够捕获不同尺度的特征信息,从而提高模型对于低使用率电器的负荷分解效果。最后,fc模块由多个神经元组成,将多尺度融合后的特征转化为具体的分解电流值,实现了电流数据的非侵入性分解。这对于电力系统的负荷监测、设备故障检测和能源管理具有重要意义。本发明为解决负荷分解问题提供了一种有效的解决方案,可应用于负荷管理、能源优化等领域。