基于大数据平台的开关设备故障特征提取方法

申请号 CN201710550324.6 申请日 2017-07-07 公开(公告)号 CN107301243A 公开(公告)日 2017-10-27
申请人 西安电子科技大学; 发明人 孔宪光; 常建涛; 王佩; 刘燕龙; 殷磊;
摘要 本 发明 提出了一种基于 大数据 平台的 开关 设备故障的特征提取方法,主要解决 现有技术 在面对海量开关设备故障的数据时,不能高效、准确地对各种故障类型进行特征提取的问题。其实现方案是:搭建Hadoop子平台进行数据收集、存储及数据预处理;搭建SparkR平台进行多变量多尺度熵MMSE的分布式计算,并将计算结果保存到分布式文件系统HDFS中;从HDFS下载计算结果,利用R 软件 绘制开关设备各故障的多变量样本熵曲线;根据各故障的多变量样本熵曲线,选取对应尺度因子范围的多变量样本熵值作为各故障的特征参数。本发明整个方案设计严谨、完整,具备海量数据存储与分布式计算能 力 ,故障特征提取的效率和准确性高,可以为及时诊断和预判开关设备故障提供依据。
权利要求

1.一种基于大数据平台的开关设备故障特征提取方法,包括:
(1)搭建SparkR大数据平台:
(1a)安装Linux系统、Hadoop开源软件和Spark开源软件;
(1b)根据现有故障数据规模,确定平台集群的节点个数,并根据后续需要处理的故障数据规模,对该节点个数可以扩展或缩减;
(1c)配置平台集群各个节点,即从确定的节点数中将任意1个节点作为主节点Master,其余作为从节点Slave;
(1d)在确定的主节点Master和所有从节点Slave上,配置服务器进程SSH(Secure 
Shell)并进行无密码验证,并安装Java软件、配置Java环境、配置Hadoop核心文件和Spark核心文件;
(2)数据收集与存储:主节点Master从平台外部,通过Hadoop的Sqoop组件技术采集关系型的故障数据;通过Flume组件技术采集文件型的故障数据,并将采集的这些数据存储到Hadoop的分布式文件系统HDFS中,主节点Master和所有从节点Slave共享这些数据;
(3)数据预处理:对存储在分布式文件系统HDFS中的故障数据依次进行转换和归一化的预处理,为后续数据分析提供高质量数据;
(4)数据分布式计算:
在本地主机上,利用R软件将只能在单机上运行的多变量多尺度熵MMSE改写成能在大数据平台SparkR上运行的分布式算法
主节点Master通过大数据平台SparkR的SparkR API接口从本地主机调用MMSE的分布式算法,将其部署到各个从节点Slave,并以预处理后的数据作为该算法的输入;
从节点Slave并行计算各故障的多变量样本熵,并将计算结果保存到Hadoop的分布式文件系统HDFS中;
(5)可视化展示:在单机环境下,本地主机从大数据平台的分布式文件系统HDFS中下载结果数据,然后利用开源R软件的绘图功能绘制开关设备各种故障的多变量样本熵曲线;
(6)特征提取:根据各故障的多变量样本熵曲线,选取各故障曲线都较平缓,且各故障对应尺度因子的多变量样本熵值彼此相差较大的尺度因子范围,并将该尺度因子范围的多变量样本熵值作为各故障的特征参数。
2.根据权利要求1所述的方法,其特征在于,步骤(3)中对分布式文件系统HDFS中的故障数据依次进行转换和归一化的预处理,是先把数据集中用区间表示的数据转换成对应的单个数值;最后将数据集中的属性归一化到[0,1]区间。
3.根据权利要求1所述的方法,其特征在于,步骤(4)中从节点Slave并行计算各故障的多变量样本熵值,按如下步骤进行:
(3a)确定嵌入维度m,延迟向量τ,阈值r=0.2*sd,sd是每个变量的标准偏差,尺度因子ε;根据故障的影响因素的个数确定第一变量p,根据故障数据条数条数确定第二变量N;
(3b)以预处理后数据构建长度为N且包含p个变量的数据集{xk,i},其中i=1,2,...,N;
k=1,2,...,p;
(3c)对多变量数据集 以尺度因子ε为基础进行粗-断点处理,得到新
的数据集为:
对每个尺度因子ε,分别求长度为N且包含p个变量的多变量数据集
的多变量样本熵:
(3d)构建N-n个m维复合延迟向量Xm(i)∈Rm,i=1,2,...,N-n,n=max{M}×max(τ),其中M=[m1,m2,...,mp]∈Rp,其中m1,m2,...,mp都是正整数,嵌入维度向量 延迟
向量τ=[τ1,τ2,...,τp],其中τ1,τ2,...,τp都是正整数,则混合延迟向量Xm(i)可以表示为:
(3e)定义向量Xm(i)和Xm(j)间的距离为其对应元素差的最大值,即:
(3f)对每个混合延迟向量Xm(i),分别求其与其他向量距离,并统计距离小于给定阈值r的个数Pi和Pi出现的概率
Pi={d[Xm(i),Xm(j)]≤r,i≠j};
(3g)计算概率 的平均值Bm(r):
(3h)将(3d)中的复合延迟向量从m维扩展到m+1维,向量M包括p个元素,共有p种实现方法,即M=[m1,m2,...,mk+1,...,mp],k=1,2,...,p,构造p×(N-n)个混合延迟向量Xm+1(i)∈Rm+1:
(3i)定义两个向量Xm+1(i)和Xm+1(j)间的距离为其对应元素差的最大值,求向量组Xm+1(i)中两两之间的距离,并统计距离小于给定阈值r的个数Qi和Qi出现的概率
Qi={d[Xm+1(i),Xm+1(j)]≤r,i≠j};
(3j)计算 在m+1维下的平均值Bm+1(r):
(3k)根据步骤(3f)计算结果 和步骤(3j)的计算结果Bm+1(r),计算多变量样本熵
MSampEn:

说明书全文

基于大数据平台的开关设备故障特征提取方法

技术领域

[0001] 本发明属于工业大数据处理技术领域,具体是一种开关设备故障特征提取方法,可应用于对企业开关设备各种故障的特征提取。

背景技术

[0002] 开关设备作为电系统终端设备之一,在电力系统中肩负着控制和保护双重任务,其可靠性和智能化平对电力系统的稳定和自动化程度将产生深远的影响。开关设备事故的统计分析表明,造成高压断路器故障的原因主要有操动机构异常、SF6泄漏、辅助部件损坏和主要部件劣化。开关设备故障的影响因素主要有开关设备的使用时间、年负载率、环境运行等级、温度、操作次数和电流次数等。通过对开关设备提取故障特征参数,为及时诊断和预判开关设备故障提供依据,降低其运维成本。
[0003] 传统的特征提取方法通常是在单机、串行模式下进行特征提取。传统特征提取方法能处理的数据量较小,这对特征提取的准确性具有较大影响。当面对海量数据时,数据的存储和处理会暴露出容错性差、速度慢、效率低等问题。随着开关设备故障的影响因素的不断增多,设备故障数据规模的不断扩大,单机串行模式下难以存储海量数据,也不能大幅度提高数据处理速度;同时在单机串行模式下,传统特征提取方法只能处理小样本量数据,进而会降低特征提取的准确性。当故障影响因素不断扩大时,传统特征提取方法也难以处理多变量的数据集。
[0004] 综上所述,传统的特征提取方法通常只能处理小样本量数据。当数据集的变量增多时,传统的特征提取方法也渐渐难以处理多变量的数据集。开关设备每种故障的数据量不仅大,每种故障的影响因素也不止使用时间、负载率、环境运行等级、温度、操作次数和开断次数这六个因素,将来故障影响因素会不断增多。因此,传统的特征提取方法难以同时面对故障数据量的不断扩大和影响因素不断增多,进而对故障特征提取的速度和准确度造成影响。

发明内容

[0005] 本发明的目的在于针对上述现有技术的问题,提出一种基于大数据处理平台的开关设备故障特征提取方法,以提高开关设备故障特征提取的准确度和提取速度。
[0006] 本发明的技术思路是:通过对大样本数据量的处理,引入多变量多尺度熵MMSE算法,以解决故障影响因素不断增多的问题,间接提高开关设备故障特征提取的准确度;通过MMSE算法在SparkR平台上的分布式并行计算,提高开关设备故障特征提取的速度。其实现方案包括如下:
[0007] 本发明提出的基于大数据平台的开关设备故障特征提取方法,步骤包括如下:
[0008] (1)搭建SparkR大数据平台:
[0009] (1a)安装Linux系统、Hadoop开源软件和Spark开源软件;
[0010] (1b)根据现有故障数据规模,确定平台集群的节点个数,并根据后续需要处理的故障数据规模,对该节点个数可以扩展或缩减;
[0011] (1c)配置平台集群各个节点,即从确定的节点数中将任意1个节点作为主节点Master,其余作为从节点Slave;
[0012] (1d)在确定的主节点Master和所有从节点Slave上,配置服务器进程SSH(Secure Shell)并进行无密码验证,并安装Java软件、配置Java环境、配置Hadoop核心文件和Spark核心文件;
[0013] (2)数据收集与存储:主节点Master从平台外部,通过Hadoop的Sqoop组件技术采集关系型的故障数据;通过Flume组件技术采集文件型的故障数据,并将采集的这些数据存储到Hadoop的分布式文件系统HDFS中,主节点Master和所有从节点Slave共享这些数据;
[0014] (3)数据预处理:对分布式文件系统HDFS中的故障数据依次进行转换和归一化的预处理,为后续数据分析提供高质量数据;
[0015] (4)数据分布式计算:
[0016] 在本地主机上,利用R软件将只能在单机上运行的多变量多尺度熵MMSE改写成能在大数据平台SparkR上运行的分布式算法;
[0017] 主节点Master通过大数据平台SparkR的SparkR API接口从本地主机调用MMSE的分布式算法,将其部署到各个从节点Slave,并以预处理后的数据作为该算法的输入;
[0018] 从节点Slave并行计算各故障的多变量样本熵值,并将计算结果保存到Hadoop的分布式文件系统HDFS中;
[0019] (5)可视化展示:在单机环境下,本地主机从大数据平台的分布式文件系统HDFS中下载结果数据,然后利用开源R软件的绘图功能绘制开关设备各种故障的多变量样本熵曲线;
[0020] (6)特征提取:根据各故障的多变量样本熵曲线,选取各故障曲线都较平缓,且各故障对应尺度因子的多变量样本熵值彼此相差较大的尺度因子范围,并将该尺度因子范围的多变量样本熵值作为各故障的特征参数。
[0021] 本发明与现有技术相比,具有以下优点:
[0022] 1)本发明运用大数据平台SparkR,将开源R软件和开源Spark软件强强结合,可以在R软件中无缝地使用Spark的弹性分布式数据集RDD和DataFrameAPI,借助Spark内存计算、统一软件栈上支持多种计算模型的优势,高效地进行分布式数据计算和分析,解决大规模数据集带来的挑战。
[0023] 2)现有多变量多尺度熵MMSE虽已在物理、生理等学科领域中获得应用,但是在开关设备故障分析领域,MMSE还没有被应用。本发明将多变量多尺度熵MMSE算法应用于开关设备故障分析领域,解决了故障影响因素增多的问题,间接提高了开关设备故障特征提取的准确度;实现了MMSE算法在SparkR平台上的分布式并行计算,提高了特征提取的速度。
[0024] 3)本发明由于在多变量多尺度熵MMSE中引入了尺度因子,能够更明显、更直观地区分开关设备的几种故障状态类型。附图说明
[0025] 图1是本发明的实现总流程图
[0026] 图2是本发明中节点配置流程图
[0027] 图3是本发明中SparkR整体架构图
[0028] 图4是本发明中特征提取算法MMSE的流程图
[0029] 图5是4种故障的多变量样本熵曲线图

具体实施方式

[0030] 下面结合附图和具体实施方式对本发明作详细说明。
[0031] 传统的开关设备故障的特征提取方法面对海量故障影响因素数据时,不具备大规模数据存储和处理能力,都是在单机、串行模式下进行特征提取,速度慢、效率低和安全性差,直接影响到故障特征提取的效率和准确性。
[0032] Hadoop大数据处理平台,它的HDFS分布式文件系统和MapReduce编程模式比较好地解决了海量数据分布式存储和处理的问题。和Hadoop相比,Spark提供了分布式数据集的抽象,编程模型更灵活和高效,能够充分利用内存来提升性能。Spark能够很好地解决迭代运算和交互式运算,它引入了弹性分布式数据集RDD,有一个容错机制,数据集合可以被并行操作,能够被缓存到内存中,而不必像MapReduce那样每次都从HDFS上重新加载数据。在数据计算过程,Spark将预处理后的数据集创建成RDD,缓存到内存,进而被多个并行执行的任务重用。R软件拥有强大的统计分析功能和丰富的第三方扩展包,但目前R软件的核心运行环境是单线程的,能处理的数据量受限于单机的内存容量,大数据时代的海量数据处理对R软件构成了挑战。SparkR将开源R软件和开源Spark软件强强结合,可以在R软件中无缝地使用Spark的RDD和DataFrameAPI,借助Spark内存计算、统一软件栈上支持多种计算模型的优势,高效地进行分布式数据计算和分析,解决大规模数据集带来的挑战。因此,本发明引入SparkR平台,通过对大样本数据量的处理,引入多变量多尺度熵MMSE算法,以解决故障影响因素不断增多的问题,间接提高开关设备故障特征提取的准确度;通过MMSE算法在SparkR平台上的分布式并行计算,提高开关设备故障特征提取的速度。
[0033] 参照图1,本发明的实现步骤如下:
[0034] 步骤1,搭建SparkR大数据平台。
[0035] (1a)在本地主机上安装Linux系统的CentOS-6.3版本,开源Hadoop软件的Hadoop-2.6.0版本,开源Spark软件的Spark-1.4.0版本。
[0036] 参照表1,安装平台SparkR的子平台Hadoop所需的相关技术组件,包括Flume、Sqoop。
[0037] 表1子平台Hadoop所需的技术组件
[0038]
[0039] 其中:Core:表示分布式文件系统和通用I/O组件和接口;
[0040] Avro:表示提供高效、跨语言RPC的数据序列系统,持久化数据存储;
[0041] HDFS:表示分布式文件系统,用于实现大规模数据的分存储;
[0042] MapReduce:表示分布式数据处理框架执行环境
[0043] Zookeeper:表示高可用性的分布式协调服务;
[0044] Pig:表示数据流语言和运行环境,用以检索大规模数据集;
[0045] Chukwa:表示运行HDFS中存储数据的收集器,使用MapReduce生成分析报告;
[0046] Mahout:表示机器学习算法库;
[0047] Flume:表示日志收集系统;
[0048] Sqoop:表示数据同步工具,用于传统数据和Hadoop之间传输数据;
[0049] (1b)根据现有故障数据规模,确定平台集群的节点个数为4个;并根据后续需要处理的故障数据规模,对该节点个数可以扩展或缩减;
[0050] (1c)参照表2,配置平台集群各个节点,即从确定的节点数中将任意1个节点作为主节点Master,其余作为从节点Slave,节点之间局域网连接;
[0051] 该Master节点主要配置名字管理器NameNode和任务管理器JobTracker的色,负责总管分布式数据和分解任务的执行;主节点Master的属性是NameNode,其作为主服务器,用于管理文件系统的命名空间和客户端对文件系统的访问操作;
[0052] 该3个从节点Salve1、Slave2和Slave3配置数据存储器DataNode和任务运执行器TaskTracker,负责分布式数据存储以及任务的执行。从节点Slave的属性是DataNode,其主要功能是管理存储的数据。
[0053] 表2平台集群节点结构
[0054]节点名字 Ip地址 属性
Master 192.168.137.2 NameNode
Slave1 192.168.137.3 DataNode
Slave2 192.168.137.4 DataNode
Slave3 192.168.137.5 DateNode
[0055] (1d)在主节点和三个从节点上安装相关软件并配置相关文件:
[0056] 参照图2,在确定的主节点Master和三个从节点lave1、Slave2和Slave3上,配置服务器进程SSH并进行无密码验证,并安装Java软件、配置Java环境、配置Hadoop核心文件和Spark核心文件;其中Hadoop核心文件包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml;Spark核心文件包括Spark-env.sh、slaves和profile。
[0057] 上述(1a)~(1d)步骤完成后,得到平台SparkR整体架构,如参照图3所示。
[0058] 参照图3,本实例搭建的SparkR平台,包括集群各节点和虚拟机JVM后端两部分。SparkR为R软件的运行提供了弹性分布式数据集RDD和数据框应用程序接口DataFrame API。SparkR API运行在R软件中,而Core运行在虚拟机JVM中。JVM后端是Core中的一个组件,提供了R软件和虚拟机JVM之间的桥接功能,能够让R软件编写的代码创建Java类的实例、调用Java对象的实例方法或者Java类的静态方法。SparkR的DataFrame API不需要传入,数据框DataFrame中的数据全部是以JVM的数据类型存储的。DataFrame API还包含了一部分RDD API。
[0059] 工作时,先将DataFrame转换成弹性分布式数据集RDD,然后调用弹性分布式数据集RDD的数据分组、聚合和重分区操作,启动进程RWorker来进行MMSE的分布式计算。通过用户自定义的简单高效的二进制协议socket,将主节点RDD的分区数据、序列化后的R软件编写的算法程序以及其它信息传给进程Rworker,进程Rworker反序列化接收到的分区数据和R软件编写的算法程序,将R软件编写的算法程序应用到分区数据上,再把结果数据序列化成字节数组传回JVM端。
[0060] 步骤2,数据收集与存储。
[0061] 主节点Master从平台外部,通过Hadoop的Sqoop组件技术采集关系型的故障数据;通过Flume组件技术采集文件型的故障数据,并将采集的这些数据存储到Hadoop的分布式文件系统HDFS中,主节点Master和所有从节点Slave共享这些数据。
[0062] 所述的Sqoop组件技术和Flume组件技术收集的故障数据各为5000条,如表3~表6所示。
[0063] 表3故障类别是“操动机构异常”的各项影响因素数据
[0064]
[0065] 表4故障类别是“SF6泄漏”的各项影响因素数据
[0066]
[0067] 表5故障类别是“辅助部件损坏”的各项影响因素数据
[0068]
[0069] 表6故障类别是“主要部件劣化”的影响因素数据
[0070]
[0071] 步骤3,对存储在分布式文件系统HDFS中的故障数据依次进行转换和归一化的预处理。
[0072] (3a)把数据集中用区间表示的数据转换成对应的单个数值:
[0073] 将影响因素“年平均负载率”中的“40%以下”转换成0.25,“40%~60%”转换成0.5,“60%~80%”转换成0.75,“80%以上”转换成0.9。
[0074] (3b)将数据集中的属性归一化到[0,1]区间:
[0075]
[0076] 其中,x为各故障的影响因素的真实值,xmax、xmin分别为真实值中的最大值和最小值,y为归一化后的值。
[0077] 步骤4,数据分布式计算。
[0078] 在本地主机上,利用R软件将只能在单机上运行的多变量多尺度熵MMSE改写成能在大数据平台SparkR上运行的分布式算法;
[0079] 主节点Master通过大数据平台SparkR的SparkRAPI接口从本地主机调用MMSE的分布式算法,将其部署到各个从节点Slave,并以预处理后的数据作为该算法的输入;从节点Slave并行计算各故障的多变量样本熵值,并将计算结果保存到Hadoop的分布式文件系统HDFS中。
[0080] 参照图4,故障特征提取算法MMSE的流程如下:
[0081] (4a)确定嵌入维度m=(2,2,2,2,2,2),延迟向量τ=(1,1,1,1,1,1),阈值r=0.2*sd,sd是每个变量的标准偏差,尺度因子ε=1,2,...,20;根据故障的影响因素的个数确定第一变量p=6,根据故障数据条数条数确定第二变量N=5000;
[0082] (4b)以预处理后的数据构建长度为N且包含p个变量的数据集{xk,i},其中i=1,2,...,N;k=1,2,...,p;
[0083] (4c)对多变量数据集 以尺度因子ε为基础进行粗-断点处理,得到新的数据集为:
[0084]
[0085] 对每个尺度因子ε=1,2,...,20,分别求长度为N且包含p个变量的多变量数据集的多变量样本熵:
[0086] (4d)构建N-n个m维复合延迟向量Xm(i)∈Rm,i=1,2,...,N-n,n=max{M}×max(τ),其中M=[m1,m2,...,mp]∈Rp,其中m1,m2,...,mp都是正整数,嵌入维度向量延迟向量τ=[τ1,τ2,...,τp],其中τ1,τ2,...,τp都是正整数,则混合延迟向量Xm(i)可以表示为:
[0087]
[0088] (4e)定义向量Xm(i)和Xm(j)间的距离为其对应元素差的最大值,即:
[0089]
[0090] (4f)对每个复合延迟向量Xm(i),分别求其与其他向量距离,并统计距离小于给定阈值r的个数Pi和Pi出现的概率
[0091] Pi={d[Xm(i),Xm(j)]≤r,i≠j};
[0092]
[0093] (4g)计算概率 的平均值Bm(r):
[0094]
[0095] (4h)将(4d)中的复合延迟向量从m维扩展到m+1维,向量M包括p个元素,共有p种实现方法,即M=[m1,m2,...,mk+1,...,mp],k=1,2,...,p,构造p×(N-n)个混合延迟向量Xm+1(i)∈Rm+1;
[0096]
[0097] (4i)定义两个向量Xm+1(i)和Xm+1(j)间的距离为其对应元素差的最大值,求向量组Xm+1(i)中两两之间的距离,并统计距离小于给定阈值r的个数Qi和Qi出现的概率[0098] Qi={d[Xm+1(i),Xm+1(j)]≤r,i≠j};
[0099]
[0100] (4j)计算 在m+1维下的平均值Bm+1(r):
[0101]
[0102] (4k)根据步骤(4f)计算结果 和步骤(4j)的计算结果Bm+1(r),计算多变量样本熵MSampEn:
[0103]
[0104] 计算结束后,得到4种故障在尺度因子ε=1,2,...,20上的多变量样本熵值,并将结果保存到分布式文件存储系统HDFS中。
[0105] 步骤5,可视化展示。
[0106] 在单机环境下,本地主机从大数据平台的分布式文件系统HDFS中下载结果数据,利用R软件丰富的可视化包,绘制开关设备各故障在20个尺度因子上的多变量样本熵曲线,如图5所示。
[0107] 从图5可见,4种故障的多变量样本熵曲线,除了尺度因子1外,4种故障的多变量样本熵曲线都没有交叉,分类效果非常显著。
[0108] 步骤6,特征提取。
[0109] 根据图5所示的4种故障的多变量样本熵曲线,4种故障的曲线在尺度因子10~20范围内都比较平缓,且4种故障对应尺度因子的多变量样本熵彼此相差较大,所以选取尺度因子10~20范围的多变量样本熵作为4种故障的特征参数,为及时诊断和预判开关设备故障提供依据。
[0110] 以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
QQ群二维码
意见反馈