余秋均
(中国石油辽河油田分公司勘探开发研究院,辽宁盘锦 124010)
岩性识别是地质研究的重要内容,对于沉积相刻画、储层特征研究、储层预测和地质建模等均具有重要意义,如何综合利用多种资料来实现岩性快速、高效识别,一直是油藏地质工作者关心的课题。通常的做法是基于录井、岩心等地质资料,结合理论图版对关键井的岩性进行人工划分,然后通过多参数交会图分析确定不同岩性的测井响应特征,建立岩性识别图版及定量解释标准,进而对未取心井进行岩性判别。该方法能够较好地进行大的岩类区分,但对于较为精细的岩性识别存在困难,尤其对于复杂岩性,识别界限模糊、识别率低,且在测井读值、图版制作及定量判别标准建立等方面工作量也较大。基于MRGC(Multi–Resolution Graph–Based Clustering)聚类的测井相分析和岩性识别方法,是通过MRGC多分辨率聚类方法实现测井相的自动划分及优选,利用岩相刻度测井相来建立岩性识别模型,并通过KNN(K-Nearest Neighbor)算法传播器将模型快速推广至关键井以外的所有井,从而能够在短时间内完成多口井的岩性解释,帮助地质人员快速获得地层岩性纵向发育情况和横向展布特征等信息,为下一步的各类地质研究奠定基础。
MRGC是在吸收了KNN算法和图论算法优点的基础上提出的一种非监督的聚类算法[1]。该方法中有两个重要参数,分别是近邻指数NI(Neighbor Index)和核心代表指数KRI(Kernel Representative Index),将样本集看成是具有吸引关系的吸引集,近邻指数NI表示一个样本点对吸引集中其他所有样本点吸引的能力(也代表样本点与其他所有点的相似度),其值越大,表明该点就越接近某一类的核心[2,3];核心代表指数KRI表示当前的吸引集可以作为一个核去融合其他吸引集的能力,核心代表指数越大的吸引集,会在融合过程中保持其主导地位而一直存在,而核心代表指数较小的吸引集则会在融合过程中被核心代表指数较大的吸引集“吞并”。MRGC方法首先计算样本点的近邻指数NI,然后根据吸引方程将待分类样本集初始划分成很多个小吸引集,并计算每个小吸引集中心点的核心代表指数KRI,最后根据融合算法不断地去融合各个小吸引集,从而得到不同分类层次下的聚类结果。
设待分类样本集S中有N个样本点,S= {x1,x2, ···,xi,···xN},x为样本集S中的一个样本点,它是一个具有多个属性的向量,y是样本集S中样本点x的第n个邻近样本点,n≤N-1。设定阈值K,认为在第K个最近邻之后的样本点之间就不再存在吸引作用。定义如下:
式中:δn(x)为样本点x对其第n个邻近样本点y的吸引能力,是一个随着样本点之间距离而变化的递减函数(当m=0时,δn(x)=1;当m值增大时,δn(x)逐渐趋近于0,但不能为0);α为平滑因子,α≥0(α与待分类样本集中样本点的数量有关,样本点数越多,α的取值越大,通常取α=N100;Smin和Smax分别为S(x)函数的最小值和最大值;NI(x)为样本点x的近邻指数,是S(x)函数的归一化值,0 ≤NI(x)≤1。
吸引方程用于判断样本点之间的吸引与被吸引的关系,通过吸引方程可将样本集分割为多个由中心点、吸附点和边界点组成的小吸引集。其中,中心点在其K最近邻范围内只吸引其他样本点,它是集合的核心;吸附点在其K最近邻范围内与其他样本点有着吸引和被吸引的双重关系,它是集合的主体;而边界点在其K最近邻范围内只被其他样本点吸引,它对集合边界进行了界定,将集合与其他集合区分开来。吸引方程的表达式为:
式中:Vx(y)为吸附函数,当样本点y属于样本点x的K最近邻集合时,其值取1,否则其值取0;Attrx(y)为样本点y对样本点x的吸引结果,其值为正数时表明样本点y吸引样本点x,其值为负数时则表明样本点y不吸引样本点x。
近邻指数NI是核心代表指数KRI的一个局部指标,核心代表指数不仅考虑了当前样本点的近邻指数,同时还考虑了样本间的近邻关系和空间距离,它是由近邻指数NI(x)、邻近序数M(x,y)、距离函数D(x,y)三个因子组成的复合型函数。核心代表指数的表达式为:
式中:z为样本点x的K个最近邻样本中第一个比x的近邻指数大的样本点;M(x,z)为样本点z相对于样本x的邻近序数,当z是x的第n个最近邻时,M(x,z) =n;D(x,z)为距离函数,常采用欧氏距离公式(在距离度量之前需要对样本的每个属性值做归一化处理,以消除样本属性因量纲以及数量级不同造成的影响);a、b、c为权重指数,用于控制每个因子对于核心代表指数KRI的权重,一般取a=b=c=1。
对核心代表指数KRI按降序排列形成一条曲线,在这个降序排列的曲线上,曲线从一个平稳段变化到另一个平稳段时对应有多个拐点,每一个拐点意味着一个分类层次的突变,对应不同层次的聚类结果[4]。通过求取该曲线一阶导数的最小值点可确定这些拐点,进而得到当前待分类样本集的最优聚类数。最优聚类数实际是一个“分辨率”的函数,即高分辨率(分类数多)的聚类结果是在低分辨率(分类数少)的聚类结果基础上进一步细分得来的[4]。用户根据实际测井相分析的需求来设定聚类的最大类别数、最小类别数、最佳聚类方案的最大数目等参数,MRGC算法便可通过分析和计算自动优选出若干个最优的聚类方案供用户进行对比和选择,进而帮助用户快速完成测井相划分。
岩性识别模型建立好后,最终需要利用KNN算法传播器将模型推广应用于所有未取心井。KNN算法是一种有监督学习的分类和预测算法,它所选择的相邻数据都是经过正确分类的对象,该算法既能基于已有的聚类知识库对新样本进行快速分类,还能对新样本属性值进行有效预测。
利用KNN算法进行分类的基本思想是:从已有聚类集合中搜索样本的K个最近邻样本作为样本点的代表,对该样本所属类别进行“多数投票表决”,如果一个样本在特征空间中的K个最相似的点对象中的大多数属于某一个类别,那么该样本也属于这个类别[5,6]。利用KNN算法进行数据预测的基本原理是:找出样本的K个最近邻样本,认为这K个最近邻样本对该样本的属性值有着不同的“贡献”,首先,对每个样本属性的数值进行归一化处理以消除量纲影响,选用合理的距离公式对样本点进行距离度量;然后,将不同距离的最近邻样本对该样本的影响用不同的权值表示,采用合理的转换函数(如高斯函数)将特征空间中的距离转换为权值,从而为每个最近邻样本分配权重;最后,将K个最近邻样本的属性值加权平均并赋给新样本,便得到新样本的属性值。
传统KNN算法存在一些不足,当样本数据分布很不均衡(如一个类的样本容量很大而其他类的样本容量很小)时,可能导致分类及预测结果产生偏差;此外,由于对每个新样本都要计算它到全体已知样本的距离,所以运算量较大。在传统算法基础上产生了多种改进算法,例如基于交叉验证的加权KNN算法,它以循环遍历的方式将样本集按比例拆分为训练子集和验证子集,对不同K值下模型的误差率进行估计,根据平均误差率对K值进行优选[7];类重心法也是一种改进KNN算法,通过计算训练集中每个聚类的重心,根据新样本与各个聚类重心的距离来判断其所属的分类[8]。当然,随着计算机的速度越来越快,改进KNN算法的版本越来越多[9],算法也越来越复杂和成熟,使KNN算法在分类及预测领域的应用越来越广泛。
测井相分析和岩性识别的关键流程包括测井曲线预处理及标准化、岩性敏感曲线优选及测井相的划分、岩相库的建立及测井相的标定、岩性识别模型的推广等[10–13],其流程如图1所示。对一组能反映岩性特征的测井曲线,基于其数值变化及数据分布特征,按照MRGC聚类方法将地层剖面划分为若干个抽象的相类别(即测井相);然后,根据录井和岩心等地质资料建立岩相数据库并对测井相进行标定,通过数学统计、知识推理等手段建立测井相与岩相之间的映射关系,最终达到利用测井资料来判断岩性的目的。
图1 基于MRGC聚类的测井相分析和岩性识别流程
第一步:测井曲线预处理及标准化。对所选曲线进行质量检验,如果测井曲线存在深度误差或受到井眼等环境因素影响较大,则必须对测井曲线进行深度误差校正、环境影响校正等预处理,确保曲线质量可靠。由于测井相分析的样本数据来自多口关键井,且基于测井相分析所建立的岩性识别模型最后会应用于关键井以外的多口未取心井,所以,需要预先对全油田范围内所有井的测井曲线进行标准化处理以提高井间曲线资料的一致性,只有多井测井资料具有相同的标准,多井间的分析和计算才是有意义的,根据关键井所建立的岩性识别模型才能在多井工区内推广使用。
第二步:测井相的划分。不同的测井曲线具有不同的岩性、物性、流体性质等反映能力,在进行测井相分析之前,应先根据测井相分析的目的合理地选取测井组合,如测井相分析的目的是进行岩性识别,那么就应该选择对岩性反应灵敏的测井曲线组合,且选用的曲线质量要能确保测井响应值可以真实地反映地层岩石情况。将选择的测井组合作为输入曲线,提取输入曲线在目的层段的测井数据作为样本数据,利用MRGC方法对样本数据进行聚类分析,从而实现对目的层段的测井相划分。
第三步:测井相的标定。测井相划分完成后,要进一步进行岩性识别,需要建立岩相数据库并对测井相进行标定。测井相是抽象的概念,而岩相则是具体的有实际地质意义的概念,利用岩心等资料建立岩相数据库并对测井相进行标定,是实现测井相到岩相转换的桥梁。首先,需要收集岩屑录井、岩心描述、薄片分析等反映岩性的地质资料,并对这些资料数据进行深度归位,以确保不同深度的岩性与其测井响应特征完全对应;然后,根据归位后的岩性地质资料对关键井的目的层岩性进行定性判断,如果岩性地质资料不够充足,则可结合测井软件中自带的中子–密度交会图版等进行分析和划分岩性,建立关键井在目标地层的岩相数据库,岩相数据库应尽可能地完备,以确保其中的岩性样本对目的层段可能出现的各种岩类都具有代表性;最后,用关键井的岩相对测井相进行标定,建立测井相与岩相的对应关系,从而赋予测井相对应的岩性含义,在此过程中,若存在一种岩性对应多个测井相的情况,可将这些测井相划归同一类进行合并。通常,将岩相曲线选为伴随曲线,使用MRGC方法对关键井的测井响应值和岩相同时进行聚类,从而建立起有监督的聚类机制,根据聚类结果中的权值系数可快速判定每一个测井相所对应的岩性。
第四步:模型推广应用。以关键井岩相标定后的测井相为基础,运行KNN算法传播器,将岩性识别模型推广应用于油田范围内的所有未取心井,进行多井分析和处理,从而获得所有井在目的层段连续的岩相剖面。
以Z油田潜山地层为例,采用MRGC方法建立测井相和岩性识别模型。Z油田自下而上分别为古生界、中生界侏罗系和白垩系及新生界地层。其中,古生界基岩出露地表后曾经历过长期风化、剥蚀和地表水淋滤作用,在潜山顶部形成了具有丰富次生孔隙的有利储层发育带,即潜山风化壳。油田有多口井钻遇潜山,潜山风化壳和基岩是其主要的含油层系。潜山储层发育程度与其岩性有着密切的联系,岩性的差异性是造成Z油田潜山储层非均质性的重要因素。
在完成Z油田测井曲线预处理及标准化后,选择自然伽马(GR)、密度(DEN)、中子孔隙度(CNC)、声波时差(DT)、光电吸收截面指数(PE)共5条常规曲线作为输入曲线,这些曲线都蕴含有一定的岩性信息,具有不同的岩性区分能力。Z油田还测量了阵列感应测井曲线,但考虑到地层电阻率受岩石孔隙中气、油、水等流体因素影响,故不选为输入曲线。利用Z油田的录井、岩心及薄片分析等资料确定岩性并建立岩相数据库,确定角砾岩、硅质砂岩、硅质粉砂岩、硅质泥岩为风化壳主要岩类,确定灰岩、泥质灰岩、灰质泥岩、生物灰岩为基岩主要岩类(图2),风化壳中少量发育的变质砂岩等岩性则不予以识别。设置各类输入曲线的刻度范围,剔除正常刻度范围之外的数据,避免异常数值对聚类产生干扰,然后,提取目标地层的测井数据作为测井相分析的样本数据。在此过程中,将录井、岩心和薄片分析等资料确定的实际地层岩相曲线作为伴随曲线,对样本数据进行有监督的学习训练。
图2 部分岩石铸体薄片特征
通过MRGC方法对测井相进行划分,由于风化壳与下覆基岩地层岩性类别差异较大,为了提高岩性区分精度,对其分层段进行聚类分析。对风化壳和基岩分别进行处理并得到多个最优的聚类方案,再参考岩相数据库中的岩相数目对聚类方案进行选择,一般选择原则为:确保测井相的个数多于岩相的个数,但不宜选择测井相个数过多的聚类方案,因为测井相划分太细有可能增大误差,而且在测井相标定时对不同的相进行合并会变得繁琐,与此同时,还要兼顾不同聚类方案下的岩石测井响应分布特征是否合理。综合分析后,对风化壳和基岩分别选择测井相个数为6和10的聚类方案,即将二者的初始测井相分为6类和10类。接下来,通过岩相对测井相进行标定,标定过程中发现,相同的岩性通常具有相似的测井相特征,由于所划分的测井相数多于岩相数,所以存在一个岩相与多个测井相匹配的情况,因此,需要将相同的岩相对应的测井相合并为同一类,合并后的测井相数目与岩相数目基本一致,分别为4类和5类,其中,与生物灰岩对应的两个测井相未被合并,代表了该类岩石的孔隙性差异。图3为关键井岩相与测井响应的对应关系,其中,岩相曲线被程序自动转换成了相应的岩性数字符号,从图中可以看出风化壳和基岩主要岩类的测井响应值分布情况。例如,风化壳角砾岩表现为中–低伽马,三孔隙度曲线整体上表现为高声波时差、高中子、低密度特征,指示孔隙十分发育,其光电吸收截面指数较低;灰岩表现为低伽马特征,三孔隙度曲线指示岩性较为致密;生物灰岩的岩性较为疏松,表现为中–高伽马、中–高声波时差、中–高中子、中–低密度特征。生物灰岩与风化壳角砾岩这两类岩性物性最好,是主要的储层发育段。
图3 两种MRGC聚类方案下的关键井岩相与测井响应的对应关系
图4和图5分别是基于MRGC方法得到的潜山风化壳和基岩的岩性聚类图版,聚类数分别为4类和5类。从图4和图5可以看出,基于MRGC方法得到的岩性聚类图版实际上是以多张图的二维平面显示模式来展示测井参数之间的多维交会关系,它通过多维立体的界限划分对测井参数交会的叠置区间进行了较好处理,而常规单一的交会图分析方法则难以对叠置区间进行界定,因此,其岩性划分较常规交会图分析法更精细、更合理。
图4 基于MRGC方法得到的潜山风化壳4类岩性聚类图版
图5 基于MRGC方法得到的潜山基岩地层5类岩性聚类图版
图6、图7分别是Z油田X1井、X2井基于MRGC方法进行测井相分析所得到的岩性解释成果图,X1井和X2井是两口未参加样本学习但具备录井岩性及岩心描述资料的验证井,用于对岩性解释成果进行检验。其中,第6道是通过MRGC方法进行测井相划分得到的原始测井相曲线,该曲线采用不同的颜色填充进行方波化显示,曲线没有具体的地质含义;第7道是与测井相对应的预测岩相,它被赋予了岩性含义,故用岩性符号进行表示;第9道是根据归位后的岩屑录井、岩心描述等岩性地质资料所建立的实际地层岩相剖面。从图6、图7可以看出,基于MRGC聚类方法所预测的岩性与实际地层岩性剖面相比,无论在岩性类别还是在岩性深度区间上,都具有较好的匹配关系,验证井的符合率均在80%以上,证实了模型的准确性,同时也证实了该方法在潜山岩性识别中的可行性。将基于关键井建立的岩性识别模型推广应用于Z油田所有未取心井,从而实现全油田范围内潜山风化壳和基岩地层的岩性快速识别及划分。
图6 Z油田X1井潜山地层岩性解释成果
图7 Z油田X2井潜山地层岩性解释成果
(1)MRGC是一种快速、高效的凝聚型多层次聚类方法,它基于近邻指数和核心代表指数两个关键参数进行聚类分析,根据降序排列的核心代表指数曲线上的突变来确定不同分辨率下的最优聚类数。该方法能够不依赖分析者的主观偏好,也不需要任何聚类数据结构的先验知识,分析人员可以很方便地结合实际需求对地层参数进行多层次聚类分析,通过不同尺度的聚类以及不同聚类数的方案优选来灵活地控制测井相的具体级别。
(2)KNN传播算法是在已知训练样本基础上的学习算法,对训练样本集中的数据多样性及数据分布有一定的要求。在建立岩相数据库时,应充分挖掘各种岩性相关的地质资料以获取尽可能多的岩性样本,确保关键井的岩性样本能较为全面地代表目标地层岩性,从而提高KNN传播算法的准确率。
(3)将采用MRGC聚类方法建立的模型推广应用于Z油田潜山地层。结果表明,浅层风化壳储层主要岩性为角砾岩,是由疏松岩石垮塌堆积形成的储集性能良好的角砾型储集体,其次为硅质砂岩、硅质粉砂岩、硅质泥岩;风化壳以下的潜山地层主要以灰岩和泥质灰岩为主,间或发育灰质泥岩,局部发育储集空间较为丰富的生物灰岩。该方法得到的岩性剖面同录井、岩心等资料确定的实际地层岩相剖面相比,具有很好的一致性,可以作为地层岩性判别及划分的重要方法。