基于稀疏自编码器-支持向量机的空调制冷系统故障诊断
2019-08-14王志毅钟加晨夏翠李静凡
王志毅,钟加晨,夏翠,李静凡
(浙江理工大学建筑工程学院,浙江杭州 310018)
0 引言
随着社会的发展,建筑能耗逐年增加,其中空调系统能耗约占建筑总能耗的40%~50%[1]。空调制冷系统长时间运行后不可避免地会出现故障,这些故障导致设备能耗的增加。在系统出现运行故障之前进行故障诊断,可以节省能源,降低停机成本,具有一定的现实意义[2-3]。空调制冷系统通常发生的故障具有如下特点:不确定性、延时性、相关性、层次性以及复杂性。系统常见故障包括制冷剂过少、制冷剂过多、润滑油过多、蒸发侧水流量不足、冷凝侧结垢、有非凝性气体以及冷凝器水流量不足等。
系统故障诊断方法包括基于物理模型的方法和基于数据的方法。基于物理模型的方法需要建立系统正常运行的定量物理模型或是定性物理模型,根据参考模型的预测值与实测值的偏差来进行故障的分析与诊断。例如参数估计法等定量物理模型,符号有向图、专家系统、故障树等定性物理模型。基于数据的方法不需要构建准确的物理模型,但需要构建灰箱或黑箱模型。灰箱模型例如灰色理论中的关联分析和聚类分析。黑箱模型包括人工神经网络等模式识别方法、贝叶斯网络等统计学方法、小波分析等信号处理方法。模式识别方法的诊断思路一般分为3部分:数据采集、特征提取和分类器判断。数据采集是指用数据采集设备对温度、压力、流量等物理量进行采集。考虑到制冷机组故障现场数据采集的全面性和经济性,通常采用ASHRAE 1043-RP制冷机组故障模拟实验提供的数据进行研究。特征提取方法包括遗传算法[4]、多尺度主元分析[5]、互信息[6]、内蕴模式函数[7]、顺序向前选择算法[8]以及粒子群算法[9]等。分类器判断方法包括朴素贝叶斯模型[10]、支持向量机[11]、K最邻近分类算法[12]、随机森林[13]以及神经网络[14]等。
深度学习是机器学习中一种新兴的学习方法,近年来被人们在学术界以及工业界深入研究。深度学习通过模拟人脑的深度框架在文本处理、语音识别及计算机视觉等方面应用广泛,在复杂工业系统的特征提取方面也有着一定的应用潜力[15]。主流的深度学习框架包括玻尔兹曼机[16]、自编码器以及卷积神经网络[17]。本文利用稀疏自编码器构建特征学习模型,对样本数据进行重构,然后在支持向量机中进行故障诊断,改善空调制冷系统由于多参数间复杂的耦合性引起的诊断困难等问题。通过优化稀疏自编码器的隐藏层层数和节点数,能够自动寻找到较好表达原始样本数据的特征。采用稀疏自编码器有效提取的信息作为支持向量机的输入向量,提高了故障诊断效率,在空调制冷系统故障诊断领域显示出一定的应用潜力。
1 基本原理
1.1 自编码器
自编码器是一种人工神经网络,以无监督的方法学习有效的数据编码。自编码器的原理如图1所示,包括输入层、隐藏层和输出层。隐藏层相当于一个编码器和解码器,数据通过输入层进入隐藏层,在隐藏层中进行编码和解码,最后由输出层输出。隐藏层的作用是尽可能确保输出的数据和输入的数据一致。隐藏层尽量用少的维度来提取输入数据中有用的主要特征,同时要降低编码前数据和解码前数据之间的重构误差。自编码器的重构误差如图2所示。
图1 自编码器的原理
图2 自编码器的重构误差
1.2 稀疏自编码器
自编码器中仅通过隐藏层简单的数据表达难以达到理想的效果,同时缺乏实际意义。稀疏自编码器由此被提出,在编码过程中引入稀疏约束,限制隐藏层的数据表达,强迫神经网络结构对输入量进行降维表示。将稀疏惩罚项引入目标函数中,以此仅允许个别神经节点被激活,例如当神经节点偏离1时,节点不被激活。当隐藏层节点数大于输入层节点数时,被激活的节点数仍可能低于输入层节点数,此时达到了简化数据和降维表示的目的。稀疏自编码器训练如图3所示。
图3 稀疏自编码器训练
1.3 支持向量机
支持向量机是一种机器学习算法,能够对数据进行二元分类。对于数据线性可分的情况,通过边距最大化来寻找最优分类平面。支持向量机的最大边缘构造如图4所示。对于线性不可分的情况,通过降噪忽略异常值或者是引入核函数将低维输入空间转换为高维输入空间,线性不可分问题由此转化为可分问题。支持向量机在非线性分类问题上有特定的优势,但泛化能力取决于核函数的优化[18]。
图4 支持向量机的最大边缘构造
2 数据来源及评价指标
2.1 数据来源
ASHRAE项目1043-RP提供了全面的离心式冷水机组故障检测与诊断研究的实验数据,其研究对象是一台制冷量为90冷吨的离心式冷水机组。通过实验研究生成数据库,并将数据库用于开发和评估冷水机组故障检测和诊断方法。实验平台包括3个主要环路(制冷剂、冷冻水和冷却水环路)和3个辅助环路(热水、自来水和蒸汽环路)。通过调节机组运行容量、冷冻水出水温度和冷凝水进水温度,实验平台能够模拟27种典型工况;通过传感器,实验平台能够直接采集温度、压力、流量、阀位等48个参数;通过专用软件VisSim,实验平台能够间接得到冷量、热量等16个参数。通过调节系统中的相关设备,实验平台能够模拟7种典型故障,每种故障设有4种故障程度。7种典型故障如表1所示,出现总频率约占40%。4种故障程度分别命名为A、B、C和D,严重程度依次递增。
2.2 评价指标
采用机器学习方法解决某个二元分类问题时,通常采用准确率来对比不同模型间的性能。准确率即为正确分类总数目除以总样本数,其计算公式如式1所示。考虑到冷水机组故障间的误报(误诊)、有故障被视为无故障(漏诊)以及无故障却被诊断为有故障(虚警)等情况,仅仅依靠准确率评价模型的优劣是不够全面的。召回率和精确率由此提出。召回率可以反映系统的漏诊情况,召回率越高,漏诊率越低,计算公式如式2所示。精确度可以反映系统的虚警情况,精确度越高,虚警率越低,计算公式如式3所示。根据定义,召回率和精确率之间是相互影响的。一般来说,召回率较高时,精确率较低;精确率较高时,召回率较低。当召回率和精确率都较低时,说明存在较大的问题。当召回率和精确率都较高时,为了综合考虑召回率和精确率,综合评价指标由此提出,计算公式如式(4)所示。
式中:
Q——准确率;
R——召回率;
P——精确率;
F——综合评价指标;
|TP|——实际为正类且被划分为正类的个数;
|TN|——实际为负类且被划分为负类的个数;
|FP|——实际为负类但被划分为正类的个数;
|FN|——实际为正类但被划分为负类的个数。
表1 7种典型故障
3 基于稀疏自编码器的故障诊断
3.1 不同隐藏层节点数对模型诊断准确率的影响
先对数据库中的数据进行预处理,剔除无关变量。其中,测量时间与机组故障分类无关,机组状态及热水阀状态数据对于稳态样本而言均相同,故将其删除,选取61个变量参数进行建模。再从数据库中随机抽取A、B、C和D这4种故障程度数据为50,000组的实验数据,总计200,000组。随机抽取润滑油过多、故障程度为A的5,000组数据,作为稀疏自编码器和支持向量机的训练和测试数据。
稀疏自编码器采取最简单的3层神经网络,对隐藏层节点数进行调整,分别选取30、70、150、300、400、500、700和1,000进行实验。将稀疏自编码器提取的特征输入支持向量机进行训练测试。隐藏层节点数与模型准确率的关系如图5所示。可知随着隐藏层节点数的增加,模型诊断的准确率也不断提高。当隐藏层节点数较小时,如低于输入层节点数,诊断准确率较低。当隐藏层节点数为700时,3层稀疏自编码器的诊断准确率达到最高,为95.47%。
图5 隐藏层节点数与准确率的关系
3.2 不同训练样本数对模型诊断准确率的影响
针对润滑油过多、故障程度为A的数据,稀疏自编码器模型采取3层神经网络,隐藏层节点数选取700。训练样本数分别取1,700、5,000、10,000和20,000,研究了不同训练样本数对模型诊断率的影响,训练样本数与准确率的关系如图6所示。由图6可以看出,随着训练样本数的增加,准确率也增加,但增加的幅度并不明显。当样本数为20,000时,准确率为96.12%;当样本数为1,700时,准确率就有95.41%。可见针对少量的数据规模,稀疏自编码器提取的特征性能较优,反映为对数据要求不高,并具有较好的诊断效果。
3.3 不同稀疏自编码器结构对模型诊断准确率的影响
从数据库中随机提取每种故障程度为5,000组的实验数据,调整隐藏层层数(分别取1、2、3、4和5),在A、B、C和D等4种故障程度下测试不同稀疏自编码器的准确率。对于层数相同的稀疏自编码器,继续调整每层的节点数,进行对比分析,结果如表2所示。2(500-400)表示隐藏层层数为2,每层节点数分别为500和400。由表3分析可得:随着稀疏自编码器隐藏层层数的增加,模型准确率先增加后减小。当隐藏层层数为4时,模型准确率最高,此时每层的节点数分别为600、500、400和300。伴随着稀疏自编码器层数的增加,提取特征信息的维度也增加,有利于模型故障敏感度的提高。当隐藏层层数大于4,过多的特征信息之间会形成干扰,使诊断性能下降。
图6 训练样本数与准确率的关系
表2 不同稀疏自编码器结构下的模型准确率
3.4 主元分析与稀疏自编码器的对比
从数据库中随机提取每种故障程度为14,000组的实验数据,将其作为主元分析模型和稀疏自编码器模型的原始样本,分别计算不同故障程度下两种模型的准确率,如图7所示。可以看出,主元分析模型和稀疏自编码器模型的故障诊断准确率随着故障程度的加深而提高,这是因为故障程度越深即偏离正常参数的距离越大,模型就越容易发现故障。但在故障程度为A的条件下,主元分析模型的准确率为93.50%,稀疏自编码器模型的准确率为96.10%,高了2.6%。说明针对程度较低的故障,稀疏自编码器具有更高的故障灵敏度,能更及时发现故障,减少损失。综合而言,稀疏自编码器对于不同故障程度的数据,其提取特征的效果优于主元分析,表现为故障识别准确率更高。
图7 主元分析和稀疏自编码器模型准确率的对比
3.5 不同模型对不同故障类别的评判
建立支持向量机模型,记为M1;建立单层稀疏自编码器和多层稀疏自编码器模型,分别记为M2和M3,并将支持向量机作为分类器。对于7种典型的故障,3种模型的诊断准确率如图8所示。
由图8可知,多层稀疏自编码器模型诊断准确率最高,单层稀疏自编码器模型诊断准确率次之,支持向量机模型准确率最低。尤其是对于制冷剂过少故障,稀疏自编码器模型的准确率提高了1.2%。3种模型在各种故障下的综合评价指标如表3所示。
图8 7种典型故障下的模型诊断准确率
表3 7种典型故障下的综合评判指标
由表3可知,制冷剂和润滑油相关的系统故障的综合指标较低,蒸发器侧、冷凝器侧以及不凝性气体等局部故障的综合指标较高。尤其是针对水流量不足的故障,3种模型的准确率均为1,这是由于阀门和水流量相关参数表征效果强,可反映故障特征。制冷剂和润滑油的故障涉及整个空调制冷系统,影响因素很多,诊断难度比局部故障大得多[19-20]。对于制冷剂过少的故障,稀疏自编码器模型的各项指标均有提高,诊断效果最好。相比单层稀疏自编码器,多层稀疏自编码器提取故障特征的能力更强,诊断性能更优。
4 结论
本文提出一种基于稀疏自编码器-支持向量机的空调制冷系统故障诊断方法,研究了在空调制冷系统故障诊断领域的应用潜力,得到如下结论:
1)训练样本数对稀疏自编码器模型的影响较小,针对少量的数据规模,模型有较高的诊断准确率。隐藏层层数和节点数对稀疏自编码器模型的影响较大,本系统中隐藏层层数为4,节点数分别为600、500、400和300的多层稀疏自编码器模型诊断性能最优;
2)对于单层稀疏自编码器模型,当隐藏层节点数为700时,故障诊断准确率达到最高,为95.47%;对于制冷剂过少的故障,在故障程度最低的情况下,主元分析模型的准确率为93.50%,稀疏自编码器模型的准确率为96.10%,提高了2.6%;稀疏自编码器模型具有更高的故障灵敏度,能更及时地发现故障,减少损失;
3)相比于直接用原始数据进行支持向量机方法的故障诊断,经稀疏自编码器提取故障特征,降低参数间相关性后的诊断方法精确度、召回率以及综合评价指标均有提高,表现为误诊、漏诊和虚警等情况明显减少;相比于单层稀疏自编码器,多层稀疏自编码器提取故障特征的能力更强,诊断性能更优。