基于聚类特征及seq2seq深度CNN的家电负荷识别方法研究

2023-10-19 00:52汪繁荣向堃吴铁洲
电测与仪表 2023年10期
关键词:用电卷积聚类

汪繁荣,向堃,吴铁洲

(1.湖北工业大学 太阳能高效利用及储能运行控制湖北省重点实验室,武汉 430068;2.无锡风繁伟业科技有限公司,江苏 无锡 214171)

0 引 言

非侵入式负荷监测(Non-Intrusive Load Monitoring,NILM)由Hart提出[1],也称为非侵入式负荷分解(Non-Intrusive Load Decomposition,NILD)。它通过在用户用电系统入口处安装监测设备收集其用电负荷数据对用户内部用电负荷进行细分及能耗合理分配[2]。由于智能电表的普及和大数据技术的发展,NILD受到了更多关注。

特征选择是NILD中的重要环节,一般来说有暂态特征和稳态特征两种[3]。暂态特征主要是用电设备投切或状态类别变换时的参数变化特征。文献[4]利用小波分解提取暂态特征,并用深度置信网络对其波形进行类别识别,有较好的辨识精度,但是其数据来自软件模拟数据,若用于实际中还需进一步检验。文献[5]利用多尺度排列熵算法确定设备状态变化区间提取设备暂态特征然后利用Yamamoto算法进行区间检测,辨识用电设备启停时刻实现负荷分解,该方法有较好的降噪和辨识效果。文献[6]利用主成分分析法进行降维来构造低维度的特征空间,之后通过KNN邻近算法完成负荷分解。这类基于暂态特征的NILD方法对于收集数据的软硬件设备要求较高,在实际运用中有一定的局限性。稳态特征包括稳态电压、电流、有无功率等数据特征,随着智能电表的普及与发展,围绕稳态特征的NILD方法层出不穷。由于深度学习在各个领域表现突出[7-8],所以近年来其在非侵入式负荷分解领域的应用也逐渐增多。文献[9]利用深度学习的框架,提出了新的非侵入式负荷分解模型,其利用词嵌入处理输入数据然后利用单层双向长短时记忆网络和单层单向长短时记忆网络分别编码解码,其中加入注意力机制,最终得到负荷分解序列,其分解效果明显。文献[10]将稳态特征数据图像化后进行辨识,利用局部平均分解法对输入数据进行预处理然后基于卷积神经网络对家用电设备的负荷特征进行提取,最后经过softmax层概率输出分解结果。文献[11]利用循环卷积神经网络模型对总功率进行负荷分解,在利用深度学习模型的时候没有建立负荷特征集,导致精度、鲁棒性下降。以上文章都建立了比较优秀的深度学习应用模型,但大多数深度学习的非侵入式负荷分解方法忽略了对多个用电器同时运行情况下进行分解分析比较,其一是因为多个用电设备同时运行时会造成数据混叠难以分辨,其二是输入数据复杂,难以精确辨识。

为解决辨识精度低,需要考虑多个用电设备同时工作等问题,本文利用深度学习的框架,提出一种基于改进k-means迭代聚类算法数据集结合序列到序列(sequence-to-sequence,seq2seq)的一维深层卷积神经网络的(One-Dimensional Deep Convolutional Neural Network,1-D-DCNN)非侵入式负荷分解方法(km++-1-D-DCNN),通过数据的训练和测试,与再次建立的seq2seq单、多层,单、双向长短时记忆(Long Short-Term Memory,LSTM、Bilateral Long Short-Term Memory,Bi-LSTM)网络模型以及常用的广义回归神经网络(General Regression Neural Network,GRNN)模型、反向传播神经网络(Back Propagation Neural Network,BPNN)模型进行对比,根据所有设备共同的状态识别准确率以及单个设备各状态识别准确率等评价指标验证本文方法的有效性。

1 用电设备负荷特征集建立

将深度学习模型应用于非侵入式负荷分解问题时,建立用于网络训练所需的用电设备负荷特征数据集是关键环节[12]。由于长时间采集用电设备负荷具有较大的实现难度,且种种原因导致用电负荷会存在真空区间即没有用电设备运行状态,因此,通过获取典型用电设备短时间运行数据或将长时间数据进行截断以提取负荷特征,然后生成大量设备训练数据是目前一种较为理想可行的方法。

1.1 设备状态特征提取

用电设备的不同运行状态特征可以通过聚类方法对负荷数据进行挖掘得到。在聚类过程中,簇中心数目会影响聚类效果即影响用电设备运行状态的提取,簇中心数目过少会造成聚类不彻底,部分近似质点无法分开,导致用电设备提取不全;簇中心数目过多则会使用电设备运行状态类别增加,甚至聚类过细产生用电设备实际所不存在的运行状态,进而增加分解算法的复杂度。本文在k-means聚类算法的基础上利用k-means++算法进行簇中心初始化并引入轮廓值指标以筛选更加有效的聚类数目,然后迭代执行避免结果陷入局部最优,最后使用新的初始簇中心位置寻求更为合理的聚类方案。轮廓值是该点与其自身聚类中的点的相似程度的度量。第i个点的轮廓值Ai定义为:

Ai=(bi-ai)/max(ai,bi)

(1)

式中ai是从第i个点到与i相同的簇集中其他点的平均距离;bi是从第i个点到不同簇集中的点的最小平均距离。轮廓值的范围为-1到1。较高的轮廓值表示i与其自身的簇集完全匹配,若大多数点具有较高的轮廓值,则聚类结果是合适的。反之,则聚类结果不合适。k-means++算法使用启发式方法寻找k-means聚类的质心,改进了原k-means聚类算法中Lloyd[13]算法的运行时间和最终解质量。

k-means++算法按如下方式选择质心,假设簇数为K[14]:

(1)从数据集X中随机均匀选择一个观测值该值为第一个质心c1;

(2)计算从每个观测值到c1的距离,将cj和观测值m之间的距离表示为d(xm,cj);

(3)从X中随机选择下一个质心c2,概率为:

(2)

(4)选择中心cj有以下操作:

1)计算从每个观测值到每个质心的距离,并将每个观测值分配给其最近的质心;

2)对于m=1,…,n和p=1,…,j-1,从X中随机选择质心cj,概率为:

(3)

式中Cp是最接近质心cp的所有观测值的集合,而xm属于Cp。也就是说,选择每个后续中心时,其选择概率与它到已选最近中心的距离成比例。

(5)重复步骤(4),直到选择了K个质心。

本文提出的改进迭代k-means聚类方法步骤如下:

1)给定数据集X,选择K个初始簇中心(质心),使用k-means++算法进行簇中心初始化;

2)计算所有观测值到每个质心的点到簇质心的距离;

3)两阶段迭代更新:一阶段批量更新,将每个观测值分配给离质心最近的簇。二阶段在线更新,只要将观测值重新分配给另一质心可减少簇内点到质心距离平方和的总和,就对该观测值执行此分配;

4)计算每个簇中观测值的平均值,以获得K个新质心位置;

5)重复步骤2)~步骤4),直到簇分配不变,或达到最大迭代次数;

6)再次重复1)~步骤5),迭代n次,寻找距离总合最小的解。

1.2 数据预处理及设备负荷特征的挖掘

本文使用文献[15]数据集,该数据集包含21个家庭2013年10月到2015年5月的10种不同用电设备的单个负荷有功功率数据和总负荷有功功率数据,采样时间为8秒。因为有些家庭的数据不全,本文选取了2号家庭的冰箱、洗衣机、电视、水壶4个主要用电设备的有功功率数据。电视为小功率用电设备,水壶为大功率用电设备,冰箱为长时间工作设备,洗衣机为多状态工作设备,这些设备能够较好的验证后文分解方法的性能。为了建立用电设备负荷特征集,首先对原始数据进行预处理,本文取各用电设备有功功率数据中前100万个采样点数据并将各个用电设备运行状态的有功功率消耗数据提出且剔除相同时间的功率消耗数据,设立提取参数以保证数据的有效性,表1展示了各用电设备参数。数据筛选后,为保证工作状态和非工作状态的区别,需将采样点数量大于8万点的用电设备数据序列随机抽取8万点,再用0补长序列长度到10万点,反之若数据小于8万点则直接将原序列用0补长至10万点长度。

表1 主要用电设备提取参数及序列长度

数据筛选后,将采样点数量大于8万点的用电设备数据序列随机抽取8万点,再用0补长序列至10万点长度,反之直接将原序列用0补长至10万点长度。接下来利用本文所提出的聚类方法对各用电设备运行状态进行提取建立负荷特征集,输入数据为1维数据,距离度量选用绝对差之和,重复聚类次数为100。各用电设备运行状态聚类结果如表2所示。

表2 各设备运行状态聚类结果

表中K为聚类数目,即用电设备运行状态数量(包含不工作状态,即簇中心值为0),一般来说家用电器运行状态不会超过6个,所以K取值最大为6。冰箱、电视和水壶均为2种运行状态,其轮廓值在K=2时也是最大的,洗衣机虽然在K=2时轮廓值最大但就实际运行情况来看其运行状态不只2个,所以取次大值K=4为其最终结果。图1展示了冰箱和洗衣机的聚类效果。冰箱的聚类效果较好,每个簇中轮廓值均较大且无负值点,洗衣机虽有负值点但数量较少,且其他簇分布良好。

图1 冰箱和洗衣机聚类效果

2 深度学习与非侵入式负荷分解

深度学习已经广泛应用于多个领域,作为机器学习的一个重要分支,简单来说其领域的多种算法就是深层的神经网络算法。卷积神经网络在图像处理领域一直以来有出色的表现,处理二维数据时具有很大优势[14]。就上一节建立的设备状态特征数据集,本文将输入的一维数据(总有功功率)进行增维扩增至4维矩阵作为模型的输入,完成数据转化,实质上数值没有改变,提出一种序列到序列的一维深层卷积神经网络模型进行负荷辨识,完成非侵入式负荷分解,分解模型流程如图2所示。另外,在负荷分解的过程中,每个用电设备都有其时间特性或其它未知特性,所以本文还构建了LSTM和Bi-LSTM网络模型进行负荷辨识。

图2 非侵入式负荷分解模型流程图

2.1 卷积神经网络

卷积神经网络中包含卷积层、池化层、全连接层等基本功能层。各个层具有独立的神经元,不同层神经元间相互连接,同层神经元间无连接[16]。卷积层计算公式为:

(4)

(5)

(6)

(7)

(8)

图3 卷积神经网络运算流程图

2.2 一维深层卷积神经网络

图4为深层卷积神经网络的层构图,本文在常用的卷积神经网络利用二维数据图分类的基础上,改进输入层数据形式(本质还是通过2维卷积来实现分类),达到1维时间序列输入实现分类的目的,并加深网络层数使其提取特征鲁棒性更强,分类结果更加精确。一维深层神经网络的输入是总有功功率序列转化的4-D矩阵。总有功功率序列为1×n行向量,将其重构成1×1×1×n的矩阵,其中前两维表示1×1像素,第3维1表示灰度颜色通道,第4维n表示序列长度。深层卷积网络由输入层、A类层、B类层、全连接层、softmax层和分类层组成,共47层。A类层一共10组40层,每组由2-D卷积层、批量归一化层、Relu函数层以及最大池化层构成,每层2-D卷积层过滤器数量分别为8/16/32/64/128/256/512/1024/2048/4096,大小均为1×1。B类层由2-D卷积层(过滤器数量为8 192,大小为1×1)、批量归一化层和Relu函数层组成。为了使该模型辨识效果更好,在训练模型时加入了更多的网络参数,为防止模型过度拟合加入了L2正则化因子[17],其值为0.000 5,使用具有动量的梯度随机下降(SGDM)优化器训练网络,动量大小为0.97,梯度阈值为0.5,最大迭代数为300,在每一代训练时增加数据混淆,初始学习率为0.01,为了效果更佳设定学习率梯度下降,每过50代学习率在原有基础上乘0.2。

图4 深层卷积神经网络结构图

2.3 LSTM和BI-LSTM神经网络

LSTM是一种特殊的循环神经网络(RNN),它解决了长依赖问题,在处理时间序列时有良好的表现[18-19]。随着研究深入,根据双向循环神经网络(Bi-RNN)特性,一种Bi-LSTM神经网络也被广泛运用,其实现了信息双向传递,在处理已知序列时,性能优于单向LSTM神经网络[20-22]。

为了验证文中所提方法的有效性,本文还建立了seq2seq的LSTM神经网络和seq2seq的Bi-LSTM神经网络模型。LSTM神经网络由序列输入层、LSTM层、全连接层、dropout层(值为0.1)、softmax层以及分类层组成。网络训练参数设置如下,使用具有动量的梯度随机下降(SGDM)优化器训练网络,动量大小为0.97,L2正则化因子为0.000 5,梯度阈值为2,最大迭代数400,小批量训练大小为500,初始学习率0.01,每过50代学习率在原有基础上乘0.2。Bi-LSTM神经网络由序列输入层、Bi-LSTM层、全连接层、dropout层(值为0.2)、softmax层以及分类层组成。网络训练参数设置如下,使用具有动量的梯度随机下降(SGDM)优化器训练网络,动量大小为0.97,L2正则化因子为0.000 5,梯度阈值为1,最大迭代数300,小批量训练大小为500,初始学习率0.01,每过50代学习率在原有基础上乘0.2。由于实验测试得知增加LSTM层和Bi-LSTM层层数会导致辨识效果很差,所以不再建立更深的LSTM和Bi-LSTM神经网络。

3 实验分析

本文将运用第1节已经处理过的用电设备特征数据集结合第2节介绍的深度学习分类模型来完成非侵入式负荷分解。为验证本文提出模型的性能,选取4种典型用电设备,根据家庭2的用电情况整理了12种设备用电状态,每种用电设备与其对应的运行状态编码方式如表3所示,其中冰箱、电视、水壶有2种状态(2表示运行,1表示非运行),洗衣机有4种状态(2~4为3个不同运行状态,1表示非运行)。网络的训练集一共12组12 000个采样点,每组1 000个数据,测试集与训练集不重复,为10 000个采样点数据序列,该序列具有时序性。网络输入为用电设备总有功功率序列,即1×1×1×120004-D矩阵,输出为12个。

表3 用电设备运行编码数据表

非侵入式负荷分解评价指标有很多,本文选取了6种评价指标:准确度、精确率、召回率、F分数、均方根误差以及平均功率失真率。其计算方法如下:

(9)

(10)

(11)

(12)

(13)

(14)

式中QP为模型分解结果与实际结果相同的采样点数量;N为测试采样点总量;TP表示用电设备实际处于工作状态且分解结果也处于工作状态的点数量;FP表示用电设备实际处于工作状态但分解结果处于非工作状态的点数量;EP表示用电设备实际处于非工作状态但模型分解结果处于工作状态的点数量;x1…xn表示模型分解后拟合功率;x表示实际功率。P5表示单个用电设备分解后拟合总功率,P6表示单个用电设备实际总功率。

P1、P2、P3、F均为非侵入式负荷分解的基本评价指标,已被大多研究者研究到比较高的水平,RMSE能够反映模型分解后拟合功率曲线的效果,其值受数值影响较大,但在比较相似数据时能够展示拟合水平高低,其值越小表明拟合效果越好。各个模型的分解结果如表4所示(表中的准确度是指4种设备共同识别正确时的准确度)。

表4 各模型分解结果及耗时

整体来说深度学习模型较常用神经网络模型有更高的准确度和更低的均方根误差,但耗时较高,深度学习模型中深层CNN模型表现最为出色,但是会消耗更多的时间,Bi-LSTM模型表现略好于LSTM模型,为了确保高准确率我们愿意花时间以训练模型,由于常用神经网络模型的准确度和RMSE值不理想,所以后文不再对其进行讨论。将各个模型分解之后的结果结合表2中的簇中心值对总有功功率进行重构拟合,拟合效果如图5所示,与前文所得结果一致,1-D-DCNN模型的拟合效果最佳,Bi-LSTM模型次之,LSTM效果一般。

图5 各深度学习模型分解效果对比图

单从拟合效果以及准确度还无法说明模型性能优劣,表5展示了每种模型将总有功功率分解后得到每个用电设备状态的准确度。由于部分用电设备各状态功率相似且设备运行存在多个用电设备同时运行等情况,所以有些设备状态类型没有被很好地辨识出来,就各个设备状态辨识效果来看深层CNN模型辨识效果更好,没有未辨识出来的状态,Bi-LSTM效果次之,有2个状态未辨识出来,LSTM效果最差有4个状态未辨识出来。由于1-D-DCNN模型在多个方面都表现优秀,对其进行更为细致的分析。1-D-DCNN模型分解结果各项评价指标如表6所示,将该模型的分解结果进行重构拟合。图6展示了1-D-DCNN模型分解各用电设备运行状态效果。洗衣机、水壶各方面指标表现良好,冰箱、电视召回率稍低即出现了一些不该出现的设备状态,电视的平均功率失真率较高,表明功率较小的设备不易识别。

图6 深层卷积神经网络分解结果与实际结果对比图

表6 1-D-DCNN模型分解各评价指标数据

从单个用电设备的分解效果来看,该模型下有较好的非侵入式负荷辨识效果,虽然冰箱和电视的分解结果中出现了一些辨识错误的点位,这些点位可能处于多设备同时运行状态,由于当多设备运行时会造成总功率相似,但是其他时间段分解效果很好。总体来说本文所提出的模型分解性能高于LSTM和Bi-LSTM以及一般神经网络模型,具有实际运用价值。

4 结束语

充分挖掘用电设备运行特征可以为用户和供电公司带来便利,本文转换了传统CNN模型输入数据维度以及改变其深度建立了新的深度学习模型,与seq2seq LSTM以及seq2seq Bi-LSTM模型相比,seq2sqe 1-D-DCNN模型具有更高的辨识准确率。另外,在建立特征集时本文在传统k-means算法的基础上运用k-means++算法初始化簇中心,利用重复迭代聚类操作避免局部最小,并提出轮廓值指标以确定聚类数目,经验证本文所提KM++-1-D-DCNN方法具有较好的NILD效果。由于输入数据仅为总有功功率,所以对硬件设备要求不会过高,具有一定的实用性。未来,还能进一步提升模型泛化性以及对数据集扩容至云数据,计算更大的数据集提升辨识精度,同时随着智能电表的发展,作为输入因素的数据也可多维化。

猜你喜欢
用电卷积聚类
用电安全
基于3D-Winograd的快速卷积算法设计及FPGA实现
用煤用电用气保障工作的通知
安全用电知识多
从滤波器理解卷积
用电安全要注意
基于傅里叶域卷积表示的目标跟踪算法
基于DBSACN聚类算法的XML文档聚类
基于高斯混合聚类的阵列干涉SAR三维成像
一种层次初始的聚类个数自适应的聚类方法研究