田诺,宫立华,朱龙珠
(国家电网有限公司客户服务中心,天津 300309)
各国政府及私营公司高度重视防范网络攻击,特别是对重要设施及财物的保护。攻击方式、系统漏洞、攻击动机等信息收集、分析与共享是保证网络安全问题的关键,其中,安全信息共享既可以对目前存在的潜在危险进行分析,也可以对整个安全形势进行全面把握。目前提出的基于同步相量测量装置的感知方法,通过计算融合信息熵值,将与设定阈值相差较大熵值所对应的信息判定为异常信息。结合长短期记忆网络构建安全态势预警指标,实现安全风险感知[1];基于状态评估态势感知方法根据构建的权重矩阵,确定感知向量,使用状态评估法检测矩阵的一致性,实现态势感知[2]。但是,上述两种方法仅共享安全态势向量数据,无法捕获影响安全态势的攻击行为,无法有效识别攻击模式。为了及时发现安全隐患并采取相应措施,构建了基于大数据挖掘的客户感知监控预警模型。
客户感知监控大数据挖掘过程如下所示:
步骤1:在大数据平台上,根据Spark 组件的存储特点,将预设的临界分析规则装入Spark 组件存储器中[3]。经过反复迭代运算,得到了一个异常结果,通过累积迭代,获取客户感知监控数据。
步骤2:通过线路按键,从存储器中读出电表测量点的数据,其中包含了三相电压、电流数据,通过设定阈值分析异常原因,由此形成数据列表[4-5]。
步骤3:抽取步骤2 的数据结果为先验数据,利用先验数据建立关联规则,再利用先验规则产生先验关联规则集,并将其储存于先验关联规则储存模组中[6]。
步骤4:依据步骤3 所取得的最大专项集合所产生的候补选项集合,由专项集合决定候补选项集合支持程度,并与最小支持度进行对比,以求得最大专项集合[7];重复以上步骤,直至没有新的项目集合出现。
步骤5:在上述专项集合中,一旦出现异常数据,采集系统会将采集到的数据传送到后验关联规则储存模组中,由此生成相应规则集。
步骤6:设定客户感知监控数据阈值,从先验规则中提取监控数据,并将其与实际运行状态的数据进行比较[8]。如果两者之间差值小于阈值,则说明客户感知监控数据是正常数据,无需预警;反之,则需预警。
根据客户感知监控数据挖掘规则,挖掘电压偏离度、耗损量、电压不平衡率和电流不平衡率四项监控预警指标。
电力系统中客户终端的电源功率消耗都是固定的,如果出现异常情况,则电压的输出会出现波动[9-10]。用目前的电压和标称的电压之差可以反映出标称电压的偏离程度,公式可表示为:
式中,U0为当前电压;Ud为额定电压。
耗损量指的是电力系统在电能传输过程中出现的损耗,在客户终端常规用电条件下,该数值的取值范围是固定的,其计算公式如下:
式中,L为线损电量;D为电网供电量。
在正常情况下三相电压稳定,该指标大小由电压波动幅度决定,即电压不平衡率表示为式(3):
式中,Ug为三相电压平均绝对值偏差;Uh为三相电压平均值[11]。
在正常情况下电流稳定,该指标大小由电流波动幅度决定,即电流不平衡率表示为式(4):
式中,Ig为三相电流平均绝对值偏差;Ih为三相电流平均值。
利用已识别的非正常客户能量消耗数据,抽取出四种异常情况的状态感知指标,并以此四种状态感知指标及其相关数据作为客户感知监控预警模型的输入[12]。
根据上述挖掘的监控预警指标,采用基于聚类中心的选取算法,计算各分簇中心的间距,以此精确求出各分层单元展开系数[13-14]。然而,由于聚类算法在应用过程中必须先确定所有的数据矢量和簇中心数目,而在现实情况下,这种方法不能满足客户需求。因此必须通过改进聚类算法,把聚类方法转换成动态聚类方法,从而有效地解决无法提前确定各项参数的问题[15]。同时,在建立模型的同时,利用数字矢量实时更新模型中心参数。基于此,模型构建过程如下所示:
步骤1:在充分考虑到异常情况感知目标的前提下,将客户感知分为存在需要预警行为和不存在需要预警行为两种类型,并在客户感知监控数据中,随机选择两个样本作为初始聚类中心。
步骤2:从训练样本集中随机抽取一组训练样本,并将训练样本的每个分簇中心间的欧氏距离进行分类[16]。采用不同的学习步长更新已有的类型数据,一次只更新一个集群。
步骤3:收敛性判定。以聚类中心的波动小于设置的门限为基准,判定更新的结果是否会收敛;如果未收敛,需重新匹配。如果收敛,可计算模型各个层次之间连接权值,计算公式为:
式中,e 为自然常数;Oi为更新后的聚类中心;Ci为初始聚类中心;dmax为聚类中心间距最大值。
步骤4:构建监控预警模型,在满足收敛性条件下的模型能够更好地实现监控预警,整体模型如图1所示。
图1 监控预警模型
从大数据挖掘的后验规则集中,将客户感知监控数据分为两类,分别是存在需要预警行为和不存在需要预警行为。当客户感知监控预警模型确定存在需要预警行为后,需要进行智能预警。利用监控预警模型,确定用户是否存在需要预警行为。
依据已经构建完成的监控预警模型,实现客户感知监控动态预警,过程如下:
步骤1:输入第i个节点数据以及待预测的第n+1 天各个节点客户感知监控数据。
沈家大院一夜之间已然化为一片灰烬。沈老七蹲在热呼的废墟上骂道:老子日你八辈的祖宗。大火烧了房子和银票,且搭上了三房太太,沈老七也因此大病了一场。这时的沈小小不得不去张满春家暂住。沈小小经历了这场劫难后,变得沉默木讷。她是亲眼看见自己的母亲让大火烧死的,那可怕的场景时常在她眼前晃悠。每逢此时,她就会指着远处的田野说,火,火,火在烧我娘。张满春每听到,就会过来抱着她的头,轻抚她的秀发说,小小,那不是火,是庄稼,是能打出好多粮食来的庄稼。
步骤2:采用主成分分析操作方法,将客户感知监控数据降到1 维,并将第n+1 天各个节点客户感知监控数据也采用主成分分析方法降到1 维。
步骤3:对于i个节点数据,需要进行回归预测,获取第n天各个节点数据,确定基线值。
步骤4:对第n+1 天第i个节点降维处理后,计算其与基线值的差值,以该计算结果为标准,判断数据是否为正常数据,并预警。
选取预警阈值时,首先应确定客户感知监控数据的正常波动范围。假设已知原始客户感知数据在正常波动范围内,充分考虑相对误差作为指标值,计算公式为:
式中,ai,n+1为第n+1 天的第i个节点实际数据;λi为节点基线值。该公式计算结果越小,表明ai,n+1与λi值越接近。根据客户感知监控数据特点,确定阈值0 ≤ε<1,当0 ≤Ti≤ε<0.2 时,判定客户感知数据为正常;当0.2 ≤Ti≤ε<0.5 时,客户感知数据为异常,初级预警;当0.5 ≤Ti≤ε<0.7 时,客户感知数据为异常,中级预警;当0.7 ≤Ti≤ε<0.9 时,客户感知数据为异常,高级预警;当0.9 ≤Ti≤ε<1或ε<Ti<1 时,客户感知数据为异常,严重预警。
以某城市五个区县为例,采用随机抽样方法对2 500 个客户感知数据进行分析,并建立客户感知监控数据集。通过Matlab 软件作为实验工具,对客户感知监控预警模型进行实验验证。
采用相对误差作为阈值指标,公式为:
式中,xi为预测值;γi为拟合真实值。
使用采集系统提取监控数据,并计算判定指标误差。该方法在假定所有数据都是正确且没有任何异常的基础上,首先设置阈值,然后采用绝对法确认认知需求,最后对比阈值,将指标数据归一到0~1 范围内,电压、电流波动幅度如图2 所示。
图2 指标归一化处理
由图2 所示归一化处理后,方便数据处理,保证监控预警时收敛速度加快。结合指标,划分标准预警等级,如表1 所示。
表1 标准预警等级
表1 确定了电压阈值和电流阈值,以此为标准进行实验结果分析。
对于实验结果与分析,将基于大数据挖掘的预警模型与基于同步相量测量装置的感知方法、基于状态评估态势感知方法的电压、电流波动幅度进行对比分析,对比结果如图3 所示。
图3 三种方法电压、电流波动幅度对比分析
由图3 可知,使用基于同步相量测量装置的感知方法对于电压、电流波动幅度的分析,分别与图2所示标准值最大相差0.025 V、0.17 A;使用基于状态评估态势感知方法对于电压、电流波动幅度的分析,分别与图2 所示标准值最大相差0.035 V、0.22 A;使用基于大数据挖掘的预警模型对于电压、电流波动幅度的分析,分别与图2 所示标准值最大相差0.005 V、0.12 A。
通过上述分析结果可知,使用基于大数据挖掘的预警模型电压、电流波动幅度与标准值更接近,说明使用该模型预警范围更加精准,客户根据相应预警等级采取对应措施。
该文利用大数据技术挖掘客户感知监控数据,能够通过数据处理筛选出异常数据。构建客户感知监控预警模型,及时判定异常数据并预警。在后续优化过程中,为了增强模型适应性,将重点研究大数据挖掘技术的扩展性。通过对客户感知监控数据的深入挖掘,对指标进行了优化,从而使预警结果准确度得到了进一步提升。