刘 成,牛 锐,范贺明,许 静,朱永利
(1.华北电力大学 控制与计算机工程学院,河北保定071003;2. 国网冀北电力有限公司 承德供电公司,河北承德067000)
基于Spark环境变压器故障并行诊断
刘成1,牛锐1,范贺明2,许静1,朱永利1
(1.华北电力大学 控制与计算机工程学院,河北保定071003;2. 国网冀北电力有限公司 承德供电公司,河北承德067000)
摘要:为处理海量的电力设备监测数据,满足智能电网快速诊断检修需求,以电力变压器故障诊断为例,提出了基于Spark环境下电力变压器监测数据并行诊断方法。以油中溶解气体数据作为实验输入,利用并行朴素贝叶斯进行故障分类。实验结果表明,并行朴素贝叶斯方法在变压器故障诊断中诊断速度要快于传统的单机环境下诊断速度, 基于Spark电力设备监测数据并行诊断实验平台,能够快速处理数据量规模巨大、模型复杂的场景;集群加速比随着节点个数增加明显提高,能够适用电网大数据快速处理的需求。
关键词:Spark;变压器故障诊断;朴素贝叶斯;智能电网
0引言
电力设备健康是电网运行的关键。目前供电公司采取了形式多样的监测手段,对电力设备进行监测。传感器技术、数字信号、专家系统等有机整合,可以实现智能化的在线监测。目前,在电力设备监测中有红外、气体、电流、湿度、震动等传感器可以实现对设备的多维度监测[1]。随着互联网技术、传感器技术、物联网技术的快速发展,每天都会产生海量的电力设备监测数据信息——结构和非结构化的数据信息。传统的数据分析方法已经不能满足当下智能电网要求。如何获取隐藏在海量数据中的价值已经成为亟待解决的问题[2]。Spark云平台基于内存一栈式大数据处理框架,在大数据快速处理表现出强大的生命力,可以实现对海量监测数据的并行处理。
对比Hadoop大数据技术,Spark在处理迭代过程中产生中间结果都是存储在内存中,只有在内存不足的时候中间迭代结果才会保存到磁盘中,利用有向无环图(DAG)优化迭代过程,可以减少处理分析数据的时间,避免了繁重的磁盘读写操作。其中弹性数据集(RDD)是Spark的核心数据结构,RDD的操作分为两种:transformation和action。Spark 将作用于 RDD 的一系列转换操作记录下来构建RDD 的依赖关系 Lineage,以保证 RDD 数据的鲁棒性[3]。
Spark发布的版本中包括以下几个模块:Spark SQL实现对结构化数据查询功能,对不同的数据源提供通用的访问方法,Spark Streaming实现对大规模流式数据的处理,MLlib提供丰富的机器学习算法供相关人员直接调用使用,GraphX可以用来对图形的并行运算。目前,许多企业将Spark技术作为处理数据的首要选择。亚马逊在运营过程中,利用 Spark云计算快速计算能力和丰富的机器学习算法来分析数据,降低运行维护成本提高数据分析速度。淘宝利用Spark Streaming的实时流数据处理框架,结合历史数据和实时数据,能够对用户的交易数据、浏览数据、收藏数据等数据量进行分析和处理。然而,在电力系统中负荷预测、故障诊断,在线监测等具体应用中还是以Hadoop技术为主,本文以电力变压器监测数据作为实验数据,将Spark技术应用在变压器故障诊断当中,实现了对电力设备监测数据的快速诊断。
1电力大数据发展
在电力系统中数据分为内部数据和外部数据。内部数据来自与系统本身如电力营销系统、智能电表数据、电力设备监测数据等,这些数据中大部分为非结构化的数据,如视频、故障录波等。存储这些数据包括:原始数据、及时处理后的数据,以及用于电力系统故障分析、负荷预测等业务最终建模结果。在文献[4]中针对电力大数据种类多、分布广、数据量大、价值密度低的特点,提出了智能电网大数据多级存储系统方案,对不同特点和要求的数据采用不同的存储方法。文献[5]通过分形理论降低数据纬度,利用密度聚类算法对样本数据聚类划分,提取不同数据聚类的特征。在电力系统具体应用模型中,往往需要合并多个数据源,对数据进行汇总。在文献[6]中采用Hadoop大数据处理框架,选取负荷等内部数据等信息以及外部数据如天气、日期等,对用户侧并行负荷预测。在数据挖掘中,利用集群多节点对数据并行处理。在文献[7]结合云平台数据处理能力设计MapReduce并行算法,在状态检测和故障诊断方面具有一定的辅助作用。
中国电科院和相关供电公司积极将大数据建设引入电力系统中。江苏省电力公司从2013年初开始建设营销大数据智能分析系统。系统采用Hadoop分布式批处理技术处理数据,半个小时可计算全省每日用电量。同时,接入了气象、统计部门数据,建立多维数据分析模型。系统还设有电力用户搜索引擎,可查询用户每日用电量情况,用于用电行为分析。北京市电力公司目前正在开展营配数据集成工作,计划从扩大数据采集覆盖面、高数据中心的接入率和交互能力、实现全网拓扑贯通、统一数据集成技术标准、开展业务信息系统功能完善能力提升。
2基于Spark云计算电力设备故障并行诊断
2.1常见的变压器故障诊断方法
电力变压器油中溶解气体分析(Dissolved Gas-in-oil Analysis,DGA)是变压器故障诊断的一种有效方法。DGA监测技术分为在线监测和离线监测两种方法,对电力变压器过热和放电故障敏感有效,不受外界电厂和磁场的影响,DGA在线监测技术最大优点是无需停运变压器,并且可以查明变压器发生的早起内部故障。
传统的诊断方法有特征气体法、罗杰斯比值法、三比值法等,这些传统的方法大多局限阀值诊断,不能确切反映表现特征与故障之间的规律,难以分析发现潜伏性故障。针对传统方法的缺陷,学者和专家提出了各种智能诊断方法如支持向量机、神经网络、PSO粒子群、深度学习等算法相继应用在变压器故障诊断中[8-11]。支持向量机在数据样本较小时,具有良好的分类效果,但随着样本增加效果不会显著提高,而且在核函数的选择也比较困难,没有有效理论支撑。神经网络也会陷入局部最优解当中,出现“震荡”现象。深度学习算法模拟人脑对数据进行训练,基于自编码、深度信念网络的方法都存在训练层数多、训练时间过长等问题。而且上述方法都是在单个节点进行数据分析,存在训练时间长等问题,难以面对海量的数据和源源不断的流式数据。Spark充分利用集群的计算优势,依赖丰富的数据挖掘算法,可以对海量的变压器监测数据快速处理,Spark Streaming可以将流式数据分成短小的批处理作业。
2.2朴素贝叶斯并行化
在电力变压器故障诊断中,朴素贝叶斯算法是一种简单高效的分类算法。朴素贝叶斯分类定义如下:设x={x1,x2,…,xn}为一个待分类项,c={c1,c2,…,cn}对应分类集合。对于元组x只需求出最高的后验概率Cmap即可。公式(1)、(2)给出了Cmap和朴素贝叶斯计算公式:
(1)
(2)
又P(x)对于每个相应的类都是常数,在计算过程中可以当作数值1简化处理。而在朴素贝叶斯中每个条件相互独立,P(x|ci)可以通过累乘求出结果,具体如公式(3)所示:
(3)
根据公式(2)和(3),公式(1)可以变换为
(4)
为了避免多条件概率相乘造成的精度损失,引进In函数,将连乘转变为累加,故公式(4)最终可以转换为
(5)
并行朴素贝叶斯训练过程如图1所示,构建RDD partition。在局部运算中map,reduce等算子操作计算出数据中每种故障类属性的数据总数、含有属性特征的数据总数。在全局运算中通过map,combineByKey,collect等算子操作计算某类故障属性出现的概率。在计算过程中,避免概率为0出现,进行Laplace平滑处理。Spark默认按行处理数据,每一行的数据格式为分类标签和特征值,每个数值之间用空格分开。Spark朴素贝叶斯训练步骤如下:
图1 并行朴素贝叶斯
(1)读取数据,创建RDD数据切片。
(2)进行map操作成新的RDD,将原RDD中的元素在新RDD中都有且只有一个元素与之对应。定义函数将行字符串映射成list(label,(1,features)),其中,label表示类别号;1是出现的次数;features表示特征值。
(3)进行reduceByKey操作,将相同的label对应的(1,features)进行相加,得到(label,(N,featuresSum)),其中N表示label类出现的次数,featuresSum表示特征值出现的次数。
(4)进行collect触发操作,得到结果。
3实验
3.1数据准备与转化阶段
变压器发生故障时会伴随多种气体的产生,选取 H2、CH4、 C2H6、C2H2和C2H4气体作为属性,发生不同故障产生的气体也有差异,因此根据DGA数据可以作为朴素贝叶斯分类的输入。本文的DGA数据来自文献[12]以及江苏电力公司。经过数据过滤,过滤掉数据缺失、不完整或有缺陷的数据,选取600条作为训练和测试数据,以HFDS文件格式存储数据,在这些数据中,变压器故障主要分为下面6种,用C1到C6分为表示不同的故障类型。如表1所示。
表1 常见变压器故障类型
在表2给出了部分DGA数据以及所对应的故障类型。
表2 部分变压器DGA数据 μL/L
在多数情况下,可以将连续属性特征离散化处理,然后在贝叶斯的假设下,计算离散值的概率。把复杂的分布特征转化为简单的朴素贝叶斯模型。根据相关文献[13-14]特征气体离散化如表3所示。
表3 DGA气体数据离散化
3.2环境搭建
本文在实验室搭建一个spark集群系统,对DGA数据并行分析与诊断,其中,Spark版本为spark-1.3.0-bin-hadoop2.4。集群共设置7个节点,一个Master节点配置为处理器 i3-2120 3.30 GHz、内存 3 GB、硬盘250 GB;6个Work节点配置为处理器 E5-2609 v2 2.50 GHz、内存7 GB、硬盘 300 GB。通过交换机成一个内部网络。配置各个节点的Hadoop配置、修改Spark-env.sh配置文件。
3.3朴素贝叶斯并行验证
在朴素贝叶斯模型训练过程中,训练样本和测试样本按照比例2∶1划分,结果如表4所示,平均准确率达到84.6%。实验结果表明,基于Spark并行朴素贝叶斯方法具有良好的分类预测效果。
表4 变压器故障诊断结果
为处理海量的电力设备监测数据,还需要增大样本数量。由于条件限制,在实验中通过对已有的数据进行动态随机复制,生成大规模的测试数据。在大小相同DGA数据集下,测试朴素贝叶斯在Spark平台上和单机平台上运行时间,实验结果如表5所示。
表5 测试时间对比
从表5中可以看出,当数据集较小的时候,单机测试时间要小于集群测试时间,因为在Spark集群中节点之间交互信息,需要消耗一定的时间,当数据集继续扩大时,集群的测试时间要远远小于单机测试时间。加速比是衡量集群计算能力的一个重要指标[15]。Spark技术能够快速处理大数据,处理能力与集群节点数和文件大小有关。继续增大文件大小,同时改变集群节点个数。实验结果如图2所示。
图2 并行贝叶斯加速比
结果表明,当数据量达到GB大小时,基于Spark并行贝叶斯加速比随着集群的节点数增加线性提高,在相同的数据规模下集群节点数增加,每个集群节点分的数据切片变小,算法计算时间越短,加速比越高。同时,当节点数确定,加速比随着数据大小增加而提高,也体现了Spark处理大数据的优越性能。
4结论
传统的电力设备监测与诊断方法难以处理海量的监测数据,不能满足智能电网建设的要求,本文将Spark云计算框架应用于电力设备监测中,以DGA监测数据作为处理样本,并行实现朴素贝叶斯算法完成对变压器故障诊断,随着数据样本的增加准确率越来越高,通过对原数据的动态复制,数据量到达GB时,Spark并行处理数据时间要远远小于传统的串行诊断方法。
本文只是对电力设备监测数据并行诊断做了实验,在实验中处理的数据都是人为的收集整理,不是监测设备传回的流式实时数据,而且样本规模小,需要人为复制扩充,应用到具体工程实践中还有许多工作,在后续工作中还需要优化Spark处理性能,提高监测数据诊断的速度和准确率。
参考文献:
[1]王海霞, 李传红, 李玉珍,等. 无线传感器电力设备监测[J]. 化工管理, 2014(14):198-198.
[2]甘枥元. 基于云计算的数据挖掘算法的研究[J]. 电子技术与软件工程, 2015(7):195-195.
[3]萨初日拉,周国亮,时磊,等.Spark环境下并行立方体计算方法[J].计算机应用,2016,36(2):348-352.
[4]宋亚奇,周国亮,朱永利.智能电网大数据处理技术现状与挑战[J].电网技术,2013,37(4):927-935.
[5]周国亮,宋亚奇,王桂兰,等.状态监测大数据存储及聚类划分研究[J].电工技术学报,2013(S2):337-344.
[6]王德文,孙志伟. 电力用户侧大数据分析与并行负荷预测[J].中国电机工程学报,2015,35(3):527-537.
[7]王德文,刘晓建. 基于MapReduce的电力设备并行故障诊断方法[J].电力自动化设备,2014,34(10):116-120.
[8]韩世军, 朱菊, 毛吉贵,等. 基于粒子群优化支持向量机的变压器故障诊断[J]. 电测与仪表, 2014(11):71-75.
[9]阮羚,谢齐家,高胜友,等. 人工神经网络和信息融合技术在变压器状态评估中的应用[J].高电压技术,2014,40(3):822-828.
[10]程声烽,程小华,杨露. 基于改进粒子群算法的小波神经网络在变压器故障诊断中的应用[J]. 电力系统保护与控制,2014(19):37-42.
[11]石鑫,朱永利. 深度学习神经网络在电力变压器故障诊断中的应用[J].电力建设,2015,36(12):116-122.
[12]武中利. 电力变压器故障诊断方法研究[D].保定:华北电力大学,2013.
[13]张敏. 浅析变压器油中溶解气体色谱分析与故障诊断[J]. 科技创新与应用, 2015(23):96-97.
[14]赵文清.基于数据挖掘的变压器故障诊断和预测研究[D].保定:华北电力大学,2009.
[15]邵津生,管磊.Hadoop加速比性能模型研究[J]. 河南师范大学学报(自然科学版),2014(2):152-157.
Transformer Fault Diagnosis in Parallel Based on the Spark Platform
LIU Cheng1,NIU Rui1,FAN Heming2,XU Jing1,ZHU Yongli1
(1. School of Control and Computer Engineering, North China Electric Power University, Baoding 071003, China; 2. State Grid Jibei Electric Power Co., Ltd., Chengde Power Supply Company, Chengde 067000, China)
Abstract:For dealing with the massive amounts of power equipment monitoring data and meeting the smart grid rapid diagnosis requirements, this paper takes power transformer fault diagnosis as an example and proposes a parallel method based on spark to diagnosis transformer monitoring data. The experiment chooses dissolved gas in oil as input data and uses parallel naive Bayesian classification for fault diagnosis. The results show that the parallel Bayesian method in transformer fault diagnosis is faster than that of the traditional stand-alone environment. The power equipment monitoring data parallel diagnosis platform based on Spark is able to quickly process a great quantity data and complex model scene; the speedup of cluster significantly improves with the nodes increasing, it can also meet for power grid big data quickly processing requirements.
Keywords:Spark;transformer fault diagnosis;naive Bayesian;smart grid
收稿日期:2016-04-16。
基金项目:河北省自然科学基金(F2014502069);国家电网(2014MS129)。
作者简介:刘成 (1990-),男,硕士研究生,研究方向为spark并行计算,E-mail:1554720961@qq.com。
中图分类号:TP391.9
文献标识码:A
DOI:10.3969/j.issn.1672-0792.2016.06.006