1. 引言
电力盗窃在发达国家和发展中国家都是一个日益严重的问题。发展中国家每年约有50%的电力盗窃情况。窃电在发达国家也造成了巨大的经济损失,对于美国和英国来说,每年能源盗窃造成的经济损失从1到60亿不等[1]。因此,检测电力盗窃是一项切实的产业需求,催生了多种实用技术,但实践表明,现有检测方法的通用性与可靠性有待进一步提升。同时,由于检测导致的电力数据传输隐私泄露也产生了明显的舆情问题,如美国电信巨头Verizon公司发布的《数据泄露调查报告(DBIR)》显示,采矿与公用(电力)事业合并行业历年均发生数起数据泄露事件,其中确认数据泄露的事件占约60%,由其产生的网络舆情影响广泛,这是其他网络舆情所无法比拟的[2]。因此,检测异常用电还需考虑数据隐私保护问题。
目前异常用电检测的方法大致分为三类:知识驱动、物理驱动和数据驱动。知识驱动通常依赖于先验的领域知识和理论模型进行主观分析,主观性较强[3]。物理驱动通常依赖于冗余设备部署来监测用户的用电量,然而设备折损率、运维复杂度和维护成本均较高。数据驱动是目前的主流检测方法,此方法以大数据分析为基础,以机器学习或深度学习为技术手段,进行准确且快速地检测。
早期的窃电检测主要依赖稀疏表示方法,周李等[4]提出一种使用稀疏编码的模型,结合字典学习的方法,通过各个特征的使用频率来判断异常值。许刚[5]提出一种基于稀疏随机森林模型的用电侧异常行为模式检测方法。夏晓芳等[6]提出自适应二进制拆分检查(ABSI)算法,通过分组测试大幅降低了排查成本,但因其对特征关联性挖掘不足,难以捕捉深层次的异常信号。随着深度学习兴起,郑子斌等[7]提出了一种基于卷积神经网络(CNN)模型的窃电检测方法来进行电量的异常检测,当训练集占总数据集的60%时,达到最佳AUC79.22%。Nabil等[8]提出一种基于广义深度递归神经网络(RNN)的电力盗窃探测器。张宇帆等[9]提出利用深度卷积生成对抗网络鉴别器提取得到的特征,在边缘数据中心对二范数线性支持向量机进行窃电检测。Javaid等[10]提出了卷积神经网络(CNN)和长短期记忆(LSTM)相结合的深度连体网络来区分诚实电力消费者和欺诈电力消费者的特征。高欣等[11]提出一种基于条件变分自编码器–卷积神经网络(CVAE-CNN)模型的分类方法,提高对少数类别的识别率。严莉等[12]提出一种基于图注意力和Transformer的异常检测模型进行异常检测。蔡梓文等[13]提出构建多维度特征提取变分自编码器(MF-VAE)来提取用户用电行为的多维度特征。针对单一模型的泛化能力不足问题,游文霞等[14]提出一种基于Bagging异质集成学习的窃电检测方法,构建多种个体学习器嵌入的Bagging异质集成学习的窃电检测模型。李国成等[15]提出一种基于Bagging二次加权集成的孤立森林窃电检测算法,对各类窃电模式的孤立特征顺序进行优选并训练对应的孤立森林模型。基于上述分析,稀疏表示方法在面对多样化窃电模式时表现受限,深度学习虽然在复杂特征提取上具备优势,却存在训练成本高、可解释性差及泛化能力不足等问题。
在窃电检测领域中,数据传输送至检测的过程中的隐私性也是应当考虑的问题。Naim等[16]提出一种基于RSA加密算法的窃电检测方法,该方法使用RSA算法对电量测量值进行加密,防止未加密的用电数据在传输过程中被第三方窃取或监视,但该方法效率较慢,会造成资源浪费。目前仅有个别文献考虑了传输过程中的隐私泄漏问题,没有很好地解决大数据隐私保护这一热点问题,且数据传输真实性和完整性等问题亟需解决。
针对以上存在的问题,本文基于国家电网公开数据集,在进行数据传输隐私保护的前提下,使用XGBoost与LightGBM融合模型进行用电数据异常检测。本文工作集中在以下两个方面:a) 引入AES + RSA混合加密算法结合SHA-256和数字签名,确保数据在传输过程中的安全性、完整性与真实性;b) 基于网格搜索对XGBoost与LightGBM模型进行参数优化后,构建以AUC与预测差异性为动态权重调整因子的模型融合式,使优化后的XGBoost与LightGBM模型实现自适应融合,提升检测方法的泛化性。
2. 模型
本文提出使用AES + RSA混合加密算法结合SHA-256和数字签名的方法对数据传输进行隐私保护,基于网格搜索对XGBoost与LightGBM模型进行参数优化后,进行以AUC与预测差异性为动态权重调整因子的自适应加权融合,以此构建用电数据异常检测框架。该框架如图1所示。
Figure 1. Abnormal electricity consumption detection framework
图1. 用电数据异常检测框架
2.1. AES + RSA混合加密结合SHA-256和数字签名的数据传输隐私保护模型
针对电力场景中电力数据的安全传输需求,本文创新性地引入了基于AES + RSA混合加密的隐私保护框架,并结合SHA-256哈希算法与数字签名技术,有效解决电力系统在智能电表数据采集场景下面临的数据传输安全性、完整性和身份真实性的问题。
2.1.1. AES + RSA混合加密
加密算法主要分为对称加密和非对称加密。对称加密常见算法包括:DES、3DES和AES,非对称加密常见算法包括:RSA、DSA和ECC。对称加密由于算法简单,导致在处理大数据量时加密速度比非对称加密快得多,但其在加密和解密过程使用相同的密钥,一旦密钥被泄露,窃取者可轻易地获取通信信息。非对称加密虽然安全性高,只要私钥进行保密,就能保证通信信息的安全,但其计算成本较高,相比于对称加密,非对称加密在处理大数据量时性能较差,速度较慢。
因此,考虑到对称加密的速度优势和非对称加密的安全性,本文选择采用AES + RSA的混合加密系统,既保证了通信的安全性,也不影响通信的效率。该系统过程如图2所示。
Figure 2. AES + RSA hybrid encryption process
图2. AES + RSA混合加密过程
2.1.2. SHA-256
当前的哈希算法主要分为加密哈希算法和非加密哈希算法,其中,加密哈希算法包括MD5、SHA-1、SHA-2、SHA-3、BLAKE系列、RIPEMD系列和Whirlpool等;非加密哈希算法包括CRC系列、MurmurHash、CityHash和SipHash等。加密哈希算法主要用于数据完整性验证和数字签名等场景,更具安全性,而非加密哈希算法主要用于数据结构和快速查找等场景,侧重于速度和均匀分布性,不保证安全性。
由于本文的应用场景为电力场景,其数据传输涉及敏感信息,更需其与数字签名结合实现身份认证,确保数据来源可靠性。因此,本文选用抗碰撞性强、安全性和成熟度均较高的SHA-256加密哈希算法。
SHA-256加密哈希算法作用机理是对输入数据进行两个阶段的处理:预处理和摘要计算。其作用机理如图3所示。预处理将输入消息格式化为规范结构,先输入任何二进制形式的原始消息,对其进行消息填充,再将填充后的消息分割为多个512bit块,记为M(0),M(1),...,M(N − 1),每个块进一步划分为16个32bit字,记为W0,W1,...,W15。在摘要计算阶段,先初始化哈希值H0,H1,...,H7,对每个512bit块M(i)进行消息扩展,将16个32bit字W0,W1,...,W15扩展为64个32bit字W0,W1,...,W63,扩展公式为:
(1)
再进行初始化8个工作变量A,B,C,D,E,F,G,H,其初始值为当前哈希值H(i),执行64轮迭代计算,不断更新哈希值,处理完所有消息块后,将最终的H(N)拼接起来,得到256位哈希摘要。
Figure 3. Operational principle of SHA-256
图3. SHA-256作用机理
2.1.3. 数字签名
数字签名通过使用加密算法来确定数据的有效性,其签名过程如图4所示。具体定义如下:
初始化产生签名的基本参数
,其中,
为密钥生成算法集合,
为签名算法集合,
为验证算法集合。在密钥生成算法中输入安全参数
,随机输出一对密钥
,其中
(私钥)用于签名,
(公钥)用于验证签名;在签名算法中输入私钥
和消息m,随机输出签名σ;在验证算法中输入公钥
、消息m和签名σ,输出一个
,其中,输出1表示签名有效,输出0表示签名无效。
Figure 4. Digital signature process
图4. 数字签名过程
2.2. 优化的XGBoost模型
XGBoost基于梯度提升机制,通过逐层叠加决策树以最小化可微目标函数,其核心思想在于通过迭代式集成学习策略优化模型的预测性能。其目标函数由损失函数与正则化项复合构成,公式如下:
(2)
其中,
是衡量预测值与真实值偏差的损失函数,
是正则化项,通过对模型复杂度进行约束,抑制过拟合。
在迭代优化过程中,模型采用二阶泰勒展开逼近损失函数,并通过贪心策略构建决策树结构。具体而言,模型在每个特征划分点选择时,通过最大化结构分数增益确定最优分裂方案,预测值的更新遵循增量式集成策略,公式如下:
(3)
其中,
是第
轮迭代中的预测值,
是学习率,用于控制每棵树对整体模型的贡献,
是第
轮迭代中训练出来的新决策树对样本
的预测值。
针对类别不平衡问题,本文在XGBoost中建立样本权重机制,通过调整正类样本权值
重构损失函数,公式如下:
(4)
其中,
是第i个样本的权重,
为正则项,控制模型复杂度。
为了进一步提高模型的性能,在超参数优化阶段,采用网格搜索与k折交叉验证相结合的方法,重点优化最大树深度(max_depth)、决策树数量(n_estimators)和学习率(learning_rate)等关键参数。通过AUC-ROC曲线作为主要评估指标,经过多轮迭代筛选,确定出最优参数组合,保证模型在测试集上的强泛化性与鲁棒性。
2.3. 优化的LightGBM模型
LightGBM基于梯度提升框架,采用高效直方图算法与Leaf-wise生长策略,在提升模型训练速度的同时兼顾预测精度。其目标函数同样由损失函数与正则化项共同构成,公式如下:
(5)
其中,
表示损失函数,
表示正则化项,
表示第k棵树的复杂度。
引入基于直方图的特征离散化方法优化LightGBM,将连续特征转化为离散直方图区间,大幅降低分裂点计算复杂度。同时,其采用Leaf-wise树生长策略,每次迭代选择增益最大的叶子节点进行分裂,而非传统Level-wise的层遍历方式,从而实现更快的收敛速度与更高的模型效率。模型更新预测值公式如下:
(6)
其中,
是第
轮的预测值,
是第
轮构建的决策树对样本
的预测值。
针对类别不平衡问题,本文同样地在LightGBM中建立样本权重机制,通过调整正类样本权值
重构损失函数,公式如下:
(7)
在超参数调优阶段,采用与XGBoost相同的网格搜索和k折交叉验证相结合的策略,重点优化叶子节点数量(num_leaves)、最大树深度(max_depth)和决策树数量(n_estimators)等关键参数。此外,模型引入早停机制(early_stopping)动态控制训练轮次,避免过拟合并提升训练效率。
2.4. 多模型融合
单一模型往往会有陷入局部最小点的风险[17]。多个学习器的有效结合,在保证整个模型性能的基础上,每个模型之间的预测差异性越大,模型的融合效果越好,鲁棒性也会越强。本文基于单个模型的AUC指标和预测差异性构建出XGBoost和LightGBM的双模型融合式。设验证集样本数为N,测试集样本数为M,最终融合预测概率加权为:
(8)
融合模型预测差异性式如下:
(9)
其中,
为预测差异性,
为XGBoost对第i个验证样本的预测概率,
为LightGBM对第i个验证样本的预测概率,
XGBoost和LightGBM各自的权重系数定义如下式:
(10)
(11)
其中,
为XGBoost在验证集上的AUC值,
为LightGBM在验证集上的AUC值,
为平衡系数,调节预测差异性对权重的影响,
当
时,权重完全依赖于AUC得分;
当
时,权重仅取决于差异权重;
当
时,既考虑模型整体性能,也考虑单个模型局部预测差异。
3. 实验
3.1. 数据传输隐私保护
本文通过AES+RSA混合加密算法结合SHA-256和数字签名,构成数据传输隐私保护安全架构。其具体步骤如下:
a) 非对称加密层使用RSA-2048算法,选用65537并配置OAEP填充方案,其中哈希函数与掩码生成函数均采用SHA-256实现;其次,针对对称加密层,选定AES-256作为核心算法,采用CFB模式配合128位初始化向量(IV);最后,规定数据封装格式为严格字段顺序,包括协议版本号(4字节) ||IV (16字节) ||RSA加密的AES密钥(256字节) ||AES密文||明文哈希(32字节)||签名(256字节);
b) 生成RSA主密钥对private_key ← rsa.generate_private_key (public_exponent = 65537, key_size = 2048),导出公钥public_key ← private_key.public_key ()并绑定X.509证书,将公钥发给发送方,私钥加密存储在HSM;
c) 调用os.urandom (32)生成32字节真随机数作为AES-256密钥,同时生成16字节IV向量,向明文头部添加时间戳(8B)和随机数(16B);
d) 对数据明文plaintext使用SHA-256得到固定长度摘要data_hash;再使用发送方私钥签名生成数字签名signature ← Sign_SK(H);
e) 使用AES-256密钥和IV对明文执行CFB模式加密,生成ciphertext;再用接收方公钥通过RSA-OAEP加密AES密钥,生成encrypted_key;
f) 按格式序列化所有字段(版本号、IV、encrypted_key、ciphertext、data_hash、signature);再发送完整数据包,并销毁临时生成的AES密钥和IV;
g) 解析接收的数据包,校验字段长度和版本号,若异常则触发警报并终止流程,若正常,则提取IV、encrypted_key、ciphertext、data_hash和signature字段;
h) 用私钥解密encrypted_key获取AES密钥,若OAEP填充校验失败则立即中止;使用AES密钥和IV对ciphertext执行CFB模式解密,还原原始明文,其中包含时间戳和随机数;
i) 对解密后的明文计算SHA-256哈希值H',与传输的data_hash严格比对;再用发送方公钥验证signature是否为data_hash的有效签名,若任一校验失败则视作无效签名并擦除会话密钥;
j) 检查明文头部的时间戳和随机数,拒绝过期或重复请求;最后从内存中安全清除解密后的明文和会话密钥。
3.2. 数据预处理
本文使用的窃电数据集来源于国家电网(SGCC)公布的真实数据。数据集包含1035天(2014年1月1日~2016年10月31日)内42372位用户的用电数据。
本文操作系统为Windows10专业版,硬件为Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz/2.30 GHz(2个处理器),运行内存为128GB,实验环境为PyCharm Community Edition 2020.1.3,Python版本为3.6.15,scikit-learn版本为0.24.2。
由于智能电表可能出现过故障等实际问题,记录下来的电力数据往往会出现缺失或者异常的情况。在本文中,对于缺失值,选择采用线性插值的方法进行处理:
若当前值
是缺失值,并且前后相邻的值
和
均不是缺失值,则使用前后相邻值的平均值进行插值,公式如下:
(12)
式中,
表示某用户的每日用电量向量,
表示该用户在第i天的用电量。
若当前值
是缺失值,但前一个值
或后一个值
也是缺失值,则插入0,即
;
若当前值
不是缺失值,则保存当前原始值,即
。
而对于异常值,采用“2σ法则”进行修正,公式如下:
(13)
式中,
是
的平均值,
是
的标准差。
最后,对用电数据进行归一化,公式如下:
(14)
式中,
为
中的最小值,
为
中的最大值。
3.3. 评估指标
在本文的数据集中,42372位用户中有3615位用户是窃电用户,窃电用户占总用户人数的8.53%,即正常用户与窃电用户的不平衡率为11.72。由此可见,正常样本与异常样本的比例严重失衡,许多模型倾向于关注正常样本的检测准确率,而这种倾斜可能导致模型在识别异常情况时出现较高的误检率(False Positive Rate)和漏检率(False Negative Rate)。在这种情况下,模型的整体准确率(Accuracy)可能高达99%,但没有识别出任何窃电行为。为此,选用AUC作为主要参考指标,它可以反映在不同阈值下对正常行为和窃电行为分类的综合能力,Accuracy和G-mean作为补充指标。G-mean (几何均值)能够更加专注于在不平衡数据中平衡模型对正类和负类的分类表现。
此外,对于二分类问题,利用混淆矩阵来进一步判断模型的可靠性。表1所示的混淆矩阵可以帮助了解模型在分类正常用户和窃电用户时的表现。这些信息有助于全面评估模型的分类能力和在实际应用中的效果。
Table 1. Confusion matrix
表1. 混淆矩阵
实际\检测 |
检测正常用户 |
检测窃电用户 |
实际正常用户 |
TN (真反例) |
FP (假正例) |
实际窃电用户 |
FN (假反例) |
TP (真正例) |
3.4. 实验结果分析
Ravid和Amitai [18]基于11个数据集的实验表明,在表格数据场景上,XGBoost在数据集上的性能表现显著优于深度学习模型(如TabNet、NODE、DNF-Net和1D-CNN)。究其原因,表格数据(如本文所用的电力数据)的特征通常缺乏空间或时间局部性,且呈现稀疏性与无序性,这导致依赖局部特征卷积的CNN等深度学习模型难以捕捉有效特征,而基于树模型的XGBoost与LightGBM不仅能有效处理混合类型特征,还规避了CNN对复杂特征工程的依赖,提高了模型效率和性能。
因此,为探究本文模型的检测效果,将本文模型XGBoost-LightGBM与Wide & Deep CNN、WGAN、单个XGBoost和单个LightGBM模型进行对比,选取AUC作为主要评判标准,实验结果如图5所示。
Figure 5. AUC performance comparison of model
图5. 模型AUC性能对比
结果发现,本文模型XGBoost-LightGBM的AUC值较Wide & Deep CNN、WGAN、单个XGBoost和单个LightGBM分别提升了2.81%、1.8%、1.6%、0.95%。由此验证,基于树的XGBoost模型与LightGBM模型在电力表格数据异常检测方面具有一定的优势。
从而,本文将模型重点放在单个XGBoost、单个LightGBM模型与XGBoost-LightGBM的融合模型的比较上,选取Accuracy和G-mean作为补充指标来验证集成模型与单个模型之间的效果,并绘制混淆矩阵进一步判断模型的可靠性。各模型的混淆矩阵如图6所示。
Table 2. Complete set of model metrics
表2. 模型全部指标
模型 |
AUC |
Accuracy |
G-mean |
XGBoost |
0.8043 |
0.9136 |
0.5237 |
LightGBM |
0.8108 |
0.9235 |
0.4300 |
XGBoost-LightGBM |
0.8203 |
0.9153 |
0.5499 |
图6展示了单个XGBoost、单个LightGBM模型与XGBoost-LightGBM融合模型的混淆矩阵,结合表2进行分析,可以看出尽管XGBoost模型的AUC为0.8043,准确率达到0.9136,但TP个数为106,FP个数为95,其检出率仅为0.2812,误检率为0.0246。相较之下,LightGBM模型表现略优,AUC为0.8108,准确率提升至0.9235,然而TP个数为70,FP个数为17,其检出率仍较低,仅为0.1856,误检率为0.0044。而融合模型在综合能力指标AUC上达到0.8203,G-mean指标达到了0.5499,相较于XGBoost和LightGBM分别显著提升了2.62%和11.99%,同时TP个数为159,FP个数为194,检出率高达0.4215,相较于XGBoost和LightGBM分别提升了23.58%和14.04%。这一结果表明,该模型在整体性能上具有显著优势,尤其在识别少数类样本的能力上。
(a)
(b)
(c)
Figure 6. (a). XGBoost confusion matrix; (b). LightGBM confusion matrix; (c). XGBoost-LightGBM hybrid model confusion matrix
图6. (a). XGBoost混淆矩阵;(b). LightGBM混淆矩阵;(c). XGBoost-LightGBM融合模型混淆矩阵
4. 消融实验
为验证所提出的XGBoost与LightGBM动态权重融合机制的有效性,本文设计了消融实验,以此对比固定权重融合和动态权重融合的性能差异,将动态融合方法与以下几种基准方法进行对比,实验结果如图7所示。
a). fixed 0.5/0.5:固定等权融合
b). XGB only:仅用XGBoost模型
c). LGB only:仅用LightGBM模型
d). dynamic:动态权重融合
Figure 7. Performance comparison of ablation experiments
图7. 消融实验性能对比
为进一步分析动态加权中平衡系数
对融合效果的影响,我们在
∈ [0, 1]区间上以0.1为间隔逐步调整,并记录对应的AUC结果,结果如图8所示。
Figure 8. Performance comparison under different balancing coefficients
图8. 不同平衡系数
下的性能对比
结果表明,动态融合策略在α = 0.5时取得最佳AUC,相比固定等权和单模型均有提升,验证了该权重设计在保持模型性能稳定性的同时,能有效利用模型间的预测差异以增强泛化能力。此外,从α的调节曲线可观察到,当α较小时,权重更偏向AUC性能导向,模型融合更稳健;当α增大,差异性主导融合过程,增强了对异常样本的敏感性。因此,合理调节α可在性能稳定性与敏感性之间取得平衡。
5. 泛化性能对比实验
本节使用权威机器学习数据库KEEL中的4个不平衡数据集进行泛化性对比实验。在选择数据集时,保证数据集各类别样本数量、特征数量、不平衡率等特征有较大分布范围,从而增强实验结果的代表性与说服力,确保所得结论具有一定的通用性。各数据集的特征总结如表3。
Table 3. Main features of the public dataset
表3. 公开数据集主要特征
数据集 |
样本数量 |
特征数量 |
少数类样本数 |
多数类样本数 |
不平衡率 |
tic-tac-toe |
958 |
9 |
332 |
626 |
1.89 |
pima |
768 |
8 |
268 |
500 |
1.87 |
spambase |
4597 |
57 |
1812 |
2785 |
1.54 |
wdbc |
569 |
30 |
212 |
357 |
1.68 |
Table 4. Performance on the public dataset
表4. 公开数据集性能
数据集 |
AUC |
Accuracy |
G-mean |
tic-tac-toe |
0.9131 |
0.8526 |
0.7303 |
pima |
0.8792 |
0.8182 |
0.7781 |
spambase |
0.9750 |
0.9457 |
0.9412 |
wdbc |
0.9985 |
0.9649 |
0.9579 |
将上述数据集放入本文模型进行实验,结果见表4发现,本文模型在多个不同数据集上均表现出显著优势。其中,针对不平衡率最高的tic-tac-toe数据集,模型的G-mean值达到了0.7303,AUC值达到了0.9131,Accuracy值达到0.8526,这表明模型对少数类样本学习的充足有效性;而对于样本数量较多且不平衡率低的spambase数据集,AUC、G-mean和Accuracy值都提升至了0.9750、0.9412、0.9457,这表明对于不平衡样本来说,模型在不同不平衡率和不同特征维度的数据集上均保持稳定的性能,体现了该模型较强的泛化能力与鲁棒性。
6. 结论
为了解决窃电检测以及数据传输过程隐私保护的挑战,本研究在传统异常检测框架上进行了优化。其中,本文在传统异常检测框架上添加了数据传输过程中基于RSA + AES的混合加密隐私保护,并结合SHA-256加密哈希算法和数字签名技术;在异常检测模型训练环节,构建XGBoost与LightGBM的双模型融合式,使其对参数优化后的XGBoost与LightGBM模型实现以AUC与预测差异性为动态权重调整因子的自适应加权融合。
通过在国家电网公开数据集上的实验结果表明,本研究的融合模型在AUC、和G-mean等关键指标上显著优于深度学习模型及传统单一的机器学习模型,该模型AUC值达82.03%,准确率为91.53%,G-mean值为54.99%。最后,将本文模型用于4个KEEL数据集上进行泛化性能测试,结果表明该模型具有显著的优势,在不平衡数据集上可以较好地检测出少数样本,提升异常检测的能力,并且也为电力盗窃防范提供了可靠的技术支持,展现出良好的应用潜力。
未来可进一步针对电表数据的时空关联特性进行针对性研究,以进一步提升窃电检测的精度。
基金项目
上海市哲学社会科学规划资助项目(2024BGL001)。