基于缺失值补全与BiLSTM的用电行为异常检测
2023-01-08韩圣亚刘珅岐
严 莉,张 凯,徐 浩,韩圣亚,刘珅岐
(国网山东省电力公司信息通信公司,山东济南 250013)
0 引言
随着电力系统自动化水平提高,电网运行对实时数据质量要求增高,通过电力数据进行异常检测在电力市场发展中具有重要意义。异常检测可提高电网服务水平,节约人力资源,降低运营成本,保证电力系统稳定运行。
传统异常检测方法包括回归分析法[1]、时间序列分析法[2]等。虽然该方法在电力行业应用广泛,但对不确定因素考虑不够全面,并且未能有效利用序列数据信息。随着人工智能技术飞速发展,机器学习[3]、神经网络[4]和深度学习检测方法[5]等智能方法逐渐被应用于异常检测中,开始深入挖掘各影响因素与异常目标的关系。例如,基于神经网络模型对电力序列数据进行建模检测用户异常[6-7]。虽然以上方法取得了良好的检测效果,但忽略了数据本身对异常检测性能的影响。
由于电力系统传感器异常、输电线路故障等原因,电力数据存在大量数据缺失,直接影响智能电力系统的分析与决策。目前,主要依靠数据专家、业务专家补全数据缺失值,但随着电力数据规模逐渐扩大,人工将难以实时补全数据,还会发生错漏现象。此外,人工进行缺失值补全的成本较高、耗时长,严重影响智能化电力系统的运行与维护效率。
为此,不少学者提出智能化插补方法解决数据缺失问题[8-9]。例如,Zhang 等[10]在标准生成对抗网络(Generative Adversarial Networks,GAN)架构中引入编码器网络,估算多元时间序列的缺失值。Luo 等[11]将缺失值插补转化为数据生成问题,并在GAN 中使用改进门循环单元模拟不完整时间序列的时间不规则性,实现缺失值插补。然而,这些方法忽略电设备描述、用户地址等文本信息,对缺失值插补性能造成了一定的影响。
针对上述问题,本文提出一种基于缺失值补全和双向长短期记忆神经网络(Bidirectional Long Short-Term Memory,BiLSTM)的异常检测模型。首先,采用深度学习方法对电力数据进行缺失值补全。然后,基于补全后的数据集,采用BiLSTM 实现用电行为异常检测。
本文主要贡献包括:①提出一种基于缺失值补全和BiLSTM 的用电行为异常检测模型,解决电力数据中的数据缺失问题及充分捕获电力数据间复杂的关联关系,提高电力异常检测性能;②采用卡尔曼滤波器和一维卷积神经网络相结合的方法学习电力数据文本信息表示,并通过图注意力网络捕获电力数据间复杂的关联关系,然后以Transformer 为生成器,支持向量机(Support Vector Machine,SVM)为判别器,构建生成对抗网络模型,通过两者相互对抗补全电力数据缺失值;③采用BiLSTM 捕获电力数据间的依赖关系,实现用电行为异常检测。
1 相关工作
1.1 用电行为异常检测
随着神经网络发展,深度学习技术在用电行为异常检测任务中逐渐得到重视。Buzau 等[12]使用长短期记忆网络和多层感知器混合的深度神经网络检测用电异常,相较于传统分类器精度更高。Chahla 等[13]提出一种基于长短期记忆和注意力机制的异常检测方法,从单变量时间序列数据中进行不和谐搜索,根据观测数据预测误差,通过统计策略检测异常。Rouzbahani 等[14]提出一种用于智能电网(Electricity Theft Detection,ETD)的集合深度卷积神经网 络(Ensemble Deep Convolutional Neural Network,EDCNN)。首先采用随机下采样技术处理不平衡数据,然后利用深度卷积神经网络(Deep Convolutional Neural Network,DCNN)挖掘数据间的相互依赖性,最后嵌入投票机制实现用电异常检测。虽然以上方法均取得了不错的效果,但忽视了数据本身特点对异常检测性能的影响。
1.2 数据缺失值补全
近年来,各学者提出基于深度学习的插补方法解决缺失值补全问题。Yao 等[15]在关系图卷积网络模型基础上,提出空间交互图卷积网络模型估计缺失的空间交互数据。Buzau 等[16]利用智能电表记录的信息深入分析客户消费行为,采用有监督学习方法实现用电异常检测。Zhao等[17]使用长短期记忆网络提取序列特征,通过全连接网络(Full Connect Network,FCN)对序列特征进行分类以判断用电异常用户。Liu 等[18]提出一种基于注意力机制的卷积神经网络—长短期记忆模型检测工业物联网异常。Yang等[19]提出一种时空可学习的双向注意力生成对抗网络插补缺失数据。
基于上述方法,本文提出的模型考虑了电力数据间的复杂关联关系对异常检测性能造成的影响,通过构建生成对抗网络补全缺失数据,采用BiLSTM 捕获电力数据间的依赖关系,从而提高电力异常检测性能。
2 用电行为异常检测模型
图1 为本文模型架构图。该模型主要包括缺失值补全和用电行为异常检测两大模块。其中,对于缺失值补全模块而言,首先基于用户历史电力数据构建用户用电行为的知识图谱,采用图注意力网络(Graph Attention Networks,GAT)捕获电力数据间的复杂关系,获得用户用电行为表示向量;然后基于电力数据文本信息,结合卡尔曼滤波和一维卷积神经网络对文本信息进行表示学习,获得文本信息表示向量;最后以Transformer 为生成器,SVM 为判别器,构建生成对抗网络模型,通过两者相互对抗补全数据缺失值,增强数据表示能力。对于用电行为异常检测模块而言,在补全缺失值的基础上,通过双向长短期记忆网络实现用电行为异常检测,提高检测精度。
2.1 缺失值补全模块
为解决电力数据中存在大量缺失值,本文从文本信息、电力数据间的关联关系进行用电数据的表示学习,构建生成对抗网络补全电力数据缺失值。
2.1.1 文本信息表示学习
Fig.1 Anomaly detection model based on missing value completion and BiLSTM图1 基于缺失值补全和BiLSTM 的异常检测模型
考虑到电力数据中文本描述信息对缺失数据补全性能造成的影响,分别使用一维卷积神经网络、卡尔曼滤波器捕获电力数据文本描述的局部、全局信息,并利用注意力机制将两者进行融合,得到文本信息表示向量,具体流程如下:
采用卡尔曼滤波器提取数据特征,获得文本数据全局信息表示:
其中,wk-1为服从高斯分布的噪声,xk-1、uk-1分别为k-1、k时刻后验状态估计值,A为状态转移矩阵,B为输入转状态矩阵。
采用一维卷积神经网络提取数据特征,获得文本数据局部信息表示:
其中,ReLU 表示激活函数,vi为文本信息的嵌入表示,We为权重向量,bc为特征映射的基础向量,ci为上一层的向量。
其中,max 为使用最大池化操作进行特征降维处理;Z为最终获得的文本数据局部信息表示向量。
最后,引入注意力机制融合局部、全局信息表示向量,获得最终的文本信息表示向量x':
2.1.2 用电行为表示学习
为了充分挖掘电力数据间复杂的关联关系,基于历史电力数据构建用户用电行为知识图谱G=(V,E,A,X)。其中,V∈Rn表示图G节点,n表示节点数量,E为图G的边,A∈Rn×n为G邻接矩阵。对于,如果eij∈E,则Aij=1,否则Aij=0。X∈Rn×m表示节点属性信息,m为属性信息的维数。
基于注意力机制的图神经网络(Graph Attention Networks,GAT)学习每个节点的低维嵌入向量。假设图中包含N个节点,每个节点的特征向量为Ui:
对节点特征向量U进行线性变换,得到新的特征向量Ui':
其中,Wu为线性变换的矩阵。
引入图注意力网络,拼接节点i、j的特征向量Ui'、Uj',然后将拼接结果与2F'维的向量a计算内积:
其中,W为权重矩阵,σ为采用ReLU 函数的激活函数为用户用电行为的表示向量。
2.1.3 缺失值补全
基于获得的文本信息表示向量x'和用户用电行为表示向量,以Transformer 为生成器,SVM 为判别器,构建生成对抗网络模型,通过两者相互对抗学习补全数据缺失值。
在生成对抗网络模型中,Transformer 生成器表示为:
其中,LN 表示层归一化方法,ReLU 为激活函数,Wf、bf为权重矩阵,H'、H''为Transformer 的隐藏向量,Hfinal为电力数据综合表示向量。
在分合线圈检查的过程中要用力矩扳手检查分合闸线圈安装板固定螺栓。目测检查电气接线插头及引出线插(电气接线插头无锈蚀,引出线插头能插紧到位);万用表检查分合闸线圈电阻值。
最后,将经过Transformer 的Hfinal输入Softmax 层进行数据缺失补全:
基于生成器的电力数据补全结果,结合真实数据,利用SVM 构建判别器判断补全结果是否属于真实数据:
其中,ω、b为权重向量。
将式(19)通过拉格朗日乘子法转换为:
其中,θ为拉格朗日乘子。
2.2 异常检测模块
基于历史电力序列数据,采用循环神经网络进行异常行为检测是目前电力领域中常用的方式。然而,当电力序列长度较大时,RNN 无法有效解决长期依赖问题,导致模型性能下降。因此,本文采用双向LSTM 检测用户用电行为。具体数学表达式如下:
BiLSTM 通过前向和后向LSTM 捕获电力序列的上下文信息,从而提高异常检测的性能,具体数学表达式如下:
最后,基于隐藏状态Ht,通过Softmax 函数检测用户用电行为异常,具体数学表达式如下:
其中,Wh、bh为可学习的参数向量。
2.3 联合损失函数
本文将损失函数分为缺失值补全损失和异常检测损失两个部分。缺失值补全损失函数计算公式如下:
其中,X为真实值为通过缺失值补全方法获得的数据值。
异常检测损失函数计算公式如下:
因此,本文的联合损失函数计算公式如下:
其中,λ为权重参数。本文使用Adam 优化器[20]优化模型参数。
3 实验结果与分析
3.1 数据描述
为验证模型的有效性,从中国电网公司用电信息采集系统中采集2019 年6-12 月某地区996 个用户(其中异常用户126 个)的用电数据,每隔1 小时采集1 次用户用电数据。
统计发现,2019 年9 月1-14 日期间,共有115 个用户用电异常,占全部异常用户91.3%。为了高效训练异常检测模型,本文选取2019 年9 月1-14 日共334 656 条用电数据进行实验。
3.2 实验环境及评价指标
3.2.1 实验环境
实验操作系统为Ubuntu 18.04.3 LTS,内存为128GB DDR4 @ 3 200MHz,CPU 为Intel(R)Core(TM)i9-9980XE CPU@3.00GHz,显卡为NVIDIA TITAN RTX×2,基于Keras 2.4.3框架Python3.5进行编程。实验参数如表1所示。
3.2.1 评价指标
为验证本文模型的优势,选择准确率(Accuracy)、F1、AUROC 和AUPRC 作为评价指标。其中,准确率、F1 分数、AUROC 和AUPRC 的值越大,表明模型性能越好。此外,选择均方根误差(Root Mean Squared Error,RMSE)和平均百分比绝对误差(Mean Absolute Percentage Error,MAE)评估缺失值补全方法性能,其中RMSE、MAE 值越小,表明插补方法性能越好。
Table 1 Parameter settings表1 参数设置
3.3 异常检测性能比较
将本文模型与LR、SVM、LSTM-Attention[21]、BiLSTM、CNN-LSTM、CNN-BiLSTM 和CNN-BiLSTM-Attention[22]等7 个基线模型进行比较,通过Accuracy、F1、AUROC 和AUPRC 指标进行定量分析,如表2所示。
Table 2 Performance comparison of different detection methods表2 不同检测方法的性能比较
由表2 可见,相较于基线模型,本文模型所有指标分数最高。由于数据集中正负样本占比差异较大,因此F1、AUROC 与AUPRC 更能反应模型异常用电行为的检测性能。本文模型相较于CNN-BiLSTM-Attention 模型的Accuary、F1 约提升2.65%和10.04%,在AUROC 和AUPRC 指标上分别提升3.87%和7.66%。由此可见,考虑缺失数据及数据间的复杂关系对异常检测性能具有积极作用。
3.4 缺失值补全性能比较
为验证本文模型在数据缺失值补全的性能,将本文模型与线性插值法(Linear Interpolation,LI)、历史均值法(Historical Average,HA)、LSTM、GAN 和ST-LRAGAN[19]进行比较,并在RMSE、MAE指标上定量分析,如表3、表4所示。
由表3、表4 可知,当数据缺失率为10%、20%、30%、40%、50%和60%时,不同数据缺失值补全方法的RMSE、MAE 指标不同。相较于基线模型,本文模型在RMSE、MAE 的表现最好。由此可见,考虑文本描述信息和电力数据间复杂关系对缺失值插补性能具有积极作用。
3.5 消融实验
本文将按未考虑缺失值补全、未构建生成对抗网络(GAN)、未考虑文本信息的方法3 种方式对模型进行消融。图2、图3 为消融实验在Accuracy、F1、AUROC 和AUPRC 指标上的比较情况。
Table 3 Performance comparison of different data missing value completion methods on RMSE表3 不同数据缺失值补全方法在RMSE上的性能比较
Table 4 Performance comparison of different data missing value completion methods on MAE表4 不同数据缺失值补全方法在MAE上的性能比较
Fig.2 Performance comparison of different models in accuracy and F1图2 不同模型在Accuracy和F1上的性能比较
Fig.3 Performance comparison of different models in AUROC and AUPRC图3 不同模型在AUROC和AUPRC上的性能比较
由图2 可见,相较于未考虑缺失值补全的方法,本文模型在Accuracy、F1 上分别提升4.64%和5.22%。相较于未构建生成对抗网络(GAN)的方法,本文模型在Accuracy、F1 上分别提升2.87%、3.89%;相较于未考虑文本信息的方法,本文模型在Accuracy、F1 上分别提升1.61%、1.36%。由图3 可见,相较于未考虑缺失值补全、未构建生成对抗网络(GAN)和未考虑文本信息的方法,本文模型AUROC 分别提升3.8%、2.99%和1.33%,AUPRC 分别提升2.49%、1.52%和0.78%。
4 结语
本文提出基于缺失值补全和BiLSTM 的用电行为异常检测模型,在解决电力数据缺失问题的同时,捕获电力数据间复杂的关系,提高电力异常检测性能。
该模型首先结合卡尔曼滤波器和一维卷积神经网络学习电力数据的文本信息表示,通过图注意力网络捕获电力数据间的复杂关系;然后以Transformer 为生成器,SVM为判别器,构建生成对抗网络模型,通过两者相互对抗补全电力数据的缺失值;最后采用BiLSTM 实现用电行为异常检测。实验结果表明,该方法能有效提高电力异常检测的性能。下一步,将考虑解决缺失值补全所带来的不确定信息,以进一步优化模型异常检测精度。