面向船舶电力系统故障诊断的数据仓库与数据挖掘技术

2022-08-05 05:05陈鸣妤
关键词:数据仓库数据挖掘船舶

陈鸣妤

(上海船舶运输科学研究所有限公司 舰船自动化系统事业部, 上海 200135)

0 引 言

随着大型船舶电力系统的规模不断扩大,其监控和管理工作变得越来越复杂。用于监控船舶电力系统的传统数据库系统虽然能实现对各项数据的高效存储、查询和统计等,但无法实现对船舶电力监控系统大量数据的分析和分类抽取等,更无法利用系统现有的数据实现智能化的趋势分析和预测等功能。随着船舶装备不断朝着数字化、信息化和网络化方向发展,对数据资源进行深度挖掘和应用,进而使系统提供更高效、更简单的智能化服务,已成为船舶电力监控系统的发展趋势。因此,如何利用船舶电力监控系统数据库中的海量数据资源分析船舶电力系统出现的异常和预测故障的发展趋势,已成为船舶电力监控系统设计中的热点问题。

当前,船舶电力系统中的继电保护、故障录波器等装置都已实现数字化监控,设备信息能在系统运行过程中得到保存,通过将不同的数据源信息有机地结合起来,可形成一个多维、多粒度、专业化的电力系统多源异构数据仓库(Data Warehouse,DW)。数据仓库技术具有比传统的关系数据库更高级的数据组织形式,不仅支持对海量数据进行处理,而且在动态存储、应用程序接口和非结构化数据等方面具有很强的处理功能。因此,建立一个以数据仓库技术为基础,以数据挖掘(Data Mining,DM)技术为手段的故障分析与预测系统,从海量数据中提取潜在的有价值的信息,为实现船舶电力系统故障分析、故障预测和故障诊断提供有效支持。

1 数据仓库和数据挖掘技术概述

1.1 数据仓库技术

数据仓库是指面向主题的,具有集成、稳定和随时间变化等特点的数据集合,用于支持经营管理中的决策制订过程。

数据仓库的特点如下:

1) 面向主题。主题是指在更高层级上对数据进行综合、归类和分析利用的抽象对象。

2) 数据为集成的数据。数据仓库从分散的子系统中提取数据,并对其进行统一和综合。

3) 数据不可更新。用户不可修改原始数据,只允许查询和分析数据仓库中的数据。

4) 数据随时间不断变化。从数据仓库中删除陈旧、查询率低、对分析处理无作用的数据。

数据仓库的基本体系结构组成如下:

1) 数据源,为数据仓库提供最底层数据的运作数据库系统和外部数据;

2) 监视源,负责感知数据源发生的变化,并按数据仓库的需求提取数据;

3) 集成器,对从运作数据库中提取的数据进行转换、计算和综合,并将其集成到数据仓库中;

4) 数据仓库,存储已按系统级视图转换的数据,供分析和处理使用,根据不同的分析要求,按不同的综合程度存储数据;

5) 客户应用,供用户对数据仓库中的数据进行访问查询,并以直观的方式表达分析结果。

1.2 数据挖掘技术

数据挖掘是指从大量不完整、有噪声、模糊、随机的数据中提取隐含的人们事先不知道但有用的信息和知识的过程。数据挖掘的对象既可以是结构化的数据(如关系数据库中的数据),又可以是半结构化的数据(如文本、图形和图像数据)。数据挖掘方法既可以是数学的,又可以是非数学的;既可以是演绎的,又可以是归纳的。通过数据挖掘提取的知识通常表示为概念、规则、规律、模式、约束和可视化等形式,不仅能用于进行信息管理、查询优化、决策支持和过程控制等,而且能用于实现数据自身维护。

数据挖掘技术的主要功能如下:

1) 概念描述。概念描述主要包括特征性描述和区别性描述2种。特征性描述是指描述同类对象的共同特征,即所有数据对象的共性;区别性描述是指对不同类别数据之间的差别进行描述。

2) 关联分析。数据关联是指数据库中的2个或2个以上数据源之间存在的某种特定关系。常见的关联主要有简单关系类关联、时序关系类关联和因果关系类关联等3种。通过对数据库中的数据进行关联分析,找出隐藏的关系网,分析得出的关联规则具有一定的可信度。

3) 聚类。聚类是指通过一定的方式对数据库中的数据进行识别和分类,将其划分为一系列具有指定含义的子集,主要通过模式识别法和数学分类法完成。

4) 自动预测趋势和行为。通过数据挖掘实现对数据库中预测性信息的自动检索。取代原来的通过大量人工分析得到信息的方式,迅速、直接从数据库中得到结论。

5) 偏差检测。通过检索数据与标准值的差别,从数据库中提取出有意义的偏差数据。

2 船舶电力系统故障诊断数据仓库系统架构设计

以某船的电力系统为例,为实现基于数据挖掘的故障诊断,对其信息数据仓库系统进行设计,该系统主要由故障数据收集、数据监视器、故障数据分析、数据集成器、调度中心数据仓库和数据挖掘等6个模块组成,见图1。

图1 数据仓库系统架构

1) 故障数据收集模块。通过故障数据收集模块收集船舶电力系统中的故障录波数据、保护及断路器动作信息。将通过该模块收集的数据存入原始故障数据库中。

2) 数据监视器模块。通过数据监视器模块监测并提取变化的故障数据,将其存入数据库中。同时,自动开启一系列数据抽取和精化处理过程。

3) 故障数据分析模块。通过故障数据分析模块,采用各种故障分析方法,从原始数据中采集数据故障特征(可利用本文所述故障分析技术实现,如相量分析技术、小波分析技术、神经网络技术和专家系统技术等)。

4) 数据集成器模块。数据集成器模块主要用来对故障数据分析模块采集的数据进行集成,待后续存入数据仓库中。同时,该模块能对原始数据(如故障录波文件)与经故障数据分析模块分析得到的数据建立关联,从而在查询分析结果时高效地查找出原始数据。

5) 调度中心数据仓库。调度中心数据仓库用于保存经故障数据分析模块和数据集成器模块处理的数据。

6) 数据挖掘模块。数据挖掘模块主要用于对数据仓库中的原始数据的规律进行挖掘。

从某种意义上说,数据仓库和数据挖掘技术是对系统中的原有数据和系统原有处理能力的一种系统集成。数据仓库和数据挖掘系统的架构应与系统其余部分相协调,不能因引入数据挖掘技术而导致系统中出现数据或处理的重复设置。例如:数据仓库系统中的数据源(原始数据库)与故障信息系统中的故障录波数据库、保护和断路器动作信息库等是相同的实体;数据仓库系统中的故障数据处理模块实际上利用的是故障信息系统中已有的各种故障分析功能。因此,故障信息数据仓库和数据挖掘系统是在原故障信息系统的基础上“进化”而来的,并非推翻原系统重新设计,也不是创建一个与原系统并列运行的系统。

3 基于数据挖掘的故障诊断方法研究

随着船舶电力系统的复杂度不断提高,监控系统中表征其特性的状态参数的数量,以及导致其出现异常或故障的因素也在不断增加,当状态参数过多且实时数据刷新过快时,若仅采用传统的监控手段,操作人员很难根据经验对故障进行分类甄别,并及时做出正确的决策。数据挖掘技术为解决海量数据条件下的船舶电力系统辅助决策问题提供了理论和方法支撑。

3.1 数据挖掘技术的应用

数据挖掘是指在数据源的基础上,发现隐藏在数据深层次中对人们有用的模式,可按功能的不同分为描述性挖掘和预测性挖掘2类,其中:描述性挖掘是指对数据库中原始数据的一般特性进行描述;预测性挖掘是指根据现有的原始数据,对系统未来的状态进行预测。另外,模式可按实际作用的不同分为分类、数值预测、聚类、关联规则和属性约简等5类。

1) 分类是指通过学习一个已分类的样本集,对未来样本进行分类的方法。

2) 数值预测是分类学习的一种变体,其结论是一个数值,而不是一个分类。本文的研究不涉及此类算法。

3) 聚类是指寻找能组合在一起的样本,并据此对数据进行分组。这种算法主要应用于数据集中不包含决策属性的情形。采用聚类算法可将距离相近的样本集合在一起。本文用到的聚类技术涉及到的算法主要是EM算法。聚类也称无指导的学习。

4) 关联规则主要用来寻找各特性之间的关联,此类算法是从分类问题中衍生而来的,本文的研究不涉及相关内容。

5) 属性约简多应用在分类之前,此类算法主要用于分析数据集中各属性的特征,并去掉对分类结果影响较小的属性,以达到降低问题的复杂度、提高分类或预测的准确度的目的。

3.2 基于Prism算法的电力系统故障数据挖掘

Prism算法是典型的模块化分类规则归纳学习算法。该算法在寻找某个属性进行规则求精过程中,总是选择能使信息增益最大的属性与值配对,从而有效避免出现决策树学习中的子树冗余问题。

Prism算法采用覆盖法产生分类规则集。覆盖法通过依次取出每个类得到能覆盖所有属于该类别的实例,同时剔除不属于该类别的实例。覆盖法的特点决定了其会产生一个规则集,而不是决策树。

Prism算法只建立正确的规则,利用正确率公式衡量规则的成功率。任何正确率低于100%的规则都是“不正确”的。Prism算法流程图见图2。

图2 Prism算法流程图

评价是数据挖掘中非常重要的过程。评价的第一个任务是对挖掘算法的性能提出衡量指标,以便对结果进行对比和分析。因为对于相同的数据集而言,采用不同的挖掘方法得到的结论有所不同。这种差异需用量化的方法衡量。评价的第二个任务是利用各种衡量指标对不同算法的实际挖掘性能进行衡量。当数据量(即训练样本)很充足时,评估会比较容易。但是,当数据量有限时,如何进行评价是一个关键问题。必须寻找一些可行、可信的方法,对数据挖掘结果进行评价,以得到令人信服和满意的结果。

1) 基于统计的挖掘性能评估方法。

当训练样本和测试数据有限时,常用的挖掘性能评估方法有旁置法和交叉验证法2种。

(1) 旁置法将数据分成2部分,分别用于测试和训练。在实际挖掘过程中,测试数据占总数据的1/3,另外2/3为训练数据。为保证训练或测试的样本具有代表性,实际中的随机取样采用分层技术完成,这样数据在训练集和测试集中的每个类都有其应有的比例。另一种减小旁置法引起的偏差的方法是重复旁置法。该方法选取不同的随机样本进行一定次数的训练和测试。在迭代过程中,对随机选取的一定比例的数据进行训练,剩余的数据用于进行测试。对多次迭代的误差率进行平均,得到一个综合误差率。在实际应用过程中,一般将分层与重复2种手段结合起来应用。

(2) 交叉验证法是通过确定一个折数(即数据拆分的分区数量)对数据进行轮流分区测试的方法。当拟定折数为时,数据将被分配到个分区内,轮流将各分区应用于测试中,其余分区应用于训练中。通过次重复测试之后,每个数据都会测试1次。在实际使用时,交叉验证的折数一般设为10折,且通常与分层技术结合使用。这种标准的训练测试方法称为分层10折交叉验证法。本文后续的分类算法均采用分层10折交叉验证法。

2) 挖掘成本的衡量。

对于数据挖掘中的二值性(即类的取值只有2种)问题,一般会产生正确的肯定(True Positive,TP)、正确的否定(True Negative,TN)、错误的肯定(False Positive,FP)和错误的否定(False Negative,FN)等4种结果。定义分类的综合成功率为

(6)

误差率为

(7)

式(6)和式(7)中:为综合成功率;为正确的分类数;为总体分类数;为误差率;为错误的分类数。

描述TP、TN、FP和FN之间的关系的方法一般有混淆矩阵和可视化2种。对于混淆矩阵法,设某数据集有、和等3个类值,其混淆矩阵实例见表1。混淆矩阵的行表示类值对应的真实实例的个数,如表1中的第一行表示属于的真实实例的个数;混淆矩阵的列表示分类值对应的实际实例的个数。由此,矩阵的下标(,)便表示此次挖掘结果中将属于类的实例分到类中的实例的个数。

表1 混淆矩阵实例

4 试验验证

以某船的电力监控系统为例,利用其状态监测数据,对本文提出的方法的有效性进行试验验证。以该系统的部分状态监控数据(见表2)为例,运用Prism算法对其进行挖掘分析。表2中:No.1~No.25为实例编号;PL1~PL3为电力线路潮流标幺值;V1~V3为母线电压标幺值;CB1和CB2为断路器状态;Decision为针对已有参数作出的决策;S表示安全;U1为1级异常警报;U2为2级异常警报。在对表2进行数据挖掘之前,需对其进行离散化,使挖掘结果的知识表达更加清晰。

表2 信息监控数据库数据表

表2中需离散化的参数有PL1~PL3和V1~V3,其离散化区间的边界点取值标准见表3和表4。对表2进行离散化之后所得结果见表5。

表3 线路潮流PL的离散化方案

表4 母线电压V的离散化方案

表5 表2的离散化结果

对于表5,可用统计直方图的形式进行可视化显示,见图3。图3中,每个直柱(属性值)均包含1种或多种颜色(黑色、深灰色和浅灰色分别代表S、U1和U2等3种决策属性),不同颜色在直柱中所占比例代表在对应的特定属性值实例子集中,取相应决策属性的实例所占的比例。

a) PL1

b) PL2

c) PL3

d) V1

e) V2

f) V3

g) CB1

h) CB2

i) Decision图3 表5的统计直方图

采用Prism算法进行分类,还可挖掘出有用的if-then规则,此类规则是形成船舶能量管理专家库的基础,具体如下:

If V1 = NORMAL then S

If CB1 = OFF and PL2 = NORMAL then U2

If PL1 = HIGH and V1 = LOW then U2

If V2 = LOW and CB1 = ON then U1

If PL2 = HIGH and V1 = HIGH then U1

以某船电力监控系统状态监控数据为例,采用Prism算法对其进行挖掘分析。通过Prism算法对算例离散化数据进行分类,运用3.2节中的评估方法完成对挖掘分类结果、分类精确度指标等性能评估及挖掘成本的衡量,结果见表6~表8。从表6~表8中可看出,采用Prism算法对电力系统故障数据进行挖掘是有效可行的。

表6 Prism算法分类结果

表7 Prism算法分类精确度指标

表8 Prism算法混淆矩阵

5 结 语

本文融合数据仓库技术和数据挖掘技术,设计了船舶电力系统故障信息数据仓库系统架构,对采用的数据挖掘技术的主要方法和挖掘算法的性能评估进行了研究,提出了基于Prism算法的电力监控信息数据挖掘方法,并通过仿真试验验证了该方法的有效性。试验结果表明,该方法能为船舶电力系统故障诊断提供辅助决策,助力船舶合理安排检修计划,提高船舶电力系统的安全性和稳定性,为船舶电力故障诊断决策系统设计提供参考。

猜你喜欢
数据仓库数据挖掘船舶
基于数据挖掘探讨慢性肾衰竭处方规律
船舶上层建筑建造工艺探讨
基于数据仓库的数据倾斜解决方案研究
项目管理技术在船舶建造进度控制中的实践
项目管理技术在船舶建造进度控制中的实践
中国造!全球首艘智能船舶交付
数据挖掘综述
软件工程领域中的异常数据挖掘算法
数据仓库系统设计与实现
基于R的医学大数据挖掘系统研究