百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

「数字化」机器学习可轻松处理繁琐的压裂数据

itomcoil 2025-05-08 18:59 11 浏览

机器学习技术可准确高效地识别出压裂曲线中的数据节点,帮助工程师们处理繁琐的压裂数据。

编译丨TOM 影子

在水力压裂作业期间,每隔一秒就会记录泵送数据,并将之传输到现场,以csv格式保存。原始泵送数据中包含多个数据道,包括压力、泵速、净体积以及支撑剂浓度。收集数据后,现场工程师可在数据曲线上手动选择事件开始/结束时间、破裂压力、瞬时关井压力(ISIP)和拐点。手动处理过程费时且易出错,而且业内存在不同的解释方法,因此结果可靠性低。为了应对这一挑战,总部位于丹佛的一家油田技术公司正在使用机器学习技术,准确高效地识别大量压裂曲线中的数据节点。

石油圈原创,石油圈公众号:oilsns

01 方法

我们的目标是通过训练一种算法来自动选择事件过程,该算法针对的是一个庞大且多样的数据集。虽然这些数据集已被标记为最常见的解释,但没有对其进行显式编程。为此,利用云端软件收集原始数据(. csv文件),并标准化命名标准与单位,提供空白数据集与高效且有效的方法来可视化处理曲线,以实现最优的阶段选择。

在解决此问题时,该团队使用二进制分类来构建区分节点的模型,每个点标记为0或1。下图展示了如何使用这种方法,属于该阶段的泵送时间数据标记为1,不属于该阶段的泵送时间数据标记为0。模型可根据数据属性(自变量),赋予它们不同的标签特征(因变量),并把数据分成三个数据集:训练、验证与测试。该训练算法建立了一个模型,利用训练数据中识别的模式与趋势,来精确地分类(标记)节点。

验证数据集的格式与训练数据集相同,但阶段更少,可以对基于训练数据构建的各种模型进行公正的评价。将验证数据集中生成的0/1预测值,构建为混淆矩阵,并算出准确率、精确率与召回率。高精度、精确性与召回率是准确预测的基础。然后利用测试数据集,评估用于预测节点最终位置的最终模型(程序)。它拥有与训练、验证数据集相同的特性,但没有使用二进制分类。

石油圈原创,石油圈公众号:oilsns

02 开始/结束节点

标注出阶段的开始与结束节点非常重要,因为这些界限控制着该阶段的汇总计算。除了定义累积体积与泵送时间外,在计算平均压力、最大压力、泵速、浓度时,需要标记间隔来选择适当的数据。在次过程中,该团队使用泵压、泵速与净容积作为初始特征,来训练逻辑回归分类器。泵送数据集由179个阶段组成,每个变量共有1530445行数据。其中66%的数据用于训练模型,8%用于验证模型,其余26%用于测试模型。这三个数据集都包括各种阶段:一些简单“教科书式”的阶段,其中开始与结束时间很明显;另一些“混乱”的阶段,开始或结束时间比较异常,因此定位开始与结束时间更为困难。

通过计算二进制分类数据之间的差来确定开始与结束时间。若差值为正(标签从0切换到1),则识别确认为开始时间;若差值为负(标签从1切换到0),则识别确认为结束时间。这种结合了预测与后期处理 (取差值)的方法,可生成匹配的开始与结束时间列表。每个匹配的事件都被标注出变化的位置、作业时间、井名以及阶段编码。然后,通过过滤筛选来为每个阶段选择最合适的预测时间。尽管第一组试验产生的模型能够非常准确地预测0/1的标签,但组合过程产生了一长串预测值。该程序将泵速与压力的任何微小变化作为起始时间,并指定相应的结束时间,如下图。因此,通过增加额外的特征,可减少产生错误匹配的数量。

石油圈原创,石油圈公众号:

在第二轮模型训练中,利用简单的移动平均法,对特征进行预处理,使数据曲线更加平滑。移动平均法通过减少微小波动(噪音)来更好地突出变化趋势。该团队将变化率作为附加特性添加进来,并将L1正则化应用于模型培训。在逻辑回归中,通常使用L1正则化来生成忽略某些特征的模型。得到的模型往往更稳定且更容易解释。最终逻辑回归模型的训练与验证精度约为90%,而且,与手动标记的平均时间误差仅在10秒内。

石油圈原创,石油圈公众号:oilsns

03 ISIP标志寄存器

ISIP定义为最终注入压力与井眼、射孔或割缝管摩阻引起的压降之间的差值。ISIP节点位于泵送阶段的末尾,在关井之后、压力开始下降之前。在压力开始下降处画一条直线,结合压力为零的时间点来预估ISIP节点。随着数据收集变得愈发受限,业内对ISIP的选择也有所不同。通常情况下,停泵后则会停止收集数据,以节省操作时间(因此也节省了费用)。因此,泵速降为零后只记录了几秒钟的数据,由于没有压力下降,很难绘制出直线。在停工后,许多现场工程师依靠观察水击效应产生的第一或第二压力峰值来选择ISIP,所以产生了不同的结果。

针对如何选择ISIP节点,利用云端软件从北美各地的盆地收集了870个阶段的标准化数据。采用前文所述的二进制分类方案,来训练神经网络,以识别与分离计算ISIP所需的泵压图区域。如果数据属于泵压图的目标区域,则标记为1,否则标记为0。当神经网络识别出目标区域时,通过去除异常值进一步缩短时间序列。在该过程中,若某个数据与区域平均压力值有一个标准偏差,则被确认为异常点。最后,对降噪后的时间序列进行线性回归,预测泵速为0时的ISIP值。

在分离目标区域时,神经网络实现高达98%的分类准确度(针对训练与验证数据集)。随后对测试数据集进行线性回归,得到的ISIP预测值,与手动选取的值相比,平均准确率为±72psi,中位数准确率为±35psi,如下图所示。

石油圈原创,石油圈公众号:oilsns

04 结论

利用分类技术对大量水力压裂曲线的相关区域进行自动标注,可以简单有效的识别关键事件。准确的节点标注使处理大量的压裂数据成为可能,并减少了为质量控制而审查现场数据的时间。该方法的不足之处在于需要对新的现场数据进行周期性的再训练,以保持预测的准确性,提高预测的适应性。使用简单准确的模型有利于部署、调试,并能极其快速的预测以及再训练(更新模型)。

石油圈原创,石油圈公众号:oilsns

欢迎添加石油圈小编大安

微信号:13132031392

- END -

点击阅读原文, 阅读更多行业文章!

▼▼▼

免责声明:以上内容转载自石油圈,所发内容不代表本平台立场。全国能源信息平台联系电话 010-56002763,邮箱 hz@people-energy.com.cn

相关推荐

第十章:优化设计与自动化工作流(优化设计是)

以下重点讲解优化设计、自动化脚本编写以及与其他工具(如Python、优化算法库)的集成,提升CFD仿真的工程应用效率。目标:掌握参数化扫描、优化算法集成和批量任务管理,实现从单次模拟到自动化设计探索的...

安装python语言,运行你的第一行代码

#01安装Python访问Python官方(https://www.python.org/),下载并安装最新版本的Python。确保安装过程中勾选“Addpython.exetoPAT...

Python安装(python安装的库在哪个文件夹)

Windows系统1.安装python1.1下载Python安装包打开官方网站:https://www.python.org/downloads/点击"DownloadPython3.1...

比pip快100倍的Python包安装工具(python2.7.5安装pip)

简介uv是一款开源的Python包安装工具,GitHubstar高达56k,以性能极快著称,具有以下特性(官方英文原文):Asingletooltoreplacepip,pip-tool...

【跟着豆包AI学Python】Python环境的安装,编写第一个程序

最近几年,人工智能越来越走进人们的日常生活,国内各大公司都推出了自己的AI助手,例如:阿里旗下的通义千问、百度旗下的文心一言、腾讯的腾讯元宝、深度求索的deepseek等,元宝就是字节跳动公司推出的A...

Python3+ 变量命名全攻略:PEP8 规范 + 官方禁忌...

Python3+变量命名规则与约定详解一、官方命名规则(必须遵守)1.合法字符集变量名只能包含:大小写字母(a-z,A-Z)数字(0-9)下划线(_)2.禁止数字开头合法:user_age,...

Python程序打包为EXE的全面指南:从入门到精通

引言在Python开发中,将程序打包成可执行文件(EXE)是分发应用程序的重要环节。通过打包,我们可以创建独立的可执行文件,让没有安装Python环境的用户也能运行我们的程序。本篇文章将详细介绍如何使...

别再纸上谈兵了!手把手教你安装GraalVM,让你的代码瞬间起飞!

各位老铁们,是不是每次看到我吹嘘GraalVM的各种神迹,心里都痒痒的?想让自己的Java程序秒启动?想让Python脚本跑得比平时快好几倍?想体验一把多语言无缝协作的快感?但一想到要下载、配置、敲命...

纠结坏了!从 Python 3.8 升级到 3.14 真有必要吗?

点赞、收藏、加关注,下次找我不迷路"我电脑里装的Python3.8,现在都出3.14了,要不要赶紧升级啊?会不会像手机系统更新一样,越升级越卡?"相信很多刚入门的朋友都有类...

win10下python3.13.3最新版本解释器的下载与安装

一、python3.13.3下载官方下载地址:https://www.python.org/1.浏览器访问https://www.python.org/这个地址,进入python的网站,点击【Dowl...

Python简介与开发环境搭建详细教程

1.1Python简介与开发环境搭建详细教程一、Python语言简介1.Python的核心特点2.Python的应用领域表1.1Python主要应用领域领域典型应用常用库Web开发网站后端D...

python开发小游戏案例(python游戏开发入门经典教程)

#头条创作挑战赛#假设你正在开发一个小型游戏,需要实现角色移动、障碍物生成、碰撞检测等功能。你可以使用Python和Pygame库来开发这个游戏。输入以下命令来安装Pygame:pipinstall...

Python编程:从入门到实践 第十一、二 章 武装飞船

假设我们有一个名为AnonymousSurvey的类,用于收集匿名调查的答案。该类包含以下方法:classAnonymousSurvey:def__init__(self,questi...

「Python系列」python几个重要模块的安装(二)

一、python的pygame的安装:安装地址:https://www.cnblogs.com/charliedaifu/p/9938542.htmlpyagme包下载地址:https://down...

python如何绘制消消乐小游戏(python字母消消乐)

要开发一款消消乐的小游戏界面,我们可以使用Python的pygame库。首先需要安装pygame库,然后创建一个窗口,加载游戏素材,处理游戏逻辑,以及绘制游戏界面。以下是一个简单的消消乐游戏界面实现:...