邵 琪 ,包永强 ,姜家辉 ,张旭旭
(1.南京工程学院 电力工程学院,江苏 南京 211167;2.南京工程学院 信息与通信工程学院,江苏 南京 211167)
非侵入式负荷监测法(Non-Intrusive Load Monitoring,NILM)为实现智能电网和用户之间的互动提供了数据支持,该方法在接户线入口处安装传感器,采集总负荷的电压、电流等电气量数据进行分析,细化系统数据,从而辨识家用电器的类别及运行状态[1]。相比于侵入式负荷监测法(Intrusive Load Monitoring,ILM),NILM 具有成本低、用户接受度高、后期维护方便等优势,但是该方法对于负荷分解算法的要求较高。特征提取和负荷识别作为NILM 中两大关键技术[2],为NILM 的发展提供了强有力的技术支持。特征选择作为处理已提取特征的重要手段,是目前研究的热点之一。
特征选择是在原始高维特征中遵循某个评价准则为后续任务选择一个最佳特征子集,该理论基于少量具有代表性的特征,不仅可以加速模型的学习过程,而且可以提高模型的泛化能力。特征选择在图像处理、数据挖掘、机器学习等领域应用广泛[3],在处理包含了大量特征的高维数据时,这些特征不可避免地包含了噪声、不相关特征以及冗余特征[4]。在这种情况下,有必要提取出信息量最丰富、最有价值的信息。KIRA K 和RENDEL L A 提出了Relief 算法,该算法简单运行效率高,但仅适用于二分类问题的特征选择[5]。在此基础上,KONONENKO I提出了ReliefF 算法,解决了原Relief 算法无法对多类别数据进行特征选择的问题,且对于不完整和带噪数据处理效果较好,但无法删除冗余特征[6]。YUL和LIUH使用快速相关滤波器算法(Fast Correlation-Based Filter,FCBF)算法来减少高维数据中的特征,归一化信息增益利用对称不确定性来度量特征冗余度,算法可快速消除冗余特征但对称不确定测量精度不高且无法量化特征之间与类别的依赖关系[7]。文献[8]中Peng Hanchuan 等人提出了最大相关-最小冗余(mRMR)算法,采用互信息作为衡量特征和类别以及特征与特征之间冗余度的准则,但同样未考虑特征之间与类别的相关性。QU G 等人提出了决策相关分析(Decision Dependency Correlation,DDC)算法,指出所选特征与决策变量密切相关[9]。
在现有研究基础之上,针对特征选择方法存在的问题展开研究,本文提出了一种基于ReliefF-DDC 特征选择算法。首先通过计算特征权重并按降序排列,选取权重较大的特征去除无关特征;其次计算各特征与决策变量之间的交互信息,利用决策相关分析删除冗余特征得到最终特征子集;最后将其作为孪生支持向量机(TWSVM)的输入向量进行识别。实验以非侵入式用电负荷为研究对象,将本文方法与ReliefF、DCC 单项算法以及现有研究文献[10]和文献[11]所提算法进行识别效果比对,结果表明,本文所提出的特征选择方法可有效提高负荷识别精度。
ReliefF 算法是一种基于特征权重的高效过滤式特征选择算法,该算法根据特征属性对于各类样本的区分能力来估计特征权值衡量特征重要性[12]。设待处理的训练集为D,样本X={x1,x2,…,xd},xd是表示第d 维特征。在训练集D 中随机选取一样本R,在与R 同类的样本中寻找k 个最近邻样本Hj(j=1,2,…,k);在与R 不同类的样本中寻找k 个最近邻样本Mj。若样本R 与最近邻样本H 在该特征上的距离小于样本R 与不同类最近邻样本M 的距离,此时该特征在同类和不同类最近邻样本上区分性较好,特征权重增大;相反,则表明该特征在区分同类和不同类最近邻样本效果不佳,权重则降低。其实现如下:
式中,P(C)表示类C 在数据集中的先验概率分布,Mj(C)表示第C 类第j 个最近邻样本。其中diff(d,A,B)表示样本A 和样本B 在第d 个特征值上的区分度,m 表示循环次数。
当特征d 的值离散:
当特征d 的值连续:
ReliefF 算法通过计算特征与各类别之间的相关性来确定“重要特征”,排除无关特征,但其计算过程中忽略了冗余特征,模型中特征之间相似度越高,会导致模型训练时间越长,造成空间浪费,同时泛化能力降低[13],造成分类精度下降。
考虑到特征之间的相关性与冗余程度对决策变量的依赖程度[14],DDC 算法基于特征之间与决策变量之间的交互信息,通过使用一个简单的SFS 计算方法获得特征的排序列表,再根据特征之间与决策变量的相关性分析去除冗余特征。
随机变量X 的熵H(X)表示该随机变量的不确定性测度。互信息是指随机变量X 与随机变量Y 的共享信息量,其定义如下:
由式(4)可知,互信息还可看成是两个随机变量的熵的交集,使用此属性可以描述特征的相关性和冗余性。设f 和s 分别为两个特征,C 为类别,考虑到所选特征必须与类别有最大相关性,而与其他特征相关性需最小,因此引入了相关测度来量化特征f 和s 与类C 之间的冗余程度,表示如下:
再者,利用I(C;f)与QC(f,s)共同构成特征子集评价准则,定义如下:
式(6)评价准则直观指定一个子集S,其中与决策相关的各个特征的相互信息I(C;f)作为对该特征子集的奖励,而特征之间的决策相关QC(f,s)作为惩罚,该评价值e(S)越大,表明决策时该所选特征子集越优。
ReliefF 算法依据特征权重来衡量属性“重要性”,通过计算样本与最近邻同类样本和异类样本在各个特征上的距离获取权重值[15]。ReliefF 算法效率高、鲁棒性好,而且能有效处理带噪数据,降低噪声对于特征选择的影响[16]。由于只考虑特征与类别之间的关系,ReliefF 算法只能有效去除无关特征,但无法删除冗余特征。针对在不确定性度量精度不高的情况下,所选特征可能提供错误或者不完整信息的问题,DDC 算法通过引入新测度准确量化特征之间的依赖关系或者相关性,提高了剔除冗余特征的准确性,但其去除无关特征时的能力不如ReliefF 算法。
基于以上分析,本文结合了两个特征选择算法优点,提出了一种基于ReliefF-DDC 特征选择算法实现特征选择分阶段处理。算法具体结构如图1 所示。
图1 ReliefF-DDC 特征选择算法结构
为了进一步阐述本文算法,给出去无关特征层和去冗余特征层的具体步骤如下:
(1)去无关特征层:利用ReliefF 算法计算各特征权重,按降序排列后去除无关特征,得到子集F。
(2)去冗余特征层:将特征子集评估度量e(S)与指定阈值δ 的比较作为判断条件。对于每次遍历,选择同时满足两个条件的fj将其放入最优子集中:
①与类别的相关性大于集合F 中其他特征;
②与已选特征子集中所有特征的相关性最小。
ReliefF-DDC 特征选择算法的输入为原始特征数据集D,输出为最佳特征子集Fbest。算法执行步骤如图2所示。
图2 ReliefF-DDC 特征选择算法流程图
(1)输入提取的原始特征数据集D,确定迭代次数m、特征权重阈值τ、最近邻样本个数k、评价准则阈值δ;
(2)将所有特征权重置0,F 为空集;
(3)令i 从1 循环至m,
①在训练集D 中随机选取一样本R,在与R 同类的样本中寻找k 个最近邻样本Hj(j=1,2,…,k),与R 不同类的样本中寻找k 个最近邻样本Mj;
②按照式(1)和式(3)更新d 维特征的权重:
(4)输出W(d)中大于阈值τ 时对应的特征向量,按降序排列添加至集合F,F={f1,f2,…,fn},n<d;
(5)置S 为空集;
(6)当e(S)<δ 时,
①若fi满足以下两条件:
(a)I(C;fj)>I(C;fi) ∀i≠j,fi∈F
(b)QC(fj,s)≤QC(fi,s) ∀i≠j,fi∈F,s∈S
则令F←F-{fj},S←S+{fj}
②若F≠φ,跳转至步骤(6);
(7)得到最佳特征子集S,结束。
本文搭建了一套数据采集系统,包括分压模块、隔离电路模块以及VK701H 数据采集卡等,如图3 所示。实验模拟家用电器的运行环境,利用该数据采集系统采集了若干个典型用电设备稳定运行时的电流数据各60组,在MATLAB2016a 平台上进行实验。
图3 数据采集系统结构图
实验针对性地采集了8 种家用电器的稳态电流数据用于负荷识别,采样频率为10 kHz,负荷类型与具体参数如表1 所示。
表1 负荷类型与具体参数
为了证明本文所提出的方法在负荷特征选择上的有效性,对比实验设置ReliefF、DCC 单项算法。为了进一步表明本文方法优越性,另外设置现有研究文献[10]中提出的Re-FCBF 算法和文献[11]中利用MRMD 结合ReliefF 算法两种方法作为对比,利用上述算法分别对特征数据进行选择。实验过程中将采集的数据210 组作为训练样本,其余150 组作为测试样本,采用TWSVM 进行负荷识别,通过对比分析各特征选择方法的识别准确率来判断其算法性能。
本文对采集的各用电负荷的稳态电流数据进行分析,提取其相关时频域特征,包括电流谐波总畸变率、3次谐波幅值、5 次谐波幅值、7 次谐波幅值以及其倒谱低频部分系数特征,共105 维。
按第2 节所述算法流程,首先利用ReliefF 算法对提取的原特征数据进行处理,设定迭代次数m=20,最近邻样本个数k=10,特征权重阈值τ=0.02,此时得到降序排列后38 维特征子集,如表2 所示。
表2 特征权重及对应维数
其次利用DDC 算法去除冗余特征,置评价准则阈值δ=0.9,计算得到最终24 维特征子集:
最后将经各算法处理后得到的不同特征子集分别作为孪生支持向量机的输入特征向量进行负荷识别。各算法用时结果如表3 所示,所得用电负荷在不同算法下的识别率如图4 所示。
表3 各算法运行时间
从表3 及图4 可以看出,对于大功率负荷,文献[10]与文献[11]特征降维效果与DDC 算法相差不大。整体而言,本文提出的方法相较于其他4 种算法,负荷整体识别率明显提高,分别为10.34%、7.5%、3.93%以及4.1%,同时模型运行时间较其他算法相对减少了8.6 s、5.8 s、4.0 s 和4.2 s,表现出了较好的鲁棒性。
图4 用电负荷在各算法下的识别率
本文以非侵入式负荷监测为研究背景,针对数据特征选择优劣影响负荷识别准确率高低的问题,提出了一种基于ReliefF-DDC 特征选择算法。算法上层对各用电负荷进行特征提取,利用RefiefF 算法计算所选样本在各特征上到最近邻同类样本和不同类样本的距离得到各特征权重,按降序排列后依照设定的权重阈值去除无关特征;算法下层利用DDC 算法通过计算互信息来分析特征之间与类别的依赖程度,将特征子集评价度量与设定阈值之间比较作为判断准则,从而删除冗余特征;最后利用孪生支持向量机识别分类观察识别率。实验结果表明,本文提出的方法有效提高了负荷识别率,且缩短了运行时间。