基于小波和长短期记忆混合神经网络的电力用户异常用电模式检测
2022-11-23郑贵林谢耀
郑贵林,谢耀
(武汉大学 电气与自动化学院,武汉 430072)
0 引 言
电力系统中,输配电损失指输配电网中未由电力用户支付的电量。有两种类型的损失:技术性损失和非技术性损失[1]。技术性损失是电力传输的固有损耗,非技术性损失包括窃电、记录异常和欺诈等。其中因窃电造成的非技术性损失在电网实际运行中普遍存在[2],部分国家的非技术性损失约占用电总量的12.5%~25%[3]。例如,印度、巴西和墨西哥的非技术性损失分别占其全国用电量的26.2%、16.85%和15.83%[4]。我国的非技术性损失相对较低,占全国用电总量的6.42%[4],但我国电能需求总体庞大,且近年来用电量不断攀升[5-6]。因此,窃电等异常用电模式检测方法研究是降低输配电损失、提高智能电网运行效率的关键[7]。
近年来国内外学者对于降低非技术性损失的问题,在异常用电检测领域展开了广泛的研究。文献[4]使用基于C-means的模糊聚类方法寻找具有相似消费特征的电力用户,并利用模糊隶属度矩阵和到聚类中心的欧氏距离进行模糊分类。为了解决人工分类的问题,文献[8]提出一种基于AMI系统中高频率的负荷计量数据,采用One-class SVM模型建立用户的正常行为模式分类器。文献[9]通过将反窃电评价体系与BP神经网络相结合构建反窃电模型。上述检测模型的实验仿真结果在异常用电模式分类方面均满足检测要求,但在特征提取及检测阈值选取方面缺乏理论依据,且模型的检测精度有待提高。
为更有效地从高维数据中提取数据特征从而解决特征匹配问题,文章提出一种基于小波和长短期记忆混合神经网络的异常用电检测的模型。模型主要由三部分组成:首先,提出异常用电模拟算法用于生成异常用电数据序列;然后,通过级联长短期记忆(Long Short-Term Memory,LSTM)网络结构从电力用户用电数据中提取序列特征;最后,通过小波神经网络(Wavelet Neural Network,WNN)处理序列特征,实现序列特征到输配电系统中电力用户用电模式的映射。
1 相关网络结构
1.1 Recurrent Neural Network
循环神经网络(Current Neural Network,RNN)是由输入层、隐含层及输出层组成的全连接神经网络,图1所示为RNN结构展开示意图。
图1 RNN典型结构
其中x为系统输入;h为隐含层输出,当前时刻(t时刻)输出ht由隐含层输入经权重矩阵和激活函数作用得到;o为系统输出;L是损失估计;y是训练集中给出的真实值;U、V、W为权重矩阵,经后续训练得到。
在t时刻:
h(t)=φ(Ux(t)+Wh(t-1)+b)
(1)
式中φ(·)为激活函数;b为偏置量。
t时刻的输出:
o(t)=Vh(t)+c
(2)
式中c为偏置量,最终模型的预测输出为y(t);σ为激活函数:
y(t)=σ(o(t))
(3)
1.2 LSTM网络结构
LSTM网络模型是深层RNN的改进,通过在隐含层增加新的单元状态进行信息的传递,重新设计了计算节点,实现对远距离信息的有效控制,可以有效避免训练深度网络过程中的梯度值异常增长问题[10]。
LSTM网络结构如图2所示。完整的LSTM网络包括存储历史信息的记忆单元、控制当前时刻输入信息的“输入门”、调整历史信息输入权重的“遗忘门”和控制当前时刻输出信息的“输出门”。
图2 LSTM结构
LSTM网络模型在t时刻含有3个输入:当前时刻网络的外部输入xt;前一时刻LSTM网络隐含层输出值ht-1;前一时刻单元状态ct-1。LSTM网络在t时刻含有2个输出:当前时刻LSTM网络输出值ht和当前时刻单元状态ct。
LSTM网络模型通过3个控制开关实现对单元状态c的有效控制:“遗忘门”实现对前一时刻长期状态ct-1的控制;“输入门”实现对当前时刻输入信息的控制;“输出门”实现对当前时刻长期状态ct的控制。根据图2,可以得到如下各门结构的具体计算式:
当前时刻“遗忘门”:
ft=σf(Wf[ht-1,xt]+bf)
(4)
式中Wf为“遗忘门”权重矩阵;[ht-1,xt]表示将2个向量拼接;bf为“遗忘门”偏置项;σf(·)为“遗忘门”激活函数。
当前时刻“输入门”:
it=σi(Wi[ht-1,xt]+bi)
(5)
式中Wi为“输入门”权重矩阵;bi为“输入门”偏置项;σi(·)为“输入门”激活函数。
当前输入的单元状态c′由前一时刻LSTM网络输出ht-1及当前时刻输入xt计算,公式为:
c′t=tanh(Wc[ht-1,xt]+bc)
(6)
式中Wc为单元状态的权重矩阵;bc为偏置项;tanh为激活函数。
当前时刻单元状态:
ct=ft×ct-1+it×c′t
(7)
式中符号“×”表示按元素乘。此时,LSTM网络将当前记忆c′t和长期记忆ct-1相结合,形成新单元状态ct。
当前时刻“输出门”ot受到长期记忆对当前输出的影响,计算式为:
ot=σo(Wo[ht-1,xt]+bo)
(8)
式中Wo为“输出门”权重矩阵;bo为“输出门”偏置项;σo(·)为“输出门”激活函数。
LSTM网络最终输出由“输出门”和单元状态共同确定,计算式为:
ht=ot×tanh(ct)
(9)
1.3 小波神经网络结构
小波神经网络在数列数据分析领域应用广泛[11]。对一个多输入多输出映射f:Rm→Rq,其网络方程的实现可表示为:
(10)
2 异常用电检测模型
2.1 混合神经网络模型
在挖掘电力用户用电数据,识别窃电等异常用电行为时,模型需要将高纬度用户用电数据处理为序列特征,并映射到具体的用电模式。因此,分析用电数据的内在联系,从而提取用电信息特征是实现异常用电检测的前提,这些联系和特征能有效地反映数据的特性。LSTM在保留了RNN模型提取深层次特征能力的同时,解决了深层网络训练过程中存在的梯度消失问题,在处理时间序列相关问题中具有明显优势。WNN由于其容错性、抗干扰性和自适应性强等优点,被广泛应用于模式识别和信号分类问题。据此,文章提出混合神经网络模型用于解决异常用电模式检测中的特征提取和模式映射的问题,模型结构如图3所示。周用电数据经过多层特征提取网络筛选出具有高序列相关性的序列特征,然后将提取的序列特征输入到模式映射网络中,实现异常用电检测。
图3 混合神经网络模型
文中使用如图4所示的3层LSTM网络结构进行特征提取。为了使提取的数据具有整体性,能较为完整地反映输入数据特性,文章使用级联LSTM逐渐压缩特征数据的维度并维持特征间关系。
图4 特征提取网络结构
图4中x=[x1,x2,…,x336]表示输入数据,共336维;h(j)t表示第j层t时刻的输出,其中j的取值为1,2,3共三层,t的取值随j的取值变化,即第1层:t取1,2,…,336,第2层:t取1,2,…,240,第3层:t取1,2,…,144;s=[s1,s2,…,s48]表示最后一层LSTM输出的48维特征数据。
为了实现用户用电模式的识别分类,文章使用WNN网络构建模式映射网络,利用特征提取网络提取到的序列特征数据,得到最终的结果。模式映射网络结构如图5所示。图中,s=[s1,s2,…,s48]表示特征提取网络所得到的48维特征数据;lk,n表示第k层隐含层的第n个节点;y1,y2表示输出层。
图5 模式映射网络结构
文中使用交叉熵损失函数来计算当前模型的损失偏差程度。损失函数公式如式(11)所示。
(11)
2.2 异常用电模拟算法
常见的异常用电模式表现为通过攻击智能电表的通信接口、损坏智能电表的硬件结构或者攻击通信网络篡改用电数据。用电数据可能被直接篡改为0或者被按照一定比例削减,也可能保持用电数据总量一定,对用电曲线进行依峰。文章提出了如表1所示的异常用电模拟算法[13]。该算法对可能出现的异常用电模式给出确切的定义,共有6种模式。
在算法1中,xt代表正常用电数据在t时刻的值,x′t是异常值。考虑不同异常用电模式发生可能性,对于第1种和第5种异常用电模式,设其概率为0.1,对第2、3、4、6种异常用电模式,设其概率为0.2。
表1 异常用电模拟算法
2.3 异常用电检测模型流程图
文章提出的异常用电检测整体模型流程图如图6所示。首先,根据电力用户的不同数据集可分为家庭用电、商业用电、其他用电三个组别,每个组别均利用异常用电模拟算法生成异常用电数据,训练集和测试集按照7:3的比例划分。然后,建立基于WNN和LSTM的混合神经网络模型,并且初始化网络参数,利用Adam算法进行优化。最后将测试集数据作为训练后模型的输入,得到分类结果,进行效果评估。
图6 异常用电检测模型流程图
3 实验结果
3.1 数据集
文章使用CER Smart Metering Project数据集验证所提模型[14]。该数据集由Electric Ireland 和Sustainable Energy Authority of Ireland(SEAI)于2012年发布,包含4 225个家庭用户、485个商业用户和1735个其他用户,每个用户有535天的连续用电记录(半小时记录一个点)。三种用户的日用电量分别如图7~图9所示。
图7 家庭用户日用电量图
图8 商业用户日用电量图
图9 其他用户日用电分布图
从图7~图9中可以看出,不同组别的用电模式有很大区别,考虑到不同组别发生窃电的概率,每组随机取20%(P(I)=20%)的样本作为算法1的输入生成异常用电数据。
在生成异常用电数据时,首先,选取535天时间段内共6 445个电力用户的历史用电数据,以周为基准,将用户个体的数据分段储存;然后,采用算法1对储存数据逐段执行,将所有数据汇总并随机打乱;最后,将打乱后的整体数据按比例划分为训练集和测试集用来对文章提出的异常用电检测模型进行训练和评估。
3.2 评价指标
文章采用三个评价指标。分别为误检率rFPR、检出率rDR和贝叶斯检出率rBDR,如式(12)所示。其中贝叶斯检出率是对误检率和检出率的综合,充分考虑了异常用电发生的概率以及异常用电检测带来的成本。
(12)
式中NFP为预测类别为真,真实类别为假的样本个数;NFN为预测类别为假,真实类别为真的样本个数;NTP为预测类别为真,真实类别也为真的样本个数;NTN为预测类别为假,真实类别也为假的样本个数;P(I)为异常用电行为发生的概率。
3.3 结果对比
首先,考虑到文章提出模型本身的影响因素,算法整体性能对特征提取网络中LSTM的层数设置非常敏感,网络的层数过少对数据的抽象提取能力不足,网络的层数过多会造成过拟合现象,同时随着网络层数的增加,模型的时间复杂度呈指数增长,因此需要选取适当的LSTM网络层数。分别取LSTM 的层数为1,2,3,4在相同数据集上实验,算法的性能如图10、图11所示。增加LSTM的层数,会使检出率升高,但增加幅度会减小,同时误检率会降低,但是当LSTM层数达到4层时误检率略微升高。实验结果说明,特征提取网络中LSTM的层数取3层时,算法性能比较好。
图10 特征提取网络层数对算法检出率的影响
图11 特征提取网络层数对算法误检率的影响
为了进行效果评估,将文章提出的基于小波和长短期记忆混合神经网络的异常用电检测模型与传统网络模型进行对比实验。
(1)支持向量机[15]:根据电力用户长期用电情况,利用支持向量机作为分类器,完成不同用电模式的分类。
(2)分层神经网络[16]:采用分层神经网络结构,以经过分类器处理后的数据为输入特征,实现非法用电用户筛选。
(3)极限学习机[17]:根据电力用户实时用电负荷数据,利用在线序列极限学习机作为异常识别模型,完成用户异常用电行为监测。该模型使用sigmoid激活函数和径向基函数(RBF)。
(4)决策树[18]:以月用电量为特征,选择信息增益为序列筛选标准,结合决策树模型实现用户异常用电模式分类。
(5)模糊系统[19]:采用改进的模糊系统,结合预选分类器,通过选取参数,建立模糊规则实现非技术性损失检测。
表2展示了上述模型在测试集上的表现。
表2 不同异常用电检测模型的效果
从表2中可以看出,文章所提模型与传统网络模型相比,具有更高的检出率、更低的误检率和更高的贝叶斯检出率。其中,与分层神经网络模型相比有相近的检出率,但是在贝叶斯检出率方面具有较大的优势,这是因为文章所提模型在特征提取方面充分考虑了正常、异常样本的特征,减小了过拟合问题。
4 结束语
为更有效地从高维数据中提取数据特征从而解决特征匹配问题,文章提出一种基于小波和长短期记忆混合神经网络的异常用电检测的模型。通过CER Smart Metering Project数据集实验,验证了文章提出的检测模型与传统网络模型具有更好的效果。在后续工作中,将研究如何加快深度学习模型的学习速度,缩减模型生成所需的时间。