陈章国,周 波,乔治中,胡 超
(南京南瑞信息通信科技有限公司,江苏 南京 210003)
城市基础设施中的核心部分之一即为电力系统,电力生产与工作的过程主要分成发电、输电、变电、配电以及用电,其中,配电环节直接影响用户对配电服务的满意度。配电是通过一次设备所建立的配电网,与二次设备联合应用后建立为配电系统,配电系统根据固定的规则运行,可以为用户提供其所需的电力服务。
为实现配电网自动化管理,需要引入配电网信息智能分析技术,如文献[5]方法和文献[6]方法做出的贡献,但是因电力领域数据量近几年出现爆发式增长,导致配电网信息智能分析效率较低,实时性受限。
为此,提出基于机器学习的配电网监控信息智能分析规则库构建方法,主要使用此方法建立配电网监控信息智能分析规则库,并引入故障检测识别、故障信息关联规则更新方法,保证配电网监控信息智能分析规则库的使用效果,使其可满足配电网监控的信息分析需求。
为了保证各类设备(变压器、电抗器、电容器、组合电器、断路器)操作、电网操作规则及相互间的关系的完整性,使规则库中的信息具有整体性,基于机器学习的配电网监控信息智能分析规则库结构图如图1所示。
图1 基于机器学习的配电网监控信息智能分析规则库结构图
如图1所示,配电网监控信息智能分析规则头与规则选项2种逻辑部分统称为规则,规则头可描述规则行为信息,规则选项可描述警告信息、故障数据包所在方位。
首先,全部规则根据规则头排序,并设成主链,按照配电网监控信息智能分析规则选项,将规则导进链表里,生成规则集,此操作下,各个监控信息数据包都存在一个分析规则。
其次,基于机器学习的配电网监控信息智能分析规则库运行时,使用Libpcap接口在配电网网络里提取一个监控信息数据包,建立数据包解析函数,按照数据包种类与所在位置,实现监控信息数据包的协议解析,解析后数据存储于Packet结构里。
最后,在配电网监控信息数据包解析后,使用基于机器学习的配电网故障数据分类方法,识别Packet结构中配电网监控信息中的故障数据,并按照所识别的故障数据分析规则(下文称为频繁项集),使用基于 MapReduce 的并行关联规则增量更新算法,更新配电网监控信息智能分析规则库中的信息智能分析规则。
之后,可把配电网监控信息中的其他数据包和配电网监控信息智能分析规则库里二维链表进行对比,若检测到具有匹配性的规则条目,便可按照对应的模式实现警示,停止此数据包的处理,以此模式循环,实现配电网监控信息智能分析。
图2是基于机器学习的配电网监控信息智能分析规则库运行流程示意图。
为了保证相关运行规程符合操作的规则,即《中华人民共和国电力法》《电力监管条例》和《电网调度管理条例》等,使用层次聚类方法分析配电网监控信息中的故障数据的极端随机数,保证其符合实际情况,使用了配电网监控信息中故障数据的故障出现概率与聚类频次分布,以此描述故障元素在配电网监控信息中出现差异频次的概率,此概率设成sup(),那么配电网监控信息中故障数据故障层次聚类的模糊迭代不等式能够变换为:
(1)
式中,配电网监控信息中故障数据的类间聚类分析元素在规则库中出现的次数最大值是num();代表第个故障数据。
使用大数据分类全局检索方法实现故障数据分类的动态规划,以此运算sup()。则:
(2)
(-|()|)}}
(3)
图2 基于机器学习的配电网监控信息智能分析规则库运行流程示意图
将配电网监控信息的所有数据样本实施抽样训练,获取故障数据的关联特征量,通过一个四元素结构代表故障数据的关联特征:
(,,(sup1(),…,sup()),
(1,…,))
(4)
式中,故障数据在1时间段抵达窗口的第次出现的第个数据元素是;输出优化训练的最佳概率是;数据聚类中心扰动概率分布值是(sup1(),…,sup());目前窗口元素存在故障数据的频繁项是(1,,)。通过机器学习算法,对故障数据实施分类,则机器学习迭代方法是:
(5)
综上所述,基于机器学习的配电网故障数据聚类方法的具体步骤是:
输入:配电网监控信息数据流、故障数据关联样本阈值、统计分布概率阈值、采样窗口长度。输出:
(1)初始化机器学习参数与故障数据分类系数;
(2)任意选择一个配电网监控信息数据点,建立故障数据分类的全部聚簇中心点;
(3)通过聚簇交叉运算它的概率;
(4)通过机器学习算法提取故障数据特征;
(5)更新目前窗口中故障数据样本,运算故障种类的概率分布值;
(6)运算配电网监控信息中大于频次阈值的故障数据样本集,使用累积概率分布方法获取统计特征量;
(7)将故障样本集实施回归分析,把故障数据导进窗口集合中;
(8)检索过期样本元素并去除;
(9)将所有配电网监控信息样本实施抽样训练,刷新窗口概率分布值;
(10)提取配电网监控信息中故障数据识别的频繁项集,实现故障数据分类。
1.3.1 原始规则库中并行频繁项集挖掘
保证针对可能发生的故障,为迅速、有序地开展应急行动而预先制定的行动方案,本文主要使用MapReduce模型以并行挖掘的模式获取监控信息节点中数据分片的频繁项集后保存,当配电网监控信息逐渐更新时,使用MapReduce模型再次更新频繁项集(信息智能分析规则)。
MapReduce模型将 MapReduce分解为 Map (映射)任务和 Reduce (归约)任务, MapReduce将任务传递到配电系统中各个监控信息节点,各个监控信息节点的处理过程会引入2个函数map、reduce。MapReduce模型先按照监控信息节点中数据分片的数目,建立多个Map任务并行处理,各个Map任务把输入的数据分片为多个键值对,map函数会将数据分片都逐次处理成,将键值相同的数据分片放在一起设成中心结果变成Reduce的输入;Reduce任务获取存在一致性的键值,使用reduce函数对映射频繁项集和原项集进行归约处理后输出。
将配电网监控信息智能分析规则库里全部项的频繁项集集合设成={,,…,},把配电网监控信息智能分析规则库传输至Hadoop分布式文件系统中,配电网监控信息智能分析规则库或新增故障信息数据库(此数据库中故障信息主要来自2.2小节所识别的故障信息)都会保存在个节点中,此时={,,…,},={,,…,}。、都存在于一个数据分片中。
输入:原始配电网监控信息智能分析规则库。
输出:原始配电网监控信息智能分析规则库的频繁项集。
(1)使用MapReduce模型计算原始配电网监控信息智能分析规则库全部频繁项的支持计数,获取的1-项集;
(2)建立分组,使用把各项与支持度进行对比,获取1-频繁项集。然后将里的项分成个组,各组设置一个编码id,把全部项标记成相应的分组号;
(3)并行挖掘频繁项集,此过程需要使用MapReduce模型实现,主要获取每个数据分组的频繁项集。
1.3.2 增量更新
输入:新增故障信息数据库、原始配电网监控信息智能分析规则库、原始配电网监控信息智能分析规则库的1-项集。
输出:更新后规则库的频繁项集。
(1)使用MapReduce模型中的map函数计算各个监控信息频繁项集在更新后规则库中的支持计数,挖掘频繁项集。频繁项集各个项目在∪里的支持计数满足以下条件:
support()≤()
(6)
其中,为小支持度阈值。
()=map(,)
(7)
由此建立挖掘监控信息频繁项集的map函数
函数:map(),通过和编码id寻找频繁项集。
输入:分组号,其中记录着频繁项目下次出现的组号。
:用户设定的最小支持数;填写了相应支持数的向量。
函数:Reduce(),通过和编码id寻找分析规则库的一致性键值。
输入:候选项集。
遍历原始配电网监控信息智能分析规则库在此组的映射事务集;
计算一致性键值=Reduce();
输出:更新后规则库的频繁项集。
由此完成基于 MapReduce 的并行关联规则库增量更新。
在MATLAB仿真软件中,编写本文方法的应用程序,对本文方法的操作性能进行仿真测试。
将本文方法使用在虚拟的配电网设备信息监控系统中,测试本文方法的使用效果。虚拟的配电网设备信息监控系统参数如表1所示。
表1 虚拟的配电网设备信息监控系统参数
配电网监控信息智能分析规则库的构建效果,主要通过配电网监控中网络故障信息识别效果凸显,故障信息识别效果好,表示构建的规则库中信息智能分析规则涵盖范围较为全面。故障信息主要以配电网信息监控中DOS入侵信息(下文简称A-1故障)、R2L入侵信息(下文简称A-2故障)、U2R入侵信息(下文简称A-3故障)为主,测试本文方法、文献[5]方法、文献[6]方法的配电网监控中故障信息识别效果,以准确度、检出率、假阳性率三种指标体现。
(8)
(9)
(10)
其中,、、、依次表示配电网监控中故障信息被准确识别的次数、非故障信息被识别成非故障信息的次数、故障信息被误识的次数、非故障信息被误识的次数。
三种方法的配电网监控中故障信息识别效果如表2、表3、表4所示。
表2 A-1 故障识别效果
表3 A-2故障识别效果
表4 A-3故障识别效果
由表2、表3、表4可知,多次测试中,文献[5]方法和文献[6]方法识别配电网监控信息中的A-1故障、A-2故障、A-3故障时,识别结果的准确度、检出率均值都低于0.90,假阳性率都大于0.04;而使用本文方法,配电网监控信息中,识别A-1故障、A-2故障、A-3故障时,识别结果的准确度、检出率均值都大于0.97,假阳性率都是0.01,由此可知,本文方法可提升配电网故障监控效果。
配电网监控中,故障信息识别实时性可体现本文方法所构建规则库的关联规则更新具有实时性,在MATLAB仿真软件中提前预设A-1故障、A-2故障、A-3故障的出现时间,测试使用本文方法、文献[5]方法、文献[6]方法的配电网监控中故障信息识别实时性。测试结果如表5所示。
表5 关联规则更新实时性测试结果
由表5可知,在MATLAB仿真软件中提前预设A-1故障、A-2故障、A-3故障的出现时间后,本文方法所构建的配电网监控信息智能分析规则库,能够协助配电网监控系统实时识别配电网监控中故障信息,由此证明本文方法所构建规则库的关联规则更新实时性,可满足应用需求。
为了深入测试该方法构建的配电网监控信息智能分析规则库是否能满足海量数据包智能分析的应用要求,测试该方法构建的配电网监控信息智能分析规则库的频繁项集(信息智能分析规则)是否能随数据包的增加而实时更新,测试了频繁项集更新结果与更新速度,测试结果如图3、表6所示。
图3 规则库频繁项集更新结果
表6 频繁项集更新速度
由图3、表6可知,本文方法所构建的配电网监控信息智能分析规则库的频繁项集可以伴随数据包增多而实时更新,频繁项集更新数量和新增数据包数量一致,更新时间与数据包新增时间一致。由此验证,新增数据量对本文方法应用性能不存在负面影响,本文方法所构建的配电网监控信息智能分析规则库对配电网故障监控工作存在实用价值。
配电网监控信息智能分析规则库对配电网监控信息分析速度与分析效果存在直接影响,而配电网监控信息分析效果对配电网故障监控存在直接影响。为此,提出了基于机器学习的配电网监控信息智能分析规则库构建方法,利用所构建的配电网监控信息智能分析规则库,实现配电网监控信息智能分析。实验中,本文方法经过仿真测试后,被验证存在以下几点实用价值:
(1)多次测试中,本文方法使用前,配电网监控信息中,A-1故障、A-2故障、A-3故障识别时,识别结果的准确度、检出率均值都低于0.90,假阳性率都大于0.04;使用本文方法后,配电网监控信息中,A-1故障、A-2故障、A-3故障识别时,识别结果的准确度、检出率均值都大于0.97,假阳性率都是0.01。
(2)本文方法所构建的配电网监控信息智能分析规则库,能够协助配电网监控系统实时识别配电网监控中故障信息。
(3)本文方法所构建的配电网监控信息智能分析规则库的频繁项集可以伴随数据包的增多而实时更新,频繁项集更新数量和新增数据包数量一致,更新时间与数据包新增时间一致。