APP下载

基于XGBoost算法的智能电网信息攻击识别模型

2023-01-18邬蓉蓉黎新宾冬梅

电测与仪表 2023年1期
关键词:分类器电网精度

邬蓉蓉,黎新,宾冬梅

(广西电网有限责任公司电力科学研究院,南宁 530023)

0 引 言

随着电力系统自动化水平的不断提高,智能电网呈现出信息物理融合系统(CPS)的特征。电力CPS通过引入传感设备、通信网络以及计算设备完成对物理电网的状态感知和动态控制,使电网运行变得更加稳定化、智能化[1-2]。然而,由于网络空间漏洞的存在,使智能电网面临严重的网络攻击的风险。近年来随着乌克兰大停电事故的发生使电网安全成为热点问题,出现越来越多潜在的网络攻击形式[3-5],如虚假数据注入攻击(FDIA)、拒绝服务攻击(DDos)以及零日攻击等[6]。

和互联网领域的网络攻击不同,针对智能电网的信息攻击主要目的是破坏信息层对物理层的控制稳定性,使物理电网无法受到有效控制,导致运行失稳,严重的可能造成物理设备故障甚至引发大范围停电[7-8]。然而,智能电网信息攻击具有隐蔽性强、跨空间传播的特点,现有智能电网的状态估计不良数据检测无法有效防御这种攻击。

为了减轻信息攻击对电力系统的危害,提升智能电网的运行稳定性,大量的关于智能电网信息攻击的识别及防御方法被提出。文献[9-10]提出基于状态估计的识别方法,依据历史数据估计系统当前状态,并和真实数据进行匹配,当匹配不一致性高于预先设定的阈值的确定存在信息攻击。然而基于状态估计的方法受阈值设定的影响,存在一定的经验误差。文献[11-12]提出基于时间序列预测的识别方法,采用回归算法预测当前时刻系统状态并和实际量测值进行一致性检验,若一致性过低则确认存在信息攻击。基于时间序列预测的信息攻击识别方法受电力系统波动的影响,易引起误报。文献[13-14]提出基于机器学习的识别方法,通过历史数据训练分类器得到智能识别信息攻击的模型,基于机器学习的识别方法不需要复杂时域方程的求解,更加智能化,且识别效率较高。然而分类器的训练严重依赖数据质量,在数据不平衡且维数较高、关键特征未提取的条件下对信息攻击的识别精度严重降低。

基于上述分析,从防御者角度构建一种基于集成学习的智能电网信息攻击识别模型,识别包括虚假数据注入攻击、控制信号篡改攻击以及继电器延时设置攻击等多种信息攻击手段。首先,基于kmeans-smote提出一种电力数据过采样方法,实现有标注量测数据的平衡处理。然后,基于过采样后的平衡数据集,提出最大相关-最小冗余特征选择方法在原始数据中获得信息攻击最优表征特征子集,实现数据降维,提升信息攻击的识别效率。最后,构建XGBoost分类器对信息攻击进行分类识别,并在开源的电力系统信息攻击数据集上仿真实验,对模型进行信息攻击识别性能评估。

1 智能电网信息攻击识别研究工作

1.1 信息攻击数据过采样预处理

智能电网多采用PMU采集量测数据,包括电压和电流的幅值和相角,正序、负序、零序电压电流等重要电气量,机器学习算法通常采用这些关键特征进行模型训练。然而,电力系统长期运行,定量采集的数据中含有的电力系统正常运行状态的数据占比通常较多,而信息攻击发生的概率较低,因此在定量采集的数据内信息攻击类别数据占比较少。数据严重不平衡使得分类器对信息攻击的识别精度下降,影响模型的对信息攻击识别稳定性。因此有必要对数据进行过采样处理,获得充足的伪数据辅助分类器的训练和评估,提升分类器对数据中信息攻击类样本的学习能力,进而降低分类器对信息攻击识别的误报率[15]。

提出基于改进kmeans-smote过采样方法对包含攻击样本的电力数据进行过采样预处理,假设数据集中样本数最少的样本数为a,样本最多的类别样本数为b,定义数据集的不平衡率为(b-a)/a,当不平衡率高于设定的阈值时,则对少数类样本执行过采样操作。kmeans-smote过采样包括聚类、权重分派和过采样三个主要步骤[16]。原理如图1所示。

图1 kmeans-smote过采样方法

(1)设少数类样本为X,标签为y,k为kmeans聚类生成的簇的数量。输入样本在输入样本空间聚类成k个子簇,过滤掉孤立的样本点;

(2)计算各簇的样本失衡率,按照失衡率为各个子簇分派权重,权重越大的簇过采样生成的新样本越少,反之权重越小的簇生成的新样本数量越多,根据权重计算各簇生成的样本数量;

(3)在各个子簇,随机选择一个样本,基于K近邻算法寻找该样本的k个最近的邻居样本,在该样本和其中一个邻居样本进行随机线性插值,生成伪数据,将所有子簇产生的伪数据加入到原始数据,得到平衡的信息攻击数据集。

由于新生成的样本都在少数类样本的子簇中进行,避免了在采样过程中引入噪声,且新样本的生成使得类内各簇样本数达到了平衡,降低了类内离散度,可以更好地符合电力数据特性,降低因为数据不平衡对信息攻击识别精度的影响。

1.2 信息攻击最优表征特征子集确定方法

由于在大规模的电力系统拓扑中,采集的量测数据量剧烈增长,数据维度也显著升高。数据维度过高使得模型训练时间过长,不利于信息攻击的及时识别,且电力数据中存在的无关和冗余属性降低了模型的训练精度,因此有必要对原始数据进行降维处理。

为了确定最有利于表征网络攻击的特征子集,采用最大相关-最小冗余(MRMR)特征选择方法。基于互信息理论,在原始特征空间内基于最大相关性准则,筛选和标签相关性最高的特征子集[17]。假设目标特征集为S, 包含m个特征,N个样本,数据标签为c。定义变量x,y之间的互信息为:

(1)

其中,p(x),p(y),p(x,y)为概率密度函数,则第一阶段最大相关准则定义S中各独立特征变量和标签c之间的互信息近似值为:

(2)

从式(2)可知,最大相关准则仅考虑各个信息与标签之间的互信息,并未考虑特征之间的相关性,当某些特征可以被另外的特征线性表示时,这些特征为冗余特征,并不会提升信息攻击分类精度,而且会增加计算消耗。因此,在最大相关准则基础上增加最小冗余准则,做第二阶段特征选择,通过计算各个特征之间的互信息作为度量冗余的标准并过滤掉冗余特征,获得网络攻击特征的最优表征子集。最小冗余准为:

(3)

根据式(3)所示的冗余特征过滤标准,删除掉冗余特征,剩余的特征集合即为信息攻击事件最优表征子集。

1.3 信息攻击识别分类器构建方法

通常智能电网信息攻击目的是引起大规模电力设备故障,使电力供应中断。不同类型的信息攻击发生后,相关量测数据的变化呈现出一定的规律性,但传统采用浅层学习模型对不同类型的信息攻击手段进行区分比较困难,需要设计强学习器对数据进行深层次的学习来获得更高的识别精度。

XGBoost是一种集成学习模型,集成多个弱分类器进行集成表决,来获得更高的预测精度[18]。和传统的机器学习方法如支持向量机、K近邻算法相比,训练和预测速度更快。采用XGBoost算法可以在智能电网遭受信息攻击后,更准确、快速地识别信息攻击,并及时做出响应。

设原始数据集为D={(xi,yi):xi∈Rm,yi∈R},数据集共包含n个样本,数据维度为m。每一个数据样本xi对应的标签yi,假设XGBoost集成学习模型共集成了K棵回归树,则XGBoost算法的预测结果如下:

(4)

式中fk为一棵回归树;F为所有回归树构成的集成分类器;fk(xi)对应第k棵回归树在样本i上的预测分数。XGBoost的损失函数为:

(5)

式中l为误差函数,Ω(fk)为正则化项,防止模型过拟合。Ω(fk)计算方式为:

(6)

(7)

将式(7)按照二阶泰勒公式展开并舍掉常数项,计算结果为:

(8)

gi及hi分别为损失函数的一阶导数和二阶导数,计算如式(9)和式(10)所示:

(9)

式中Ij={i|q(xi)=j}代表叶子j上得样本组,将目标函数转换为关于wj的一元二次方程组的最小值求解问题,当树的结构不变时,叶子j的最优权重为:

(10)

此时最优目标值为:

(11)

式中Gj=∑i∈Ijgi;Hj=∑i∈Ijhi;Obj代表树的结构分数,越小精度越高。对于当前叶子节点,XGBoost采用贪心算法对子树进行划分,每次迭代对已有节点加入一个分割点,并选择使信息增益最大的节点进行分裂,节点信息增益计算方法为:

(12)

XGBoost算法每棵树的节点都是在做一次特征分裂,可以根据某一特征被选做分裂特征的次数来评估该特征的重要性,重要性越高,则该特征越利于分类器对智能电网信息攻击的识别。

2 智能电网信息攻击识别模型构建

基于上述研究工作,将信息攻击识别模型映射为多分类机器学习模型,通过PMU采集数据训练分类器,获得对多种信息攻击具有识别能力的集成学习模型,该模型不仅能够区分是否存在信息攻击的,并且可以识别具体的信息攻击种类。假设采集的数据中共有m个样本,模型对第i个样本识别结果为yi,模型的识别结果为:

(13)

模型构建主要包含以下三个主要步骤,如图2所示。

图2 智能电网信息攻击识别模型框架

(1)针对PMU收集的包含攻击的数据,首先采用平均值法填补缺失值,然后基于kmeans-smote算法对数据进行过采样处理,得到平衡数据集;

(2)采用最大相关-最小冗余(MRMR)特征选择方法对原始特征集进行降维,获得信息攻击事件最优表征特征子集;

(3)设计XGBoost分类器对信息攻击事件类型进行分类识别。

3 实验分析

采用密西西比州立大学开源的电力系统网络攻击数据集[19],该电力拓扑是一个二机三母线输电系统,有4个PMU和4个继电保护装置(编号R1~R4),对关键节点数据进行采集。数据经处理后共包含四类样本,这四类数据分别描述如下:

(1)无攻击:电力系统正常运行或维护等不存在网络攻击场景;

(2)虚假数据注入攻击:攻击者篡改量数据并绕过不良数据检测机制,使调度员失去对电力系统运行的正常控制能力;

(3)远程跳闸命令注入攻击:攻击者篡改断路器的控制信号,使断路器不能正常开通和关断;

(4)继电器延时设置篡改攻击:攻击者篡改继电器设置,使继电器无法在电力系统发生故障时断开。

数据中共包含15个子数据集,累计量测数据约7万条,每个子数据集包含128个征,特征共分为五组,前四组是4个PMU采集的量测数据,最后一组是控制面板日志、Snort警报以及继电器日志,特征总体描述如表1所示。

表 1 特征描述

3.1 信息攻击样本数据的平衡性分析

15个数据集下四类样本数量统计如图3所示,类别0代表不存在信息攻击,类别1代表虚假数据注入如攻击,类别2代表远程跳闸命令注入攻击,类别3代表继电器延时设置篡改攻击。

图3 数据集样本数量统计

根据提出的多分类数据不平衡性度量方法,15个子数据集不平衡率统计如表2所示。

表2 数据不平衡度量

由表2分析,15个子数据集各类别间都严重不平衡,为了降低少数类样本造成的信息攻击识别误报率升高的问题,改进的kmean-smote算法对数据进行过采样处理,以最不平衡的子数据集data 1为例,过采样后数据集各类别样本占比如图4所示。过采样后四类样本平均占比都接近25%,实现了数据平衡,降低了数据不平衡对信息攻击识别的影响。

3.2 信息攻击事件最优表征特征子集生成

过采样处理后的平衡数据经特征选择后从128维降到了40维,特征维度降低67%。这40个特征对应的特征序号及其和数据标签之间的互信息值(Mutual Information, MI)如图5所示。其中,最利于信息攻击识别的最优5个特征分别为R4-PM2: V、R3-PA6: IH、R1-PM7: V、R1-PM3: V、R3-PM7: V,这40个特征共同构成智能电网信息攻击最优表征特征子集。

图4 过采样后样本数量统计

图5 信息攻击事件最优表征特征子集

3.3 信息攻击识别模型性能验证

3.3.1 信息攻击识别模型有效性评估

采用XGBoost分类器对信息攻击类型进行分类识别,分类器在默认参数下进行训练,集成的基分类器个数为100。模型在数据集1上的ROC曲线如图6所示。

图6 攻击识别的ROC曲线

由图6可知,提出的信息攻击识别模型在测试集上的ROC曲线收敛到(0,1)点, 模型在低误报率的条件下实现了高精度识别。

由图7可知,模型在测试集上的精度-召回率曲线逐渐收敛到(1,1)点,模型能够更好地平衡精度和召回率指标,且两个指标都达到很高的值。由此可见,文中提出的智能电网信息攻击识别模型在数据不平衡的条件下保证了信息攻击的识别准确率。

图7 攻击识别的精度-召回率曲线

由图8可知,提出的信息攻击识别模型对无攻击的识别精度为96%,对虚假数据注入攻击的识别精度为97%,对远程跳闸命令注入的识别精度达到97%,继电器延时设置更改的识别精度达到94%。综合上述分析,提出的智能电网信息攻击识别模型在电网存在信息攻击的条件下可以实现高精度识别,同时未发生信息攻击时的误报率极低,仅为4%。由此可见,提出的信息攻击识别模型不仅可以较好区分电网系统是否受到信息攻击,同时能够准确识别攻击类别。

图8 攻击识别的混淆矩阵

3.3.2 与其他信息攻击识别模型对比

将文中模型和典型的有监督学习算法进行对比分析,包括K近邻算法(KNN)、决策树算法(DT)、人工神经网路(ANN)、逻辑回归(LR)、梯度提升决策树(GBDT)以及adaboost算法。各算法的总体准确率、平均召回率、平均精度以及平均F1-Score指标如图9所示。

由图9可知,提出的智能网电网信息攻击识别模型的四个性能指标趋于稳定,且显著高于其他典型的监督学习算法,表明提出信息攻击识别模型在识别精度上性能优于其他机器学习模型。

图9 不同算法性能对比

3.3.3 信息攻击识别模型泛化性能验证

为了验证模型的泛化能力,在15个数据集上对模型性能就准确率、平均召回率、平均精度以及平均F1-Score进行对比验证,对比结果如图10所示。

由图10分析可知,在15个数据子集上的平均识别准确率为95.87%,平均精度为95.88%,平均召回率为95.86%,平均F1-Score为95.8%。由此可见该信息攻击识别模型不仅在单一数据集上取得了很高的识别精度以及低误报率,15个子数据集下识别精度仍然取得了高精度,证明所提出的信息攻击识别性能的泛化性。

图10 攻击识别的泛化能力对比

4 结束语

提出一种基于XGBoost的智能电网信息攻击识别模型,在攻击样本数量偏低、且数据维度过高的条件下提升了信息攻击的识别精度。

(1)提出改进的kmeans-smote过采样方法来获取平衡数据集,辅助模型的训练和评估,降低不平衡数据对分类器训练的影响;

(2)在过采样数据基础上,提出MRMR特征选择方法得到信息攻击最优表征特征子集,实现数据的降维处理,并提升信息攻击识别效率;

(3)构建XGBoost分类器,对智能电网是否遭受信息攻击,及具体的攻击类型进行识别。

经实验验证,提出的智能电网信息攻击识别模型在攻击样本不足、且数据维度过高的条件下大幅度提高了对攻击的识别精度,为智能电网信息攻击的有效识别与动态防御奠定了基础。

猜你喜欢

分类器电网精度
热连轧机组粗轧机精度控制
穿越电网
超高精度计时器——原子钟
分析误差提精度
基于DSPIC33F微处理器的采集精度的提高
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
电网建设工程通用造价管理模式探讨
基于层次化分类器的遥感图像飞机目标检测
一种基于置换的组合分类器剪枝方法