孙滢涛,张锋明,陈水标,葛 晶
(国网绍兴供电公司,绍兴 312000)
随着智能电网的建设与发展,电力部门在发电、输电、变电、配电、用电和调度6大环节中,安装和部署了大量数据采集传感器。这些传感器每天会产生大量来源各异、结构多样、形式不同的电力数据,是当前电力大数据的主要来源。通过对电力大数据进行有效挖掘,可以大力推动电网从传统以物理模型为核心的业务模式转向以数据为基础的业务模式[1-2]。
然而由于数据来源不同,对相同数据的统计口径不同,操作人员录入习惯差异及缺乏统一的数据质量管理体系,经常会导致异常数据的产生。异常数据往往蕴藏着电力系统产生故障的相关信息,能够为电网技术人员深入了解电力系统运行状态,提高异常事件查处命中率等提供帮助,因此具有巨大的研究价值。早期的异常检测多采用人工巡检方式,效率低且准确率不高,随着电力大数据技术的发展,如何在大量、多源、异构数据中,快速、准确地实现对异常数据的自动化检测,成为当前的研究热点[3-5]。
目前,国内外学者针对电力大数据异常检测的研究主要可分为基于统计的异常检测方法、基于聚类的异常检测方法和基于分类的异常检测方法。①基于统计的异常检测方法认为正常数据服从相同的概率分布模型,而异常数据的概率分布模型与正常数据存在区别,因此通过对数据的统计模型进行分析便可实现对数据集中的异常值进行检测。文献[6]和文献[7]分别介绍了基于有参数统计模型的异常数据检测方法和基于无参数统计模型的异常数据检测方法,实验结果表明,该方法在数据统计规律简单且数据量不大时,能获得较好的检测性能。然而电力大数据具有典型的时间强耦合、高维复杂等特点,在这种情况下,该类方法往往不能得到很好的检测结果。②基于聚类的异常检测方法是当前应用最广的一种方法,其思路是利用K-means(K-均值),根据密度的聚类DBSCAN(densitybased spatial clustering of applications with noise)等聚类方法对数据集进行分析,聚类后不属于任何聚类簇或者离聚类中心较远的数据点即判定为异常数据。文献[8]利用K-近邻K-NN(K-nearest neigh⁃bor)对DBSCAN进行优化,提出一种改进的快速密度峰值聚类算法实现对电力大数据异常值的检测;文献[9]对传统K-means算法初始聚类中心的选取策略进行优化,提出一种改进K-means算法的异常检测方法,该方法能在有效降低迭代次数的同时获得较高的聚类准确率和异常检测性能;文献[10]针对窃电等异常用电行为,提出一种模糊聚类算法对智能电表收集到的数据进行分析,并对采样的真实数据集开展实验,验证了算法对异常用电行为检测的有效性。然而基于聚类的异常检测算法性能受聚类簇个数影响较大,目前常用的主观试凑法存在运算量大和主观性强的问题,对不同数据集获得的结果往往差异较大,鲁棒性不足。③基于分类的异常检测方法在对电力大数据进行分析的基础上,利用低维特征向量对原始高维数据进行表征,有效降低算法复杂度,然后利用模式分类方法对特征向量进行分类识别,自动确定异常数据[11]。文献[12]首先利用随机森林算法自动选择电力数据中重要性较高的特征,然后利用双向长短期记忆LSTM(long short-term memory)网络进行分类,自动实现网络异常行为的检测;文献[13]从额定电压偏离度、电压不平衡度、电流不平衡度、电流相关系数和日用电量离散系数5个维度提取特征,实现对正常、疑似和异常3种用电行为的有效检测。
本文在上述研究的基础上,提出一种基于多域特征提取的电力大数据异常检测方法。首先,提取波动性、趋势性和变动性特征等9维特征对电力数据时间序列进行表征;然后,利用相关向量机RVM(relevance vector machine)自动选择最优2维特征构成特征向量;最后,采用支撑向量数据描述SVDD(support vector data description)构造一类分类器,对特征向量进行分类,从而实现对异常数据检测。针对SVDD核参数σ和惩罚因子C的设置问题,将磷虾KH(krill herd)算法引入SVDD优化领域,提升算法收敛精度;基于某地电网用户电力负荷数据开展实验,实验结果表明所提方法能够实现对所有异常数据的正确检测,当信噪比低至-6 dB时依然能够获得较好的检测性能,具有较强噪声鲁棒性。
电力大数据是一种物理信息耦合,可以将与时间紧密相关的数据集合,作为典型的1维时间序列x(t)进行处理,其中,x(t)为t时刻的采样值,t=1,2,…,E,E为时间序列总长度。由于x(t)具备高维、非线性、结构复杂和大规模等特点,直接进行分析要消耗大量的运算资源,异常检测效率低。同时数据中不可避免地会存在量测噪声和随机误差等问题,也会影响检测结果的准确性和可靠性。因此需要对原始数据进行处理以降低检测算法的运算复杂度并提升噪声稳健性。
特征提取是机器学习和模式识别领域中一种常用的数据降维手段,通过对原始高维数据进行分析,从中创造凝练出一些特征,这些特征能够准确描述原始数据的本质属性,从而达到数据降维的同时降低噪声等随机误差影响的目的[14]。本节将针对电力数据随时间变化特征,从波动性、趋势性和变动性3个维度提取9维特征,对原始时间序列x(t)进行描述和表征。
1.1.1 波动性特征
1.1.2 趋势性特征
1.1.3 变动性特征
得到9维特征后,可以直接将其作为特征向量输入到分类器中进行分类识别和异常检测,但由于本文采用的是人工特征提取方法,提取的特征中不可避免地会存在一些冗余特征,这些特征的存在不仅不会增加对分类识别和异常检测的有用信息,相反可能会降低检测性能的可靠性。因此有必要进行特征选择,进一步对9维特征进行降维,选取对检测性能有重要影响的少数特征。
RVM是在2001年被提出的一种贝叶斯框架下的模式分类算法,与支撑向量机SVM(support vec⁃tor machine)类似,RVM也是利用核函数将低维空间中的线性不可分问题转化为高维空间的线性可分问题,但在3个方面又优于SVM:①具备更高的稀疏性,能够自动完成特征选择;②特征选择与分类识别采用相同的优化函数,能够获得更优的分类性能;③核函数的选择不再依赖于摩西准则,能够提供概率式的预测。因此本文采用RVM进一步对特征进行分析,自动实现最优特征组合的选择。
对于1个训练样本的特征向量集合{ym,zm},其中,m=1,…,M,M为训练样本总数;ym为特征向量;zm∈{0 ,1}为类别标号。RVM分类问题的优化函数可表示为
式中:K(y,ym)为核函数;y、w分别为模型中的待求变量;wm为第m个训练样本对应权重;ε为高斯白噪声。
为了对输入特征对应的目标值做出概率预测,RVM将sigmoid函数引入,此时似然函数可表示为
式中,σ[·]为冲击函数。
为了构建完整贝叶斯模型,进一步对模型中参数的先验分布进行构建,假设w服从0均值、方差为α-1的高斯分布,而α-1和噪声方差τ-1的先验分布为伽马分布,即
式中:a=b=c=d=10-6为超参数,不提供任何信息;α为方差α-1的逆;αm为α的第m个分量;τ为噪声方差τ-1的倒数。
模型求解通常采用变分贝叶斯期望最大VBEM(variational bayes expectation maximization)算法,求解过程中大部分α会趋向无穷大,对应的w则趋于0,从而实现了权值向量的稀疏化,迭代终止时不为0的权值对应的特征向量即为最终要选择的最优特征组合[15]。
KH算法是Gandomi等学者于2012年提出的一种模拟KH活动规律的优化算法,其基本思想是将觅食过程中KH的位置状态作为优化问题的解,随着时间的推移KH逐渐聚集于食物所在地,即不断寻找最优解。作为一种随机搜索算法,KH算法具备控制参数少、实现简单等优点,同时算法迭代过程中同时包含全局寻优和局部寻优两种策略,两种策略并行搜索使算法兼有局部开发与全局勘探的平衡[18]。因此本文将KH算法引入SVDD参数优化领域,利用KH算法对SVDD中核参数σ和惩罚因子C进行优化,提出KH算法优化的SVDD即KHSVDD的一类分类方法。
图1给出了本文所提基于特征提取和改进SVDD的电力数据异常检测算法的流程。由图1可以看出,算法从左到右包含2个阶段,分别为训练阶段和测试阶段;从上到下又可以分为2个层次,第1层为电力数据特征表示,第2层为特征数据异常检测。
图1 所提算法流程Fig.1 Flow chart of the proposed algorithm
1)训练阶段具体步骤
步骤1将获取的正常电力数据构成训练样本集作为训练阶段的算法输入。相对于其他异常检测方法需要正常数据和异常数据2种数据集,本文所提方法只需实际中容易获取的正常样本即可完成训练,降低了数据获取难度。
步骤2根据式(1)~(9)对训练数据集提取9维特征构成特征向量,实现原始高维数据的降维,并降低算法运算复杂度。
步骤3采用第2.2节中的RVM算法自动进行特征选择,得到低维特征向量。在剔除冗余特征的同时能够进一步降低算法运算复杂度,提升算法实时性。
步骤4将步骤3得到的特征向量作为SVDD分类器的输入完成最优分类面的求解,在这一过程中,运用第2.2节KH算法对SVDD的核参数σ和惩罚因子C进行全局寻优,提升算法稳健性。
2)测试阶段具体步骤
步骤1输入测试数据(正常数据或异常数据)。
步骤2根据训练阶段中步骤3选择的低维特征向量提取特征,构成测试数据的特征向量。
步骤3利用训练阶段步骤4得到的最优SVDD分类面对特征向量进行分类,给出数据是否正常的判决结果。
3)所提方法的优势
(1)由于导致电力数据出现异常的原因很多,且发生时机较为随机,通常难以获得足够的异常数据集,而所提方法只需正常样本一类数据即可完成模型训练,降低了数据获取难度,适合应用于电力大数据;
(2)通过9维特征提取和RVM自动特征选择大大降低了训练阶段的运算复杂度;
(3)KH算法优化SVDD KH-SVDD(krill herd op⁃timized SVDD)分类器能够获得更优的分类性能和鲁棒性;
(4)测试阶段直接提取训练阶段RVM选择的特征,降低了特征提取的运算量,提升了算法的实时性。
在电力大数据范围内,电力负荷数据是一种典型的终端数据,随时间连续变化,曲线特征明显,能够很好地反映用户的用电习惯,因此本文以电力用户的月平均负荷数据作为研究对象。选取某地电网98个用户的连续用电负荷数据开展实验,其中85户为正常用户,13户为异常用户,异常用户比例为13.27%。实验中首先随机从85个正常用户中选取80个用户数据作为训练样本集,剩余5个正常用户和13个异常用户作为测试样本集。
根据图1算法流程,首先对80组正常用户电力数据提取9维特征,同时由第2.1节可以看出不同特征对应的度量单位是不一致的,因此需要对其进行归一化处理。本文采用Z-score归一化方法,利用数据的均值和标准差对数据进行处理,使归一化后的数据集合服从均值为0,方差为1的标准正态分布,从而消除不同度量单位的影响。Z-score归一化方法的表达式为
式中:f为原始数据;f′为归一化后的数据;mean(f)、std(f)分别为f的均值和方差。
采用RVM对训练数据特征集合进行分析和自动特征选择,迭代终止时9维特征对应的权值如图2所示。由图2可知,特征2和特征8对应的权值较大,而特征1、特征3、特征4~7、特征9对应的权值均较小(小于0.1),即RVM自动选取特征2和特征8作为最优特征组合。
图2 RVM特征选择结果Fig.2 Feature selection results of RVM
为了判断RVM选择的特征是否最优,运用相关矩阵对9维特征的线性相关程度进行分析,特征之间相关性越大,表明特征之间包含较多的重叠冗余信息,可以只取其中一个作为最优特征代替。表1给出了相关矩阵,由表1可以看出特征1、特征3与特征2之间的相关系数较大,而特征5~7、特征9与特征8之间的相关系数较大,表明特征2和特征8包含了9维特征中的大部分有用信息,验证了RVM特征提取的有效性。特征4的几何平均数与其他8维特征的相关性均较小,但是RVM并没有将其选为最优特征,究其原因在于几何平均数更适合分析具有等比或近似等比关系的数据,而用户电力负荷数据是累加关系,因此几何平均数特征并不适合本文的应用场景。
表1 特征相关性分析Tab.1 Feature correlation analysis
得到训练特征集合后,利用训练特征对SVDD分类器进行训练,同时采用KH算法对SVDD的核参数σ和惩罚因子C进行优化,迭代过程中σ和C的变化曲线如图3所示。由图3可知,经大约20次迭代,KH-SVDD算法收敛,此时最优参数组合为σ*=0.3,C*=8.5。
图3 KH算法优化SVDD参数过程Fig.3 Optimization of SVDD parameters by the KH algorithm
在得到最优SVDD分类面后,根据图1所示流程,算法进入测试阶段。首先对测试数据提取RVM选择的2维特征构成特征向量,利用最优SVDD分类器进行分类判决实现异常检测。图4给出了最终的判决结果,由图4可知,测试数据中的13组异常样本全部落在最优分类面之外,测试样本中的5组正常样本全部落在最优分类面以内,表明测试数据集中的所有样本均被正确判决,验证了所提方法的有效性。
图4 所提方法异常检测结果Fig.4 Results of anomaly detection using the proposed method
接收机工作特性ROC(receiver operating char⁃acteristic)曲线被广泛应用于评估分类模型的性能。图5给出了对本文所提模型进行评估计算得到的ROC曲线,其中,横轴为模型的虚警概率FPR(false positive rate),纵轴为模型的检测概率TPR(true positive rate);同时为了对比,在图5中也给出了相同条件下采用文献[9]中模型计算得到的ROC曲线,可以看出所提模型的ROC曲线更靠近于二维平面的左上方,曲线下面积AUC(area under curve)值大于文献[9]方法,因此可以获得更优的分类性能。
图5 不同方法ROC曲线Fig.5 ROC curves of different methods
为了进一步验证所提方法在噪声等随机误差存在情况下的稳健性,采取向测试数据加入高斯白噪声的方式构建不同信噪比的测试数据集,本文信噪比定义为
式中:为信号的平均功率;Pε为高斯噪声信号ε的功率。
表2和表3分别给出了不同信噪比条件下所提方法和文献[9]方法得到的检测结果混淆矩阵。由表2可知,当信噪比高于-2 dB时,所提方法均可以正确完成异常数据检测;当信噪比低于-4 dB时,所提方法能够实现对所有异常数据的检测,此时1组正常样本被判决为异常数据,出现了虚警;当信噪比低至-6 dB时,所提方法依旧能够实现对所有异常数据的检测,只有2组正常样本被判决为异常数据。同样由表3所示结果可以看出,采用文献[9]所提方法在信噪比为0 dB时所有异常数据均被正确检测,但此时1组正常数据被错误判决为异常样本;当信噪比高于2 dB时,文献[9]所提方法方能对所有数据实现正确分类识别。表2、表3结果表明,所提方法的异常检测性能明显优于文献[9]方法,并且具有更强的噪声鲁棒性,在低信噪比条件下能够有效实现异常检测。
表2 不同信噪比下异常检测结果(所提方法)Tab.2 Results of anomaly detection at different SNRs(using the proposed method)
表3 不同信噪比下异常检测结果(文献[9]方法)Tab.3 Results of anomaly detection at different SNRs(using the method in Ref.[9])
针对电力大数据非线性、高维度、时间强耦合的特点,本文提出一种多特征提取和KH-SVDD的电力数据异常检测方法。首先,采用特征提取思路实现对高维电力数据时间序列的降维,利用9维波动性、趋势性和变动性特征对时间序列进行表征。然后,采用RVM进行特征选择,自动确定最优特征组合作为特征向量输入到SVDD分类器进行分类判决;针对SVDD参数选择问题将KH算法引入,对核参数σ和惩罚因子C进行全局寻优,提升异常检测性能。最后,通过对某地电网用户电力负荷数据进行异常检测实验,实验结果表明,所提方法能够有效实现异常用电检测,提升电力稽查自动化程度和稽查效率,节省人力物力,具有较高应用前景。