基于机器学习的油气水层随钻识别模型优选

2019-10-11 07:46陈明强
关键词:水层测井交叉

孙 健,李 琪,陈明强,任 龙

(1.中国石油大学(北京) 石油工程学院,北京 102249;2.西安石油大学 石油工程学院,陕西 西安 710065;3.西安石油大学 陕西省油气井及储层渗流与岩石力学重点实验室,陕西 西安 710065)

引 言

传统交会图版法[1]、剥层法、多曲线联合定性识别与交会图版相结合[2]可以对油气水层进行解释,但由于相对复杂的地质条件、沉积环境以及储层非均质性与储层测井响应特征之间的非线性关系,利用线性测井响应方程与统计经验公式难以刻画储层的真实特征,无法满足实际生产需要,并且传统图版法与研究人员经验密切相关,存在一定不稳定性。因此,利用非线性信息处理技术快速识别油气水层,可以更好地满足油气勘探开发需要。目前已有一些基于机器学习理论的方法[3-12]被应用于油气水层的解释工作当中,但仍存在很多问题:人工神经网络方法难以在局部最优和数据样本较少时给出满意结果[13-18];支持向量机虽能够弥补神经网络方法的不足,但经典的支持向量机只能进行二分类,在实际数据挖掘应用中,通常需要解决多分类问题。因此出现了一对多支持向量机(OVR SVMs)、一对一支持向量机(OVO SVMs)以及随机森林(RF)等,它们可以有效避免上述方法的缺点。本文将机器学习方法与随钻测井资料结合起来,构造OVR SVMs分类识别模型、OVO SVMs分类识别模型以及RF分类识别模型,对所钻遇油气水层进行高准确度及高时效性的随钻识别。

1 机器学习分类识别模型建立

1.1 数据处理方法选择

首先,对原始数据进行标准化处理。不同评价指标往往具有不同量纲,会影响数据分析结果,因此需要进行数据标准化处理,以消除评价指标之间的量纲影响,使得数据指标之间具有可比性。目前有两种常用的数据标准化方法:离差标准化和标准差标准化方法。在本研究中,选择离差标准化方法对测井数据进行标准化处理,即

(1)

式中xmax、xmin分别是样本数据的最大值和最小值。经过标准化处理后,测井数据值均在[0,1]区间内。

其次,对标准化处理后的数据进行相关性分析。样本数据种类越多,数据量越大,训练模型可靠性越高,但是如果不同类别数据之间存在较高的相关性,会造成数据冗余,增加模型训练时间并对机器学习结果产生一定影响,因此需进行数据相关性分析。

1.2 机器学习算法选择

(1)支持向量机

支持向量机(SVM)是由线性可分情况下的最优分类面发展而来,其核心思想为最优分类面不但能够将两类样本正确分开,并且使其分类间隔最大。实际上,大多数分类问题都为线性不可分,需通过非线性映射算法将其转换为高维空间的线性问题,在变换空间中找到最佳分类面[19-22],如图1所示。

针对构造SVM多分类模型,目前有两种方法:一种是直接修改目标函数,将多个分类面的参数求解化归为优化问题, “一次性”求解该最优化问题以实现多分类。该方法看似简单,但其计算复杂度较高,难以实现。另一种是组合多个二分类器来构造一个多分类模型,称之为间接法,通常有OVR SVMs和OVO SVMs两种。

图1 支持向量机示意图Fig.1 Schematic diagram for support vector machine

OVR SVMs分类模型依次将某个类别的样本分为一类,剩余样本分为另一类。k类样本可用于构造k个二分类器,将输入值通过k个分类器识别以获得k个输出值,统计并比较输出值。数量最多者对应类别为输入值的类别。该模型有一个较为明显的缺陷:训练集所占比例较小,结果会受到剩余样本影响,存在偏差。

OVO SVMs分类模型对于k类样本则需设计k(k-1)/2个分类器。当OVO SVMs分类模型对未知样本进行分类时,每个分类器将评估其类别并进行投票,未知样本的类别即为得票最多的类别,当类别数量较大时,模型数量为k(k-1)/2,这将会大大增加计算时间。

利用SVM算法进行分类时,核函数的选择非常重要,通常有线性核函数、多项式核函数以及高斯核函数等。由于高斯核函数具有高度灵活性[23],因此本研究选用高斯核函数。确定核函数后,需对算法内参数C和γ进行优选,C为惩罚系数,也称对误差的宽容度,用来平衡分类间隔边界和错分样本,该值越大,表明越不能容忍出现误差;γ为核函数的带宽,该参数决定了数据映射到新特征空间后的分布。

(2)随机森林

随机森林算法是当前最受欢迎的机器学习算法之一,20世纪80年代Breiman等人[24]首先提出了分类树算法,这种方法可以将数据反复分类或回归以减少计算量。2001年Breiman[25-26]将分类树组合成随机森林,即随机使用变量和数据生成许多分类树,并统计汇总分类树的结果,发现其对缺失数据和非平衡数据比较稳健。

随机森林由许多不相关的决策树构成,其决策过程如图2所示,从根节点开始,对待分类项中相应的特征属性进行测试,并根据测试结果,选择输出分支,直到到达叶子节点。决策结果即为存放在叶子节点中的类别。获取森林后,输入新样本时,将分别评估森林中的各决策树,以确定样本属于何种类别,计算各类别的选择次数,选择次数最多的类别即为样本预测的类别。

图2 随机森林示意图Fig.2 Schematic diagram for random forest algorithm

利用该算法进行分类时,主要对算法内参数n_estimators和Max_features进行优选。参数n_estimators表示森林中树的数量,该值不宜过大,计算时间会随着决策树数量的增加而增加,因此最佳预测值将会出现在合理的决策树数量值范围内。参数Max_features表示单个决策树可使用的最大特征数,即随机选择特征集的子集,子集数越小,方差减小速度越快,但同时偏差增加速度也会越快。

1.3 模型参数优选方法

首先使用网格搜索法对各分类模型参数大致范围进行选择,其次通过交叉验证法对模型参数值进行精细优选。交叉验证法是一种用于验证模型性能的统计分析方法,可以避免过度拟合,主要有k折交叉验证法和留一验证法。

在k折交叉验证方法中,数据集被划分为k个子集,交叉验证过程重复k次,每次选择一个子集作为测试集,剩余数据作为训练集,得到平均交叉验证识别率。在这种方法中,所有样本都可以用作训练集和测试集,每个样本验证一次。

留一验证法(LOOCV),假设数据集中有n个样本,该方法涉及n个交叉验证,每个样本被用作测试集,剩余的n-1个样本被用作训练集,该方法结果非常接近母体样本分布,估计的泛化误差通常较低。在实验数据样本较少的情况下,可以考虑LOOCV,但LOOCV计算成本较高,建立的模型数量等于样本总数。当样本总数足够大时,除非每个模型的训练速度非常快,否则LOOCV难以实现。

实验证明10折交叉验证能最好地估计分类准确率[15,27],因此本文采用10折交叉验证对目标函数参数进行优选,以提供较高的准确率并避免过度拟合。

2 不同油气水层分类识别模型参数优选

2.1 数据准备与处理

选择延安气田延969井区作为研究区域,该井区位于鄂尔多斯盆地,渗透率小于10×10-3μm2,最大值为7×10-3μm2,属于超低渗透储层。选择该区域中31口生产井的260组常规电缆测井数据作为模型训练数据,3口生产井的29组随钻测井(LWD)数据作为模型测试数据。基于当前的技术条件,大部分传统电缆测井方法获取的测井信息LWD都能够得到。

为使模型具有高灵活性、高计算精度以及增加全面分析的可能性,应尽可能获取多的测井数据种类和数量。研究井区所采集的测井数据包括自然伽马、地层电阻率、冲洗带电阻率、补偿声波、岩性密度以及补偿中子。通过原有测井解释分析可知,该区块油气水层分为四类:气层、气水同层、水层以及干层。

利用公式(1)对研究区所采集的测井数据进行标准化处理,对标准化后的6种测井数据进行相关性分析,得到地层电阻率与冲洗带电阻率线性相关且相关性较高,线性相关性方程为y=1.031 3x-0.002 6,相关系数R2=0.947,由此可知地层电阻率与冲洗带电阻率选择一种即可。其它测井数据相关性都很差,最终选择自然伽马、地层电阻率、补偿声波、岩性密度以及补偿中子测井数据作为模型训练的特征参数。

2.2 OVR SVMs模型参数优选

首先取C=[150,200,250,300,350],γ=[0.1,0.5,1,5,10]对(C,γ)共25个组合进行网格搜索,得到参数C和γ的最优值分别在200和1附近,随后在C=200和γ=1附近采用10折交叉验证进行参数精细优选。图3(a)所示为γ=1时参数C的10折交叉验证,得到参数C的最优值为190~220;图3(b)所示为C=190时参数γ的10折交叉验证,最终选取准确率最高的组合(190,1)作为最优OVR SVMs训练模型参数,训练集识别准确率为0.961 5,用时10 s。

图3 OVR SVMs中参数的10折交叉验证Fig.3 Ten fold cross-validation of parameters in OVR SVMs

2.3 OVO SVMs模型参数优选

首先取C=[50,100,150,200,250],γ=[0.1,0.5,1,5,10]对(C,γ)共25个组合进行网格搜索,得到参数C和γ的最优值分别在150和0.5附近,随后在C=150和γ=0.5附近采用10折交叉验证进行参数精细优选。图4(a)所示为γ=0.5时参数C的10折交叉验证,得到参数C的最优值为130~170;图4(b)所示为C=130时参数γ的10折交叉验证,最终选取准确率最髙的组合(130,0.5)作为最优OVO SVMs训练模型参数,训练集识别准确率为0.961 5,用时9 s。

图4 OVO SVMs中参数的10折交叉验证Fig.4 Ten fold cross-validation of parameters in OVO SVMs

2.4 RF模型参数优选

图5 RF中max_features=2时参数n_estimators的10折交叉验证Fig.5 Ten fold cross-validation of parameter n_estimators in RF when max_features=2

3 不同油气水层分类识别模型应用及效果

通过上述数据准备及分类识别模型参数优选,利用各模型对29组LWD测试集数据进行油气水层识别,得到各模型对测试集的分类识别结果(表1),同时可以得到各模型分类识别准确率及训练时间对比(表2)。

表1 3种模型对测试集的识别结果Tab.1 Recognition results of three models for test set

表2 3种模型识别准确率及训练时间对比Tab.2 Comparison of recognition accuracy and training time of three models

由表1与表2可以得知,2种支持向量机的训练集识别准确率相同且值较高,达到了96%,随机森林的训练集识别准确率相较于两种支持向量机降低了近20%;对于测试集,OVO SVMs分类识别准确率最高,约为86%,OVR SVMs和RF分类识别准确率相同,约为79%;在模型训练时间方面,RF分类识别模型远远大于两种支持向量机模型,两种支持向量机模型训练时间基本相同。虽然RF算法是目前监督分类算法中最好的算法之一,但是由于训练数据较少,参数维度不够高,因此分类结果表现并不好,这是RF算法的固有缺点。

测试集中被错分为其它类别的气水层结果见混淆矩阵图6。

图6 各模型对测试集识别的混淆矩阵Fig.6 Confusion matrixes of three models for recognition of test set

3种模型对气层的识别准确率相同,为75%,并且都将25%的气层错分为了气水同层;对于气水同层的分类识别,OVO SVMs模型识别准确率最高,为95.24%,RF模型识别准确率最低,为85.71%;在错分部分,3种模型都是将气水同层错分为了气层。由于测试集中没有水层,所以在水层识别中无数据。OVR SVMs模型对干层识别率很低,只有25%,将剩下75%均错分为气水同层,OVO SVMs模型和RF模型对干层识别率都为50%,同样将剩下50%错分为气水同层。由此可见,3种分类识别模型对干层的识别率均较低,当气水层解释出现误差时,可能会出现这种情况,当然与训练集以及测试集样本数量较少也有一定关系。

随着钻井数据的不断获取,需要将其不断加入到训练集中以提高模型的稳定性及可靠性,模型训练时间过长则难以实现模型的快速训练,从而影响后续的油气水层随钻识别,因此模型训练时间也是模型优选的一个重要考虑因素。在本案例中,优选OVO SVMs分类识别模型进行油水层的随钻识别,模型训练时长为9 s,训练集分类识别准确率为96.15%,测试集分类识别准确率86.20%。

4 结 论

(1)模型训练前,需进行输入数据相关性分析,避免数据冗余以及减小输入数据维度,从而提高计算准确率并减少模型训练时间。

(2)网格搜索初始值范围对3个模型的参数优选非常重要,若初始值范围不合理,则直接影响训练模型的准确性,难以找到全局最优解,进而增加模型训练时间。

(3)机器学习算法可用于油气水层的随钻识别且准确度较高,在数据较少的情况下,建议使用OVO SVMs分类识别模型,不建议使用RF分类识别模型。

猜你喜欢
水层测井交叉
本期广告索引
长江口邻近水域仔稚鱼分层群聚特征分析
“六法”巧解分式方程
水稻水层管理田间试验总结
连数
连一连
基于测井响应评价煤岩结构特征
随钻电阻率测井的固定探测深度合成方法
中石油首个全国测井行业标准发布
双线性时频分布交叉项提取及损伤识别应用