关联规则在油田开发动态预警系统中的应用
2016-04-14同晓
同晓
摘要:随着油田生产开发的不断深入,目前,我国大多数的油田已进入高含水或特高含水期。为确保原油的稳产以及高产,提高抗击的能力,必须建立油田开发动态预警系统。其中预警指标的选取,则成为建立预警系统时相当重要的一部分,本文将数据挖掘中的关联规则应用于预警指标的选取工作中,并完成了预警指标的选取,为建立油田开发预警系统提供了基础。
关键词:关联规则;预警指标;数据挖掘
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)05-0233-02
目前,我国多数油田生产已进入高含水或特高含水期,为保证原油的稳产甚至高产,必须及时准确地进行油田开发动态的评价与预警。本文利用数据挖掘中的关联规则算法对油田开发动态预警系统的预警指标进行确定,通过分析各项开发指标的关联度,确定了与原油产量关联度较高的10个生产因素,作为油田开发动态预警系统的预警指标,为下一步油田开发动态预警系统的完成打下基础。 将油田生产开发过程中可能出现的文献情况提前告知油田开发管理部门,以尽快做出防范措施,进而保证油田原油的稳产以及高产。
1 关联规则
假设I={i1,i2,…,im}是数据项的集合,D是数据库事务的集合,其中的事务用I表示,I?I。D中所有的事务都有一个唯一的标识TID。设A是一个项集,事务I包含A,当且仅当A?I。
同时满足最小支持度和置信度阈值的关联规则,称为强关联规则,一般用0%~100%之间的值表示。项的集合称为项集,包含项集的事务个数称之为频度,如果项集A出现的频度大于给定的最小支持度,可称之为频繁项集。
通常情况下,关联规则挖掘可以理解为两部分内容:
1)寻找频繁项目集:找出满足最小支持度的所有频繁项集,即就是支持度大于等于最小支持度的项目子集。
2)产生关联规则:在所有的频繁项集中,找出满足最小支持度和最小置信度的关联规则。
2 Aprior算法
1994年,Agrawal提了Aprior算法,该算法利用逐层搜索的迭代方法,利用K—1项集可搜索得到K项集。首先,对数据库进行完整扫描,对每个项的计数进行累加,同时找到所有满足最小支持度的项,找到频繁1项集的集合,标记为L1。而后,用L2找出频繁2项的集合L2,接下来再有L2找到L3,按照这样的方式不断迭代,直到频繁K项搜索完成为止。其中每查找一次L都需要完成一次数据库的全面扫描。
Aprior算法一般可以分为两个步骤:连接步和剪枝步。
1)连接步
为了找到Lk,一般会将Lk-与自身进行连接生成集合候选K项集。该集合记为Ck。假设L1和L2为Ik-1中的项集。Apriori 算法假设事务或项集中的项按字典排序排列。对于(k-1)项集L i ,则有排序 L i[1]1 可理解为当(L1[1]=L2[1])∧(L1[2]=L2[2]) ∧(L1[3]=L2[3]) ∧…∧(L1[k-2]=L2[k-2]) ∧(L1[k-1]=L2[k-1])时,则LK-1的元素L1和L2可以完成连接的。 2)剪枝步 定义CK是LK的超集,即就是CK中的项既可以是频繁项也可以不是,但是它包含所有的频繁K项。对数据库进行扫描,确定CK中每个候选集的数目,并且确定LK。 算法步骤描述: 输入项:事务数据库D;最小支持度;最小置信度。 输出项:事务数据库D中所有的频繁项集L以及强关联规则。 3 预警指标的选取 油田开发动态预警就是以油田的历史生产数据、地质分析、开发规划、相关生产资料以及专家的咨询意见为依据,建立的预测体系,将油田面临的产油波动情况和危险情况预先告知油田开发管理者和决策层,并分析造成危险状况的原因,以便油田开发管理者以及决策层提前做好防范措施,保证原油的稳产以及高产。 要完成油田生产预警系统的建立,我们必须要选取合理的预警指标。在油田生产过程中,影响原油产量的因素大体可分为地质因素和人为因素两大类。地质因素,从某种程度上说是不可改变的,可控性较弱。而人为因素则相对比较容易控制,预警系统选取的预警指标通常也就是这些可控性较强的认为因素,如采油速度、注水量、综合递减率等等。 选择油田生产预警指标的时候,既要建立合理的预警体系的框架,又要确保各个生产指标间的相互独立性。因此,我们可从油田各项开发指标中按一定的要求提取出历史数据,对那些影响原油产量指标参数进行挖掘,找到影响原油产量某些参数的关联规则,从而以更好地选取预警指标,提高预警的准确效率。 我们以采油一厂的历史数据为基础,利用数据挖掘中的关联规则完成预警指标的选取。首先完成数据的预处理,然后建立数据仓库,在此基础上挖掘所需关联规则。 3.1 数据处理 1)空值处理:本文利用牛顿差值多项式的计算方法,对原始数据中的空值进行填充。 2)噪声数据:在原油生产过程中,影响原油产量的因素很多,包括可控因素和不可控因素,相应的数据类型也会比较多。在利用 Apriori 算法进行关联规则挖掘之前,我们必须对原始数据进行处理,同时结合实际生产情况和专家提供合理数据范围,检查各数据表中的数据,利用聚类或分类的方法来找出噪声数据,然后将噪声数据看做空值,利用空值处理的方法替换噪声数据。 3)数据集成:从数据仓库中整理数据建立数据集为关联规则的挖掘准备,Apriori算法属于单维度关联规则挖掘,因此要对原始数据进行变换,使之成为同一个字段类型的数据表。
数据集成方法:首先,确定每一个属性意义和相应的原始数据;然后,根据各数据表的主键和外键并找到与它们相连接的源数据。完成数据的集成。接下来进行关联规则挖掘就需要用到这些数据集成。另外,数据集成的过程中,应该将实体类型和驱动分类码日期属性进行删除,来提高数据挖掘的效率。
3.2 关联规则挖掘
本文中将油田开发过程中的20个生产因素作如下的命名,I1(举升方式),I 2(月产油量),I 3(采油速度),I 4(月注入量),I5(月亏空),I 6(综合含水率),I 7(平均动液面),I 8(采出井开井数),I 9(注入开井数),I10(采液速度),I11(井口压力),I12(综合递减率),I13(自然递减率),I14(平均流压),I15(综合气油比),I16(累积注入孔隙体积),I17(地质储量采出程度),I18(井口粘度),I19(月注采比),I20(油井利用率)。
对采油一厂的2011年到2013年的数据进行预处理,利用数据挖掘中的Apriori算法进行挖掘,得到如表3-1所示的11项关联规则。
本文设置最小支持度和置信度为0.05和90%。油田生产预警系统的主要对原油产量的数据进行监测,所以选取能够挖掘出原油产量的第三条规则,表示举升方式、采油速度、综合含水率、采液速度、综合递减率、自然递减率、综合气油比、地质储量采出程度、月注采比和油井利用率具有相同变化趋势次数大于等于23次,并且当这10项指标发生变化时,原油产量变化的概率是100%。
利用Apriori 算法完成的关联规则挖掘,选取出了用于油田生产动态预警的预警指标。可以看出,举升方式、采油速度、综合含水率、采液速度、综合递减率、自然递减率、综合气油比、地质储量采出程度、月注采比和油井利用率这 10 项油田生产指标可以作为下一步建立油田动态预警系统的预警指标体系。
4 预警系统的建立
完成预警指标的选取之后,我们下一步就是建立预警系统,预警系统的主要思想是将检测得到的生产数据,与预测得到的数据进行差值分析,然后根据差值来确定危险的严重程度,给出相应的预警信号。
参考文献:
[1] 范秋芳,中国石油安全预警及对策研究对策[D] 中国科学技术大学,2007.
[2] 张孝天,油田开发预警方法研究及应用[M] 中国科技信息,2013(8):37
[3]马立平,任宝生,赵明.油田水驱开发动态系统预警指标体系的构建[J].特种油气藏,2010,17(4):62-65.
[4] 张增虎.中国石油和化工标准与质量[J]. 2013(02):130.
[5] 张英, 吴茂雪. 关联规则挖掘算法 [J]. 电脑编程技巧与维护,2014(23):17-23.
[6] 岳杰,肖由, 谭露.关联规则挖掘在应急管理系统中的应用[J].冶金自动化,2013(1):56-58.