基于改进kNN算法与暂稳态特征的非侵入式负荷监测方法

2022-10-18 06:56邓晓平张桂青王保义
计算机与现代化 2022年10期
关键词:暂态稳态波形

田 丰,邓晓平,张桂青,王保义

(山东建筑大学信息与电气工程学院山东省智能建筑技术重点实验室,山东 济南 250101)

0 引 言

智能电网的发展和电力需求的持续增长促进了智能用电技术的日益更新,电器层面海量的用电信息逐渐体现其数据支撑的关键作用[1]。负荷监测一方面能够使电力用户更为详细地了解其不同时段各类用电设备的电能消耗,帮助其制定合理的节能计划,减少电费开支,另一方面有助于电力公司实现“削峰填谷”,促进电网稳定运行[2-3]。

负荷监测包括非侵入式负荷监测和侵入式负荷监测(Intrusive Load Monitoring, ILM)2类。NILM相较于ILM不需安装大量的传感器和测量装置,只需要在用户电力总回路处安装测量装置,就能够监测用户每一个电器的用电信息,从而减小购买、安装和维护NILM系统硬件的成本,是未来负荷分解的发展热点之一[4]。

NILM的关键在于负荷特征和识别算法的选择。负荷特征通常分为稳态特征和暂态特征2类。功率变化是最常使用的时域稳态特征,文献[5]通过计算功率变化量提取特征,这类特征简单直观,但当负荷数量很多时,特征会重叠,影响识别准确度;文献[6-7]对电流电压波形计算出一系列统计特征,如峰值、均值等,可以很容易对负荷种类进行区分,但还是不能处理特征重合问题;文献[8-9]提取U-I轨迹(Voltage-current Trajectory)特征进行负荷识别,效果比功率特征更好,但难以区分小型负荷;文献[10]通过傅里叶变换,得到稳态电流谐波特征,这种方法抗干扰能力差,容易受到噪声干扰。

相对于稳态特征,暂态特征与设备本身的特性相关性更强,所以能够更好地进行设备辨识。文献[11-12]通过计算功率波形的指标如峰值、均值、均方根等进行负荷识别,这种方式可以辨识功耗相近的设备;文献[13]通过对电器状态变化时产生的电压扰动求傅里叶变换,得到电压谐波特征,这种方式没有考虑外界影响所引起的电压波动,可适用性不高;文献[14]利用暂态过程瞬时电流进行负荷识别,对瞬时电流做小波变换,转换为时频域特征,或者计算瞬时电流波形的峰值、均值、均方值等指标进行负荷识别,这种方式能实现负载相近的设备的识别,对于波形指标的计算更快速简单。

综合考虑负荷稳态与暂态特征的优势,能进一步提高负荷识别精度,具有更广的应用前景。文献[15]选取电流、电压、有功、无功四者组合的7种负荷特征进行负荷识别,发现4种负荷特征联合时能获得更高的识别准确度。文献[16]采用2步分类算法实现负荷识别,第1步使用暂态信号的变化率特征初步识别负荷的种类,第2步使用稳态电流的谐波特征进一步识别出具体负荷种类,这种方式降低了分解难度,提高了负荷识别的准确率。

负荷识别算法大致分为组合优化和模式识别2类。基于组合优化的模型对于负荷较少且设备特性已知的情况有比较好的分解效果,但是模型本身是NP完全问题,优化困难[17]。基于模式识别的算法能直接从数据中学习设备特征,应用更广泛。其中支持向量机(Support Vector Machine, SVM)[18-19]、k均值(k-means)[20-21]、人工神经网络(Artificial Neural Network, ANN)[22-24]、隐马尔科夫模型[25-26]、模糊聚类模型[27]都是在负荷识别中常用的模型。但是现有算法的研究大多数是以提高负荷识别准确率为目的,算法的复杂度和计算量不断增加,NILM系统最终需要应用在嵌入式设备中以实现实时的负荷识别,现有的算法研究忽略了实际应用中NILM低成本的需求。

针对上述研究不足,本文提出一种基于改进kNN算法与暂稳态特征的非侵入式负荷监测方法。首先,选择无需训练的kNN算法作为负荷识别模型,采用基于距离权重的统计方法对传统的kNN模型进行改进,弥补了数据采集过程中引起的误差扰动导致的负荷识别准确率低的问题,同时对kNN算法识别结果增加余弦相似度判断机制,实现对电路中陌生设备的辨识;其次,针对使用单一的特征负荷识别准确率不足问题,提出暂稳态特征结合方案,选择分离稳态过程波形的暂态时域统计特征和稳态频域谐波特征作为负荷特征;最后通过实验采集数据验证提出的非侵入式负荷监测方法的有效性。

1 负荷特征

NILM系统可以仅在电力总回路入口处采集总电气参数信息,根据每种负荷状态变化时具备的独有特征识别出不同负荷。因此负荷特征是NILM系统能实现负荷识别的主要依据,负荷特征的选择应具有足够的区分度。

稳态特征可以很容易对负荷的种类进行区分,但当负荷数量很多时,稳态负荷特征容易出现特征重合现象。而暂态特征与设备本身的特性相关性更强,文献[12]通过计算瞬时电流波形的峰值、均值、均方值等指标进行负荷识别,能够有效地辨识出同时性时间及功耗相近的设备。所以本文在使用稳态谐波特征的基础上增加暂态统计特征,能有效提高负荷特征区分度。

1.1 事件检测方案

负荷识别的第一步是检测出电力总回路中是否有负荷投切。当负荷启停或工作状态切换时,电流有效值会发生明显的波动,因此本文利用相邻周期电流有效值的突变实现投切事件的检测。事件检测实现的流程如图1所示。通过实时监测主回路中每个周期的电流有效值,并比较相邻2个周期的电流有效值的变化量,相邻2个周期的电流有效值变化量由公式(2)计算。

(1)

ΔI=|Is+1-Is|>δ

(2)

其中Is为当前周期电流有效值,s为当前周期,N为一个周期内采样点数,t为周期内任一采样点,it为采样点t的电流瞬时值,Is+1为Is的下一个周期电流有效值,δ为判断有暂态过程发生的阈值。δ值由接入电路中功率最小的电器决定,同时也利用ΔI作为暂态过程结束的判断基准:

ΔI<γ

(3)

其中γ为判断暂态过程结束阈值。

在真实场景中,往往存在多个负荷同时运行的情况,此时利用事件检测机制提取的负荷投切事件波形混合了总回路中正常运行负荷的波形。对混合波形进行分析将极大地增加负荷识别的难度,使得识别结果准确率降低,因此需要对检测到的事件波形进行分离。本文根据电流叠加原理对电力总回路中的负荷进行分离。

根据电流叠加原理,主回路中的总电流由回路中投入运行的各种负荷的电流信号混合形成。当n个负荷同时处于运行状态时,混合电流的模型可表示为:

(4)

式中,Ik(t)是负荷k独立运行时的电流信号,即为待识别负荷;I(t)为采集的实际混合电流信号;e(t)为噪声信号。

因此利用电流叠加原理分离电力总回路中稳态过程的影响。采取的事件波形分离的过程如下所示:

首先,事件检测机制检测出事件,截取完整的暂态过程波形,获得暂态过程的持续周期T;获取两侧稳态过程中与暂态过程相同时长的稳态过程波形,然后计算比较暂态两边稳态电流有效值。

然后,使用暂态过程波形和有效值较大的稳态过程波形分别减去有效值较小的稳态过程波形,得到暂态过程分离波形和稳态过程分离波形。

这样就得到单独的负荷状态变化时的稳态和暂态过程波形数据,消除了主回路中正常运行负荷的扰动。最后分别对暂态和稳态过程波形提取特征。

1.2 负荷特征提取

利用傅里叶变换对负荷稳态过程周期电流进行谐波分解,提取谐波幅值较大的谐波次数作为负荷特征,以降低噪声干扰,获得负荷区分度较好的稳态特征。使用DFT对离散的负荷周期电流提取谐波特征方法如公式(5)所示。

(5)

其中,i(n)为周期电流采样点n的电流,Nk为每个周期采样点个数,k为谐波次数,D(k)为复数形式的DFT谐波系数。

将D(k)乘以归一化系数1/Nk,并利用欧拉公式将其整理成实数表达形式:

(6)

(7)

(8)

其中ak为D′(k)的实部,bk为D′(k)的虚部。

当电流波形满足公式(9)时,称为半波对称,即一个周期电流波形沿时间轴平移半个周期后与原波形相对于时间轴镜像对称,偶次谐波为0。

(9)

常见的电器设备的电流波形均能近似满足半波对称条件。图2展示了5种电器稳态工作时的基波和第2~第13次谐波幅值,可以看出奇次谐波幅值更加突出,偶次谐波几乎为0。因此本文选择基波和第3、5、7、9、11、13次电流谐波作为稳态频域特征。

为全面反映暂态波形特性,本文选择9种统计特征量作为暂态波形的特征。NILM系统最终需要运行在嵌入式设备中,为降低模型运算开销,提升模型效果,需要进行特征选择,去除冗余特征。9种暂态特征如下所示:

Ip:峰值,取暂态波形绝对值的最大值。

Ipp:峰峰值,暂态波形最大值与最小值的差值。

Imean:平均值,所有暂态过程样本点的平均值。

Imean′:绝对平均值,所有暂态过程样本点绝对值的平均值。

Irms:有效值,具体数值由公式(1)计算。

I:稳态有效值,暂态发生前后稳态电流波形有效值的差值。

Fform:波形因数,数值为Irms/Imean′。

Fcrest:波峰因数,数值为Ip/Irms。

Rpta:峰均比,数值为Ipp/Irms。

本文采用卡方检验法对暂态特征进行选择,通过公式(10)计算出每个特征的卡方值。卡方值越大,表明特征与预测结果的相关性越大。因此应该优先选择卡方值大的特征。卡方检验中卡方的计算公式为:

(10)

其中n为样本总数,k为样本类别数,Aij为观测值,Eij为期望值。

2 非侵入式负荷识别模型

kNN算法的工作机制是通过给定的测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息进行预测,通常选择这k个样本中出现最多的类别标签作为预测结果。具体过程如下:

1)对于待测样本X,计算X与训练集D中所有样本xi的距离。

2)对计算的距离按递增次序排序,在训练集D中选取与当前待测样本X距离最小的k个点,含有这k个点的X的邻域记作Nk(X)。最后在Nk(X)中根据多数表决规则决定X的类别cX,分类表决函数如式(11)所示。

(11)

其中L为所有样本类别集合;class(cxi)为训练样本xi的类别;I(V=class(cxi))是一个指标函数,当其值为真时返回1,否则返回0,即计算选出的k个近邻数据中多数属于某个类,则判断待测样本为该类。

2.1 改进的基于距离权重统计方法的kNN算法

由于在提取负荷设备运行的电气参数特征时,往往会因为主回路的噪声扰动和硬件设备的精度等问题,导致采集的特征信号存在差异,即同一种负荷设备的状态变化的特征数据存在扰动。当2种负荷特征相近时,利用传统的kNN模型,可能出现训练集中较多的其他类别的负荷特征进入k最近邻范围,而同一种类型负荷特征进入k最近邻范围的较少,导致分类结果错误。因此将基于距离权重的统计方法应用在kNN算法中,可以弥补数据采集过程中引起的误差扰动导致的负荷识别错误问题。具体改进过程如下:

首先计算出待测样本与训练样本之间的距离,并按照距离递增排序选择前k个样本,按照公式(12)计算k个样本的距离权重Wi:

(12)

其中,di为待测样本与第i个近邻的距离;d1为k近邻中最近的距离;dk为k近邻中最远的距离。

然后对公式(11)的分类表决函数添加权重因子Wi,对计算得到的距离权重按照类别进行归类叠加,选择叠加距离权重最大的类别,即为分类结果。其分类表决函数为:

(13)

2.2 基于余弦相似度的类别判断机制

在真实环境中,总会存在特征集以外的负荷设备,视为陌生设备。如果陌生设备在回路中运行,事件检测机制也会检测到,kNN算法模型总会将样本进行分类,因此添加负荷类别判断机制,用于判断并识别陌生设备。将改进kNN算法与相似度判断机制相结合,实现具有识别陌生设备的负荷识别方案。负荷识别算法总体流程如图3所示。

基于距离权重统计方法的kNN算法与余弦相似度判断机制结合的负荷识别工作流程如下:

1)首先提取待分类样本特征向量。

2)计算特征集中所有已知类别样本到当前待分类样本之间的距离。

3)选择与当前样本距离最近的k个点并代入权重因子(公式(12)),计算每一点所占权重,并统计出每一负荷类别叠加权重。

4)由分类表决函数(公式(13))选择出叠加权重最大的类别,然后使用余弦相似度判断机制进行判断。

5)计算待分类样本特征向量与分类结果所属类别特征库中的样本中心点的相似程度,其中类别样本中心点为所有同种类别样本的均值点。相似程度由余弦相似度表示,余弦相似度计算公式为:

(14)

其中A为待分类样本特征向量,B为分类结果样本中心值向量。

6)若两者余弦相似度大于σ,则认为分类正确,输出分类结果;若余弦相似度小于σ,则认为分类错误,视为陌生设备,输出分类结果为其他。

3 算例分析

本文选择LED灯、饮水机、取暖器、电动车充电器和微波炉等5种用电设备作为实验对象。其中饮水机和取暖器为线性大功率设备;LED灯和电动车充电器为非线性设备,二者功率相近均属于小功率电器;微波炉属于非线性大功率设备。

3.1 数据采集及预处理

按照图4所示示意图搭建实验采集平台,采用基于DL-CT27C2.0电流互感器的电气参数采集模块采集数据,以6.4 kHz采样频率实时采集回路电流。实验设备分别接通至电路总回路中随机启停若干次,并根据事件检测机制检测回路中由设备状态变化引起的电流突变事件,根据图1所示流程提取事件暂稳态波形,并分别提取暂态时域特征和稳态频域特征。

实验电器设备信息与采集的对应事件特征样本数量如表1所示。对采集的事件特征数据做归一化处理,采用min-max标准化方法将数据进行线性变换,使结果映射在[0,1]区间上,转换函数如下:

表1 实验设备信息与对应事件特征样本数量

(15)

其中X为原始数据,Xmax、Xmin分别为数据最大值和最小值。

根据采集的数据按照公式(10)计算每个暂态特征量对应的卡方值,如表2所示。选择前4种卡方值最大的特征即Ipp、Imean′、Irms、I作为暂态特征量。

表2 暂态特征量对应卡方值

本文算例中功率最小电器LED灯的额定功率Pmin=100 W,在220 V电压下的额定电流为Imin=0.45 A。考虑到正常电路正常工作设备的功率变化扰动,为负荷投切域值留出一定的裕度,参考文献[22]中功率阈值可取0.25Pmin~0.8Pmin,本文取电流阈值δ=0.6Imin=0.27 A,事件结束阈值γ取0.01 A。由经验设置基于余弦相似度的分类结果判断机制阈值σ=0.9。

3.2 实验结果与分析

为验证不同距离度量公式对kNN算法识别准确率的影响,本文选择欧式距离(Euclidean Distance,deuc)、曼哈顿距离(Manhattan Distance,dman)和切比雪夫距离(Chebyshev Distance,dche)进行对比实验,3种距离计算公式分别为:

(16)

(17)

(18)

实验比较了3种距离度量方式在改进的加权kNN算法中使用暂稳态特征时负荷识别的准确率。选择表1中的LED灯、饮水机、取暖器和电动车充电器4种电器所有事件样本特征作为数据集进行验证,按每种用电设备特征样本数量等比例划分训练集和测试集,其中训练集占比30%。

如图5所示,使用切比雪夫距离的加权kNN算法识别准确率明显偏低,且受k值影响较明显;使用曼哈顿距离时,负荷识别准确率与使用欧式距离相近,但当k值较小或较大时,负荷识别准确率偏低。因此本文选择加权的欧式距离作为改进kNN算法的距离度量公式。

3.2.1 不同负荷识别方案对比

为验证本文提出的改进的kNN算法和暂稳态特征结合方案对负荷识别性能的提升,使用实验环境中采集的特征数据集进行测试。将表1中所示LED灯、饮水机、取暖器和电动车充电器4种电器所有事件样本特征作为数据集。按每种用电设备特征样本数量等比例划分训练集和测试集,其中训练集占比30%。

实验比较了暂稳态特征与单独使用暂态特征或稳态特征时负荷识别的准确率。如图6所示,当使用暂稳态结合特征作为负荷识别的特征时,传统kNN算法和改进kNN算法负荷识别准确率均优于单独使用暂态特征或稳态特征的情况,因此本文提出的暂稳态特征结合方案可以有效提高负荷识别准确率。

实验对比了暂稳态特征结合时传统kNN算法与改进kNN算法在不同k值下对负荷识别准确率的影响。从图6可以看出,k值的选择对改进kNN算法的准确率并未造成明显影响,而传统kNN算法受k值的影响明显,因此改进kNN算法稳定性比传统kNN更好,鲁棒性更强;在识别准确率方面,改进kNN算法无论使用暂稳态结合特征还是单独使用暂态特征或稳态特征,其识别准确率都要高于传统kNN算法,因此改进kNN算法可以明显提升负荷识别准确率。

3.2.2 多场景负荷识别

为验证提出的负荷识别模型的泛化性能,设计了多种设备组合场景,包括单项负荷设备运行场景、陌生设备接入场景和多个设备组合运行场景。

实验对象包含LED灯、饮水机、取暖器、电动车充电器和微波炉等5种电器设备。将微波炉视为陌生设备,其事件样本特征不加入训练集。实验采集各电器单独工作时的数据和各种设备组合工作时的事件样本特征,实验数据信息如表1所示,其中“充电器+取暖器”为在充电器正常工作,取暖器开关操作;同样“取暖器+LED灯”和“取暖器+充电器+LED灯”分别为取暖器正常工作时和取暖器、充电器均正常工作时,LED灯开关操作。

分别使用传统kNN算法与改进kNN算法进行测试,模型参数k设置为10。其中LED灯、饮水机、取暖器、电动车充电器4种已知标签样本数据作为训练集,训练集占4种已知标签样本30%,其余样本作为测试集。

测试结果如表3所示。改进kNN算法在各种场景下均比传统kNN算法具备更高的识别准确率。其中在单项设备识别上,改进kNN算法对电动车充电器的识别准确率提升达5.38个百分点,其他3种电器也有较明显的提升;陌生设备(微波炉)的识别是将其识别为其他标签,传统kNN算法和改进kNN算法都能达到很高的准确率,改进kNN算法识别准确率高达98.18%,表明提出的负荷识别方案可以有效地识别陌生设备;对于多种设备组合运行的场景,改进kNN算法识别准确率略高于kNN算法,但均能达到较高的水平,表明本文提出的负荷识别方案对多设备同时运行时的场景也能做到很高的设备识别准确率。

表3 不同场景下传统kNN算法与改进kNN算法对比

综合考虑多种应用场景,改进kNN算法负荷识别总准确率达到97.63%,比kNN算法识别准确率高3.38个百分点,性能提升明显。

3.2.3 不同负荷识别算法对比

选择SVM模型、BP神经网络和LSTM神经网络3种算法模型与本文提出的改进kNN算法进行比较。

kNN模型参数k值设置为10;为解决SVM模型的非线性分类问题,引入RBF径向基函数,惩罚系数C设置为2.0,核函数参数gamma设置为1;BP神经网络模型如图7所示,优化器为Adam,损失函数为Logistic Loss。

LSTM神经网络模型如图8所示,优化器为Adam,损失函数为稀疏函数交叉熵(Sparse Categorical Cross Entropy, SCCE)。为避免LSTM模型训练时出现过拟合现象,在每层LSTM后面添加Dropout层,Dropout机制可以使神经网络在训练过程中,以一定的概率随机丢弃神经元,可以有效防止过拟合发生,丢弃率设置为0.2。同时对损失函数引入L2范数,采用L2正则化方法避免模型过拟合,L2正则化系数λ设置为0.1。

采用表1中前4种负荷特征样本作为数据集,其中训练集占比均为30%。测试结果如表4所示,4种算法负荷识别准确率均在96%以上。可以看出不同的分类算法对识别准确率的影响较小,即本文提出的基于暂稳态特征结合的方案在数据上具有较好的区分度。

表4 不同模型负荷识别性能对比

改进kNN算法识别准确率为98.18%,略高于LSTM算法的98.08%,但是LSTM算法模型的训练需要大量时间。改进kNN算法预测耗时比SVM和BP神经网络长,但是SVM和BP神经网络模型需要预训练,且模型移植至嵌入式设备时较为复杂。改进基于距离权重统计方法的kNN算法不需要预训练,且算法原理简单,能更好地部署至嵌入式设备中。综合来看改进kNN算法能更好地实现负荷识别任务。

4 结束语

针对非侵入式负荷监测系统在实际应用中低成本高准确率的要求,本文提出一种基于改进kNN算法和暂稳态特征的非侵入式负荷监测方法。

首先,通过增加距离权重的方式改进传统kNN算法,弥补了数据采集过程中引起的误差扰动导致的负荷识别错误问题。实验结果表明,改进的kNN算法相较于传统kNN算法对k值设置不敏感,具有较高的鲁棒性,改进kNN算法负荷识别准确率比传统kNN算法高3.38个百分点,识别准确率更高。其次,分别提取暂态时域统计特征和稳态频域谐波特征,使用暂稳态特征结合方式进行负荷识别。实验表明,使用暂稳态特征融合进行负荷识别,准确率优于单独使用暂态特征或稳态特征的情况。本文提出的负荷识别方案在实验环境下的多种应用场景下均能保证较高负荷识别准确率,不仅能实现单项负荷识别,还能够实现陌生设备的辨识以及多种负荷同时运行场景下的负荷识别。最后使用SVM、BP神经网络和LSTM神经网络3种算法模型与改进的kNN算法进行对比。改进kNN算法负荷识别准确率仅略低于LSTM,但kNN不需要预训练,结构简单更易实现,能更好地部署至嵌入式设备中。

综合考虑,本文提出的基于改进kNN算法和暂稳态特征的非侵入式负荷监测方法在实际应用中更具有优势。

猜你喜欢
暂态稳态波形
衰老相关的蛋白稳态失衡
可变速抽水蓄能机组稳态运行特性研究
基于时域波形掩护的间歇采样干扰对抗研究
同步发电机转子电磁暂态的准确表达
基于全纯函数嵌入的暂态稳定网络方程算法
电厂热力系统稳态仿真软件开发
直流线路诊断中雷击暂态全响应监测实践
通用6T系列变速器离合器鼓失效的解决方案
元中期历史剧对社会稳态的皈依与维护
用于SAR与通信一体化系统的滤波器组多载波波形