基于单分类结合模糊宽度学习的负荷辨识方法*
2022-06-07王萧阳李松浓侯兴哲付秀元
王 毅,王萧阳,李松浓,陈 涛,侯兴哲,付秀元
(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.国网重庆市电力公司电力科学研究院,重庆 400014;3.国家电投集团数字科技有限公司,北京 100080)
0 引言
电力是推进工业社会发展的主要能源之一。在智能电网[1-2]的建设中,非侵入式负荷监测(Non-Intrusive Load Monitoring,NILM)[1-2]具有较高的研究价值和广阔的应用前景。NILM 通过用户负荷信息挖掘,可以有效缓解能源危机,节能减耗,提高经济效益。不同于侵入式方法,NILM 技术通过在主电能输入端安装监测设备来获取总用电信息从而识别用户的负荷类型和工作状态,提高了测量设备安全性,具有成本低、维护方便等优点。因此,NILM 将会是今后电力测量方向发展的主流趋势,在电力需求侧管理技术发展以及智能电网的建设上具有重要意义。
非侵入式负荷识别方法相比于侵入式方法由于其安装便利、成本低等特点引起了更多学者的关注,取得了较多的研究成果。文献[3]引入了总谐波失真识别功率相近的电力负荷;文献[4]通过提取负荷的暂态特征,计算贴近度进行负荷识别,但暂态特征对采样频率要求较高;文献[5]采用了V-I 轨迹及深度学习的方法进行负荷识别,取得了较好的识别效果,但高频数据的V-I轨迹计算量较大;文献[6]通过将K 最邻近方法与核Fisher判别相结合,控制误判风险,提高识别能力及识别速率;文献[7]通过提取负荷的有功功率与无功功率,并采用人工神经网络的方法进行识别,但识别率不高。
目前研究大都只考虑了基于已知样本的负荷识别,但未知负荷检测能力是非侵入式负荷设备在实际环境能够稳定运行的最低要求[8];同时考虑到非侵入式负荷监测算法的可实现性,需要权衡分类模型的复杂度以及分类能力。针对以上问题,本文提出一种基于单分类结合模糊宽度学习的负荷识别算法。通过单分类K 近邻(One Class K-Nearest Neighbor,OC-KNN)算法[9]进行未知负荷检测,保证模型在未知负荷干扰下的负荷识别正确率。将模糊宽度学习系统(Fuzzy Broad Learning System,FBLS)[10]作为分类算法,兼顾模型的复杂度与识别准确率,提升算法的可实用性。实验表明,本文算法能够有效提高动态环境下负荷识别模型的稳定性,并且具有较高的识别率和识别速率。
1 基于OC-KNN 的未知电器检测方法
1.1 单分类基本原理
当样本类别无穷多时,相比于传统分类器,单分类器具有更好的表现。单分类器是针对只包含正样本的数据集所使用的分类方法,它将已有样本归为正样本,未知样本全部归为负样本,并试图从训练集中寻找模式,从而从相对范围的假设空间中有效地将正样本和潜在的负样本分开。单分类方法只关注与样本的相似性或匹配程度,对于未知的部分不进行划分,在离群点和异常点检测方面有广泛的应用。
1.2 基于OC-KNN 的未知负荷检测原理
现有的负荷识别模型都只针对已知的负荷类型进行识别,如果在模型中接入未知电器极有可能导致错误的分类结果。由于此时未知电器的类别是无穷多的,传统分类器无法进行分类,因此本文基于单分类方法将已知的负荷样本作为正样本进行建模,负荷识别前,判断测试样本是否属于同类别的正样本,以此达到未知电器检测的目的。考虑到模型复杂度,本文选择K 最邻近方法作为单分类方法,提出一种基于OC-KNN 的样本筛选方法筛选未知负荷,提高负荷识别模型的稳定性。其算法步骤如下:
(1)对待测负荷样本A=[a1,a2,…,an],在训练样本中寻找一个距离最近的样本B=[b1,b2,…,bn],计算出待测样本A 与训练样本B 之间的特征距离,即待测距离d1:
(2)在训练样本中找出与B 最近的KNN个样本点组成集合C={C1,C2,…,},计算出样本点B 与集合C中各个元素的特征距离的平均值,即类内距离d2:
(3)通过距离大小进行类别判断,当d1≤d2时,待测样本划分为正类别;反之,待测样本归为负类别,即未知电器。
2 宽度学习
人工神经网络在多分类任务上取得了较好的效果,是非侵入式负荷辨识研究中常用的方法之一,但由于其容易陷入局部最优使得分类效果不太理想。因此近年来越来越多的学者将深度学习[11]应用到负荷识别领域。虽然深度网络在分类效果及特征选择上效果显著,但其复杂的网络结构、大量的网络参数导致模型训练极为耗时。针对这一问题,宽度结构[12]由于没有多层连接,不需要利用梯度下降来更新权值,具有较快的计算速度,并且在宽度学习系统(Broad Learning System,BLS)中引入Takagi-Sugeno(TS)模糊系统[13]代替特征节点后,在兼顾计算速度的同时提高了模型的分类能力。
2.1 FBLS 模型
FBLS 结构如图1 所示,从图中可以看出其主要由模糊系统、增强节点、系统输出三部分组成。模糊宽度学习在宽度学习的基础上引入一组一阶TS 模糊子系统代替特征节点,与传统神经网络通过增加层数来获得对非线性问题更好的逼近效果不同,FBLS 充分利用模糊系统以及非线性激活函数的非线性近似能力来达到这一目的。因此,FBLS 在取得相同逼近效果的情况下具有更简单的网络结构,大大降低了模型复杂度,具有较强的可实现性。并且由于其网络参数可基于伪逆快速计算,模型更新快,能够更好地适应动态负荷环境中的新增负荷。
图1 FBLS 模型
FBLS 的模糊系统如图2 所示,在接收输入数据后,经过模糊规则可产生临时向量和规则权重两个参量,表示输入数据经线性映射后的临时向量,表示模糊规则激活程度的加权权重,其定义如式(3)、式(4)所示:
图2 TS 模糊模型
式中,k=1,2,…,Ki,表示第i 个子系统中的模糊规则数;服从[0,1]内的均匀分布;M 为样本特征数;为高斯隶属函数。对所有训练样本,含有n 个模糊子系统的模糊系统的输出为:
2.2 算法流程
本文提出的负荷辨识算法流程如图3 所示,可分为训练阶段以及识别阶段两部分。训练阶段通过在电力端口处采集单负荷的稳态电流波形,基于稳态电流的叠加性,提取1~9 次奇次谐波[14]作为负荷特征,构建包含单负荷类型及多负荷组合类型的负荷特征库,用于训练分类模型,并且模型可根据负荷特征库的扩展及时进行更新。识别阶段首先进行事件检测并对待测负荷提取特征,然后通过OC-KNN 算法进行未知负荷检测,最后对检测为已知负荷的样本通过FBLS 进行分类,输出负荷识别的结果。
图3 算法流程图
3 实验分析
3.1 数据采集
本文采用PicoScope 5442A 型示波记录仪采集负荷稳态电流波形,用于负荷分析以及辨识研究。选取25 W调光灯、笔记本电脑、100 W 白炽灯、吹风机、烧水壶、烘干机等具有代表性的电器作为负荷识别对象,其中调光灯以及笔记本代表低功率电器,具有相似的电流波形;吹风机具有多个挡位,并且吹风机热风挡与烧水壶具有相近的功率和类似的电流波形,可以增大负荷识别的难度。选取采样频率为5 000 Hz,基波频率为50 Hz(周期为0.02 s),即每个周期采集100 个点,每组数据包含10 个周期即1 000 个采样点,共采集1 050 组单负荷数据,以此为基础建立负荷特征库,并采集各类负荷投切前后稳态电流波形各100 组,提取投切前后波形差值构成测试集。
3.2 实验数据集
通过采集已获得1 050×1 000 的训练数据集,包含7种负荷,每种负荷150 组数据,共1 050 组,每组数据包含1 000 个时域数据点;测试数据集维度为700×1 000,每种负荷100 组,共700 组。
基于稳态电流的叠加性,由单负荷数据可构建出多负荷样本的数据集,本文仅考虑两负荷叠加的情况,叠加后训练集数据维度为4 200×1 000,包含采集的7 种单负荷以及21 种多负荷组合数据,每种数据150 组;同理,测试集为2 800×1 000 共2 800 组数据,每种负荷100 组。
将采集的数据导入PC 端进行特征提取,通过离散傅里叶变换提取负荷的奇次谐波作为负荷特征进行负荷辨识,本文选取1~9 次谐波中的奇次谐波作为负荷特征,因此负荷训练数据集矩阵为4 200×5,测试数据集矩阵为2 800×5。
3.3 未知负荷检测
为了避免未知电器接入产生误判,提高动态环境负荷识别模型的稳定性,未知负荷检测是非侵入式负荷监测设备的必备能力。本文通过OC-KNN 算法对未知电器进行检测。基于OC-KNN 的未知负荷检测原理主要是考虑待测样本与局部样本的分布关系,因此KNN值的选取不应过大,本文通过4 折交叉验证的方式评估1~30范围内的k 值对识别率的影响。当KNN∈[1,25]时,本文算法对k 值具有较好的鲁棒性,为避免KNN值过小陷入欠拟合,本文KNN值设置为20。从测试集中选择每种已知电器部分特征数据与未知电器共同构成未知电器检测测试集,每组测试集包含80 个样本,前70 样本为已知电器,其余为未知样本,未知样本包含各种类型的负荷以验证算法的适用性。
由图4 可知,通过比较待测样本xs的待测距离d1和类内距离d2能够检测出未知电器。当待测距离d1小于类内距离d2,识别为正样本,即已知电器;对未知电器来说,待测距离d1明显大于类内距离d2,能够有效检测出未知电器的接入。综上可知,本文算法对未知负荷具有很高的检测精度,并且对已知电器也有较高的识别率,有效解决了未知负荷检测时已知负荷的误判问题。
图4 未知负荷检测
为了体现算法的有效性,在保证未知电器识别准确率的前提下,对比于支持向量域描述(Support Vector Domain Description,SVDD)单分类方法。两种方法对未知电器都达到100%的识别率,但OC-KNN 相比于SVDD 训练的固定边界具有更好适应性,因此在正样本上具有更高的辨识率,结果如表1 所示。
表1 SVDD 与OC-KNN 识别率对比(%)
3.4 负荷辨识分析
本文采用过零点检测提取负荷投切前后的稳态电流波形差值进行谐波提取,构成负荷识别的测试集进行负荷辨识分析。FBLS 的负荷分类模型需要设置模糊子系统数Nt、模糊子系统中的模糊规则数Nr以及增强节点数Ne。本文参数参考文献[10]进行设置,其中Nt=10,Nr=6,Ne=6。
首先测试单个负荷的识别情况,分类结果如图5 所示。其中,1 为25 W 调光灯、2 为笔记本电脑、3 为100 W白炽灯、4 为吹风机、5 为吹风机热风挡、6 为烧水壶、7为烘干机,由图可知,FBLS 在单负荷识别上能够取得较好的效果,多种电器都能达到100%的正确率,吹风机也有较高的识别率,由于本文算法是基于稳态电流提取特征,因此在时变的变频电器识别上存在一定问题。
图5 单负荷识别
为了验证本文算法识别多负荷组合的能力,对负荷特征库中的21 种多负荷组合进行识别验证,其中A1 为调光灯+笔记本,A2 为调光灯+白炽灯,A3 为调光灯+吹风机,A4 为调光灯+吹风机热风挡,A5 为调光灯+烧水壶,A6 为调光灯+烘干机,A7 为笔记本+白炽灯,A8 为笔记本+吹风机,A9 为笔记本+吹风机热风挡,A10 为笔记本+烧水壶,A11 笔记本+烘干机,A12 白炽灯+吹风机,A13 白炽灯+吹风机热风挡,A14 白炽灯+烧水壶,A15 白炽灯+烘干机,A16 为吹风机+吹风机热风挡,A17为吹风机+烧水壶,A18 为吹风机+烘干机,A19 为吹风机热风挡+烧水壶,A20 吹风机热风挡+烘干机,A21 烧水壶+烘干机。识别结果如表2 所示。
表2 多负荷识别 (%)
从实验结果可知,本文算法能够应对多负荷投切情况,所有负荷组合均能达到90%以上的正确率,并且总体识别率达到了97%。
3.5 算法对比
为了进一步验证算法的有效性,在单负荷投切环境下与文献[15]中采用的GRNN 分类算法、文献[16]中采用的随机森林算法,从识别率、训练时间、识别时间三方面进行对比,结果如表3 所示。
表3 识别效果对比
从表3 中可以看出,本文算法在总体识别率上达到了99.6%,高于GRNN 和随机森林算法;在训练速度上,随机森林算法由于大量决策树参数导致模型更新较慢,GRNN 只需计算平滑因子,本文算法通过伪逆快速计算模型参数,因此都具有较快的训练速度;在识别速度上,GRNN 最优但总体差距较小。通过对比可得,本文算法负荷识别率高,并且兼顾了训练时间与识别时间,使其不仅能够及时更新模型以适应动态环境中的新增负荷,而且能够实现对负荷环境的实时监测,使得模型更适合于负荷监测的实际应用。
4 结论
本文以负荷稳态电流的1~9 次奇次谐波为基础构建负荷特征库,考虑面向动态环境的负荷识别算法。针对未知负荷的干扰,本文提出通过OC-KNN 进行未知负荷检测,提升负荷识别算法的鲁棒性;考虑新增负荷的识别问题,本文将OC-KNN 与FBLS 相结合,只需更新负荷特征库即可快速更新识别模型,提升算法的可扩展性。
经实验验证,本文算法能够有效检测出未知电器,并且随着负荷特征库的扩展,能够快速更新模型,同时具有较高的识别率。