APP下载

基于GBDT算法的钻井机械钻速预测方法研究

2019-12-12苏兴华孙俊明

计算机应用与软件 2019年12期
关键词:机械钻速预测值分类器

苏兴华 孙俊明 高 翔 王 敏

1(中石油川庆钻探工程有限公司 陕西 西安 710018)2(西北工业大学计算机学院 陕西 西安 710072)

0 引 言

随着经济的快速发展,自然资源的消耗逐年增大,石油、天然气等自然能源的使用量急剧增长[1]。全球钻井勘探也从陆地到海洋,从浅层到深层、超深层发展以求满足日常的社会需求。中国是一个贫油国家,浅层和中浅层石油储量已经基本探勘清楚,远远无法满足社会需要[2]。因此,提高机械钻速、增大石油产量是当今国内外研究的热点课题[3]。石油钻井是一项投资巨大的工程并且具有很强的风险性,在钻井过程中,钻井费消耗巨大[4]。如果能有效地提高钻井机械钻速、减少钻井周期,就能达到增大石油产量、减少成本目的,这对于企业降低钻井施工成本、减少钻井风险、增强市场竞争力等,对于国家解决能源紧缺问题、减少社会矛盾等均有重大意义[5]。

随着大数据技术的快速发展以及数据的急速增长,用机器学习的方法对数据进行挖掘并应用到钻井工业中的情况已有多例,在钻头优选、岩性识别等领域中已经得到了有效的应用[6-7]。但是在用机器学习的方法预测机械钻速方面却鲜有研究和报道。长庆公司经过多年的钻井实践,收集了大量的关于钻井液、钻井地质、泥饼等钻井数据。研究表明,这些数据是影响机械钻速的重要因素。如果能合理利用这些数据,充分分析和挖掘数据中影响机械钻速的重要特征并建立机器学习模型,则能够在现有人力和设备条件基础上大大提高机械钻速,从而达到优化整合设备、提高资源输出、减少巨额成本的重大效果。本文以同区块钻头尺寸、钻压、泵压等字段为特征,以机械钻速为标签进行了一系列的监督学习实验,建立该区块的钻速预测模型。尝试了包括Linear Regression(线性回归)[8]、Support Vector Regression(支持向量回归)[9]、Gradient Boosting Decision Tree(梯度增量决策树)[10]等建模方法,通过对比这些模型,最终选择了效果最优的GBDT作为钻速模型。本文的主要贡献如下:

1) 率先使用了机器学习的方法和策略对特定区块的机械钻速预测方法进行了研究,建立了有效的钻速预测模型。实际运行效果表明,该模型预测准确,为设计和优化钻井方案提供了科学有力的支持,有助于实现提升机械钻速的目的,大大减少了成本,节约了开支,具有良好的经济效益。

2) 率先提出了基于GBDT算法的钻速预测,通过与KNN、SVM、LR等一系列算法的对比实验,结果表明该模型有平均90%的可决定系数,效果最优,令人满意。

1 研究现状

机械钻速指的是单位纯钻进时间内的进尺量,钻速越大则钻井效率越高,能更快到达油层。不同地区条件下由于地质条件的不同、岩石层软硬不同、泥层的含沙量不同等都能影响到钻头钻进速度。在安全施工条件下岩石层越硬,则钻速越低[11]。同时,机械钻速还受到钻井液的影响。钻井液在钻井过程中起到了清洁井底、携带岩屑、减少钻头磨损、提高钻井效率的作用[12]。此外,地质条件、钻井液成分、设备好坏、钻井工艺先进与否等都是影响机械钻速的重要原因。

研究显示,钻速预测由来已久。从20世纪50年代开始,一些学者利用如钻压井眼直径、排量等主要因素,利用回归分析的方法得出一些钻速方程,然后再通过考虑底层岩性、钻井液参数等设置系数优化方程[13]。随着计算机功能提高,仿真技术的兴起。有学者通过设计实验,建立动力学模型、钻头仿真模型等,进行了钻井冲击力和机械钻速仿真设计,不仅提高了拟合效果,还起到了钻井参数优化、省人力物力的作用[14]。近年,Liu等[15]研究深水底孔喷射钻井的机械钻速与地层强度、钻头结构、水力参数等密切相关,通过对模拟试验数据的分析和处理,建立了适用于白云地区的钻压与机械钻速之间的相互关系模型。随着人工智能的发展,神经网络[16]、多元回归[17]等机器学习方法也应用到钻速预测之中,但是目前国内的这类研究报道较少。

真实的数据不可避免会收到一些“污染”,变成“脏“数据,而有些机器学习的方法对数据比较敏感,如果原始数据处理不合理,则最终得到的结论往往也是不能使用的。此外,没有一种机器学习的方法是万能通用的,都有各自的缺点,比如神经网络,就有容易陷入局部最小化问题。

本文提出采用以GBDT算法为核心的机器学习的方法研究影响机械钻速的关键因素。GBDT算法因预测准确率高、对原始数据不敏感等优势逐步在机器学习的众多算法中大放异彩。采用机器学习算法预测机械钻速,优势是能够在当前设备和资源条件下准确地找寻影响机械钻速的若干个核心因素,不仅实验成本低、周期短,而且效果极好。同时,如今的钻速模型往往受限于十几个甚至几十个条件的约束,在高维度特征的条件下,传统的方法已经不能很好地去解决实际问题。而采用机器学习的方法恰能处理好上述问题。除此以外,机器学习的方法可复制性强,可以在多个地区进行推广使用。

2 GBDT模型简介

GBDT是一种集成学习算法,它是由Decision Tree(决策树)和Gradient Boosting(梯度提升)两部分组成。

2.1 决策树算法

决策树算法是机器学习和数据挖掘中的一个重要的算法,它主要用来处理给定规则条件下的一些问题。和大多数算法模型一样,该算法可以用来对数据进行分类和回归处理,从而建立有效的数据模型来处理相关问题。在该算法模型中,常见的有ID3、C4.5和CART[18]等,其中C4.5决策树算法是在ID3决策树算法的基础上改进发展而来的。

2.2 梯度提升算法

提升(Boosting)算法[19]是一种集成学习的算法,它的目标就是让一类弱学习器提升为强学习器的集成学习过程。总体思路是,通过不断改变训练样本每个点的权值,学习得到多个弱分类器,然后线性组合这些分类器组成一个强分类器。梯度提升(Gradient Boosting)算法是提升算法的一种,它的特点是,在每次进行训练过程中,都是为了减少上一次过程中的残差。在减少残差的过程中使用梯度下降法来优化模型,使得每一个损失函数最小。

2.3 GBDT算法模型

GBDT算法是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到将数据分类或者回归的算法。图1为GBDT算法的训练过程。

图1 GBDT算法的训练过程

GBDT算法中每轮迭代使用的弱分类器为CART TREE(分类回归树),由于这种树的特点是高偏差和低方差,而且树的深度不深,非常适合作为该算法的每一轮迭代中的弱分类器。通过加法模型得到的总的分类器模型如下:

(1)

式中:T(x;θm)表示弱分类器。弱分类器损失函数表达式如下:

(2)

式中:L(·)表示损失函数。

每个分类器都是在上一轮分类器的残差基础上进行训练的,在迭代过程中使用的梯度下降法,即利用损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值去拟合一个回归树。常见的损失函数有:平方损失 (squared loss)、绝对值损失 (absolute loss)、Huber损失(huber loss),如表1所示。

表1 常见的损失函数

3 机械钻速模型的设计与实现

GBDT从诞生以来一直备受青睐,它有几个重要特点:(1) 预测精度高;(2) 能处理连续值和离散值两种类型数据;(3) 使用一些健壮的损失函数,对异常值的鲁棒性非常强;(4) 对数据不敏感,在数据预处理阶段可以不进行归一化处理等。本节对GBDT算法进行了实验。为了突出该算法的优势和保证科学实验的严谨性,以SVR、LR、KNN等一些算法为参照设计了相关的对比实验。

3.1 GBDT算法下的实验步骤

步骤一导入数据。本次实验的数据来自大庆公司某特定区块下钻井数据,真实有效。数据包括钻井时间、钻井区块、钻头尺寸、钻压等60余个字段,通过与领域专家交流后字段维度精简为23个。本次实验全部数据有2 927条,表2和表3列举了部分数据资料。

表2 部分钻井资料1

表3 部分钻井资料2

步骤二划分训练集和测试集。由于GBDT得天独厚的优势,原始数据不用进行归一化预处理,可以直接划分测试集和训练集。这里采用了10折交叉验证。即将原数据平均分成了10份,依次取1份作为测试集,剩下的9份作为训练集。然后保持不重不漏地进行10次实验,计算出每次实验的可决系数R2[20]。

步骤三建立GBRT模型。本次实验使用的是Python中sklearn包。该包功能强大,支持分类、回归、降维和聚类四大机器学习算法。同时完美支持GBDT算法操作。核心参数代码如下:

params={′n_estimators′:500,′max_depth′:4,′min_samples_split′:1,21′learning_rate′:0.01,′loss′:′ls′}

其中:n_estimators表示迭代次数,也就是弱学习器个数;max_depth表示每一个学习器的最大深度,限制回归树的节点数目;min_samples_split表示可以划分为内部节点的最小样本数;learning_rate表示学习率;loss表示选择损失函数,默认值为ls(least squres)。

步骤四模型的评估。我们以可决系数R2作为模型的评价标准,10次实验的R2如表4所示,实验的平均R2为0.90。该实验平均可决系数接近1,表明该实验对观测值的拟合度很好。

表4 GBDT模型下10次实验的R2值

为了直观地显示结果,以横坐标为预测值,纵坐标为测试值做出了预测值和真实值的关系图,如图2所示。

图2 GBDT模型下预测值和真实值关系

图中横坐标为机械钻速的预测值,即在训练集上通过输入特征向量而得到的预测值,纵坐标表示记录的机械钻速的真实值,也成为观察值。它们的单位均为m/h,表示每小时的进尺量。45°线表示预测值和真实值的接近程度,如果点均落在了该直线上,说明预测值完美等于真实值,则模型的预测准确率为100%;当点落在了直线附近,而且越紧致,表示预测的准确率较高,模型的拟合效果不错;当点偏离该直线较远距离时,表明该模型拟合效果很差。图2中大部分点落在了直线附近,且紧致收缩于45°线,少部分偏离该直线,印证了基于GBDT算法的预测模型效果优良。

3.2 对比实验

将原数据以相同的处理方式进行同类型操作,设计并进行对比实验。

LR(线性回归)模型下的可决系数R2如表5所示。

表5 LR模型下10次实验的R2值

平均可决系数R2为0.61。

LR模型下预测值和真实值的关系图如图3所示。

图3 LR模型下预测值和真实值的关系图

可以看出,线性模型的拟合效果非常不好,甚至给出了负的预测值,这与事实严重背离。除此以外,线性模型在预处理阶段需要对数据进行归一化等相关处理,以求减少数值量度对模型的影响规律。而在GBDT模型中,这个步骤完全可以省略。这一结果大大体现了GBDT算法在建立机械钻速模型中的优势。

SVR(支持向量回归)也是比较流行的、效果不错的一种回归模型。本实验中同样采用sklearn包中的SVM类。其核心代码如下所示:

sklearn.svm.SVR(kernel=′rbf′,degree=3,gamma=′auto_deprecated′,coef0=0.0,tol=0.001,C=1.0,epsilon=0.1,shrinking=True,cache_size=200,verbose=False,max_iter=-1)

其中需要调整的参数如下:

Kernel:表示核函数的种类,通常的核函数有“linear”、“poly”、“rbf”和“sigmod”。

Gamma:表示核函数系数。

C:表示惩罚系数。它的作用是平衡样本复杂度和误分类率这两者的关系。

Epsilon: 表示损失距离度量。

在核函数的选择过程中,“rbf”方式是最常用的方式,通过后来的比较选择,也发现这个方式最优。在“rbf”方式下,只需要调整“Gamma”、“C”和“Epsilon”这三个参数值。在择优选择过程中,选择使用了“网格搜索”的方式,选择模型R2最好的“[Gamma=0.3,C=1,Epsilon=0.1]”作为实验结果。SVR模型下的可决系数R2如表6所示。

表6 SVM模型下10次实验的R2值

平均可决系数R2为0.86。

SVM模型下预测值和真实值的关系如图4所示。可以看出,SVR模型下实验效果还可以,但通过R2的比较,发现与GBDT模型相对比仍然不是最优的。

图4 SVM模型下测值和真实值的关系

对于相同的数据,使用不同的机器学习方法进行训练,所有对比实验结果如表7所示。实验结果表明,这些对比实验的结果相较于GBDT方法还是有不小差距,说明GBDT算法在这一数据条件下模型的匹配度更高。

表7 不同机器学习算法平均R2值

3.3 GBDT模型的优化和泛化

为了使GBDT的模型拟合能力越强,模型的效果更好,必要的调参过程必不可少。在实验中按照网格搜索的方法,分别从参数步长、弱分类器个数、决策树最大深度、内部节点入手,选择出更优的模型参数,然后再在新的数据(3号井和4号井)中验证结果,比较各个参数下的模型的泛化能力。由于在测试集表现好的模型不一定泛化能力更好,因此模型参数的最优选择应统筹考虑模型在测试集中的效果和模型的泛化能力,参数结果如表8所示。调整后的模型在测试井中R2值并不是最高的,但泛化效果是最好的,有效地减少了过拟合的风险。表9为调参前和调参后模型R2比较,可以看出,虽然在测试集调参前后模型的R2没有明显变化,但是最终的模型泛化能力更好,调参起到了一定的效果。

表8 调整前后模型参数的选择

表9 调参前和调参后模型比较

4 结 语

本文提出采用机器学习的方法研究影响机械钻速的关键因素,这种策略的优势是能够在当前设备和资源条件下找寻影响机械钻速的若干个核心因素。设计并实现了一系列的关于预测机械钻速的模型算法,通过对比择优选择了GBDT模型作为最终的模型。该模型相对其他模型来说,具有较高的平均可决系数,说明该模型的回归直线对观测值的拟合程度更好。同时,该模型能够选择影响机械钻速的若干个核心因素,给施工现场提供高效有力的指导依据。相对于传统提升钻井设备、改进钻井工艺、根据经验改变参数等方法来提高钻井效率,使用机器学习方法能从海量的数据中找到影响机械钻速的若干个有意义的参数,并且能够建立高效而又准确的模型,这将大大减少设计实验的周期和成本。另外,这种方法可复制性强,可以在多个地区进行推广使用。

由于拿到的数据有限,本文只能考虑文中提及的几个特征作为影响机械钻速的因素,还有其他特征,比如钻井液具体成分等,对机械钻速的影响规律未能够进行有效的实验探索,如果后续能拿到这些数据则有望做进一步深入研究。

猜你喜欢

机械钻速预测值分类器
IMF上调今年全球经济增长预期
基于机械钻速的地层孔隙压力随钻监测方法
加拿大农业部下调2021/22年度油菜籽和小麦产量预测值
±800kV直流输电工程合成电场夏季实测值与预测值比对分析
法电再次修订2020年核发电量预测值
BP-GA光照分类器在车道线识别中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
营11区块井眼清洁技术
控压钻井技术在元坝16井的应用