天然气水合物数据挖掘服务组件的设计与实现

2016-11-08 08:33李连伟许明明孙记红安聪荣
计算机应用与软件 2016年10期
关键词:水合物数据挖掘组件

李连伟 许明明 刘 展 林 峰 孙记红 安聪荣

1(中国石油大学(华东)地球科学与技术学院 山东 青岛 266580)2(北京中科九章软件有限公司 北京 100190)3(青岛海洋地质研究所 山东 青岛 266071)



天然气水合物数据挖掘服务组件的设计与实现

李连伟1许明明2刘展1林峰3孙记红3安聪荣1

1(中国石油大学(华东)地球科学与技术学院山东 青岛 266580)2(北京中科九章软件有限公司北京 100190)3(青岛海洋地质研究所山东 青岛 266071)

天然气水合物是21世纪一种具有巨大潜在价值的未来能源,在能源危机的今天已经引起各国政府和科研部门的重视。海域天然气水合物勘探调查手段丰富多样,不同的勘查方式涉及的相关地质参数的不确定性比较大,采用的天然气水合物资源分析方法和预测评价方法也都相对较复杂。而数据挖掘技术在数据分析、预测评价等方面优势明显,且在石油勘探及矿山等很多地学领域进行了运用,结果可信度比较高,大大减少了勘测成本。通过对天然气水合物勘查业务和数据进行分析,研究适用于水合物数据挖掘方法,设计并实现了基于IBMSPSSModeler的天然气水合物数据挖掘服务组件,为天然气水合物勘查领域数据挖掘智能决策产品的研究奠定了良好的基础。同时也能够为海洋地质数据库建设和数据应用打下技术积累,从而为天然气水合物的勘探开发和综合评价提供帮助。

天然气水合物数据挖掘服务组件

0 引 言

21世纪我国经济将快速发展,随经济的快速发展,必然会带来能源特别是化石能源的大量消耗。我国正面临严重的能源短缺的问题,据统计,我国原油对外依存度由2005年的41%提高到2013年的59.16%,2014年预期将首度超过60%[1]。天然气水合物作为一种新型高效洁净型能源,被公认为是21世纪理想的替代能源,因此有必要加快寻找天然气水合物能源的进程。

我国针对水合物勘查开展的118专项和127工程等大型的调查项目,在天然气水合物实验室模拟、物化性质、资源评价等方面开展了多种研究项目。随着天然气水合物勘探开发的不断深入,物探、化探、多波束、钻探、取样及实验室分析等数据量增长迅速,但相关数据未能得到的充分利用,存在数据量丰富、信息获取贫乏的现象。如何充分有效地利用天然气水合物勘探开发海量数据,对其赋存情况进行识别与预测,对天然气水合物特性规律进行分析,发现数据中隐含的规律信息,需要一个强有力的数据分析工具,从海量数据中识别有价值的知识,为进一步的勘探开发和综合评价提供决策支持。

数据挖掘技术在社会各领域已开展了大量应用研究,并取得良好的社会效益和经济效益,由通用数据挖掘应用向特定领域的数据挖掘应用是数据挖掘技术发展的趋势。在天然气水合物勘探开发领域,很多学者重点针对天然气水合物某一类数据或某一类问题,利用数据挖掘技术进行了研究。但是目前为止还没有针对水合物勘探研究领域的数据挖掘应用整体研究,也没有形成天然气水合物数据挖掘应用产品。

本文基于面向服务体系架构SOA思想,基于IBMSPSSModeler进行天然气水合物数据挖掘服务组件开发,提供高效、可靠、跨平台的天然气水合物数据挖掘服务,加快水合物数据的研究与应用。

1 天然气水合物数据挖掘方法研究

研制天然气水合物数据挖掘组件,首先应研究天然气水合物勘查业务,分析勘探开发过程中产生的数据;在此基础上研究适合天然气水合物数据挖掘方法。

1.1水合物勘查业务与数据分析

(1) 水合物勘查业务分析

通过研究分析《海洋天然气水合物资源勘查规范》和《海洋天然气水合物数据库数据结构》,在进行水合物勘查过程中,主要进行地形地貌勘查、地球物理勘查、地质取样、地球化学勘查、实验室模拟实验分析和其他相关勘查[2],如图1所示。

图1 水合物勘查业务分析

(2) 天然气水合物数据分析

根据《海洋天然气水合物数据库数据结构》规范,天然气水合物数据主要包括空间位置数据、调查数据、取样数据、钻探数据、走行观测数据、定点观测数据、样品分析数据、资料解释数据、实验数据、成果报告及图件等,又分为关系数据、空间数据、非结构数据[3],如图2所示。

图2 水合物勘探数据分析

关系数据利用ORACLE数据库采用了传统的关系数据模型进行统一存储和管理,非结构化数据以文件的方式进行存储和管理,空间数据主要是指在水合物勘查过程中具有坐标的数据和分析后形成的具有坐标的异常图,其中取样位置数据包括海底表层取样位置、孔隙水取样位置、顶空气取样位置等;海洋环境图主要是指海底温度、压力分布图;地质构造图又包括海底断层分布图、海底构造带分布图及海底构造单元分布图等;海底地质图主要包括地质剖面图、地层柱状图等。

1.2数据挖掘方法研究

(1) 数据预处理

数据挖掘所需数据必须是干净、准确、简洁的数据。原始数据是从各实际应用空间数据库、关系数据库等多个数据库中获取的,不同的数据库往往缺乏统一的数据标准和定义,数据结构也有较大的差异,量纲与单位不同,使得数据存在不一致性;对同一数据可能在不同的数据库中都有记录;数据在采集、存储、传输等过程中也可能会出现某些数据的丢失或数据质量下降的情况。因此,首先需要对原始数据进行预处理[4-8]。

针对数据的不一致性和可能存在的重复,采用标准化、选择、抽样、合并四种方法来消除各数据单位与量纲的差异,筛选数据,统一标准;利用包括线性插值方法、克里金插值、反距离插值等插值方法来处理数据缺失现象;采用九点圆滑方法进行数据圆滑来解决数据在获取或传输过程中可能存在的数据质量下降的现象。

(2) 数据分析

数据挖掘中常用的数据分析方法有统计分析方法、趋势面分析方法、判别式分析方法、回归分析方法、因子分析方法、聚类分析方法共6种[9-12]。利用统计分析方法可以对预处理后的数据进行探索分析,包括均值、方差、中数、标准差、总数等,可以初步了解数据的分布特征及规律;趋势面分析方法可以确定区域背景异常,进而确定局部异常,根据趋势分析结果,绘制背景异常等值线图和局部异常图;回归分析方法是研究某一变量与多变量之间的线性关系,根据自变量对因变量的方差贡献的显著程度,“引入”或“剔除”指标,建立回归方程,并对回归方程式进行检验,确定变量间的关系,分线性回归和非线性回归两种方法;因子分析方法指研究变量之间的相关关系,从研究相关系数矩阵的内部结构出发,找出数目较少的,相互独立的基本变量,称为主因子,并计算主因子的解,给出相应因子得分。由此可以排列各水合物判别指标在决定异常中所起的作用和须序;判别分析方法指从众多指标中选择对分类最优的指标形成综合指标,对样本进行判别分类;聚类分析的基本思想是根据各个评价指标之间某种相似性或者差异性通过采用某种数学方法进行定量研究[13,14]。

(3) 综合评价

由于地学参数之间往往存在相关关系,评测目标比较多,目标参数间关系比较复杂,许多智能算法如模糊评价法、AHP层次分析法、灰色理论评价法等由于自身特点,无法解决地质数据非线性匹配的问题,而神经网络和模式识别的发展让人们有了更多的选择,在一些专家意见难统一的领域,运用神经网络和模式识别建立综合评价系统往往能取得与令人信服的结果[15-17]。因此综合评价方法选用模式识别和神经网络两种方法。

神经网络通过构建数学模型完成对自然界存在的生物神经网络的抽象、简化和模拟实现计算机世界中信息资源的处理,它通过对样本的学习训练来改变自身的拓扑结构和连接权值,以此保证其不断接近期望的输出结果,通过学习调整,提高自身的性能[18]。模式识别通过计算机的辅助能够自动模拟和识别客观世界中的事物、事件、过程或现象[19],它首先对数学领域的点集划分采用核参数进行表示,然后对核参数进行评价,不断输入样本来计算评价误差的协方差在某一规则下实现分类。

2 组件设计与实现

2.1总体设计

本文采用B/S架构,基于SPSSModeler二次开发,以微软通信框架WCF(WindowsCommunicationFoundation)服务的方式,按照服务组件设计->服务组件研制开发->服务组件测试->天然气水合物数据挖掘服务平台研制的全过程进行研究。

2.2功能设计

根据前文对水合物数据挖掘方法的研究及水合物数据特点分析的基础上,对水合物数据挖掘服务组件进行功能设计。采用SPSSModeler二次开发和自主开发相结合的方式,主要包括数据服务、数据挖掘、结果展示3大部分。数据服务包括文件上传、数据发布、数据浏览功能;数据挖掘包括数据预处理、数据分析、综合评价功能;结果展示包括Text数据展示、图形文件展示和Excel数据展示功能。其中数据挖掘是核心,所包含的数据预处理功能又包括抽样、选择、合并、圆滑、插值等模块;数据分析功能又包括统计分析、趋势面分析、判别分析、因子分析、回归分析和聚类分析模块;综合评价功能又包括模式识别和神经网络模块。

2.3服务接口设计

服务接口是指一个组件各种业务可以通过接口定义来实现业务的功能。一个服务接口可以实现一个或者多个业务功能。而且每一个接口都有0个或者多个请求参数,也会有0个或者多个相应参数,根据用户需求不一样,这时参数可以是简单的数据类型也可以是复杂的数据类型。根据组件功能设计,对每个组件的服务接口进行了详细的设计,对每个接口建立了详细的接口参数表。以K均值聚类组件为例,其参数如表1所示。

表1 K均值聚类组件接口详细参数表

2.4关键技术

1) 基于SPSS Modeler二次开发

IBM公司的SPSSModeler是比较有影响的通用数据挖掘系统,该工具提供可视化、流程化的集成开发环境,用户可以在其基础上开发适于自己领域的特定应用。利用SPSSModeler进行数据挖掘又可以分为两种方式,即流文件方式和脚本文件方式。SPSSModeler软件提供了批处理模式(IBMSPSSModelerBatch)实现调用SPSSModeler的挖掘模块,在此基础上可以实现基于SPSSModeler的数据挖掘服务平台快速构建和实现。

(1) 流文件方式

通过在SPSSModeler软件的主工作区以拖拽的方式将与业务相关的数据操作图表来创建业务相关数据流,每个操作都用一个图标或者节点表示,这些节点连接在一起构建成一个业务流并输出到本地,流保存格式为.str。在平台调用时,首先要根据实际需求对流中的参数进行修改,然后以批处理的方式执行。具体流程表现为首先在SPSSModeler中创建流—选择节点—连接节点—保存流,然后在服务平台上实现创建流脚本—修改流参数—执行。

(2) 脚本编程方式

首先在服务平台中创建相应脚本,根据挖掘业务编写相应的脚本内容,内容中包括流和节点的创建、节点连接及相应的参数等信息,然后以批处理的方式调用执行。

本文以因子分析为例详述采用脚本编程方式开发的过程如下所述。

第一步,编写脚本文件。首先在脚本文件内实现流和节点的创建,将相应节点进行连接并设置相应参数,参考代码如下:

createstream′NeuralNetworkStream′

//创建神经网络流

varexcelimport

setexcelimport=createexcelimportnode

set^excelimport.full_filename= ″C:/MarineDataMiningForTest/Files/xls/r.xls″

set:^excelimport.excel_file_type=Excel2003

varimporttype

setimporttype=createtypenode

connect^excelimportto^importtype

set^importtype.type.′result′=Set

11月13日8版《聚焦核心素养》,其“2007年11月徐汇区开了先河。这是具有悠久历史文化底蕴和优秀教育传统的徐汇区,在教育史上书写的大手笔:堪称徐汇区教育界的大事,刷新上海区级层面举办此节的纪录”,用“……开了先河……徐汇区,在教育史上的大手笔……大事,开创了上海区级层面举办此节的纪录”为妥。书写手笔,此话不通;是先河,何来“刷新”“坚定了徐汇教育走内涵发展、科学发展、持续发展的新思维”,用“强化了徐汇……的新思维”为好。

set^importtype.direction.′序号′=Input

set^importtype.direction.′经度′=Input

set^importtype.direction.′纬度′=Input

set^importtype.direction.′甲烷上′=Input

set^importtype.direction.′甲烷下′=Input

……

set^importtype.direction.′result′=Input

set^importtype.direction.′result′=Target

varneu

connect^importtypeto^neu

set^neu.method=MultilayerPerceptron

set^neu.model_name=″result″

execute^neu

savemodelresultasC:MarineDataMiningForTestFilesmodelsNeuraNet.gm

exportmodelresultasC:MarineDataMiningForTestFiles empNeuraNetwork.txt

第二步,脚本调用。该步骤是为了在平台内执行脚本完成数据挖掘过程所必须的步骤,脚本执行代码如下:

Processprocess=newProcess();

process.StartInfo.CreateNoWindow=true;

process.StartInfo.UseShellExecute=false;

process.StartInfo.FileName=spssModelerPathNoGUI;

process.StartInfo.Arguments=cmd;

process.Start();

execute^excelexport

//执行节点

以流文件方式进行SPSSModeler开发时,由于是事先在软件中输出流,开发难度较低,节点属性修改方便,但由于节点与节点都已经固定,对流变动较大时(如增加删除节点)就显得灵活性不足。而以脚本文件方式进行开发则可以克服这一缺点,可以在脚本中对流进行修改,因此本文采用脚本编程方式来实现。

2) WCF服务发布

WCF是微软提供的基于SOA的统一编程框架,用于构建面向服务的应用程序。他为数据通信提供了最基本最有弹性的支持,使得SOA架构的软件开发效率大大提高[14],WCF服务发布的步骤为定义服务契约接口—定义服务类实现契约接口—配置和托管服务—配置和建立客户端—调用服务。

(1) 定义服务契约接口

契约接口中定义需要公开的操作契约(即方法),接口声明使用ServiceContract关键字,方法声明使用OperationContract关键字,将服务暴露给客户端。通过使用ServiceContract标记将接口公开为服务契约。

数据服务接口代码如下所示:

[ServiceContract]

publicinterfaceIdataProvider

{

[OperationContract]

stringGetEntityList(stringpEntityName,stringstrHql);

[OperationContract]

byte[]GetEntityByteValue(stringstrHql);

//

……

//

}

(2) 定义服务类实现服务契约接口

服务契约接口中的所有操作都是没有定义实现的,业务逻辑操作必须在服务类中完成。服务契约接口并不是必要的,但一般推荐有服务契约接口,这样才能发挥其灵活性和扩展性优点。

(3) 配置和建立宿主

WCF服务的寄宿方式包括自托管、Windows激活服务WAS(WindowsActivationService)托管、IIS托管等方式,用户可根据应用程序运行的具体网络类型来选择相应的寄宿方式。自托管是指将WCF服务寄宿于一个由开发者提供并管理的应用程序中。使用自托管时,配置和使用都相对简单。本文采用自托管的方式,将WCF托管在宿主网站上。

(4) 配置和建立客户端

本文采用VS开发环境,使用WCF服务时,直接在客户端应用程序内添加相应的服务引用即可。

(5) 调用服务

首先以具体的服务名+Client来创建客户端的服务实例,然后通过服务实例访问公开的服务操作,来完成服务的调用。

3 实例验证

本次研究以位于珠江口盆地南部凹陷带的白云凹陷为验证区域,结合水合物赋存条件、勘查业务与数据分析,选取进行水合物综合评价的评价指标,主要包括地质条件、地球物理特征和地球化学特征3个方面的评价指标。温压条件是判断水合物赋存的一个非常重要的指标,但所选验证区域内绝大部分区域的温压条件都满足水合物赋存需求,所以温压条件不作为本次研究中的评价指标。

结合收集的资料,首先进行数据的预处理,消除评价指标数据可能存在的单位与量纲差异、数据缺失、数据传输过程中质量下降的现象。主要预处理模块如图3所示。

图3 数据标准化模块和数据圆滑模块

在水合物综合评价过程中,虽然对水合物综合评价所需的评价指标数据进行了数据预处理,但是评价指标过多会导致评价速度慢的缺陷,需要进行数据分析处理,以少量主要的有代表性的评价指标代替大量的评价指标。主要的数据分析模块如图4所示。

图4 因子分析模块和聚类分析模块

经对各评价指标采用数据分析模块分析后,最终选取地质条件(包括构造条件、沉积条件和气源条件)、地球物理特征(包括似海底反射层BSR(BottomSimulatingReflector)、重力和磁力)和地球化学特征(顶空气甲烷异常)3大方面的7个评价指标,以剩余重力异常为基础圈定研究区域内的评价单元,如图5所示。

图5 白云凹陷重力异常评价单元

由于水合物钻探样品数据过少,无法满足BP神经网络学习训练对样本数量的要求,在水合物远景预测时,可先通过“自学”模式识别方式,结合已有资料经相关专家分析选择出典型的有代表性的样本作为BP算法及相关改进算法的学习样本,在此基础上进行整个研究区域内水合物赋存区的识别,其模块如图6和图7所示。

图6 “自学”模式识别模块

图7 BP神经网络模块

采用“自学”模式识别算法运算需要输入各评价指标数据定量化数据和权值,在进行权值计算时采用已有研究资料所确定的各评价指标的有利程度和层次分析法AHP(AnalyticHierarchyProcess)联合进行。根据设计的BP神经网络模型结构,通过对选定的样本进行学习训练,对研究区域所有样本进行识别和预测,其结果如图8所示。

图8 白云凹陷BP算法识别与预测结果图

从图8可以看出,所选研究区域水合物有利赋存单元分布于区域中部和东部,较有利单元分布于其东北部和西南部。在选定的28个评价单元中,有利于水合物赋存单元为BY-5、BY-6、BY-10、BY-23、BY-25和BY-28单元,其中在BY-10区域已经成功钻取出水合物样品,在一定程度上验证了本研究评价结果的可行性。

天然气水合物综合评价需要地质、地球物理和地球化学大量的评价指标数据,本研究仅基于收集整理的部分资料进行水合物综合评价方法验证,其结果需大量资料做进一步完善。

4 结 语

本文在对天然气水合物勘探业务分析和数据分析的基础上,研究数据挖掘方法,采用服务组件的开发思想,设计并实现了基于IBMSPSSModeler的天然气水合物数据挖掘服务组件,并以白云凹陷区域为实例,进行了服务组件的验证。构建的服务组件能够对海量水合物数据的处理及综合分析提供一定的帮助,为专题数据挖掘应用提供技术方案,为天然气水合物勘查领域数据挖掘智能决策产品的研究奠定了良好的基础,同时也能够为海洋地质数据库建设和数据应用打下技术积累。但是,随着新的数据挖掘方法的出现,组件在功能上还需要进一步扩展,提供更加完善的数据挖掘功能。

[1] 王宇宁,石宝明,白雪松.2014年中国原油供求分析及展望[J].化学工业,2014,32(8):1-5.

[2] 刘展,杨辰,魏合龙,等.基于EPICENTRE的海洋钻探数据库构建方法研究[J].计算机技术与发展,2012,22(6):49-52.

[3] 李曼.面向对象天然气水合物数据挖掘支持研究[D].青岛:中国石油大学,2013.

[4] 刘明吉,王秀峰,黄亚楼.数据挖掘中的数据预处理[J].计算机科学,2000,27(4):54-57.

[5] 菅志刚,金旭.数据挖掘中数据预处理的研究与实现[J].计算机应用研究,2004,21(7):117-118,1587.

[6] 方洪鹰.数据挖掘中数据预处理方法研究[D].重庆:西南大学,2009.

[7] 关大伟.数据挖掘中的数据预处理[D].长春:吉林大学,2006.

[8] 刘莉,徐玉生,马志新.数据挖掘中数据预处理技术综述[J].甘肃科学学报,2003,15(1):117-119.

[9] 周涛,陆惠玲.数据挖掘中聚类算法研究进展[J].计算机工程与应用,2012,48(12):100-111.

[10] 孙剑.海洋环境数据仓库与数据挖掘应用研究[D].青岛:中国海洋大学,2011.

[11] 马廷淮,穆强,田伟,等.气象数据挖掘研究[J].武汉理工大学学报,2010,32(16):110-114.

[12] 李德仁.论空间数据挖掘和知识发现的理论与方法[J].武汉大学学报:信息科学版,2002,27(3):221-223.

[13]KaufmanL,RousseewPJ.FindingGroupsInData:anIntroductiontoClusterAnalysis[D].NewYork:JohnWiley&Sons,1990.

[14]MullerB,RrinhardtJ.NeuralNetworks:anIntroduction[D].Berlin:Springer-Verlag,1997.

[15] 高学辉,刘艳忠,王巧芝,等.基于在线支持向量回归算法的短时交通流预测[J].山东科技大学学报:自然科学版,2011,30(1):78-82.

[16]RumelhartDE,HintonGE,WilliamsRJ.LearingRepresentationsbyBack-PropagatingErrors[J].Nature, 1986,323(9):533-536.

[17] 刘展,许炳如.塔里木盆地航磁局部异常的自学模式识别分类及评价[J].石油地球物理勘探,1999,34(1):71-78.

[18] 吴昌友.神经网络的研究与应用[D].哈尔滨:东北农业大学,2007.

[19] 赵喜林,赵喜玲,江祥奎.模式识别方法及其比较分析[J].信阳农业高等专科学校学报,2004,14(3):37-40.

[20] 张海静.基于B/S模式的组态监控软件Web发布系统[D].北京:北京交通大学,2013.

DESIGNANDIMPLEMENTATIONOFDATAMININGSERVICECOMPONENTOFGASHYDRATE

LiLianwei1XuMingming2LiuZhan1LinFeng3SunJihong3AnCongrong1

1(CollegeofGeoscienceandTechnology,ChinaUniversityofPetroleum,Qingdao266580,Shandong,China)2(BeijingJozzonSoftwareCo.,Ltd.,Beijing100190,China)3(QingdaoInstituteofMarineGeology,Qingdao266071,Shandong,China)

Gashydrate,afutureenergywithhugepotentialinthe21stcentury,ithasgotattentionfromgovernmentsandscientificresearchdepartmentsastheenergycrisisbecomesaseriousissue.Currently,therearevariousmethodstosurveyandexploregashydrateinmarinearea,notonlytheindeterminacyofgeologicparametersdiffergreatlywithdifferentexploringmethods,themethodsforanalyzing,predicatingandevaluatinggashydratearealsorelativelycomplicated.However,thedataminingtechniqueshavedistinctadvantagesinthefieldsofdataanalysis,predicationandevaluation,andithasbeenappliedtothepetroleumandmineexplorationandothergeosciencesfieldforalongtimewithhighreliability,reducingtheexplorationcostsgreatly.Therefore,inthispaper,thedataminingmethodforgashydrateisresearchedbyanalyzingthebusinessesanddatumofgashydrateexplorationwhilethedataminingservicecomponentsforgashydratearedesignedandimplementedbasedonIBMSPSSModeler,whichprovidegoodbasementforstudyingintelligent-decisionproductsfordata-mininginthegashydratefields.Besides,thestudyalsoaccumulatetechnologiesforconstructingmarinegeologicdatabaseandapplyingdatum,thusbeingusefulforgashydrateexploration,developmentandcomprehensiveevaluation.

GashydrateDataminingServicecomponent

2015-07-03。中央高校基本科研业务费专项资金项目(13CX06012A,15CX02005A);国家海洋专项资金项目(GZH201100313)。李连伟,讲师,主研领域:地理信息系统应用和系统设计开发。许明明,硕士。刘展,教授。林峰,研究员。孙记红,工程师。安聪荣,讲师。

TP

ADOI:10.3969/j.issn.1000-386x.2016.10.008

猜你喜欢
水合物数据挖掘组件
无人机智能巡检在光伏电站组件诊断中的应用
气井用水合物自生热解堵剂解堵效果数值模拟
探讨人工智能与数据挖掘发展趋势
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
热水吞吐开采水合物藏数值模拟研究
天然气水合物保压转移的压力特性
我国海域天然气水合物试采成功
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用