在油田生产过程中,技术人员通常根据井下泵的工作状态判断生产工况,进而调整采油工艺措施,提高采油效率,保障油田安全运行[1].
抽油井井下泵的工作状态可以通过泵功图直接反映[2-3],油田通过泵功图分析井下工况的方法主要有灰色关联度分析法[4]及傅里叶描述子的图形相似性分析法[5].上述方法通过图形相似性比较来判断油井工况,但在油田生产过程中,存在示功图采集不准确、生产波动等现象.李春生等[6-7]利用支持向量机对提取的泵功图特征向量建立了工况识别模型;李训铭等[8-10]利用灰度矩阵提取特征向量,并用神经网络建立工况识别模型.支持向量机、神经网络等算法在工况识别中易将不平衡数据中小类作为噪声,并且将其丢弃.针对以上工况识别过程中所面临的参考功图选取不准确,数据集不平衡等问题,本文提出了结合SMOTE算法的改进随机森林算法进行抽油井泵的工况识别,从而提高采油效率,更好推进油井工况识别的数字化、智能化.
油井工况识别首先需要把地面采集的悬点示功图转换为泵功图.根据Gibbs模型,将抽油杆视为一根井下传导线,建立一维带阻尼的波动方程[11]为
(1)
式中:u(t)为地面示功图悬点位移函数;a为应力波在抽油杆柱中的传播速度;c为阻尼系数.
利用边界条件,最终可得抽油杆柱任意深度的载荷和位移随时间的变化方程,即可以求出泵功图,对应此模型解的傅里叶级数形式为
(2)
式中:σ0、ν0、On、Qn均为傅里叶系数;Er为抽油杆的弹性模量;Ar为抽油杆的截面积.
转换后的泵功图包含丰富的有杆抽油系统工作状态信息.当井下设备工况变化时,泵功图会跟着发生图形变化,显示出某一工况相应的图形特征,是正确、迅速识别工况的重要基础.常见的工况有以下几种:泵工作正常、供液不足、气体影响、出砂影响、游动阀漏、固定阀漏、油井结蜡、上碰泵、下碰泵.
不同工况的对称度、波动程度、示功图的四角曲率变化等各不相同,通过网格化对泵功图灰度矩阵特征提取可以反映图形的几何特征,从而达到工况识别的效果.
泵功图特征向量的选择对井下工况识别准确性有直接的影响.泵功图特征参数提取主要有傅里叶描述子、面积法、差分曲线法、矩特征向量和灰度矩阵的泵功图特征提取算法[12].本文采用识别率高的灰度矩阵特征提取方法,其特征参数少,识别率高,主要步骤如下:
1) 将泵功图数据进行无量纲归一尺度处理,消除泵功图量纲对数据的影响.
2) 泵功图网格化.将归一化后的泵功图放到一个2∶1的矩形网格中,使泵功图的四边与网格矩形的四边相切.
3) 边缘灰度赋值.在泵功图经过轮廓曲线的网格灰度值均赋值为“1”,其余网格赋值为“0”,形成了一个以“1”和“0”组成的矩阵.
4) 灰度矩阵生成.在边界内部逐步加1,外部逐步减1,最终获得网格化的泵功图灰度矩阵.
5) 求解灰度矩阵特征值.灰度矩阵特征值的提取是在泵功图灰度矩阵上计算灰度均值、灰度方差、灰度偏度、灰度峰值、灰度能量和灰度熵,表示了泵功图灰度矩阵的数据统计特征,从而反映图形的形状特质[13].泵功图的灰度矩阵各特征值提取表达式为:
① 灰度均值表达式为
(3)
式中:b为泵功图的灰度级数;B(b)为某一灰度b的元素个数;p(b)为灰度级的概率.
② 灰度方差σ2表达式为
(4)
③ 灰度偏度D表达式为
(5)
④ 灰度峰值P表达式为
(6)
⑤ 灰度能量E表达式为
(7)
⑥ 灰度熵T表达式为
(8)
利用以上表达式计算训练样本和测试样本的灰度特征值数据,各种工况的参考灰度特征向量值如表1所示.
表1 参考工况灰度特征向量值
Tab.1 Values of gray-level feature vector under reference conditions
工况gσ2DPET正常 4.91568016.25472 0.1153682.3129050.0704460.418573供液不足-0.48521042.56339-0.7411003.0702850.0545280.422133气体影响1.12574043.94869-0.8132203.5109140.0518010.422767出砂影响2.98964514.00285-0.0156902.2482610.0767380.417099游动阀漏4.82174620.07695-0.2866002.9561510.0666070.419449固定阀漏3.67973416.22805-0.0121102.1763620.0675050.419264油井结蜡3.26849117.04256-0.0398102.6892290.0726200.418017上碰泵1.64645019.60725-0.3220502.2756230.0646470.419902下碰泵2.21671616.87981-0.1445202.4985380.0680640.419124
通过灰度矩阵特征提取泵功图的六个数理统计特征值,可以有效反映各种工况泵功图的几何形状,用于随机森林的有杆抽油系统井下工况识别.
在采油过程中,油井各种工况出现次数是不均衡的.对于这种现象,大多数分类算法不能对小类做出有效识别,导致分类效果很差.SMOTE是由Chawla等人提出的一种向上采样方法,目的是解决小类中样本数量过少的问题.SMOTE通过合成新的小类样本来减轻类别的不平衡,其主要思想是在相距较近的小类样本之间进行线性插值,从而生成新的小类样本,计算表达式为
Snew=S+rand(Si-S) (i=1,2,…,n)
(9)
式中:Snew为新插值的样本;S为原始样本数据;rand为0~1的随机数;Si为原始样本数据的最邻近k个样本中随机选取的n个样本.
SMOTE算法对油田示功图不平衡数据处理时,首先获取工况的测试数据集S最近的k个邻样本,再从中随机选择n个,通过与原数据集边界值对比,获取符合要求的新样本Snew,算法流程图如图1所示.
随机森林算法[14]使用有放回的Bootstrap采样生成多个训练样本集,每个样本都训练成一个决策树,而未被采样的训练样本将用来估计分类器的泛化能力.利用随机森林来实现油井工况识别,可以提高模型泛化性.
图1 SMOTE流程图
Fig.1 Flow chart of SMOTE
影响随机森林算法效率和性能的主要参数有三个:决策树规模nTree、叶子节点最小样本数MinLeaf和分裂属性集中的属性大小mtry.对参数nTree和mtry选择,可以提高分类器的准确度,提高油田生产工况的识别率.为求解最佳nTree和mtry参数组合,采用一种新型的群智能算法蜻蜓算法(DA-RF)来进行寻优.蜻蜓算法是一种模仿蜻蜓捕食时的静态群行为和迁徙时的动态群行为建立的数学模型,通过模仿两个集群行为可以有效寻找最优参数.
DA-RF工况识别步骤如下:
1) 随机选取各工况的部分灰度矩阵特征值作为训练数据集,其它数据为测试集.训练集数据与测试集数据比例控制为2∶1.
2) 初始化随机森林参数(nTree,mtry)和蜻蜓算法参数,包括:相邻半径、惯性权重、分离度、对齐度、内聚度、食物因子和避敌因子.
3) 将识别准确率作为适应度函数,通过DA算法对随机森林参数nTree和mtry寻优.
4) 利用Bootstrap方法对灰度特征值进行重采样,产生R个训练集.
5) 利用每个训练集生成对应的决策树,并且在每个非叶子节点选择属性前,以分裂属性集中的属性大小mtry对该节点进行分裂.
6) 每棵树都完整成长,不进行修枝.
7) 对于测试集样本,利用每个决策树进行测试,最终得到对应的工况类别数据集.
8) 采用投票的方法,得到投票选择众数,即将决策树中输出最多的工况作为测试集样本所属的工况.
本文将SMOTE、DA算法结合随机森林算法用来识别井下工况.首先将采集到的地面示功图转换为泵功图,在泵功图的基础上,采用灰色矩阵特征值提取算法提取泵功图的六个灰度特征值;然后在选取的训练集数据R上用SMOTE算法计算得到新的数据集Rnew,利用得到的数据集创建随机森林,在随机森林参数优化基础上,选取蜻蜓算法得到最优参数nTree和mtry;最后将测试集代入得到最优的决策树森林,完成油井的井下泵的工况识别.具体的SMOTE-DA-RF算法流程图如图2所示.
图2 基于SMOTE-DA-RF的油井工况识别流程图
Fig.2 Identification flow chart of oil well operating condition based on SMOTE-DA-RF algorithm
本文选取辽河油田某厂的376组示功图数据进行SMOTE-DA-RF算法的建模与测试实验仿真.
将每类工况的原始数据集E分为训练集R和测试集G,训练集数据与测试集数据比例大致为2∶1.通过SMOTE算法将训练集R转换为新的训练集Rnew,实验中各种工况数据组数如表2所示.
表2 实验数据集
Tab.2 Experimental data sets
工况ERRnewG正常59386721供液不足55366219气体影响56366220出砂影响48324816游动阀漏2012648固定阀漏1610556油井结蜡36244212上碰泵48325716下碰泵38244514
利用DA对随机森林的参数进行寻优,将DA的初始参数设置为在[0.4,0.9]之间的自适应线性递减参数值.随机森林(nTree,mtry)初始值设置为(100,12),nTree的范围为[1,500],mtry的范围为[1,100].
根据DA算法得到的随机森林最佳参数nTree为287,mtry为31,建立随机森林决策树,对测试集数据G进行仿真测试,得到最终的工况识别结果.为验证本文方法的有效性,采用灰色关联度方法GRA、支持向量机算法SVM、随机森林算法RF进行对比.测试集工况识别结果分别如图3所示.
图3 测试集工况识别结果
Fig.3 Identification results of test set for working condition
从图3可以看出,灰色关联度工况分析法的准确性依赖于示功图的灰度特征向量,容易误判.通过与其它机器学习法比较,SMOTE-DA-RF算法的识别正确率较高,特别是在小类工况上,识别效果进一步加强.该改进算法可以提高工况识别准确率,为油田后续生产措施的指定提供了参考,具有一定的工程应用价值.
本文建立了基于SMOTE-DA-RF算法的有杆抽油系统井下工况识别模型,采用SMOTE算法平衡少类数据,提高了基于示功图的油井识别泛化性能;利用DA算法选择随机森林最优参数,进一步提高了工况识别性能;通过随机森林算法简化运算,提高了井下泵工况识别的准确率,避免了神经网络学习效率缓慢的问题,解决了灰色关联度分析法泵功图相似工况识别不准确和依赖参考灰度矩阵的问题.
[1]袁文琪,胡敏.基于示功图的油井故障诊断专家系统研究 [J].电子设计工程,2015,23(18):119-122.
(YUAN Wen-qi,HU Min.The research of oil well fault diagnosis expert system based on dynamometer card [J].Electronic Design Engineering,2015,23(18):119-122.)
[2]王通,段泽文,张文喜.基于窗口样本相似因子分析的油井工况识别方法 [J].沈阳工业大学学报,2019,41(6):681-686.
(WANG Tong,DUAN Ze-wen,ZHANG Wen-xi.Recognition method for condition of oil well based on similarity factor analysis for window samples [J].Journal of Shenyang University of Technology,2019,41(6):681-686.)
[3]李琨,韩莹,佘东生,等.基于IFOA-KELM-MEA模型的游梁式抽油机采油系统井下工况的短期预测 [J].化工学报,2017,68(1):188-198.
(LI Kun,HAN Ying,SHE Dong-sheng,et al.IFOA-KELM-MEA model based transient prediction on down-hole working conditions of beam pumping units [J].CIESC Journal,2017,68(1):188-198.)
[4]王秀芳,管闯,王紫.基于信息熵与灰关联的抽油井泵示功图诊断技术研究 [J].化工自动化及仪表,2013,40(11):1370-1374.
(WANG Xiu-fang,GUAN Chuang,WANG Zi.Study on entropy-based grey correlation fault diagnosis of oil pumping well indicator diagram [J].Control and Instruments in Chemical Industry,2013,40(11):1370-1374.)
[5]丛蕊,乔磊,张威.基于傅里叶描述子的示功图诊断方法研究 [J].化工机械,2013,40(3):285-288.
(CONG Rui,QIAO Lei,ZHANG Wei.Fault diagnosis method for indicator diagram based on fourier descriptors [J].Chemical Engineering & Machinery,2013,40(3):285-288.)
[6]李春生,苏晓伟,魏军,等.基于支持向量机的抽油机井功图识别研究 [J].计算机技术与发展,2014,24(8):215-218.
(LI Chun-sheng,SU Xiao-wei,WEI Jun,et al.Research on diagrams identification of pumping unit based on support vector machine [J].Computer Technology and Development,2014,24(8):215-218.)
[7]Feng K,Jiang Z N,He W,et al.A recognition and novelty detection approach based on Curvelet transform,nonlinear PCA and SVM with application to indicator diagram diagnosis [J].Expert Systems with Applications,2011(10):12721-12729.
[8]李训铭,周志权.基于BP神经网络和灰色理论的示功图故障诊断 [J].电子设计工程,2012,20(17):23-25.
(LI Xun-ming,ZHOU Zhi-quan.Diagnosis of working drawing based on BP net and grey theory [J].Electronic Design Engineering,2012,20(17):23-25.)
[9]刘宝军.基于CNN卷积神经网络的示功图诊断技术 [J].西安石油大学学报,2018,33(5):70-75.
(LIU Bao-jun.Research on diagnostic technique of indicator diagram based on CNN convolution neural network [J].Journal of Xi’an Shiyou University,2018,33(5):70-75.)
[10]张强,许少华,李盼池.基于量子蛙跳算法和过程神经网络的抽油机故障诊断 [J].中国机械工程,2014,25(12):1609-1615.
(ZHANG Qiang,XU Shao-hua,LI Pan-chi.Pumping unit fault diagnosis based on quantum shuffled frog leaping algorithm and process neural networks [J].China Mechanical Engineering,2014,25(12):1609-1615.)
[11]薛建泉,岳广韬,张国栋.抽油机井地面示功图量油技术研究 [J].石油钻采工艺,2012,38(4):61-66.
(XUE Jian-quan,YUE Guang-tao,ZHANG Guo-dong.Study on the output metering technology for rod pumped well based on ground dynamometer card [J].Oil Drilling & Production Technology,2012,38(4):61-66.)
[12]王晓涵.用于工况诊断的示功图特征提取方法研究 [D].青岛:中国石油大学(华东),2011:26-30.
(WANG Xiao-han.Study on indicator card feature extraction method for working condition diagnosis [D].Qingdao:China University of Petroleum(East China),2011:26-30.)
[13]钟功祥,邹明铭.往复泵故障示功图灰度矩阵法特征量研究 [J].机械科学与技术,2016,32(2):279-284.
(ZHONG Gong-xiang,ZOU Ming-ming.Exploring failure characteristics of indicator diagram of reciprocating pump based on gray matrix [J].Mechanical Science and Technology,2016,32(2):279-284.)
[14]魏正韬,杨有龙,白婧.基于非平衡数据的随机森林分类算法改进 [J].重庆大学学报,2018,41(4):54-62.
(WEI Zheng-tao,YANG You-long,BAI Jing.An improved random forest algorithm based on unbalanced data [J].Journal of Chongqing University,2018,41(4):54-62.)