智能地震岩性预测:教你用机器学习进行盲井岩性预测(附程序)

2022-04-09  本文已影响0人  科技州与数据州

钻探前预测岩性在油气勘探中具有重要的意义,岩性预测是油气勘探潜在投资的关键部分,接下来教你通过测井信息来预测盲井的岩性。

01 岩性预测的主要原理

1.岩性预测很重要

岩性预测就是要对油气勘探的目标区域预测岩石类型。提供正确的储层岩性情况,对于油气开发非常重要,这有助于帮助地球物理学家构造地下的圈闭结构,预测储层的油气产量。

一方面,岩性总厚度情况可以指导测算整个工区的油气储量,影响整个工程的资金预算。

另一方面,每口钻井的成本都非常高昂。当一口井打下去,只有储层足够大才能带来较好的投资回报。

2.智能岩性预测的主要原理

智能岩性预测的主要原理就是先打几口测井,然后对测井取芯进行岩性和物性的分析。

通过算法建立测井资料物性、相关特征与岩性之间的对应关系形成数学模型。

最后将整个模型应用到其它盲井,或是整个无井区域的地震工区进行岩性识别,实现储层的预测。

02 实战项目讲解

1.训练数据加载

这次项目是以9口测井数据为基础,这些井已经根据岩芯观察标记了岩性类型。

加载training_data.csv训练数据,得到数据是这样的:

这里选用了7个特征变量。这些特征包括5个数字特征和2个分类特征。

5个数值特征包括井下测量参数:伽马射线(GR)、深电阻率(ILD_log10)、差异孔隙度(DeltaPHI)、中子密度孔隙度(NPHI)和光电系数(PE)。

两个地质约束变量:所遇到岩性的海洋或非海洋性质(NM_M),一种岩性类型和另一种岩性类型之间的相对位置(RELPOS)。

上面训练数据标定了9种已确定的岩石类型(砂岩、细粉砂岩、粗粉砂岩、海相粉砂质页岩、泥岩、泥灰岩、白云石、泥粒灰岩和挡板灰岩)。这些岩相不是离散的,而是逐渐相互融合。有些岩相相邻,相距较近,可能会在这些相邻岩相内出现错误标记。

选择名字为“SHANKLE”的为盲井,其它的为训练井。

为了后续测井曲线绘制需要,定义一个颜色图,使岩性具有一致的颜色。还创建缩写的相标签,并将其添加到“相向量”数据框中。

接下来绘制测井曲线(即特征)的单独测井数据,以及岩相标签的测井曲线。其中绘制名为“SHRIMPLIN”的效果如图:

绘制每个岩相类别的训练样本的数量直方图。

现在来看一下特征之间的互相关关系:

可以看到特征之间不存在明显的多重共线性迹象。如果两个特征共线性很强,就可以考虑只选择其中一个了。

2.调整数据集

调整数据集的工作包括删除数据不完整的条目,将进行数据归一化处理,并在模型训练之前使用序列分割来准备训练数据集。

序列分割方法是将训练数据按一定比例(如以7比3的比例)随机分为训练集和测试集,同时保留不平衡的分类比例。

3.对多种机器学习分类器进行训练拟合:包括逻辑回归(Logistic Regression)、KNN等

现在,我们使用经过清理和整合的训练集来训练机器学习模型。我们使用不平衡的类数据(如某类岩性数据比例较小的情况),因为这是在自然界中观察到的情况,在自然数据上训练来拟合模型。

首先以逻辑回归模型为例来讲解训练和精度验证的过程。

训练参数选用了1000次迭代和自动分类训练。

训练完模型后要验证模型的精度。由于预测储层岩性(本例中为海洋岩性)从根本上取决于油气田的感知价值,因此将重点放在召回率(Recall)和F-1得分上,并结合一个混淆矩阵来精确验证训练过程中错误分类的情况,这是解释建模和调参过程的一种合理方式。

这是混淆矩阵的结果:

综合精确度为:

看起来逻辑回归模型预测能力不怎么样。

接下来写一个循环,把KNN、决策树、随机森林、集成学习、SVM和伯努利贝叶斯模型都跑来测试一下。孰优孰劣,看训练结果可以进行判断。

4. 使用拟合的模型对盲井进行岩性预测

对盲井数据同样需要预处理,包括删除数据不完整的条目,将数据进行归一化处理。

然后以随机森林模型为例进行盲井预测。

首先对随机森林模型重新进行训练,然后对盲井数据进行预测。

最后同样用混淆矩阵和综合精确度进行预测结果的量化分析。

我们还可以画出井曲线对应的岩性预测图:

以上就是今天的全部内容。今天讲解了使用机器学习算法对测井岩性预测的全流程,如果大家对代码感兴趣可以联系我获取,再见。

上一篇下一篇

猜你喜欢

热点阅读