基于投票机制的暖通空调空气处理单元传感器故障诊断

2024-01-27 06:56骏③溢*
电子与信息学报 2024年1期
关键词:玻尔兹曼权值故障诊断

严 颖 蔡 骏③ 吴 奇 张 欣 杨 溢*

①(南京信息工程大学自动化学院 南京 210044)

②(南京信息工程大学大气环境与装备技术协同创新中心 南京 210044)

③(中国民用航空飞行学院 广汉 618307)

④(上海交通大学电子信息与电气工程学院 上海 200240)

⑤(浙江大学电气工程学院 杭州 310027)

1 引言

现有的针对暖通空调(Heating Ventilation and Air Conditioning, HVAC)系统或空气处理单元(Air Handling Unit, AHU)传感器的故障诊断方法大体上可分为两类,即集中式和分布式。大多数故障诊断方法都是集中式的。在这些集中式的方法中,数据驱动的方法得到了广泛的应用[1]。比如,Liao等人[2]采用一种融合深度递归典型相关分析和k-近邻分类器的新型故障诊断方法来诊断冷风机传感器的漂移故障。文献[3]采用一种基于半隐马尔可夫模型的方法来对空气处理单元的故障进行诊断和预测。另外,Yan等人[4]提出一种基于布谷鸟搜索算法的变分模态分解方法,并将其用于诊断轴承故障。作为典型的数据驱动的方法,深度学习方法在近几年开始被广泛应用于故障诊断[5-7]。例如,Liu等人[8]提出一种基于1维卷积神经网络(1D Convolutional Neural Network, 1D-CNN)和波群聚类分析的方法以实现空气处理单元的传感器故障的检测和诊断。考虑到1D-CNN和门控递归单元擅长处理时间序列,Wang等人[9]提出了一种基于时间序列的混合故障诊断方法来诊断冷水机系统的传感器故障。上述的这些集中式故障诊断方法在诊断空气处理单元或暖通空调的其他子系统的传感器故障方面表现良好。 但是,这些方法一般是由一个中央控制器负责信息处理,即所有的信息都需要传送到该控制器处理。因此,来自许多节点的数据可能会造成严重的链路拥堵,导致故障诊断的滞后。因此,在处理包含很多节点的传感器网络的故障诊断问题时,采用集中式的故障诊断方法有一定的局限性。

为了解决这些问题,分布式故障诊断算法得到了广泛关注。目前大部分的分布式故障诊断算法都是通过建立一个基于模型的分布式故障诊断架构来检测和隔离传感器故障[10]。然而,这种方法需要对物理约束条件有全面的了解,因此模型的构建很困难。为了解决这一难题,Shahnazari等人[11]针对暖通空调系统的子系统的故障诊断提出了一系列数据驱动的分布式方法。这些方法虽然不需要建立模型,但是需要大量的标记数据。而这些数据可能包含许多脏数据,会影响故障诊断精度。为了解决这个问题,Wang等人[12,13]为暖通空调开发了一个分布式的传感器诊断网络。在这个网络中,每个传感器都可以与邻居节点通信,并协同工作。但该方法的诊断性能仍然取决于所建立的物理约束的质量和数量。为了克服数据限制,Feng等人[14]提出了一种基于蜂群智能的分布式并行方法用于空气处理单元故障诊断。与现有的分布式故障诊断方法相比,该方法使用较少的约束条件就能达到相同的故障诊断效果。以上的这些分布式的算法都需要求解大量的有约束优化问题,导致故障诊断时间长,可能无法及时完成故障诊断。

为了避免求解大量有约束优化问题,本文提出一种新型投票机制,通过传感器间的相互投票这种分布式的方式实现故障传感器的精确定位。在本方法中,为了将投票转化为每个传感器的状态。利用给定边权值的对称玻尔兹曼机状态会收敛到一个稳定状态的特性,基于传感器间的投票值得到玻尔兹曼机的边权值并进一步确定其状态转移矩阵。基于该状态转移矩阵,对称的玻尔兹曼机状态会收敛到一个稳定概率分布。这个稳定分布可以表征玻尔兹曼机中每个节点(传感器)的状态(正常或者故障)。因此,可以实现传感器的故障诊断。与其他的机器学习或者深度学习的方法比较,本方法是通过传感器之间的投票得到玻尔兹曼机的边权值的。因此,不同于一般的神经网络,本方法中的玻尔兹曼机具有物理意义。相较于数据驱动的一般的神经网络,其鲁棒性更强。本方法的创新点总结如下:

(1) 提出一种基于投票机制的新型分布式故障诊断方法。通过传感器间的相互投票对故障传感器进行定位。另外,提出一种基于欧拉距离的投票策略以产生传感器间的投票值,来得到玻尔兹曼机的不对称权值矩阵。

(2) 提出一种玻尔兹曼机的对称化方法,通过增加一个额外的虚拟节点将不对称的权值矩阵转化成对称的,以确保玻尔兹曼机状态的迭代收敛,以实现故障传感器的定位。

实验结果证明本方法在对传感器的故障诊断方面优于其他常用方法。

2 基于投票机制的分布式故障诊断方法

2.1 建立描述传感器网络的玻尔兹曼机

在暖通空调的空气处理单元中,安装了各种类型的传感器来收集用于控制各种设备的信息,它们构成了一个传感器网络。如图1所示,如果把一个传感器当作一个嫌疑人,从传感器网络中定位故障传感器就类似于从嫌疑人中找到真正的罪犯。为了找到真正的罪犯,这些嫌疑人可以根据自己所掌握的信息对其他的嫌疑人投票以表达他们的看法。比如“积极票”表示认为被投票者是无辜的,而“消极票”表示认为被投票者是罪犯。在分析了所有的投票后,将收到最多“消极票”的人视为罪犯。类似的,为了定位故障传感器,每个传感器将分析与其他传感器相关的故障指标。如果一个故障指标偏离了正常状态,就有理由怀疑与这个故障指标相关的传感器可能出现故障。那么,该传感器就会对相关的传感器投下“消极票”。相反,如果故障指标在其正常范围内,则投下“积极票”。投票后,所有传感器将分析其收到的所有投票,以推断其是否有故障。

图1 基于投票机制的故障诊断方法的灵感来源

玻尔兹曼机的拓扑结构类似于传感器网络。玻尔兹曼机的节点对应于传感器,而边权值则对应于传感器之间的投票。因此,可以用一个玻尔兹曼机来描述传感器网络。为了表示一个空气处理单元的传感器网络,建立了一个玻尔兹曼机,如图2所示。

图2 用玻尔兹曼机描述传感器的拓扑结构

玻尔兹曼机的节点i的状态用xi表示,i = 1, 2,3, 4分别对应4个传感器,即混风温度传感器Ta,mix,送风温度传感器Ta,sup,送风流量传感器ma,sup以及回风流量传感器ma,rn。节点的状态由二进制表示,其中“1”表示正常,“0”表示有故障。例如,玻尔兹曼机的状态是x1x2x3x4= 1110,意味着只有传感器4有故障。在图2中,vij是节点i对节点j的投票,也是节点i到节点j的权值。设备的物理模型与灰箱模型在其包含的传感器读数都正常的情况下,模型左边与右边的差值应该趋近于0[15,16]。但是,当有传感器故障发生时,这些差值会偏离0。另外,一些黑箱模型可以被用来估计某些与故障相关的传感器的读数[16]。在相应的传感器发生故障时,其读数与从黑箱模型得到的估计值的差值会偏离0。这些差值的绝对值可以反映故障程度,因此被选为故障特征。为了描述这些故障特征偏离正常状态的程度,需要获得故障特征的置信区间的上界。故障特征超出置信区间上界的程度越大,则发生故障的概率越大。本文使用统计过程控制方法来获得置信区间的上界。由于P (µ-3σ≤ X≤µ+3σ)≈99.73%,其中µ和σ是训练数据的平均值和标准差,因此将 3σ作为上界。例如,对于第k个故障特征|rk|,其平均值计算为

因此,|rk|的置信区间的上界为|rk|ub=µk+3σk。

2.2 基于欧氏距离的投票策略

为了区分“消极票”和“积极票”,分别设定前者和后者的区间为[-1, 0)和[0, 1]。当节点i的一个故障特征k的绝对值趋近于0,说明与这个故障特征相关的节点会在很大程度上处于正常状态,相应的该节点会对与该故障特征相关的其他节点投一个正值的票;相反,当这个故障特征的绝对值偏离0,则该节点会向该故障特征中包含的其他节点投负值的票。为了将故障特征转化为投票值,采用了一种激励函数如式(3)所示[16]

其中,|rk|ub是第k个故障特征的置信区间的上限。

节点i对节点j≠i的投票取决于两点:(1) 所有与节点i和节点j都相关的故障特征对节点j的投票;(2) 节点i的投票权值。其公式表达为

其中

式(4)是故障特征k对与该故障特征相关的节点的投票值;Iij是所有与节点i和节点j都相关的故障特征的集合;rk,k ∈Iij是所有与节点i和节点j都相关的故障特征k;sk(|rk|)是基于故障特征k的投票值;Kij是所有与节点i和节点j都相关的故障特征的个数。

ci作为节点i的投票权值,其取值取决于节点i投票的可信度,而该可信度可以由节点i的故障概率决定。节点i故障的概率越高,则其投票的可信度越低。节点i当前的投票向量与节点i发生故障时的投票向量的距离越短,说明节点i当前的故障概率越高。因此,在本方法中用节点i当前的投票向量与节点i发生故障时的投票向量之间的距离衡量节点i的故障概率,以进一步确定投票权值。节点i的投票向量包含了所有与节点i相关的故障特征对节点i的投票。与节点i相关的故障特征k ∈Iij在时刻t对节点i的投票为sk(|rk(t)|),k ∈Iij,因此可以得到节点i在时刻t的投票向量,如式(7)所示

类似的,基于训练数据中对应于节点i故障的数据,可以得到节点i在其故障发生时的投票向量

其中,Di,fal为对应于节点i故障的数据集。向量Si,fal与向量Si(t)的距离可以按式(9)计算

其中,di(t)是当前节点i的投票向量与节点i故障下的投票向量之间的距离。该距离越小,意味着节点i发生故障的概率越大,则节点i的投票可信度就越小,投票权值ci应该越小。如果Si,fal和Si(t)相同,可以得到向量之间的最短距离0。由于每个投票的范围是[-1, 1],Si,fal和Si(t)之间最长的距离出现在两个向量的每个元素都为-1或者1,且对应元素的正负号完全相反的情况下。比如Si,fal=和。因此,向量间的最大距离为,i,j=1,2,...,N,其中Kij是与节点i和节点j都相关的故障特征的个数。向量之间的距离的范围是因为ci(t), i = 1,2,···, N是权值,不妨令其范围为[0, 1]。为了将向量距离转化为权值,提出一种映射函数g(x)=ax+b将距离di(t), i = 1,2, ···, N映射到权重ci(t), i = 1,2, ···, N。基于边界条件可以得到该函数满足g(0) = 0和=1。因此,可以得到系数a与b的值。继而可以得到映射函数

则投票权重为

如此,将式(11)带入式(4)可以得到在时刻t节点i对节点j的投票vij(t), i, j = 1, 2, ···, N。将这些投票组成起来可以得到时刻t的投票矩阵为

2.3 非对称玻尔兹曼机的对称化

上节得到的投票矩阵V(t)被作为玻尔兹曼机的权值矩阵W(t),即

wij(t) = vij(t)是节点i到节点j的权值。由于不同的故障特征可能与不同的传感器故障相关,因此传感器i对传感器j的投票vij(i,j=1,2,···,N)和传感器j对传感器i的投票vij(i,j=1,2,···,N)有可能不相等,造成权值矩阵W(t)不对称。如前所述,具有不对称权重矩阵的玻尔兹曼机可能无法收敛。为了解决这个问题,本文提出一种新方法,通过增加一个额外的节点,在确保原来节点的输入不发生变化的情况下,将不对称的权值矩阵对称化。本方法如下所示。为了简化描述,令节点输入的偏差θ为0。另外,去掉公式中的(t),则所有节点的输入为

为了使矩阵W对称化,增加一个额外的节点。则当前的玻尔兹曼机有N+1个节点,不对称矩阵W被改变为矩阵W'

其中,a1, a2, ···, aN是对应于新增节点的权值。为a1, a2, ···, aN设置适当的值以确保W'是对称的。则权值矩阵为W'的玻尔兹曼机的输入是

因为,当权重矩阵W改为W'时,原来的N个节点的输入不应该改变,即u=u′。因此,通过比较式(14)和式(16)可以得到新增节点的权值

2.4 对称玻尔兹曼机状态迭代以定位故障

在得到对称权重矩阵W'后,权值矩阵为W'的玻尔兹曼机通过依次随机选择一个节点,根据其当前状态、其他节点的状态以及节点间的权值重置其状态。在一定温度下做状态迭代后,收敛到一个稳定的玻尔兹曼机状态。可以基于这个稳定状态得到N+1个节点的最终状态。由于节点N+1是为了对称化增加的一个额外节点,它并不是一个真实的传感器,因此没有必要关注它的状态。前N个节点的状态被认为是N个传感器的状态。

2.5 所提方法的框图

综上所述得到基于新型投票机制的分布式故障诊断方法的框图如图3所示。为了实现对于空气处理单元传感器的故障诊断,首先基于传感器网络的拓扑结构建立其对应的非对称玻尔兹曼机的结构。接着,从设备的物理模型、灰箱模型或者黑箱模型中抽取相应的故障特征。非对称玻尔兹曼机的各个节点(传感器)按照该文提出的投票策略相互投票以生成非对称玻尔兹曼机的边权值。然后,将非对称玻尔兹曼机对称化得到对称玻尔兹曼机。最后,对称玻尔兹曼机的状态通过迭代最终收敛于各节点的当前状态(正常或者故障),实现对于故障传感器的精确定位。

图3 基于新型投票机制的分布式故障诊断方法的框图

3 实验与结果分析

3.1 数据集介绍

本文所提故障诊断方法是在MATLAB中实现的。为了验证所提故障诊断方法,本文使用了ASHRAE Project RP-1312的实际数据。在ASHRAE Project RP-1312中,有两个相同的空气处理单元同时运行,其中AHU-A模拟了各种故障,而AHU-B正常运行。本文重点关注夏季,因此采用ASHRAE Project RP-1312中的夏季有人模式下的8640个时间点的数据来验证提出的方法。由于这个项目基本上不考虑传感器的故障,所以没有实验数据可以用来评估本文的方法。为了解决这个问题,通过在如前所述的4个传感器(混风温度传感器Ta,mix、送风温度传感器Ta,sup、送风流速表传感器ma,sup、回风流速表传感器ma,rn)中加入传感器偏差和漂移来模拟传感器故障。这些传感器的故障是按照表1来模拟的。

表1 基于ASHRAE Project RP-1312数据来模拟传感器故障

3.2 故障诊断结果及分析

为了模拟传感器偏差故障,在2007年8月25日的数据中为混风温度传感器Ta,mix的读数中加入一个常值2°C。另外,在2007年8月20日的传感器Ta,mix的读数中逐渐加入0.3 °C/h的传感器漂移。为了检测传感器Ta,mix的偏差和漂移,对传感器的状态进行估计,并将估计值与实际值进行比较,如图4(a)所示。传感器Ta,mix的实际状态由蓝色实线标出,状态估计由黑色虚线标出。状态“0”对应于正常状态,状态“1”对应于故障状态。实际值与估计值的差值由红色线条表示。可以看到大部分时候,状态实际值和状态估计值是相等的。但是,也存在一些误报。图4(a)中存在两个方波,分别对应于传感器漂移和传感器偏差。传感器偏差故障只有几个数据点出现误报,与数据点数相比,误报的比例非常低,因此其所对应的精度、召回率和F1分数,近似为1, 1和1。因此,本方法对于偏差故障的诊断精度很高。第1个方波对应于传感器漂移,由于漂移引起的异常现象在开始时太小,难以检测,因此对于漂移故障的检测有个延迟。其对应的精度、召回率和F1分数分别为0.91, 1和0.95。这个结果比对于传感器偏差的诊断情况要差。类似的,通过在2007年8月26日的送风温度传感器Ta,sup的读数中加入一个常值2°C来模拟送风温度传感器Ta,sup的偏差,并在Ta,sup传感器8月21日的读数中缓慢加入0.3°C/h的偏差来模拟该传感器的漂移故障,如图4(b)所示。偏差故障的诊断精度、召回率和F1分数分别为1, 1和1,因此可以精确诊断偏差故障。对于传感器漂移,精度、召回率和F1分数分别为0.92, 1和0.96,比传感器偏差的诊断结果差。

图4 温度传感器的真实状态和状态估计

类似的可以得到送风流量传感器和回风流量传感器的故障诊断结果,分别如图5(a)和图5(b)所示。传感器的偏差故障的诊断精度、召回率和F1分数分别为1, 1和1。其传感器漂移的诊断精度、召回率和F1分数分别为0.93, 1和0.96。传感器的偏差故障的诊断精度、召回率和F1分数分别为1, 1和1。其传感器漂移的诊断精度、召回率和F1分数分别为0.88,1和0.94。

3.3 与其他方法的比较

为了证明所提方法的性能,将本文所提方法与5种典型的方法进行了比较,包括支持向量机(Support Vector Machine, SVM)、概率神经网络(Probabilistic Neural Network, PNN)、广义回归神经网络(General Regression Neural Network,GRNN)、神经网络(Neural Network, NN)和长短期记忆(Long Short Term Memory, LSTM)网络。如图6所示,本文采用一个雷达图来展示采用不同的方法得到的不同故障的诊断精度。图6中用UV表示本文所提方法。其中的几个同心圆分别对应于故障诊断精度为0.3, 0.6, 0.9和1.0。其中每个实心圆点的位置对应于不同的诊断方法对不同故障的诊断精度,实心圆点越接近最外层的同心圆,则对应的故障诊断精度越高。红色的线条和实心圆点对应于本文所提方法UV。可以看到采用UV时对应的实心圆点比之其他故障对应的实心圆点都要更加靠近最外层的同心圆,因此本方法的故障诊断精度要高于其他方法。

图6 不同算法对不同故障进行诊断的雷达图

另外,为了进一步考察本方法的性能,对于本文所提方法UV,SVM,PNN,GRNN,NN和LSTM这6种方法分别做了两次实验,得到两次故障诊断的结果,如图7的前两部分柱形图所示。并将前后两次实验得到的故障诊断精度求平均得到平均诊断精度,如图7的最后一部分柱形图所示[17]。从图7可知本文提出的方法的平均诊断精度可达94.73%,而其他方法,包括SVM, PNN, GRNN, NN以及LSTM的平均诊断精度分别为89.82%, 91.78%,54.28%, 34.49%和75%。因此,本文所提方法在这些方法中表现最好。

图7 不同算法的诊断精度

4 结论

本文提出一种基于新型投票机制的分布式故障诊断方法,以准确诊断暖通空调的空气处理单元传感器的故障。主要结论如下:

(1) 建立的波尔兹曼机准确描述了传感器网络的拓扑结构。

(2) 提出的投票规则可以基于传感器之间的投票生成玻尔兹曼机的权值矩阵以体现每个传感器对其他传感器故障与否的判断。

(3) 提出的对称化方法可以实现非对称玻尔兹曼机的对称化,保证了玻尔兹曼机状态迭代的收敛。

(4) 实验结果表明,该方法能准确地诊断出传感器的偏差故障,而对于传感器漂移故障的诊断效果稍差。总的来说,该方法的诊断结果优于其他一些方法。

(5) 本方法适用于对复杂网络中节点故障的定位,因此可以扩展到其他大规模网络的故障诊断,比如飞机的传感器网络。

猜你喜欢
玻尔兹曼权值故障诊断
基于格子玻尔兹曼方法的流固耦合问题模拟
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
非对称弯道粒子惯性迁移行为的格子玻尔兹曼模拟
基于权值动量的RBM加速学习算法研究
因果图定性分析法及其在故障诊断中的应用
浅谈玻尔兹曼分布的微小偏离量所引起的微观状态数的变化
基于LCD和排列熵的滚动轴承故障诊断
基于WPD-HHT的滚动轴承故障诊断
高速泵的故障诊断