当前位置:首页 期刊杂志

随机森林的融合模型在压井方法分类中的研究

时间:2024-07-28

钟 原,张 泰,李 平,杨绪华

西南石油大学计算机科学学院,四川 成都 610500

引言

井控技术是石油钻井过程中防止溢流、井涌、井喷、着火等事件发生的重要安全技术之一。井口压力控制的核心是及时发现溢流,并在井底压力和地层压力维持相对稳定的条件下有效地控制和排除溢流险情。当溢流发生时,传统作业方法需要现场施工人员在较短时间内,根据不同的井下状况,如井底压力、地层环境以及硫化氢含量等因素,及时判断使用何种压井方法进行作业,控制住溢流的趋势,排除安全风险,使得井底压力处于微平衡状态,确保安全生产。

实际作业过程中,存在多种压井方法,根据不同的井况和工况,使用合适的压井方法可以更好地应对溢流的险情,及时解决井口作业风险。针对常规井况而言,普通的压井方法主要是循环法,如工程师法、司钻法等。在特殊井况下可采用的压井方法,如压回法,根据压力倍数不同,压回法又可分为全压回法和部分压回法。

在传统的作业方法中,井口压力控制需要结合专家经验和根据电液比建模的数学模型实施[1-3],这种方法运算复杂,需要考虑多种因素,往往效率较低。因此,本文使用集成了随机森林算法[4-5]的融合模型对压井方法进行分类判断。

本文将随机森林算法作为主要模型,同时加入多个其他模型进行层次组合,通过Stacking 集成方式得到最终的融合模型。经实验验证,该方法可以在使用少量运算资源的同时,快速获得准确率较高的判断结果,其预测结果相较于其他单一模型而言,具有更高准确率。本文的贡献主要包含以下几点:(1)将压井方法的专家经验和油气井相关参数进行归纳总结,将其转化为符合机器学习算法需要的数据格式,并通过特征工程进行了特征处理;(2)使用随机森林和Stacking 集成方式提升了压井方法分类预测的性能。

1 相关理论

1.1 决策树

决策树[6]方法是一种重要的数据分类技术,在分类任务中,通过学习训练集中的训练数据构造一个分类函数或分类模型,该函数或模型能够把数据记录映射成某一个指定类别,实现未标注数据的类别预测[6]。决策树的基本结构如图1所示。

图1 决策树基本结构Fig.1 Decision tree structure

例如针对一个混合颜色的色块,可以使用决策树划分为4 种纯粹的颜色。目前,决策树具有多种形式,从Quinlan[7]在1986 年提出了ID3 决策树算法时开始统计,决策树算法提出了至少7 种以上的衍生算法[6],如ID3、C4.5、EC4.5、CART、SLIQ、SPRINT 和PUBULIC。其中,分类与回归树(Classification and Regression Tree,CART)[8-9]是一种常用的构建决策树的算法,常使用代表信息复杂程度的Gini 指数[10]进行节点划分。该决策树算法适用于样本数据量大且特征之间关系较复杂的情况,并且在实际操作中,数据的分布往往呈现非线性的形态,难以使用全局线性模型来拟合。但通过决策树模型,可以很好地区分特征间的差异性,将数据分割成多个易于拟合线性模型的数据子集合。但当数据分布发生变化时,以单棵决策树很难构建全局模型,因此,可考虑包含多棵决策树作为基学习器的随机森林模型。

1.2 随机森林

随机森林是通过Bagging(Bootstrap aggregating)有放回抽样方法[11],从初始样本中抽取不同样本组合,并对每组样本构建不同的决策树形成的一种集成模型。由于有放回采样机制对产生决策树的数据进行扰动,使构建的决策树各不相同,具有较大差异性,提高了整体模型的泛化性。在分类任务中,通常通过投票法(Voting)[12]对多个基模型的预测结果进行投票决策,确定最后的预测结果。其中,投票法可以根据投票方式分为3 类:(1)限制标签得票数必须大于半数的绝对多数投票法;(2)简单根据得票多少决定取值的相对多数投票法;(3)类似于加权平均法的加权投票法。合适的投票机制可使预测结果更为准确。

随机森林综合了多棵差异较大的决策树预测结果,使其具有预测精度高,收敛速度快,调节参数少的优点。经过Sridhar 等[13]的研究,随机森林方法在当前主流的分类器和集成器中是最为优秀的模型之一。

结合本文应用场景,随机森林算法的运作流程如图2 所示。

图2 随机森林运作流程Fig.2 Random forest operation process

1.3 Stacking

Stacking[14-15]是一种用于组合多种基学习器的叠加方法,意在从众多结果中挑选精度更高的结果进行再组合,从而产生更好结果。构造基于多学习器的组合模型有许多方法,常用的包括投票法、混合法和Stacking。总体而言,Stacking 可以使融合模型的预测结果得到进一步提升[16],此方法是一种表示学习计算方法,也是一种可扩展和分析性框架。类似于前馈神经网络的多层结构,可在多个级别上使用Wolpert[17]的堆叠泛化来提高预测准确性。与前馈神经网络相反的是,Stacking 不通过反向传播对其进行训练,而是通过一次次迭代来构建多层结构。

2 构建融合模型

2.1 Stacking 两层模型

在钻井作业时,通常由经验丰富的现场工程师根据现场所采集到的相关数据,结合数学方法构建模型指导作业过程,并计算具体操作数值来确定压井方法。时效上有一定滞后性,准确性上也有一定风险。因此,需要一种快速而精确的方式来协助甚至替代专家进行决策。基于上述需求,本文提出将随机森林算法和Stacking 叠加方法应用于压井方法的分类判断中,能够快速准确地判断出在特定井况和工况条件下所采取的压井作业方法。

采用Stacking 叠加方法将融合模型分为两层结构:第一层是包含多个分类器的基模型层。在该层中,特征数据会在进行交叉验证之后进入不同的分类器训练。第二层是仅包含一个分类器的次模型层,在该层中,挑选一个精度较高的分类器来进行最终训练。构建的Stacking 两层融合模型总体结构如图3 所示。

图3 Stacking 两层模型总体结构Fig.3 The overall structure of Stacking two-tier model

Stacking 具体操作时,首先,将数据集合进行随机分割,将80% 数据划为训练数据集,20% 数据划为测试数据集;然后,将训练数据通过交叉验证[11],将训练数据分割后每一折中的部分数据进行矩阵堆叠,构成新的训练数据集合;最后,使用整合后数据进行模型训练与预测。具体的操作示意如图4所示。

图4 Stacking 数据流向图Fig.4 Data stream of Stacking

2.2 设计融合模型

设计融合模型的过程包含两部分:首先,特征工程进行特征数据处理,然后,进行融合模型训练。

如图5 所示,油井相关的参数和工况等原始数据在进行特征工程处理后,进入基模型层。本文在该层使用了在结构和算法流程上具有较大的差异5 种基学习器,分别是支持向量机分类算法[18]、随机森林算法、自适应增强算法[19]、岭回归分类算法以及随机梯度下降分类算法。这些模型分别根据训练样本进行训练,再将其预测结果构造成新的训练数据,交由次模型层的分类器进行训练。本文在基模型层的预测时,使用了加权平均法,通过经验权重分配,得到更高准确性的预测结果作为次模型层的训练数据。次模型层仅包含一个分类器,由于该分类器会对最终结果产生较大影响。因此,使用了随机森林集成算法作为次模型层的唯一分类器。

图5 整体操作流程图Fig.5 Overall operation flowchart

2.3 随机森林在融合模型中的应用

如2.1 和2.2 节所述,本文在Stacking 两层模型中都使用了随机森林,两者的运行流程相同,但在使用时存在不同。不同之处在于输入数据和权重的分配,嵌入Stacking 基模型层中的随机森林的输入数据是通过Bagging 方式采样得到的特征数据,而次模型层中随机森林的输入数据是将基模型层中的输出结果作为输入数据。

由于Stacking 方式和随机森林在运算过程中会产生不小的消耗[20],因此,再进行组合时,运算量可能会增大。但本文构建的模型主要是针对压井方法分类的特定场景,其特征数据来自于3 部分:归纳总结的经验数据、井相关的重要参数以及部分工况参数,经过特征工程处理后再用于融合模型训练和预测,因此,整体上而言,由于限制了特征空间维度和范围,融合模型的运算量相对于单模型而言,不会存在较明显的差异。

在基模型层中完成初次训练后,会将单个分类器的输出结果进行加权平均预测得到次模型层的训练数据。每个分类器具有一个经验权重,该权重是根据单个分类器针对相同测试数据的预测准确率进行归一化处理得到,准确率越高的模型所设经验权重越大。通过实验测试和分析,经验权重如表1 所示。

表1 基模型层中单个分类器的经验权重值Tab.1 Empirical weight value of a single classifier in base model layer

3 压井方法分类

3.1 压井方法特征工程

根据前文介绍的随机森林和Stacking 模型融合方法,结合压井方法分类预测的目标,对采集的原始数据进行特征工程,包括特征筛选、特征编码和特征选择3 个流程。

3.1.1 特征筛选

在压井作业过程中,通过对井相关数据进行总结,得到与井控施工方法相关的影响因素,即信息含量(影响程度)较高的多项指标,从而构建了压井控制的特征表达,其中主要影响因素如表2所示。

表2 压井方法判断的主要影响因素Tab.2 Main factors to consider in determining the killing method

根据已有工程经验[21],在常规的油气井钻井过程中,地层压力可能不高,需要在井涌发生之前或井涌前期及时检测,可采用工程师法(一次循环法)和司钻法(二次循环法)等常规压井方法。而在高压井等非常规井作业中,可采用置换法,压回法等相对特殊的压井方法,在保证安全的前提下进行压井操作。

结合表1 中描述的相关信息和现场工程经验,本文选择了4 种适用面较为广泛的压井方法作为压井施工方法,即压井方法分类的目标对象,分别为工程师法、2~3 倍压回法、全压回法、置换法。

3.1.2 特征编码

由于原始数据基本都是文本型数据,本文将原始数据编码为数值型数据,以便模型训练和预测。在这一步中,为了减少数据中的噪声干扰,同时对数据进行了去空,去重和标准化等操作。

首先,将压井施工方法按照工程师法、2~3 倍压回法、全压回法、置换法顺序依次编码为0、1、2、3 的数字格式。然后,针对特征数据中的离散值与连续值的差异问题,采用了独热编码(One-hot)[22]的方法进行转换,这是一种常见的文本表示方法,比如存在特征集合SSS={“苹果”,“西瓜”,“葡萄”},则独热编码形式集合SSS′={{1,0,0},{0,1,0},{0,0,1}}。如表3 显示了“能否配置钻进液”、“是否会压破套管鞋”两项特征的转换结果。

表3 特征独热编码转换形式Tab.3 Feature one-hot encoding conversion form

经转换过后的数据将文字信息转化为数字形式的多个特征相结合的形式。这种形式使得类别之间的距离是相同的,可有效避免人工导致的类别差异化[23]。

3.1.3 特征选择

上述编码操作增加信息量,但也增加了信息维度,增大了运算量。在保证预测精度的前提下,为了提高运算效率,本文对原始特征进行了特征选择。使用了决策树算法中计算最优分割点的方式来实现[24],这是一种集合封装式和过滤式[25]混合评价策略的特征选择方法,其工作原理是决策树构建过程中,即节点分裂时会对信息熵增益最大的特征进行优先分割[26],即表示这些特征是更重要的特征表达。本文统计了多棵决策树构建过程中,节点分裂使用频率最高的前6 项特征作为融合模型的训练特征,并根据实际情况和经验值确定了其取值范围,最终选择的特征如表4 所示。

表4 选择的特征信息Tab.4 Extracted feature information

3.2 压井方法分类模型

进行特征工程后的特征数据首先投入基模型层作为输入特征,得到输出结果为压井方法;多个输出结果进行加权构造后,再投入次模型层作为输入数据。基模型层所使用的部分输入特征和输出结果如表5 所示。

表5 基模型层的输入特征和输出结果Tab.5 Input characteristics and output results of base model layer

表6 为次模型层所使用的部分输入数据和输出结果。分类结果1 表示基模型层的分类器1 所产生的分类结果,由于本文使用了5 种基分类器,因此,共包含5 种分类结果作为次分类器的输入数据,最后的输出结果为最终选择的压井方法。在对5 种分类结果进行加权平均操作时,使用分类概率和权重相乘的结合策略,这样可以避免因人为编码导致的各种分类距离不合理的问题。

表6 次模型层的预输入数据和分类结果(无权重)Tab.6 Input data and prediction results of sub-model layer(without weighting)

4 实验结果分析

由于目前没有开放的井控作业数据集,本文通过人工方式构建了井控作业数据集,并选用80%样本的数据作为训练集,20%作为测试集。

同时,本文在训练模型过程中,在保持所有模型同类参数一致的前提下,尽量通过参数调整将每个模型的性能最优化。并通过3 种量化指标对融合模型进行调参指导和性能评估。这3 个指标分别是准确率(A)、召回率(R)、F-Score(F)[23,27-29]。其中,准确率计算方式为[23]

而召回率则是根据分类的4 种情况进行的第二步运算。具体分类情况如表7 所示。

表7 类别预测情况解释Tab.7 Category predictions explained

召回率的定义为[23]

F值定义为[23]

本文将所构建的融合模型与其他常用分类模型进行了对比,实验结果如表8 所示。

表8 多种方法的对比实验结果Tab.8 Comparative experimental results of various methods

由表8 可以看出,本文构建的融合模型相较于原始随机森林算法在A指标上高出约2%,在F和R值上分别有约4%和8%的提升,相比于其他单个模型具有最高约30%的提升。综上,在压井方法分类预测的场景下,本文构建的融合模型方法相比于其他方法,具有更好的预测性能。

5 结论

(1)结合压井作业现场工程经验,井的基础数据以及工况数据,采用特征工程筛选出更重要的特征数据,简化了压井方法分类预测的特征维度,适度压缩了特征空间。从而构建了基于随机森林的Stacking 两层融合模型,基模型层中挑选了多种分类器做基学习器,次模型层中采用了随机森林集成算法。由于重要特征的筛选压缩了特征空间,相对于传统的专家系统和单模型预测,本文构建的两层融合模型可获得更高的预测准确率,同时,也能实现对压井方法的快速分类预测。

(2)由于数据采集上的限制,没有实现对压井方法中某些重要的压力数值(如套管压力)的预测,下一步的研究将进一步完善井控作业数据集,实现压井方法对应的压力曲线的回归预测。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!