基于孤立森林与KDE-LOF的冷水机组故障检测

2023-02-17 01:54祝红梅
计算机应用与软件 2023年1期
关键词:冷水机组制冷系统样本

熊 坤 丁 强 祝红梅

(杭州电子科技大学自动化学院 浙江 杭州 310018)

0 引 言

随着社会的发展,大多商业建筑不仅配备冷水机组,而且配备的数量增多且制冷要求提高。这推动着制冷技术的发展,使得制冷系统更加复杂,给制冷系统的故障检测提出新的挑战。相关研究表明[1],制冷系统如果能及时检测出故障的发生并采取相应处理措施,能节省20%~30%的能耗。就某种程度而言,与故障诊断相比,制冷系统的故障检测要求更高,因为它通过早期检测故障来防止能源浪费。所以,快速并准确地检测出制冷系统可能发生的故障,对系统节约能源和安全运行具有重要意义。

近年来,以大规模数据为基础的数据驱动故障检测技术得到了广泛的研究,包括主元分析、单类支持向量、孤立森林、局部异常因子等。其中主元分析(PCA)作为统计分析中的基本方法,PCA通过基变换将原始数据集划分为主元空间和残差空间。主元空间反映了正常数据的变化,残差空间反映异常或噪声数据的变化,基于PCA的故障检测方法通常使用平方预测误差SPE、T2作为统计量,确定阈值范围判断该过程是否发生故障。Hu等[2]采用主元分析的方法,使用SPE统计量为指标,实现了对冷水机组传感器故障进行检测;Beghi等[3]主要通过PCA配合SPE统计量区分异常和正常操作。PCA的方法用于非线性、非高斯的制冷系统而言表现较差,对部分故障及微小故障的检测率较低。单类支持向量机(OCSVM)作为一种异常值检测算法,确切来讲是一种新奇值检测,OCSVM的原理是将数据集经过核函数映射到高维后,数据具有很高的凝聚性。在高维空间中寻找一个分割超平面实现与原点的最大程度分离。新奇值检测需要训练的数据是纯净的正常类,得到的模型再去检测异常,同支持向量描述(SVDD)一样是一种单分类的算法,通过获得的目标数据边界区分正常和故障来达到故障检测的目的。Zhao等[4]运用了SVDD的方法实现对冷水机组7类典型故障进行故障检测,证明效果是优于传统PCA的方法。Yan等[5]和李冠男等[6]也采用了这种单分类的方法对制冷系统进行故障检测。

局部异常因子(LOF)算法是既能新奇值检测,也能离群点检测,离群点检测是在给定正常掺杂了异常样本中检测出这些异常点,LOF算法通过衡量待检测数据与其邻域数据的密度比值来判断其是否为离群点。LOF在流量异常检测和过程监控有应用,在冷水机组的故障检测上应用较少,李元等[7]采用LOF算法实现工业多工况、数据多模态的故障检测。董泽等[8]提出LOF算法完成热工过程的异常值检测。刘广聪等[9]采用了LOF对未知节点的估计坐标进行分析和筛选进而未知节点位置,提高了定位精度。曾宇柯等[10]采用LOF算法对数据进行异常剔除达到数据清洗的目的,该方法运用属于离群点检测。孤立森林(iForest)是一种侧重离群点检测的算法,该算法利用二叉搜索树结构来孤立异常的样本,通过对样本点的孤立实现离群点的检测,于家傲等[11]和袁艺芳等[12]都使用iForest用于异常值检测。

本文提出采用LOF-KDE算法对冷水机组典型故障进行检测,该方法不需要假设数据的分布约束,适合解决制冷系统的故障检测。首先将LOF值作为统计量训练离线模型,其次根据核密度估计(KDE)确定控制限,再将检测的数据与控制限比较,判断系统是否异常。最后结合iForest算法完成异常值剔除,优化提出的模型,完成冷水机组中典型的7类故障的检测。

1 基本理论

1.1 孤立森林算法

孤立森林[13]算法主要用于离群点检测。iForest算法不再是围绕正常样本点加以描述,而是描述要孤立异常点。由于该算法的特点,本文将使用该算法对采集的数据样本加以数据清洗,剔除原始数据中的异常值,来优化检测模型。iForest由K个iTree组成,每棵树都是一个二叉树。该算法首先随机抽取部分样本作为根节点,其次随机选择某个特征作为切割点产生二叉树,不断构建新叶子节点,直到达到二叉树的最大深度或者最终叶子节点只有一个数据,才生成完成孤立树。用生成的孤立树来评估测试数据,即计算异常分数s,公式如下:

式中:c(ψ)为给定样本数ψ时路径长度的平均值,用来对样本x的路径长度h(x)进行标准化处理,h(x)为x在每棵树的高度。s越接近1,则其是异常点的可能性越高;s远小于0.5,则一定不是异常点;s在0.5附近,数据极不可能存在异常点。iForest算法不需要对数据的分布和是否线性作任何假设,适合于处理冷水机组的运行数据,本文通过iForest算法去除原本数据集的噪声和异常值,使得检测模型更加精确,提高检测模型的准确率,一定程度上提高了检测的速度。

1.2 局部异常因子算法

局部异常因子算法是一种基于密度的异常点检测算法,主要以计算样本的离群因子并比较是否远离密集数据的方法判断是否异常。具有较大的LOF值的样本密度较低,被视作异常。LOF算法的过程为:首先找到样本的K近邻,并计算每个局部样本K距离。然后计算出样本的局部可达距离,进而求得局部可达密度,最后计算样本的局部异常因子,定义为:

式中:lrd(xk)表示样本的K邻域局部可达密度;lrd(x)表示样本的局部可达密度。如果样本x不是异常点,lrd(xk)越接近于lrd(x)意味着LOF值越接近1,说明点P的其邻域点密度差不多,P可能和邻域同属一簇;如果LOF值越大于1,说明P的密度小于其邻域点密度,P越可能是异常点。LOF值可以作为统计量表示测试样本x与正常操作之间的关系。因此,LOF算法训练正常样本,划定一定控制限,可以识别测试样本是否在控制限内,判定是否为异常点。

1.3 核密度估计

控制限的选取为检测的依托标准,以LOF作为统计量,通过核密度估计确定LOF控制限,KDE是一种非参数估计,无须对数据的分布作任何假设,这与假设数据是呈正态分布的PCA方法相比更具有优势[14]。KDE从样本数据的自身研究其分布,定义如下:

式中:N表示样本的数量;K(x)表示核函数;H>0表示平滑参数,称作带宽;xi表示某一样本点。KDE在实际中核函数的选择并不关键,大多选择高斯核函数。但带宽H的选取对KDE的好坏直接相关,它的选取也影响到检测的准确率。

2 iForest的KDE-LOF故障检测模型

基于iForest的KDE-LOF算法主要包括两部分:离线建模和在线测试,如图1所示。

图1 KDE-LOF故障检测流程

2.1 离线建模

(1) 从数据库中导出若干冷水机组正常运行的测量数据,将数据进行预处理,主要包括滤掉瞬态数据、iForest异常值剔除、数据标准化处理。

(2) 预处理的数据后经LOF算法计算每个样本的LOF值。

(3) 利用核密度估计来计算LOF的控制限,本文确定95%的控制限。

2.2 在线检测

(1) 将系统实时采集的数据按照离线建模中的方式进行数据预处理。

(2) 将测试数据放入模型计算LOF值,超过控制限,判定为异常数据,否则,数据为正常数据。

3 实验仿真

3.1 样本数据

本文选用样本数据源自ASHRAE RP-1043[15]冷水机组系统故障模拟实验。该实验对象为一台90t的离心式冷水机组,通过人为调整手段模拟了冷水机组常见的7个单发故障,并对每个故障进行了4个不同劣化程度的模拟,故障类型和相关故障产生的具体说明见表1,其中:CF表示冷凝器结垢故障;EO表示压缩机润滑油过量;FWC表示冷凝器水流量减少;FWE表示蒸发器水流量减少;NC表示制冷剂回路中含不凝性气体;RL表示制冷剂泄漏;RO表示制冷剂填充过量;SL1-SL4表示故障的四个劣化水平,以CF故障为例,-12%表示的是以封堵管路的百分比来减少冷凝器的换热面积的12%,该类故障等级标识为SL1,即等级为1的劣化故障。其他故障均按照一定比例或一定量施加故障程度,故障产生的方法和施加故障程度可见表1。

表1 RP-1043故障信息

实验运行工况有27种,总计特征参数为64维,其中采集冷水机组运行参数48种,计算参数16种,大多特征存在冗余和自身对故障不敏感的。Zhao等[4]已经验证其中16个特征对故障的敏感且易于现场测量,具体特征见表2。

3.2 数据预处理

在实验原始数据基础上,先剔除系统的启停数据和瞬态数据获得最终的稳态数据,再使用iForest算法对原始数据的异常值进行剔除。异常值剔除后数据纯净度更高,LOF模型较高容易得出较好的模型效果,图2为使用iForest计算正常数据(4 000组)的异常分数,最大值为0.65。异常分数s超过0.5越多,值越接近于1,异常值的可能性越大,采取剔除10%的正常数据可能存在的异常数据,阈值为0.55。剩余数据中随机抽取3 000组作为训练,另外1 000组随机抽取200条校验。获取故障数据集每个等级故障样本4 000条,同样以随机的方式每个等级抽取200组用于故障检测。

图2 正常数据的异常分数图

3.3 仿真结果及分析

3.3.1LOF-KDE模型和PCA-SPE的对比分析

正常样本作为训练,Zhao等[4]和Li等[16]在PR1043数据集中CF、EO、NC故障检测效果较理想,对其他的检测效果欠佳。以正常数据、FWC故障为例同PCA对比,给出它们的统计量检测图。PCA以SPE作为统计量设置95%的控制限,LOF算法通过KDE选取95%控制限。本文以积分均方误差(MISE)为标准确定核密度估计的核带宽[17],得到的带宽H为0.2,确定K的区间[2,20],并使用网格搜索算法,得到LOF的最优的K值为4,两者均做iForest算法的异常值剔除。

正常工况下LOF-KDE模型和PCA-SPE模型检测效果分别如图3和图4所示,SPE进行检测结果误报率为3%,而LOF进行的误报率为4.5%,LOF模型效果要优于PCA模型。故障FWC的检测结果如图5、图6所示,每200个样本由低到高分别对应该4个等级的故障样本。PCA模型下4个级别的故障检测率为33%、41%、91.5%、94%,LOF模型下检测率分别为94.5%、97%、99.5%、100%。

图3 LOF-KDE模型正常工况检测图

图4 PCA-SPE模型正常工况检测图

图5 PCA-SPE模型FWC故障检测图

图6 KDE-LOF模型FWC故障检测图

可以看出SPE和LOF统计量随着故障等级增高,等级越高越偏离控制限,检测效果也得到提高。PCA模型在故障等级为1和2的检测率较低,检测率均在50%以下,无法区分微小故障。LOF模型能够较好地检测出,正确率都在90%以上。分析可知:PCA是假设数据的分布为正态分布,且方法适用于线性系统。而制冷系统的非线性和非高斯的特点使得该方法的检测效果并不理想。而核密度估计的LOF模型能够很好地检测这些故障,更是不需要对数据分布作任何假设,因此在检测效果上明显优于PCA。

3.3.2LOF_KDE模型和OCSVM的对比分析

使用高斯核函数时,OCSVM与Zhao等[4]提出的SVDD的数据描述方式具有同等的效果[18]。为了统一,将误差系数设为5%(这与95%的置信水平相似),并调整超参数gamma值,采用网格搜索算法在区间[0,100]下上搜索到最优的gamma值为29.3,通过计算样本到决策平面的距离D来判断是否异常,D大于0为正常,D小于0为故障。

本次选择FWE故障为例进行比较,图7显示了200个正常样本误报的个数有12个,误报率达6%,误报率要高于LOF-KDE模型。图8、图9分别是OCSVM和LOF_KDE模型下FWE四层故障检测结果图,OCSVM模型下4个级别的故障检测率分别为53%、71.5%、94.5%、100%,在低等级的故障下的大部分点落在了决策平面的上方,被误认为是正常点;LOF模型4个级别的故障检测率分别为87%、96%、96.5%、98.0%,仅少量的点被误诊为正常点,虽然在故障等级高的情况下检测率都接近100%,稍逊色于OCSVM,但足够满足检测能力。在微小故障下LOF模型比OCSVM的检测能力更强。

图7 OCSVM模型正常工况检测图

图8 OCSVM模型FWE故障检测图

图9 LOF-KDE模型FWE故障检测图

3.3.3KDE-LOF在不同故障等级的检测结果

iForest在不同故障等级下异常处理和不做任何处理的检测结果分别见表3和表4。可以看出,在故障等级为1时,PCA的效果较差,OCSVM和LOF模型的检测效果较好,LOF检测效果要优于OCSVM,说明KDE-LOF模型能够较准确检测出微小故障。在典型的7类故障检测中,几种算法对CF、NC故障检测效果都能达到或接近100%。在故障程度为2、3和4的情况下OCSVM和LOF的效果较好,都能达到90%以上。PCA整体表现较差。分析可知:PCA适用于线性系统,OCSVM和LOF不受数据的分布约束,检测效果更适合制冷系统。表3的数据普遍优于表4对应位置上的检测率,这是因为异常值容易干扰PCA和LOF模型的阈值和影响OCSVM的决策边界,去除异常值有利于优化模型。

表3 iForest异常值处理下三种模型的故障检测结果(%)

表4 未异常处理下三种模型的故障检测结果Fault(%)

为了比较这三种模型在微小故障下的检测效果,选取了FWC、FWE、RL、RO这几种故障,这几类故障检测效果不明显,其他CF、EO、NC故障检测效果都比较理想,不参与比较。图10显示了这4个故障在故障等级为1和2情况下各个模型检测率的平均值的结果,可以看出iForest-LOF算法在level1故障下效果最优,故障等级越高,越容易检测出。从表3看出,在轻微故障下,LOF依然效果最佳,能够在故障等级为1的情况下检测率达到80%以上。通过图10也可以说明,使用iForest异常值剔除对模型有优化作用,因此在实验数据上剔除异常值是很有必要的。

图10 3种模型下FWC、FWE、RL、RO微小故障检测

4 结 语

本文提出一种LOF-KDE结合iForest故障检测用于冷水机组故障检测的方法,通过iForest实现异常值剔除,计算数据的LOF值,结合KDE确定控制限,以LOF作为统计量对数据进行监控来检测故障。选取典型的ASHRAE-RP1043数据集验证该模型的有效性,选取的故障数据按照劣化程度逐渐加深。该方法采用iForest算法对异常值剔除的数据清洗策略能够获得更加良好的模型,提高了故障检测率,使得冷水机组微小程度故障检测率达到80%以上,在故障程度高的情况下检测率能达到90%。此外,将提出的方法与PCA和OCSVM进行对比分析,结果表明LOF-KDE方法在漏报率和检测率表现均为最佳,该故障检测方法无须对数据的分布做出任何假设,只研究样本本身。今后的工作会将该模型运用到实际的制冷系统的故障检测上,进一步验证它的有效性和可拓展性。

猜你喜欢
冷水机组制冷系统样本
R290/R170单级压缩回热制冷系统模拟研究
R134a-DMF吸收式制冷系统性能仿真研究
用样本估计总体复习点拨
水冷磁悬浮变频离心式冷水机组
推动医改的“直销样本”
精品样板
随机微分方程的样本Lyapunov二次型估计
奥迪A6L车制冷系统工作异常
村企共赢的样本
AMESim仿真技术在汽车空调制冷系统中的应用