基于改进kNN算法的非侵入式负荷识别方法

2021-05-21 02:14张瑞祥孙耀杰陶余会黄国平孙伟涛
复旦学报(自然科学版) 2021年2期
关键词:训练样本类别幅值

延 菲,张瑞祥,孙耀杰,3,陶余会,黄国平,孙伟涛

(1.复旦大学 信息科学与工程学院,上海 200433; 2.复旦大学 六次产业研究院,上海 200433;3.上海综合能源系统人工智能工程技术研究中心,上海 200433; 4.上海复旦复华科技股份有限公司,上海 200433; 5.中节能太阳能科技(镇江)有限公司,江苏 镇江 212132; 6.上海交通大学 电子信息与电气工程学院,上海 200240)

随着智能电网的发展和人工智能技术在家庭中的应用,分析用户用电模式,深入挖掘节能潜力,减少用电费用的同时实现削峰填谷,促进区域电网的安全稳定运行已成为趋势.为了获取用户的用电模式,负荷监测是一个重要前提,负荷监测包括侵入式负荷监测(Intrusive Load Monitoring, ILM)和非侵入式负荷监测(Non-Intrusive Load Monitoring, NILM)两类,ILM通过为用户内部每个用电设备安装传感装置,分别测量其实时功耗信息来实现,优点是计量的精确度高,但是要对现有用电器进行改造,实施和维护成本高、用户接受度低.NILM通过在用户进户线总开关处安装测量装置,采集用户端电压和总电流,然后利用数据分析技术得到每一个用电器的电能消耗信息.与ILM相比,NILM具有实施和维护成本低的优点,更适合于在居民用户侧大规模推广.

NILM系统的性能主要取决于负荷特征和识别算法的选取,国内外学者在这两方面做了大量的研究工作.负荷特征包括有功、无功功率[1]、电流谐波幅值[2]、V-I轨迹[3]等稳态特征,瞬态能量[4]、瞬态功率等暂态特征及用电模式[5]、使用颜色标注的V-I轨迹[3,6]等非传统特征.负荷识别求解方法大致分为基于优化的方法如整数规划[7]和基于机器学习的方法如人工神经网络[6]、支持向量机[8]、Adaboost[9]、隐马尔可夫模型[10]等两类[11].上述特征和识别算法的结合在特定的场景下均能够实现满足要求的负荷识别精度,但是现有的大多数研究以提升负荷识别算法的准确率为目的,算法的复杂度不断升高,却忽略了实际应用中家庭场景对于低成本的要求.以高精度的神经网络为例,Liu等[6]利用预先训练好的AlexNet深度学习模型,将其全连接层替换为一个新的全连接层,然后对新网络进行训练,迁移学习方法虽然避免了从零开始训练分类模型,但迁移网络的训练也是一项计算密集型任务,单个样本完成一次训练需要7.16亿次浮点运算,这一过程通常在集中式或基于云的服务器上完成.

本文面向家庭非侵入式负荷监测场景,选择无需训练过程的kNN算法作为负荷识别模型,首先采用加权方法增加了少数类样本在分类判决时的表决权,提高与多数类具有相似V-I轨迹形状的少数类的识别准确率.然后针对V-I轨迹缺失了数值特征,导致前级电路拓扑结构相似的不同类别的用电设备无法区分的问题,提出了基于V-I轨迹和幅值特征综合相似度的负荷类别判决方法.最后利用公开数据集和实验室测量数据验证了算法的有效性.

1 负荷特征

用电设备V-I轨迹的形状与其前级电路的拓扑结构相关,根据这一特征即可划分出用电器的功能范围,降低了对数据库完备性的要求,因此本文首先选择V-I轨迹作为负荷特征,轨迹特征的提取方法是通过映射[6,12]将原始V-I轨迹转化为二值V-I轨迹,过程如下:

1) 采集用电设备稳定运行时一个周期的高频电压u和电流i的波形数据,以u为横坐标,i为纵坐标,绘制原始V-I轨迹.

2) 将电压-电流2维平面划分成2N×2N的网格,每个网格的长度(电压跨度)和高度(电流跨度)计算如下:

(1)

3) 初始化一个维度为2N×2N的2维矩阵B,每个元素都赋值为1,显示为白色.对原始V-I轨迹中的数据点(uj,ij)(j=1,2,…,J),它在矩阵B中占据位置的索引为(xj,yj),如果0

(2)

图1为11种用电设备的典型二值V-I轨迹.

图1 常见用电设备的典型二值V-I轨迹Fig.1 Typical binary V-I trajectory of common electrical devices

由以上二值轨迹的提取方法可知,映射过程相当于对电压和电流数据进行了归一化处理,轨迹仅包含反映电压与电流相位差、负荷非线性度和高次谐波特性等信息的形状特征,不包含与功率水平相关的特征.当2种用电设备的V-I轨迹相似时,容易发生误判,因此本文通过增加幅值特征这一维度来提升用电设备的可分辨性.

幅值特征包括用电设备稳态运行时的基波有功、无功功率、基波电流幅值和3、5、7次谐波电流幅值.对电压和电流进行快速傅里叶变换即可得基波和各次谐波的幅值与相位,功率的计算公式如下:

(3)

其中:a1和b1分别为基波电压和电流的幅值;φ1为两者之间的的相位差.

2 基于改进kNN算法的非侵入式负荷识别方法

kNN算法通过比较待测样本与大量训练样本的相似度来为待测样本分类,其核心思想是挑选出与待测样本最相近的K个样本,若待测样本与这K个训练样本中某一类的总相似度最大,则将待测样本划分为这一类别.具体过程如下:

1) 对于待测样本a,计算a与所有训练样本的相似度并倒序排列,取前K个作为a的K最近邻;

2) 分别计算a与K个最近邻中各类别的相似度之和,a的类别为与其总相似度最大的类,如: 样本a与类别Ci的总相似度为

(4)

式中:Tj表示待测样本a的第j个K最近邻,若Tj属于类别Ci,则a与Ci的总相似度增加,最终a的类别为:

C(a)=argCimax(Sim(a,Ci)).

(5)

2.1 kNN算法的缺陷及其改进

kNN算法的缺点在于当数据集存在不平衡问题时,样本数量较多的多数类训练样本容易被选为K最近邻,对少数类的判决造成干扰.针对这一问题,kNN算法有两类解决方案: 一是用欠采样或过采样方法[13],通过删除多数类样本或合成少数类样本,使两类型样本数量接近,从而消除数据集不平衡问题;二是对算法进行改进,为训练样本分配不同的权重[14-15],增加少数类样本在分类判决时的表决权.为了不删除有用数据或引入冗余数据,本文采用第二类解决方案,对式(4)进行改进:

(6)

其中:weight(Tj)为训练样本Tj的权重,为Tj分配权重时,应遵循少数类样本权重大、多数类样本权重小的原则,分配方法如下:

weight(Tj)=1/size(CTj).

(7)

其中size(CTj)表示Tj所属类别包含的训练样本数目.

2.2 基于综合相似度的类别判决方法

在明确了基于权重的相似度计算方法后,下一步是利用判别规则对待测样本的所属类别进行判决,由于本文提取了二值V-I轨迹和幅值两种负荷特征,因此引入综合相似度这一概念,通过将两种负荷特征相结合,根据综合相似度确定待测样本的类别,过程如下:

1) 计算待测样本与所有训练样本的V-I轨迹相似度和幅值相似度,分别记为Sim1和Sim2:

Sim1=1/(1+dist1),
Sim2=1/(1+dist2).

(8)

其中:dist1和dist2分别为2个样本间V-I轨迹的距离和幅值的距离,均为欧氏距离.

2) 按照Sim1的大小降序排列,取前K个Sim1最大的训练样本作为当前测试样本的K最近邻;

3) 计算当前测试样本与所有K最近邻的综合相似度:

Sim(a,Tj)=Sim1(a,Tj)×weight(Tj)+Sim2(a,Tj).

(9)

4) 统计待测样本与K个最近邻中各类的总综合相似度,取总综合相似度最大的类作为预测结果.

3 评价指标

使用宏平均F1值作为评价指标来评估本文方法的有效性,计算方法[16]如下:

(10)

(11)

(12)

式中:Pi和Ri分别为第i个类别的精确率和召回率;TPi、FPi、FNi分别为第i个类别的真正例(True Posivive)、假正例(False Positive)及假反例(False Negative)的数目;n为类别数目.

4 利用数据集测试负荷识别算法

参考经典手写数字数据集MNIST,本文V-I轨迹的分辨率为28×28,即映射过程中,N设置为14.在划分训练集与测试集时,每类用电设备训练样本与测试样本的比例均为7∶3,总数分别为764和330.

算法1仅考虑轨迹特征的标准kNN;算法2仅考虑轨迹特征的加权kNN;算法3考虑轨迹特征和幅值特征的标准kNN;算法4考虑轨迹特征和幅值特征的加权kNN.图2为不同K值下4种算法的Macro_F1变化趋势.

图2 不同K值下4种算法的Macro_F1Fig.2 Macro_F1 of 4 algorithms under different K values

图3以K=15为例绘制混淆矩阵,分析4种算法对各类用电设备的分类性能,横轴为用电设备的实际类别,纵轴为分类器预测结果,矩阵中的每个元素代表横轴用电设备被预测为纵轴用电设备的数目.对比图3(a)与(b),可知加权后的kNN算法提升了少数类热水器和洗衣机的准确率.但相应地,由于多数类在kNN分类判决时的决策权被削弱,吹风机和风扇预测错误的数目都有不同程度的增加,因此算法2在Macro_F1上的表现有所降低.算法3的Macro_F1高于算法1和算法2,但由混淆矩阵知,在少数类识别的性能上与算法1有同样的缺陷.本文提出的算法4可以兼顾多数类和少数类,Macro_F1在4种算法中最优,且随着K值的增大,Macro_F1没有显著下降,表现出了较好的稳定性.

图3 4种算法的混淆矩阵(K=15)Fig.3 Confusion matrix of four kinds of algorithms (K=15)

5 利用实验室数据验证负荷识别算法

在实验室环境下采集了微波炉、空调、笔记本电脑和吹风机4类用电设备的70组稳态电压和电流数据,实验接线方法如图4所示,采样频率为3.125 kHz.利用实验室数据验证算法时,所有样本都作为测试样本,数据集中对应类别的样本为训练样本.由于本文采用了映射方法,二值V-I轨迹中黑色像素的个数小于等于一周期内的采样点数,在3.125 kHz的采样频率获得的数据映射到二值矩阵中时,代表V-I轨迹的黑色像素点明显离散,没有形成一个完整的轨迹,因此为保证同类用电器在相同分辨率下V-I轨迹一致,在测试算法前首先利用线性插值和3次多项式插值分别将电压和电流数据插值至30 kHz.表1为K=15时实验室数据的测试结果.

图4 实验测量装置及接线方法Fig.4 Experimental measurement device and wiring method

表1 实验室数据测试结果

由式(11)、(12)计算可得4类用电设备的Macro_F1为82.64%,与在数据集上测试所得的结果相比有所下降,原因如下:

1) PLAID不是完备的数据集,在实验室采集的样本中,出现了具有不同负荷特征的用电设备;

2) PLAID和实验室样本的采样频率及测量装置不同,干扰了特征的提取;

3) PLAID数据集采集环境为美国家庭,标准电压是110 V,而实验室测量数据时电压为220 V,因此对于两种环境中功率水平相近的同一类型用电器而言,PLAID中用电器的电流约为本文采集电流的两倍,因此上述实验在计算幅值相似度Sim2时仅考虑基波有功和无功功率,未计及电流幅值.

6 结 论

针对家庭中非侵入式负荷监测系统的低成本要求,本文提出一种基于改进kNN算法的负荷识别方法:

1) 在数据集不平衡的情况下,通过增加权重的方式,提高了与多数类具有相似V-I轨迹形状的少数类样本的识别准确率.

2) 考虑用电设备的幅值特征,提出基于综合相似度的类别判决方法,提高了前端电路拓扑相同但功率等级不同的两类用电设备的识别准确率.

3) 将在数据集上得到的负荷识别模型直接应用于实验室测量数据,得到了82.64%的Macro_F1,说明V-I轨迹和幅值的特征组合具有较好的鲁棒性,且kNN算法具有一定的泛化能力.

猜你喜欢
训练样本类别幅值
多尺度串联非线性能量阱的减振效能及阻尼连接方式研究
AFM轻敲模式下扫描参数对成像质量影响的研究
《液压与气动》常用单位的规范
人工智能
壮字喃字同形字的三种类别及简要分析
基于S变换的交流电网幅值检测系统计算机仿真研究
宽带光谱成像系统最优训练样本选择方法研究
西夏刻本中小装饰的类别及流变
基于稀疏重构的机载雷达训练样本挑选方法
多类别复合资源的空间匹配