您好, 访客   登录/注册

机器学习算法在复合驱井结垢预测中的应用

来源:用户上传      作者:马庆 吴运驰

  摘要:复合驱是油田开发后期提高采收率的重要手段,准确预测复合驱井结垢规律,能够有效提高油井产能,降低作业成本。通过机器学习技术分析油井离子数据和作业数据,得到了较为准确的结垢作业预测模型,为提前采取防垢措施提供了决策依据。
  关键词:机器学习;复合驱;结垢;预测;人工智能
  中图分类号:TP18       文献标识码:A
  文章编号:1009-3044(2019)27-0198-02
  Abstract: Composite flooding is an important means to improve oil recovery in the later stage of oilfield development. Accurate prediction of scaling regularity of composite flooding wells can effectively improve oil well productivity and reduce operating costs. Through the analysis of ion data and operation data of oil wells by machine learning technology, a more accurate prediction model of scaling operation is obtained, which provides decision-making basis for taking anti-scaling measures in advance.
  Key words:Machine Learning; Compound Flooding; Scaling; Prediction; Artificial Intelligence
  1 背景
  随着人工智能,大数据,物联网等技术的飞速发展,图像识别,语音识别,自然语言处理,自动驾驶等领域有了突破性的进展。而传统工业领域在过去的几十年通过信息技术的不断深入应用,同样积累了大量历史数据,通过将人工智能领域的机器学习,深度学习算法应用在工业领域,寻找历史数据中的价值,发现未知的规律或模型,预测并指导未来发展,是企业未来的重要发展方向。
  在石油领域,复合驱是油田开发后期提高采收率的重要手段之一,然而复合驱化学药剂的使用,通常伴随着地层化学结构的改变,从而导致不同的化学物质结合形成垢质,导致油井堵塞、卡泵,阻碍油井工作,降低油井产能,而后对结垢井的解垢措施又需要投入人力物力。油井结垢对油田效益产生极大的不良影响。如果能够通过检测油井状态,预测到结垢情况的发生,提前采取防垢措施,便能大大降低每口油井的维护成本。
  2 当前结垢预测方法的不足
  现有的结垢预测方法,通常采用采出液离子浓度监测,结合实验室化学反应实验结果,给出实验模拟的反应模型从而预测实际井下结垢情况。该方法存在的问题有:
  1)实验室无法模拟井下的所有情况甚至大部分情况,井下的温度、压力、岩性、化学成分无法在实验室中完全模拟,而这些因素偏差的组合可能导致实际情况与实验情况的偏差增大;
  2)化学实验为了排除干扰,通常会控制变量,采用少数几种物质参与反应,而对多种物质参与的复杂反应难以模拟和解释;
  以上问题可能导致实验模拟结果,由于实际地层的个性化原因,出现较大的误差,给出的模型通常需要在不同的地层、区块上调整参数,给出不同的模型或图板,而个性化参数的选择和图板的制作,通常需要对相应地层、区块有足够了解的研究人员辅助完成。
  3 机器学习的优势
  以上的问题并非该领域的个性化问题,而是人工智能领域称之为专家系统的普遍问题,即:专家无法获取并处理关于问题的全部信息,且解决方案部分依赖于专家经验。越是复杂,牵扯因素多的问题,专家系统的局限性越明显。而机器学习,深度学习算法的引入,能够借助计算机的存储和算力优势,采集和处理超过人脑容量的数据,从而在更高的维度上建立模型,弥补专家系统的短板,最终给出包含参数更多的,不受主观因素影响的复杂模型,辅助分析和决策。
  4 结垢预测的实现
  4.1数据采集
  数据集的大小和质量能够显著影响最终模型的准确性。归功于油田多年的信息化建设,各类管理信息系统中保存着大量油井基础信息、地层信息、生产动态、措施信息,且包含大量的结构化数据,这为数据采集提供了很大的便利。而获取难度主要在于信息孤岛问题,不同区块的数据以多种形式存在于不同的信息系统,需要从不同的数据库中抽取并整合为统一格式。本次分析主要提取了某几个区块复合驱井生产动态中的离子浓度數据和作业数据作为数据集样本。
  4.2数据处理
  获取到分析所需的足够数据之后,需要对其进行处理,以满足后续算法输入的需要。特征工程是这个环节最重要的步骤,选取合适的参数能够有效降低数据维度,从而降低对存储和算力的要求,同时能够显著提高部分算法的效率。特征工程可以由人工经验选取,即人类专家判断根据指定的参数级能否预测出结果,也可以通过计算参数间的相关性,提取相关性较高的参数集给出。这里通过计算参数与预测值之间的皮尔逊系数,最终选取了聚合物浓度,矿化度,ph值,钾钠离子,碳酸根离子等11项参数作为模型的输入参数。而是否结垢,使用作业数据中,是否在测量离子数据后发生洗井、卡泵、见垢等情况作为判断条件。选取“天数”=“作业时间”-“测量时间”作为预测的y1值,并将其二值化处理形成y2。即y1为测量后y1天结垢作业, y2为测量后是否发生结垢作业。由于数据中存在大量缺失值和0值,主要采取删除缺失值较多的样本和参数,和使用均值补充的形式处理,最终从5.8万条数据中选取2千条样本的子集。   4.3算法选择
  在第二部数据处理中,最终取得了数据质量较好的两千口井的数据作为数据样本,由于样本容量较小,使用机器学习算法预计即可得到较好的效果。而深度学习模型在小样本集上可能会学到数据集独有的特性产生过拟合,影响模型的泛化度。
  机器学习算法,根据预测结果是连续值还是离散值,可以分为回归算法和分类算法。在上一步数据处理中,y1是天数的连续值,y2是0和1的离散值。因此预测y1选择回归模型,预测y2选择分类模型。
  4.4结果验证
  通过尝试使用线性回归,逻辑回归,随机森林,决策树,朴素贝叶斯等机器算法预测,y1在测试集的最高准确率约30%,通过相关性分析,该连续值与参数相关性普遍低于0.2,即很难通过现有的数据集预测多少天后发生结垢作业。通过业务情况分析原因,作业通常发生在结垢情况之后,而作业时通常已经结垢一段时间,且作业时间受人为因素影响比较大,存在结垢很久的井并未进行作业,和结垢并不严重时即开展作业的情况,因此对天数的预测并不准确。
  通过使用机器学习的分类算法预测y2,即测量后是否发生结垢作业。普遍可以达到97%以上的准确率,即通过测量现有的参数,能够准确预测未来是否发生了结垢作业,其中线性分类KDA算法达到了99.3%的准确率,在测试集104口井的数据中成功预测出了55口结垢作业井(实际56口)。
  4.5迭代优化
  使用机器学习的分类算法,需要在生成结果后,分析结果好或不好的原因,返回数据采集、处理、模型选择、模型调参等各个阶段迭代优化,最终得到满意的模型。在本次分析中的主要迭代有两次:
  1)在使用回归模型发现预测结果不理想(30%左右),且通过模型选择和参数调优等方法均难以进一步提高时,分析为该预测值本身的误差导致难以预测时,对预测值进行二值化处理,放弃预测准确的时间,退而选择预测是否发生结垢作业。
  2)在使用分类模型预测时,前期即得到了训练集准确率100%,验证集准确率97%的结果,但通过观察预测值的分布时发现,由于样本的非对称性,正样本(即发生结垢作业的样本)仅占总样本的12%,负样本占样本集的大多数,因此模型将大多数结果预测成负样本,从而以“作弊”的方式得到准确率很高的假象。为了防止非对称性导致的预测模型偏差,返回数据处理阶段,随机删除负样本,仅保留全部256条正样本和与之相当的264条负样本,得到520行的样本集。而该对样本集的训练建模及优化,最终测试集准确率达到了99%。
  5 总结
  通过将机器学习算法用于油井复合驱的离子数据,成功建立了准确率较高的分类预测模型,该模型能够根据测量到的离子数据预测未来是否会发生结垢作业,从而能够提前采取防垢措施,降低结垢对油井产能产生的负面影响。
  该成果同样证明了,在缺乏足够背景知识和专家经验的条件下,通过现有数据和人工智能算法的结合,得到准确率较高的模型的可行性。纵向上,随着对样本参数和算法理解的深入,准确率能够进一步提高。横向上,该方法也能够拓展到其他工业领域给出模型,辅助专业人员分析决策。
  参考文献:
  [1] 伊恩,约书亚,亚伦. 深度学习[M].北京:人民邮电出版社,2017:20-56.
  [2] 基恩霍爾韦德. 油气大数据分析利用[M].北京:石油工业出版社,2017:113-140.
  [3] 周志华.机器学习[M].北京:清华大学出版社,2016:30-91.
  [4] 焦李承,赵进,杨淑媛,等. 深度学习优化与识别[M].北京:清华大学出版社,2017:77-86.
  [5] 高清河.强碱三元复合驱成垢及化学控制技术研究[D].大庆:东北石油大学,2013.
  [6] 陆斌.油田井筒结垢原因及防阻垢技术浅析[J].内蒙古石油化工,2011(7):43-45.
  【通联编辑:唐一东】
转载注明来源:https://www.xzbu.com/8/view-15040389.htm