摘要:随着数据挖掘技术的研究与开发,数据挖掘技术目前主要应用于智能商务领域,在石化领域中如何展开数据挖掘开发应用还有待研究。基于Oracle Data Mining(ODB)数据挖掘工具,结合实例介绍了在石化企业中应用数据挖掘的系统方法和基本过程。
关键词:数据挖掘;Oracle Data Mining(ODB)
Abstract: With the development of data mining technology, data mining technology is mainly used in the area of Business Intelligence. Applying the data mining technology into the petrochemical enterprise is still a problem needed to be solved. By taking some examples in Oracle Data Mining, the paper introduces its applications and directions in the petrochemical enterprise.
Key words: Data mining; Oracle Data Mining(ODB)
1 引言
随着信息技术的飞速发展,一般的石化企业的信息化系统也都逐渐建立起来。信息数据不断庞大,但是这些信息只是存储在电脑中,不能形成具有实际价值的信息。因此,如何从有效的信息中挖掘出对于企业发展具有指导价值的信息就成为数据挖掘应用所要进行研究的主要方向。特别是在故障诊断当中,根据对各个监控点的历史状态数据进行提取、整理和转换之后,有效地进行挖掘就可以产生出对生产中故障诊断和排除具有指导意义的知识。本文将基于Oracle公司的数据挖掘产品,介绍其基本体系结构以及利用Oracle 的Oracle Data Mining开发数据挖掘应用系统的基本方法和过程,并且以某石油企业的决策支持系统的开发为背景提供一个开发实例。
2 Oracle Data Mining体系结构和开发工具
2.1 数据挖掘介绍
数据挖掘(Data Mining)是近年来随着人工智能和数据库技术的发展而出现的一门新兴技术。它是多学科综合的产物,历史虽然较短,但从20世纪90年代以来,它的发展速度非常迅速。数据挖掘能从庞杂的信息中提取有用的数据,通过公正客观的统计分析,快速而且正确地得知企业经营信息,找出企业运行模式,准确掌握未来的经营动态。可以把数据挖掘定义为:一个利用各种分析工具在海量数据中发现模型和数据之间关系的过程,这些模型和关系可以被企业用来分析风险、进行预测。
2.2 Oracle DataMining体系结构
Oracle DataMining数据挖掘模块在Oracle9i中是一个可选模块,是以Oracle9i关系型数据库为基础并且集成在Oracle9i中的数据挖掘开发工具。具有针对Oracle关系表以指定的挖掘模式进行数据挖掘的功能。Oracle DataMining体系结构如图1所示。
图1 Oracle DataMining软件系统体系结构图
Oracle9i DataMining API是Oracle9i DataMining(ODM)的一个组成部分,它允许用户通过使用Java程序代码调用来进行软件开发。ODM API针对标准Java数据挖掘(JDM)提出的概念与方法进行开发设计。JDM符合Sun Microsystem的Java通讯处理过程作为Java请求规范(JSR-73)。
数据挖掘服务器(DMS)是集成在Oracle9i数据库中的数据挖掘服务器功能模块,因此可以与RDBMS的实用性和适应性相结合。DMS同时还提供一个原数据(metadata)库,其中包括了挖掘的输入和挖掘结果,以及这些数据存取的名字空间。
通过对DMS的设定,可以根据用户的需要提供不同的挖掘模式,如聚类分析、分类、关联规则分析、属性权重模型分析等。同时也可以对各种挖掘模式所使用的算法进行定义,如在聚类分析中可以使用O-cluster、K-means算法。
3 开发实例
在本开发实例中,数据挖掘模块是作为某石油天然气公司决策支持系统中的一个模块,主要应用于生产设备的生产预警和故障分析诊断,因此在开发中主要使用了ODM中的关联规则分析和聚类分析挖掘模式。在此主要说明关联规则部分的开发过程。
石化企业的生产过程是一个流程,因此同一生产设备中的元件之间和不同的生产设备的元件之间都会产生相互的影响。关联规则可以通过对不同的元件的状态数据进行挖掘,发现出不同元件之间的相互影响的关系,从而对设备的故障预警和诊断提出指导意义的信息。
本例中数据挖掘的过程是以B/S模式进行开发的,使用Jsp与JavaBean相结合的技术开发web应用。通过使用Jsp技术与JavaBean对ODM API进行调用,实现逻辑层和表示层。在Jsp页面中设定数据挖掘的参数,如数据提取的路径、数据挖掘模式及所需的算法、挖掘设定阀值等;根据所设定的参数,通过JavaBean在Oracle关系型数据库中产生挖掘所需的关系表,并通过JavaBean访问ODM API进行挖掘运算,同时使用JavaBean提取出挖掘结果结合Jsp页面技术进行表示。整个数据挖掘体系结构如图2所示。
图2 Oracle DataMining开发体系
数据挖掘模块的开发过程主要分为以下几个部分。
3.1 数据提取
在开发数据挖掘模块之前,客户方已经实施了一套infoplus实时数据库系统对生产设备的监控点的状态进行监控并把记录保存在数据库中,因此在开发数据挖掘模块的时候根据需要通过该软件提供的JDBC-ODBC接口从实时数据库的历史记录中提取出所需的数据。
3.2 数据清理
存在不完整的、含噪声的和不一致的数据是大型的、现实世界数据库或者数据仓库的共同特点。数据清理过程就是通过填写空缺的值,平滑噪声数据,识别、删除孤立点,并解决不一致的数据。
在本开发实例中主要是针对从实时数据库中提取出的数据进行清理,删除可能是人为因素引起的设备的状态不一致的数据。在开发的过程中,根据测控点的形态的不同采取不同的清理方法。针对数字量点(如电磁阀门的开关状态)根据该点的记录状态是否可用来进行过滤。针对模拟量(如温度仪表测控数据),对样本数据的分布状态进行分析,根据样本数据的分布状态以置信度为95%的置信区间进行分析,计算出最大值σmax和最小值σmin,并且根据样本数据点之间的增量(或者递减)关系计算出最大的增量斜率的绝对值kmax。从而根据σmax、σmin和kmax对提取出的数据进行比较,过滤掉噪声点和孤立点。
3.3 数据转换
数据转换是将数据转换成适合于机器挖掘的格式。Oracle Data Mining关联规则模块所采用的算法是传统的Apriori算法,是对Oracle关系数据库中一张二进制表进行处理,在其中寻找出频繁项集,并最终产生出满足设定的阀值的强关联规则。因此,在数据转换的过程中,根据所取控制点数据与该点的极限值(最大值σmax、最小值σmin和最大的增量斜率的绝对值kmax)进行比较,从而以二进制数据显示出该点在该时刻所处的状态,并把所有的经过处理、转换的控制点数据存储在Oracle关系表中。
3.4 数据挖掘
在应用ODM的过程中,首先根据已经进行的工作并对挖掘所需的模式、算法、数据规格等进行定义构建数据挖掘模型。
(1) 连接数据挖掘服务器(DMS)。
(2) 对输入的数据进行描述,主要是针对输入数据的组织形式和规格进行描述。
(3) 对使用的数据挖掘模型和算法进行定义,用户可以通过Jsp页面与JavaBean连接ODM API,对相关的参数进行设定,如最小支持度、最小置信度以及最大关联长度等。
(4) 构建数据挖掘模型。
在模型构建完成之后即可以把模型提交给数据挖掘服务器进行处理。在数据挖掘服务器进行处理的过程中,可以通过调用数据挖掘任务模块来显示当前DMS所处状态。在DMS处理完成之后会显示Success状态。
此时,可以通过操作ODM API对运算出的结果进行提取,并以HTML的格式显示在页面中。同时可以针对客户感兴趣的挖掘结果进行存取,如图3所示。
图3 数据挖掘结果
4 结语
随着信息技术的发展,企业得到海量信息的能力已经越来越强,但对信息的分析、理解以及再利用的能力却没有实质提高。通过使用数据挖掘可以在海量的信息中获取潜在的知识,为企业处理海量信息,建立有效的决策支持系统提供了一种快捷的方法。本文基于Oracle Data Mining工具对石化企业中的数据挖掘应用进行了介绍,从而挖掘出对实际生产形成指导意义的信息。
参考文献:
[1] Tom M.Mitchell著,曾华军译. 机器学习[M].北京:机械工业出版社, 2003.
[2] Jiawei Han, Micheline Kamber. 数据挖掘:概念与技术[M]. 机械工业出版社, 2001,8.
[3] Kevin Loneyd等. Oracle9i 参考手册[M]. 机械工业出版社, 2003,7.
[4] W.H.Inmon. 数据仓库[M]. 机械工业出版社,2000,5.
[5] 林杰斌,刘明德,陈湘.数据挖掘与OLAP理论与实务[M]. 清华大学出版社,2003,1.
[6] Oracle9i Data Mining Data Sheet, August 2001, http://otn.oracle.com.
[7] Oracle9i Data Mining Technical White Paper, December 2001, http://otn.oracle.com.
[8] Oracle9i Data Mining Concepts, Release 2(9.2), March 2002, http://otn.oracle.com.