基于极端随机树算法的流体识别研究
2023-11-21饶骁驰
饶骁驰, 杨 昊, 喻 辉, 文 武, 周 航, 陈 敏
(1.成都信息工程大学 计算机学院,成都 610225;2.78111部队,成都 610011)
0 引言
随着勘探程度的增加,一些易于发现的油气藏已勘探殆尽,深海勘探、非常规油气藏勘探已逐步成为勘探热点。十几年前,人们主要关注储层的研究,即储层物性(主要是孔隙度)究竟如何,储层厚度和范围的大小等。常规的地震属性分析、阻抗反演等方法在这些研究领域起了很大作用。近十年来,一些学者逐渐将目光转向储层内流体的识别,油、气、水的识别,这些研究目前已取得了很大地进展,叠前反演、AVO分析、低频伴影分析等技术相继产生、发展。但随着致密油、页岩油等勘探领域逐渐进入 人们的视野,一些新的需求随之出现。相对于常规油气藏,以上提到的这些非常规油气藏孔隙度低、非均质性强、流体粘滞性偏高、地震响应特征不明显。因此,仅凭借单一属性、参数或方法进行流体识别存在较大的不确定性,多属性融合进行流体识别是大势所趋。
在储层流体识别中传统非机器学习方法限于效率低和工作量大,仅应用于对有利区或目标区的研究。同时不同的流体因子对不同区域储层含流体的敏感程度表现不同,传统非机器学习方法需要依靠人为干预,因此人为主观因素过多,干扰因素较多,不确定性强。
Fung[1](2001)在支持向量机(SVM)的基础上提出了近似支持向量机(PSVM),该机器语言可以利用目标体的多种属性计算出反映该目标体属性特征的最优规则。在对大数据训练集进行处理时,近似支持向量机在判别准确度不低于支持向量机的前提下,在计算效率上具有明显优势,适合对具有海量数据特征的叠前地震资料进行判别处理。
近年来,机器学习已被证明在工程中具有广泛的用途(如金融领域、制造领域和零售领域),并且正在稳步发展推进到新的领域。气象领域Han L等[2]利用机器学习进行实时风暴运动预测;视觉心理学领域,Robert M. French等[3]利用机器学习进行视觉心理预测;生物学领域,Crozier T W M等[4]利用机器学习预测蛋白质的构成;地学领域,Vedangi Godse等[5]也利用机器学习预测地震活动。
目前在储层预测领域应用比较广泛的机器学习方法有支持向量机[6-8]、神经网络[9-12]、随机森林[13]等方法。这些方法主要是通过从测井资料中提取揭示储层特征的参数作为输入参数,利用这些智能方法建立多参数与储层物性之间的映射关系,进而开展储层预测。但值得注意的是,目前这些方法在流体识别方面的应用还较少见。为此,笔者充分比较了常见的几种机器学习算法在流体识别中的应用效果,最终选取了极端随机树方法(Extremely Randomized Trees)进行流体识别,该方法具有几个显著特征:
1)数据的准备往往是简单或者是不必要的, 对于不平衡的数据集,可以平衡误差。其他的技术要求先把数据标准化(如去掉多余的或者空白的属性)。
2)易于理解和实现,在学习过程中不需要使用者了解很多的背景知识,能够直接体现数据的特点,通过解释后都有能力去理解决策树所表达的意义。
3)易于通过静态测试来对模型进行评测,可以测定模型可信度。如果给定一个观察的模型,则根据所产生的决策树很容易推出相应的逻辑表达式。
1 方法
1.1 极端随机树(ET)
1.1.1 算法介绍
Geurts P等[14]提出ET或Extra-Trees(Extremely randomized trees,极端随机树方法)。根据经典的自上而下的方法,极端随机树构建了一系列“自由生长”的回归树集合。该方法中的每一棵回归树用的都是全部训练样本,用{T(K,X,S)}表示。其中T表示最后的分类器模型,S为数据样本集,K为基分类器的数量(基分类器数量根据所要区分的结果确定,其中基分类器数量为3,用以区分水层、气层和油层)。每个基分类器根据输入样本X={x1,x2…,xn}产生预测结果,最终通过投票确定最后的分类类别。
1.1.2 算法实现
Step1:给点原始样本数据集S,样本数量为N,特征数量为M,在极端随机树的分类模型中,每个基分类器都使用全部的样本进行训练。
Step2:基于训练数据集生成决策树,生成的决策树要尽量大。
选择具有最小Gain_GINI的属性及其属性值,作为最优分裂属性以及最优分裂属性值。Gain_GINI值越小,说明二分之后的子样本的“纯净度”越高,即说明选择该属性(值)作为分裂属性(值)的效果越好。
GINI计算如下[15]:
(1)
其中,Pk表示分类结果中第k个类别出现的频率(数量在所有样本中所占的比例)。
对于含有N个样本的样本数据集S,根据属性A的第i个属性值,将样本数据集S划分成两部分,则划分成两部分之后,Gain_GINI计算如下[14]:
(2)
其中:n1、n2分别为样本子集S1、S2的样本个数。
对于属性A,分别计算任意属性值将数据集划分成两部分之后的Gain_GINI,选取其中的最小值,作为属性A得到的最优二分方案:
min(Gain_GINIA,i(S1))
(3)
对于样本集S,计算所有属性的最优二分方案,选取其中的最小值,作为样本集S的最优二分方案:
(4)
所得到的属性A及其第i属性值,即为样本集S的最优分裂属性以及最优分裂属性值。
Step3:用验证数据集对已生成的树进行剪枝并选择最优子树,这时损失函数最小作为剪枝的标准。
从原始决策树T0开始生成第一个子树序列{T0,T1,...,Tn},其中Ti+1从Ti产生,Tn为根节点。在剪枝的过程中,计算损失函数[14]:
Cα(T)=C(T)+α|T|
(5)
α≥0,C(T) 为训练数据的预测误差,|T|为模型的复杂度。
将α在其取值空间内划分为一系列区域,在每个区域都取一个α然后得到相应的最优树,最终选择损失函数最小的最优树。
在选出α之后,计算该α对应的使损失函数最小的子树。即从树的根节点出发,逐层遍历每个内部节点,计算每个内部节点处是否需要剪枝。
Step4:重复执行Step 1、Step 2和Step3迭代K次,生成K棵决策树,生成极端随机树。
Step5:将生成的极端随机树使用测试样本生成预测结果,将所有基分类器的预测结果进行统计,经过投票决策的方法产生最终的分类结果。
1.2 传统的机器学习算法
1.2.1 BP神经网络
BP算法是一种最有效的多层神经网络学习方法,其主要特点是信号前向传递,而误差后向传播,通过不断调节网络权重值,使得网络的最终输出与期望输出尽可能接近,以达到训练的目的。其优点是:①并行分布处理能力强,分布存储及学习能力强;②具备联想记忆的功能;③对噪声数据鲁棒性和容错性较强;④能逼近任意非线性关系。
神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值。不能观察之间的学习过程,输出结果难以解释,会影响到结果的可信度和接受程度。学习时间过长,甚至可能达不到学习的目的。
1.2.2 支持向量机(SVM)
支持向量机是Vapnik等[16]在统计学习理论的基础上提出的一种采用结构风险最小化准则的新的学习方法。 相对于传统采用经验风险最小化准则的学习方法,支持向量机具有更强的泛化能力。由于支持向量机是一个凸二次优化问题,所以它可以找到作为全局最优解的极值解。支持向量机可以用于对目标工区的判别分类。
此方法的优点是可用于线性/非线性分类,也可以用于回归,泛化错误率低,计算开销不大,结果容易解释。可以解决小样本情况下的机器学习问题,高维问题,避免神经网络结构选择和局部极小点问题。缺点是对缺失数据敏感,对于类域的交叉或重叠较多的待分样本集较难分类。
1.2.3 K最近邻(KNN)
KNN是通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。其中k通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
此方法的优点是简单、有效,重新训练的代价较低。该算法比较适用于样本容量比较大的类域的自动分类。其缺点是样本不平衡时,预测偏差比较大(即某一类的样本比较少,而其它类样本比较多)。计算量大,每一次分类都会重新进行一次全局运算。
1.3 极端随机树的优点
极端随机树不同于传统机器学习方法,它对于数据的准备工作较为简单甚至不是必要的,极端随机树不需要预处理数据,并且在相对短的时间内能够对大型数据源做出可行且效果良好的结果。各种机器学习方法对比如表1所示[17]。
表1 常用机器学习方法对比
神经网络方法在进行调参时需要调整网络拓扑结构、权值和阈值的初始值、学习率、迭代次数等参数,调参过程较为复杂。支持向量机调参时需要考虑惩罚系数、核函数、核函数系数等参数。K最近邻方法在调整参数时需要考虑选取几个邻居、邻居权值、距离等参数。而极端随机树只需要调整好合适的最大迭代次数就可以了,因此是一种简单有效的分类方法。
2 测井数据测试及训练集建立
2.1 研究区概况
研究区域位于南海某油气田,储层岩性是砂岩,上方覆盖为泥岩,地质资料显示该地区为浅海三角洲沉积。储层的层系为珠江组,岩石物理试验的储层平均孔隙度为17.41%, 平均渗透率为 80 mD,平均密度为 2.17 g/cm2,总体而言储层的物性较好。其中井A 和井C 在目的层顶部钻遇气层,井B在目的层钻遇含水层。为了检验方法的有效性,我们首先利用A井、B井的测井数据进行分析,优选方法并建立训练集,C井留作验证井。表2为井A、井B和井C的测井解释表[18]。
表2 研究区钻井的测井解释表Tab.2 Log interpretation table of drilling in the study area
2.2 硬件条件
CPU: intel core i7-7700k 4.4G;内存: 4X8G;显示卡: 两个NV GTX 1070;硬盘: HDD一个, SSD两个。
2.3 测试模型设计
模型设计流程见图1。
图1 模型设计流程Fig.1 Model design filow
2.4 测试方法评价
2.4.1 均方误差
(6)
2.4.2 错误率
当数据重叠较多的时候,很难从均方误差来分辨算法的效果,因此引入了错误率(error rate)配合度量。错误率是分类错误的样本数占样本总数的比例。错误率是使用最普遍、最简单同时又是最直接的分类指标。其计算方法为[19]:
设测试样本集T={(x1,y1),…(xn,yn)},其中xn为该样本i的输入特征,yi为样本的真实标签。
T的预测结果:pyn={py1,py2,…,pyn},其中pyi表示模型对T中第i个样本的预测结果。
(7)
2.5 最优方法的确定
对比极端随机树与传统的机器学习算法分类预测的效果。笔者主要利用了泊松比(σ)、高灵敏度流体识别因子(high sensitive fluid identification factor,HSFIF)、流体属性(Mobility Attribution,MA)对流体进行识别。
1)泊松比[20]:
(8)
式中:σ为泊松比;λ为拉梅常数;μ为剪切模量,泊松比属于波阻抗量纲的零次方类流体识别因子。大量的研究和应用表明,泊松比对储层的含气性有很好的响应,在相同的孔隙度的情况下,当砂岩储层含气时,泊松比可以从0.3~0.4左右降至0.1左右,而自然界中的岩石泊松比变化范围在0~0.5之间,所以泊松比经常被应用于含气储层的识别与刻画中。
2)高灵敏度流体识别因子:
(9)
(10)
式(10)将波阻抗量纲的零次方类与流体属性的优点结合起来,突出了纵波阻抗IP的作用。
3)流体属性:
(11)
式(11)由Russell等[22]提出,式(11)中的f代表Gassman方程中的流体因子项,C为调节参数。
对评价结果进行研究,将属性两两组合进行计算并显示。
1)高灵敏度流体识别因子与泊松比交会分析。
数据来自井A、井B的目的层段。从表3及图2的结果显示可以看出,对于本类数据集合极端随机树的预测结果较其他几种方法优秀。支持向量机、最近邻方法对这类数据集错误率很高。而神经网络则达不到预测要求,原因主要在于原始数据中不同特征属性的度量单位不一样,相比较而言,极端随机树算法具有较强的鲁棒性。
图2 基本方法Fig.2 Basic method
表3 4种方法结果比较
对数据进行正态化处理,将训练数据集进行数据转换处理,所有的数据特征值转化成“0”为中位值、标准差为“1”的数据。数据优化结果如表4、图3所示。
图3 正态化数据Fig.3 Normalized data
表4 正态化数据后结果比较
通过对于数据进行正态化处理以后,可以看出,支持向量机方法和神经网络方法效果得到了明显地提升,极端随机树的效果尽管提升不明显,但其分类结果仍然优于其他几种方法(表5)。
表5 算法调参优化后结果比较
表6 流体属性与泊松比交会分析算法优化后结果比较
表7 高灵敏度流体识别因子与流体属性交会分析优化结果比较Tab.7 Comparison of optimization results of high-sensitivity fluid identification factor and fluid attribute intersection analysis
对这些方法进行调参优化。从图4可以看出,当迭代次数大于20次后,误差基本接近稳定,迭代34次后,极端随机树方法达到最优解。后续均方误差在(-0.158~ -0.172)附近震荡,错误率在(0.15~0.175)附近震荡,将34设置为本类数据应用极端随机树分类的最终迭代次数。
图4 极端随机树迭代变化Fig.4 Extreme random tree iterative change
图5 优化后高灵敏度流体识别因子与泊松比交会分析Fig.5 Intersection analysis of optimized high sensitivity fluid identification factor and Poisson's ratio
图6 高灵敏度流体识别因子与泊松比分析真实结果Fig.6 Real result of high sensitivity fluid identification factor and Poisson's ratio analysis
通过与正确分类结果比较可以看出,使用极端随机树算法不需要进行数据归一化和参数优化,就可以得到很好的预测效果,同时优化后结果依然优于其他方法。
2)流体属性与泊松比交会分析。前面分析可以看出,极端随机树算法在没有进行数据正态化处理和参数优化前,效果明显优于其他几种方法,对各个方法的最终优化结果进行分析,比较几种方法的预测效果。
从图7可以看出,迭代次数大于20次后,误差基本稳定,通过迭代36次,极端随机树方法达到最优解。后续均方误差在(-0.131~ -0.148)附近震荡,错误率在(0.12~0.14)附近震荡,将36设置为本类数据应用极端随机树分类的最终迭代次数。
图7 流体属性与泊松比交会分析迭代变化Fig.7 Iterative variation of fluid properties and Poisson's ratio intersection analysis
从图9与图8可以看出,极端随机树效果优于其他几种方法。
图8 算法优化后流体属性与泊松比交会分析Fig.8 Intersection analysis of fluid properties and Poisson's ratio after algorithm optimization
图9 流体属性与泊松比交会分析真实结果Fig.9 Real results of intersection analysis of fluid properties and poisson's ratio
3)高灵敏度流体识别因子与流体属性交会数据。从图10中可以看出,通过迭代81次,极端随机树方法达到最优解。为了简化计算过程,也可以将迭代36次的次最优解设置为最优解,与最终结果差距不大。均方误差在(-0.27~ -0.30)附近震荡,错误率在(0.208~0.232)附近震荡,将36设置为极端随机树的最终迭代次数。
图10 高灵敏度流体识别因子与流体属性交会分析迭代变化Fig.10 Iterative changes in intersection analysis of high sensitivity fluid identification factors and fluid attributes
通过图12与图11的比较可以看出,尽管支持向量机通过参数优化,可以保证均方误差达到较优的值,但最终准确率上未能超过极端随机树算法。通过以上测试可以看出,极端随机树算法在一些类域的交叉或重叠较多的待分样本集分类有较明显的优势,且实现简单,因此选择极端随机树作为本研究的数据分类方法。
图11 算法优化后高灵敏度流体识别因子与流体属性交会数据Fig.11 High sensitivity fluid identification factor and fluid attribute intersection data after algorithm optimization
图12 高灵敏度流体识别因子与流体属性交会数据真实结果Fig.12 High sensitivity fluid identification factor and real results of fluid attribute intersection data
2.6 样本训练
将高灵敏度流体识别因子、泊松比、流体属性作为学习因子,流通属性作为预测因子,以井A、井B数据为训练数据,井C数据为最终的验证数据,应用极端随机树方法进行学习(表8)。
表8 样本训练结果比较
表9 实例预测结果比较
从图13可以看出,与前面2维参数类似,3属性数据通过迭代36次可以达到最优解,将36设置为极端随机树的最终迭代次数,确定为最终模型,部署后应用于最终实例。
图13 样本训练迭代变化Fig.13 Sample training iteration changes
3 实例分析
图14~图18分别为原始地震剖面、近似支持向量机分类剖面、神经网络分类剖面、KNN分类剖面、极端随机数分类剖面,比较四幅图可以发现,原始剖面、支持向量机、神经网络分类剖面根本无法区分气层与水层,KNN分类方法中气层与水层有一定差异,但差异不明显,而引入的极端随机数分类能很好地区分出气层和水层。
图14 原始地震剖面Fig.14 Primary seismic profile
图15 神经网络分类剖面Fig.15 Neural network classification profile
图16 支持向量机分类剖面Fig.16 Classification profile of support vector machine
图17 K最近邻分类剖面Fig.17 K nearest neighbor classification profile
图18 极端随机数分类剖面Fig.18 Extreme random number classification profile
以上结果可以得出,在实际储层的气-水划分、气-水-油划分中,采用基于极端随机数的方法,对流体识别因子融合所划分的含气层、含水层、含油层,都与测井资料一一对应,但其他方法在做此区域的流体识别时会存在一定的不确定性,所以极端随机数所刻画的储层流体性质更加准确。从实例准确率分析数据及分类剖面图可以看出,极端随机数分类能很好地区分出气层和水层。
4 结论
在流体识别领域引入了一种有效的机器学习方法——极端随机数,本方法对于一些类域的交叉或重叠较多的待分样本集分类有较明显的优势,与传统机器学习方法相比较,极端随机树对于数据的准备往往是简单或者是不必要的,不需要预处理数据,并且在相对短的时间内能够对大型数据源做出可行且效果良好的结果。通过实例测试,可以看出本方法不仅部署简单,对于流体识别也有很好的效果。