基于遗传算法优化单类支持向量机的油田离心泵注水站异常检测
2023-02-11李博文宋文广李浩源赵安张秋娟QianYu
李博文, 宋文广*, 李浩源, 赵安, 张秋娟, Qian Yu
(1.长江大学计算机科学学院, 荆州 434023; 2.Faculty of Engineering and Applied Science, University of Regina, Regina S4S0A2, Canada)
油田离心泵注水站规模庞大[1],一旦停运不仅会增加职工劳动量,同时会严重影响到生产效率,造成不可估量的损失。因此注水站必须保证高可靠性、高时率性地运行。油田离心泵注水站已完成信息化建设,实现了压力、温度、液位等生产参数的实时采集,由于注水站工作环境差、受磁场影响、仪表设备老化等因素,会产生不能反映设备真实情况的异常数据,将引起系统的误报警、误动作。
对于这种情况,国内大多仍采取的是人工巡检的方式进行离心泵等设备异常的排查,也就是检查设备的流程渗漏、阀门泄漏、设备运行温度、设备异响、振动超标等问题,浪费资源的同时也无法保证检测的精度,工作效率不高。而基于传统统计学的异常检测方法最常用的有阈值法、协方差分析和数据相关性分析。陈斌等[2]研究表明,阈值法无法表征所有的异常类型。杨宏印等[3]研究表明,相关性分析法对于一些参数同时发生变化的数据检测效果不太理想。卓琳等[4]研究表明,协方差分析法对于周期时间长或者周期性弱、数据量庞大情况效果不理想, 同时无法用于检测注水站局部异常数据。近年来人工智能在异常检测领域应用十分广泛, 因此尝试利用机器学习算法进行注水站异常检测很有可能取得新的突破。目前主要用于异常检测的机器学习算法有孤立森林算法(isolation forest algorithm,IForest)[5]、具有噪声的基于密度的聚类方法(density-based spatial clustering of applications with noise,DBSCAN)[6]、局部离群因子算法(local outlier factor,LOF)[7]以及支持向量机算法(support vector machine,SVM)等。其中刘朝阳等[8]研究表明,SVM根据数据的空间分布来求解最大边距超平面,进而实现数据的二元分类。SVM的优点在于泛化性好,可以很好地应用于解决小范围样本、非线性分类和高维模式识别等问题。
尽管在异常检测研究中可以使用上述如SVM算法,凭借大量的异常数据样本进行有效的学习分类,获得工业设备异常运行时的特征表达。但是由于油田离心泵注水站设备昂贵,在实际生产活动中很难获取大量设备异常工作时的数据样本,如国内胜利油田等仅能够从日常工作中获得少量的反映设备异常的数据。同时注水站环境复杂,对于许多不可预见的异常很难进行完全检测,也就造成了更大的资源投入与损耗。针对离心泵注水站数据存在异常样本少且难以获得,正常样本多的问题,SVM等检测方法存在一定的局限性,而单类支持向量机(one-class support vector machine, OC-SVM)只需要学习正样本的特征表达就可以对测试样本进行精确的分类。由于OC-SVM对参数敏感度较高,难以快速确定确切的参数来反映特征空间中正常数据区域边界的大小,可以对单类支持向量机参数进行寻优来提高检测精度。如今应用较为广泛的有网格搜索、随机搜索、布谷鸟搜索、粒子群搜索和遗传算法等。其中马恒等[9]研究表明,网格搜索这种穷举的方式计算代价过大,会造成维度灾难。随机搜索尽管能够提升效率,但是存在不稳定性,容易陷入局部最优。王利英等[10]研究表明,布谷鸟搜索收敛速度慢,求解精度较低,在迭代后期容易出现在全局最优解的附近震荡的表现。张艳华等[11]研究表明,粒子群搜索容易早熟收敛,同时全局搜索能力较弱。相对而言,遗传算法收敛速度快,提高效率的同时容易得到全局最优解。
现提出基于遗传算法优化单类支持向量机 (genetic algorithm optimized one-class support vector machine, GA-OC-SVM)的注水站异常检测方法,应用于油田离心泵注水站的异常检测,通过与LOF、IForest、DBSCAN、SVM等当前主流的异常检测方法进行实验对比,验证该算法优越性。
1 注水站异常检测模型设计
1.1 单类支持向量机模型
单类支持向量机(one-class support vector machine,OC-SVM)[12]应用于油田离心泵注水站的异常检测,基本步骤为使用注水站正常工作时的数据样本X={x1,x2,…,xn}来训练出OC-SVM模型。然后通过将X={x1,x2,…,xn}映射到与内核相对应的特征空间[13],并构造出一个训练样本与原点距离最大化的最优超平面f(x)=ωφ(x)-ρ,具体如图1所示。
图1 OC-SVM示意图Fig.1 Schematic diagram of OC-SVM
为了通过注水站正常样本集得到上述最优超平面,求解优化目标表达式为
(1)
stωφ(xi)≥ρ-ξi,ξi≥0
(2)
式中:N为训练正样本总数;v∈(0,1)为正则化参数,主要是为异常检测设置最大的限定值,同时也作为支持向量的样例数量的下界;ξi为松弛变量;φ为数据样本在高维空间的映射;ω为f(x)的法向量;ρ为偏移项。
为了求解对偶问题使用核技巧,此处引入Lagrange乘子(αi≥0以及βi≥0)求解Lagrange方程,即
(3)
对式(3)求偏微分后,便可以得到式(4),即所要求的优化问题的对偶形式为
minααTMα
(4)
式(4)中:α为Lagrange乘子,即为[α1,α2,…,αN]T,其中Mij=K(xi,xj)=φ(xi)φ(xj)为核函数。进而通过求解上述二次规划问题,由式(5)、式(6)求得ω和ρ,最终得出特征空间中的最优决策超平面。
(5)
(6)
对于油田离心泵注水站训练集X={x1,x2,…,xn},F(xi)为基于欧式距离所构建的决策函数,主要用于最终对测试数据集xi进行异常检测二分类,则有
F(xi)=sign[ωφ(xi)-ρ]
(7)
最终测试阶段通过计算测试样本xi的F(xi)值来判断数据是否出现异常。当F(xi)=1时,xi被识别为正常样本;当F(xi)=-1时,xi被识别为异常样本。
1.2 遗传算法优化单类支持向量机
遗传算法(genetic algorithm,GA)是一种全局优化概率搜索算法[14],用其改进单类支持向量机的GA-OC-SVM算法,能够很好地改善其对参数敏感性高的缺点,设计思路如下。
在使用OC-SVM训练数据样本集时,设定好GA的终止迭代次数,通过OC-SVM的参数连接构成GA的染色体。在每次迭代优化后得到的新的染色体,代入OC-SVM中进行再次训练,并将预测精度作为GA的适应度函数。在种群个体不断进行选择、交叉和变异操作后,最优的个体适应度函数值会达到阈值,此时停止迭代,同时将得到的种群最优的个体值作为本次OC-SVM参数值进行油田离心泵注水站的异常检测和试验。图2为遗传算法优化单类支持向量机流程,具体步骤如下。
图2 遗传算法优化OC-SVM流程图Fig.2 Genetic algorithm to improve OC-SVM flow chart
步骤1设定OC-SVM的参数范围、遗传算法的种群规模N以及终止迭代次数T。
步骤2确定遗传算法的编码方式,并按照OC-SVM参数随机生成出N个染色体。
步骤3计算出每一个染色体对应的适应度函数值[15]。
步骤4判断种群最优个体的适应度函数值是否达到了阈值,成功达到了则终止迭代,否则继续进行选择、交叉、变异操作的迭代并产生新的种群。
步骤5最后得到最优的OC-SVM参数,并进行油田离心泵注水站异常检测实验。
2 实验方案验证
2.1 异常类型分析
油田离心泵注水站设备庞大复杂[16],每一个异常类别都包括诸多细节。图3为注水泵机组,当其运行时产生震动,电缆沟高压电缆和信号缆合走,以及受电磁场环境影响而产生异常数据,触发系统误报警、误操作。图4为离心泵注水站运行图,整体涉及温度的工程参数有注水泵前后轴承温度、定子温度、三相风温等10项,压力相关工程参数包括注水泵进口压力、注水泵出口压力等4项。以及液位、电参、流量相关10余项,每个参数都有自己的额定阈值,不同注水站的各项特征参数阈值不相同。基于胜利采油厂油田离心泵注水站运行经验, 依据工程数据表现特征从总体上将异常类型归纳为三大类, 包括温度异常、压力异常、液位异常。
图3 注水泵机组Fig.3 Water injection pump unit
图4 注水站运行图Fig.4 Water injection station operation diagram
当温度异常,例如出现异常点跳动或者温度超过额定阈值,增幅出现超过200%等异常情况,油田离心泵将会采取高温异常预警,超高温停泵的措施。由于温度的变化一般都是呈缓慢或者快速的渐变趋势,图5所示为2021年11月1日采集自胜利油田的胜五注一号泵定子温度异常时的数值变化数据,对比定子温度的正常情况,其温度频繁达到250 ℃,同时出现了温度的突变,即短时间骤降或者跳跃式增长,此时便会导致油田离心泵误操作。
图5 定子温度异常图Fig.5 Stator temperature anomaly graph
2.2 算法评价指标
对于分析算法的精度,查准率、查全率、接受者操作特征(receiver operating characteristic,ROC)曲线[17]经常被用于二分类模型中,因此选择将其作为本次油田离心泵注水站异常数据检测效果的评价指标,根据评价结果来验证所提出的基于机器学习算法的油田离心泵注水站异常检测方案的优越性。根据评价指标所构成的混淆矩阵,如表1所示,所有数据样本根据其真实的类别和预测的类别总共被分成真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)4种情况[18],在注水站异常检测判定问题中,将设备运行的正常情形作为正例,异常情形作为反例。
表1 分类结果混淆矩阵
查准率P与查全率R定义公式为
(8)
(9)
通过选择出不同的分类阈值进行数据类别的划分,ROC曲线以真正例率(TPR)为纵轴,假正例率(FPR)为横轴,进行绘制图表来进行算法模型的效果评价,其中TPR和FPR计算公式为
(10)
(11)
ROC曲线下方面积(area under curve,AUC)作为评估基于遗传算法改进单类支持向量机的GA-OC-SVM算法、局部离群因子算法、孤立森林算法的检测效果的一项标准,算法的检测效果与AUC面积成正比,AUC面积越大可以判断出该算法的检测效果更优秀。在对不同的异常检测算法进行比较时, ROC曲线对算法的检验效果评价结果是直观的, 当一个分类器的ROC曲线面积能完全地包含另一个分类器的曲线面积, 则可以得出结论:前者的异常检测效果比后者优秀。
2.3 异常检测流程
基于遗传算法改进单类支持向量的GA-OC-SVM算法应用于异常检测,主要分为模型建立阶段和异常检测阶段。
2.3.1 模型建立阶段
(1)构建异常检测模型前先对训练集X0进行标准化处理。
(2)根据遗传算法对标准化、归一化后的训练集X进行参数优化。
(3)基于遗传算法寻优后的OC-SVM模型用于注水站测试集的异常检测。
2.3.2 异常检测阶段
(1)对注水站测试集Xtest0进行规则相同的标准化、归一化处理。
(2)使用GA-OC-SVM模型对处理后的测试集Xtest进行异常检测。
(3)根据决策函数F(xi)判断油田离心泵注水站运行是否异常。
实验中,通过遗传算法寻优得到最优的参数,并使用OC-SVM训练得出基于注水站数据的分类模型之后,便可以使用模型对注水站测试数据集进行异常检测判断。在参数阈值范围内且未出现剧烈波动的正常数据,表明是油田离心泵正常的工作状态, 用标签“+1”标注;相反的当出现参数数值短时间骤降或巨增或明显大范围超出阈值的数据,表明此刻离心泵有异常的风险,用标签“-1”标注。那么本次的异常数据检测便转化为一个二分类问题,通过人工智能算法检测的结果可以为油田离心泵注水站运行时的异常及时发现与处置干预提供有力的支持。
3 实验结果
为了验证研究中所提出的方法针对油田离心泵注水站异常检测的实际效果,以及基于遗传算法改进单类支持向量机的GA-OC-SVM算法的优越性,使用如图6所示的PLC设备在胜利油田的胜五注一号泵进行数据的采集,然后分别对GA-OC-SVM、IForest、LOF、DBSCAN、SVM、OC-SVM等算法在同一平台对胜利油田的胜五注一号泵数据进行训练和验证。
图6 PLC系统设备Fig.6 PLC equipment
通过采用遗传算法对单类支持向量机参数进行优化,得到遗传算法的进化曲线如图7所示,经过迭代寻优后得到一组最优的种群个体值并将其作为模型参数进行异常检测。
图7 遗传算法进化图Fig.7 Genetic algorithm evolution diagram
经过实验,表2中展示了LOF、IForest、OC-SVM、SVM、DBSCAN、GA-OC-SVM 6种算法的检测精度,分别为72%、90%、92%、85%、80%、99%,其中GA-OC-SVM的检测效果要明显优于其他算法。图8展示了实验中对油田离心泵注水站数据的异常判定结果的ROC曲线评价对比图,其中GA-OC-SVM的AUC面积完全包含了其他主流异常检测算法的AUC面积。因此可以得出结论,GA-OC-SVM在注水站异常数据检测中表现得更优秀。通过对比,使用遗传算法优化后的OC-SVM能够取得更好的检测效果,同时对模型的检测效率有了显著提升。
表2 模型预测精确度
图8 ROC曲线算法分析图Fig.8 ROC curve algorithm analysis chart
4 结论
针对油田离心泵注水站异常检测问题,提出了使用基于遗传算法优化单类支持向量机的异常检测方法。通过对胜利采油厂胜五注一号泵数据进行验证,经过数据采集与处理以及模型训练与优化后进行的异常点检测,最终实现了油田离心泵注水站异常判定,证明了GA-OC-SVM算法的优越性,其判定准确率达到99%以上。
(1)实验表明在油田离心泵注水站的异常检测中,使用人工智能算法相较于传统的人工巡检等方式,能够在节省大量人力物力资源的情况下,取得非常好的异常检测效果。
(2)在油田离心泵注水站的实际数据上应用,由于注水站的设备的复杂性及大量未检测到的异常情况,在实际情况中仍然不可避免地会出现不能完全检测的问题,但与之前仅仅当特征参数超过了阈值就判断为异常的方法相比,应用遗传算法改进单类支持向量机的GA-OC-SVM算法进行异常检测仍然具有一定的优越性。