基于多源数据协同感知的电气火灾预警算法研究
2021-11-25赵月爱郭兴原
赵月爱,郭兴原
(太原师范学院 a.计算机科学与技术系,b.数学系,山西 晋中 030619)
随着社会经济的发展和科技生产力的提高,各行各业进入到了一个高电气化时代。但用电量的不断增加导致电气火灾事件的发生也逐年攀升。而传统的电气火灾报警系统对数据处理方式比较单一,智能化程度较低,经常是在发生火灾险情后才报警,甚至出现延迟报警、误报甚至漏报,给人民造成很大的经济损失[1]。如何在单一传感数据未达到阈值前就及早发现异常信息,实现精准预测,减少甚至完全消灭火灾,把由火灾而引发的各种损失尽可能降低成为该领域的研究重点。
近年来,国内外学者提出了许多有关火灾及电气火灾检测的预警算法。如WANG et al[2]提出的基于深度学习的监控视频火灾探测系统,适用于在相对开放的环境中对监控视频中的火焰、烟雾等采用卷积神经网络算法进行分析检测;GAGLIARDI et al[3]在监控视频火灾探测中将传统的卡尔曼滤波与卷积神经网络算法进行了融合;CHOUDHURY et al[4]利用多传感器智能程序识别探测器实现了一种基于模糊规则的智能预警系统;黄翰鹏等[5]采用温度、烟雾浓度和一氧化碳浓度三个特征指标,在融合模糊神经网络与时序模型的火灾预警中实现了对实测环境火灾条件的实时检测;GUO et al[6]提出了基于模糊神经网络的火灾检测模型,随后,赵栋[7]将这种算法应用于电气火灾预警系统,提高了系统的可靠性和准确性;任嘉锋[8]在传统图像识别的卷积网络算法下,提出了混合卷积网络的火灾识别方法,提高了火灾的识别精度;WANG et al[9]基于物联网、人工智能和自动控制等技术研制了一种集电气设备检测、火灾探测及自动灭火为一体的装置。但这些方法大部分都没能考虑到电气数据的时序性和数据之间的相关性等特点,使得在实际预测时,都不能够达到很好的预测精度。
张琪等[10]提出的基于传感数据时序连续性检测算法(temporal continuity detection,TCD)对单一传感器有较好的预测精度,考虑到实际应用中,单一传感器的持续升高与电气火灾的发生有强相关性,若可以在未达到传感器阈值前即产生预警,会为管理人员发现和解决问题赢得更多宝贵时间,这在消防预警中至关重要。在此基础上,本文对TCD算法进行了改进,增加了单源传感变化率的研究,提出了N-TCD算法(new temporal continuity detection,N-TCD)。另外,SHENG et al[11]提出基于多视图低秩分析算法(multi-view low-rank analysis,MLRA)对分析各视图之间的相关关系有明显的优势。本文将N-TCD算法融合到MLRA算法中,提出了基于多源数据协同感知的消防预警算法(new TCD and MLRA,NTM),实验结果表明该算法明显优于其他算法。
1 N-TCD算法
TCD算法的主要思想是利用滑动窗口技术实时检测,先计算滑动窗口中全部数据的离群距离,再计算每个数据的相对离群距离,最后,比较相对离群距离与所给定的相对距离阈值的大小,如果小于距离阈值则逐渐缩小窗口精确进一步判断是否为异常,直到缩小窗口后的序列长度小于窗口阈值且相对离群距离仍小于距离阈值的即视为异常,否则判断为正常。
考虑到电气数据的时序连续性特点,本文在TCD算法基础上增加了对单源传感数据变化率的研究,提出了N-TCD算法。
1.1 N-TCD算法相关定义
为了更好描述N-TCD算法,下面给出相关的定义和符号表示。
定义1传感器所采集并传输的多源传感数据,按照时间序列数据形式简化表示为:
Sm={S1,S2,…,Si,…,Sm} .
(1)
Si={s1,s2,…,sj,…,sn} .
(2)
sj=(vj,tj) .
(3)
式中:1≤i≤m,1≤j≤n,式(1)中的Sm为多源传感器所传输的数据,Si为第i个单源传感器所传输的数据;式(2)中n为单源传感数据Si的长度。vj表示sj的具体值,tj表示sj的时间,在时间序列中tj是严格递增的。
按照式(2)中Si的表达形式,引入滑动窗口SW存放Si的部分数据[12],其中,SW的长度为Lsw.忽略SW中sj的时间值tj,给出SW中时间序列数据的离群距离有关的定义如下。
定义2SW中的部分时间序列数据可以简化表示为
Tn={v1,v2,v3,…,vi,…,vn}(1≤i≤n) .
(4)
(5)
(6)
定义3根据SW的数据表示,引入k存放单源传感器变化率的异常值。用SW中的相邻值作差,用于分析单源传感器中的变化率:
ki=vi-vi-1(1
(7)
1.2 N-TCD异常值检测算法
算法1. N-TCD异常值检测算法输入:数据集Si,滑动窗口SW的长度lsw,移动的距离阈值lmove,相对离群距离阈值γ,相邻数据的变化率阈值ki;输出:异常值的参数集合W.① vi=vi-minmax-min ∥对数据进行离差标准化/② j=1 While j≤n; ∥对每个窗口中的数据进行异常值检测*/ start_point=j; end_point=start_point+lsw-1;③ ki=vi-vi-1 if k>β W=W∪(lth-m,lsw)④ d'outlier=1n∑ni=2(vi-vi+1)2 d'i=d'outliervi index1=find(d'γ<γ) l1move=lmove⑤ for a:=1:length(index 1) num=currentLocal(index1(a)); SWsub=(num-lmove-1,num+lmove); d″γ=d″outlierv'i if d'γ<γ & SWsub<=εsize W=W∪{d″}r end l1move=l1move2 end⑥ j=j+lmove end
2 NTM算法的异常值检测
在实际应用领域,只通过单个传感器检测出的异常并不能最终确定为异常事件,往往还需要多个传感数据组合起来综合评判。常见的多源传感器组合的方法有基于多元传感器拟合法[13]、基于神经网络的异常检测法[14]、基于贝叶斯估计的异常值检测[15]或集成学习算法[16]等,但这些算法一般不会将相似类别的几个单源传感数据组合起来分析研究,这将会损失具有相似类别数据特征的价值。而基于多视图异常检测法[17]可以将相似类别的数据作为一个视图,进而分析同一视图及不同视图之间的相关关系,弥补了以上算法检测的缺陷。但由于多视图分析中各视图之间的复杂分布和不同视图间样本特征的不一致性,因此,目前基于多视图异常值检测的方法仍然是一个巨大的挑战。SHENG et al[11]提出了基于多视图低秩分析的MLRA算法,该算法通过构建多视图低秩分析框架分析各视图之间的内部关系,从而揭示样本的内在结构,并通过估计每个样本的异常分数识别异常值。本文将N-TCD算法与MLRA算法进行融合,提出了NTM算法。
本文将异常事件分为显性异常事件、隐形异常事件、明确异常事件和不定异常事件,如表1所示。所谓显性异常事件是指采集的数据中通过单源传感数据检测有两个或两个以上m个以下为异常且通过多视图检测也为异常的事件;隐形异常事件是指仅有单个以上及m个以下的单源检测为异常,但多视图检测不异常的事件;明确异常事件指那些通过单源传感数据检测连续有m个以上均为异常且不管多视图是否异常的事件;不定异常事件指单源检测一个或无异常但多视图检测异常的事件。
表1 融合算法事件描述Table 1 Event description of fusion algorithm
2.1 NTM算法的定义及表示方法
定义4将电气数据分为两个视图,一个是两组电压电流的数据作为一个视图,另一个是所有的剩余电流和温度的数据作为一个视图。记为,
X={X1,X2} .
(8)
X1={S1,S2,S3,S4,S5,S6} ,
X2={S7,S8,S9,S10,S11,S12} .
(9)
其中,Si与定义1中所表含义相同。
定义5将Xv记为矩阵的格式,则有:
Xv=XvZv+Ev(v=1,2) .
(10)
Zv是具有块对角结构的低秩系数矩阵,Ev属于噪声矩阵。
定义6使用l2,1范数和迹范数将目标函数Xv=XvZv+Ev(v=1,2)转换为下述更易实现的目标函数:
(11)
其中,‖·‖*表示迹范数。
定义7为了解决(11)式的问题,用增广拉格朗日乘子算法优化该目标函数,引入松弛变量Jv,Sv,
(12)
增广拉格朗日函数为:
(13)
式中:Wv,Pv和Q为拉格朗日乘子,μ>0,μ为惩罚因子。
定义8由于目标函数不是对所有变量共同凸的,而是需固定其他变量,仅对其中一个变量进行更新,因此,该算法将变量更新如下:
固定其他变量,更新Jv
(14)
固定其他变量,更新Zv
(15)
(16)
固定其他变量,更新S
(17)
固定其他变量,更新Ev
(18)
(19)
通过多次迭代,求得Zv,Ev.
定义9使用上述得到的Zv,Ev,求出异常分数
(20)
2.2 NTM的异常检测算法
3 实验与结果分析
3.1 实验环境
本文在实际应用场景中采集的数据集上进行分析,实验系统为Windows10(64位) ,CPU为1.80 GHz,内存为8 GB,Matlab版本为2013.
实验数据是通过在某单位的多个配电箱中分别部署电气检测装置采集的,每个采集装置主要包括3个电压传感器、3个电流传感器、1个剩余电流传感器和3个温度传感器,主控制器每隔一秒会把采集的数据通过GPRS技术发送到阿里云服务器,数据以十六进制传输,按照通信协议对数据进行了转换并以十进制形式存储和分析。本文分别在收集的93 220条数据和47 500条数据上经归一化预处理后的数据集(laboratory electrical data,LED)LED1和LED2上进行了实验。数据集中的相关传感数据的参数描述如表2所示。
表2 传感数据参数描述Table 2 Sensor data parameter description
3.2 N-TCD异常检测算法分析
本实验分别对数据集LED1和LED2中的部分数据进行了标注,分别共有489条和73条异常信息,其中各单源传感器所产生的异常数目分别为表3和表4中的All Abnormal Parameters列所示。分别采用TCD和N-TCD算法对单源传感数据进行检测,实验结果如表3和表4所示。
表3 LED1异常检测结果集Table 3 LED1 anomaly detection results
从表3的实验结果可知,U1、I1、I2、L、Q1、Q2、Q3在N-TCD算法中的异常检出率比TCD算法的异常检出率高;U2的异常检出率在两种算法中相同。表4的实验结果可知U1、I1、I2、Q1、Q3在N-TCD算法中的异常检出率比TCD算法的异常检出率高;U2、L、Q2的异常检出率在两种算法中相同。综上,N-TCD算法相比TCD算法异常检出率更高。
表4 LED2异常检测结果集Table 4 LED2 anomaly detection results
3.3 NTM异常检测算法分析
利用提出的NTM算法在LED1和LED2数据集上进行异常数据检测,其中,表5为LED1数据集中MLRA算法和NTM算法中确定为异常事件的显性异常事件和明确异常事件分别为353条和438条,不确定为异常事件的隐形异常事件和不定异常事件分别为29条和12条。
表5 LED1异常事件检测结果Table 5 LED1 abnormal event detection results
表6为LED2数据集中MLRA算法和NTM算法确定为异常事件的显性异常事件和明确异常事件分别为54条和66条,不确定为异常事件的隐形异常事件和不定异常事件分别为4条和3条。
表6 LED2异常事件检测结果Table 6 LED2 abnormal event detection results
异常数据总数可以表示为Dsum,成功检测出的异常数据可以表示为Dcor,成功检测出的异常数据为确定异常数据的可以表示为Dsur,则异常数据的检测精度Dprecision及检测准确率Daccuracy的计算为:
表7为不同数据集下NTM算法和MLRA算法检测结果比较。
表7 不同数据集下NTM算法和MLRA算法检测结果比较Table 7 NTM and MLRA algorithms under different data sets
从表7中可知,使用多视图异常检测的MLRA算法仅能发现LED1数据集489条中的382条异常数据,其检测精度为Dprecision=0.78,而382条异常数据中有353条为确定异常数据,其检测准确率为Daccuracy=0.92.而NTM算法能发现489条异常数据中的450条,其检测精度为0.92,其中确定异常数据为438条,其检测准确率可达到Daccuracy=0.97;在LED2数据集中使用多视图异常检测的MLRA算法仅能发现73条异常数据中的58条异常数据,其检测精度为Dprecision=0.79,而58条异常数据中有54条为确定异常数据,其检测准确率为Daccuracy=0.93.而NTM算法能发现73条异常数据中的69条,其检测精度为Dprecision=0.95,其中确定异常数据为66条,其检测准确率可达到Daccuracy=0.96;综上所述,NTM的异常精度和检测准确率均优于MLRA.
4 结束语
本文提出了改进的传感数据时序连续性检测算法N-TCD算法,并考虑到不同传感数据之间的关系,进一步采用多视图低秩分析方法构建了NTM算法应用于电气火灾的消防预警中。实验结果表明该算法有准确率高、误报率低、安全可靠等优点。今后将考虑更多影响电气火灾的因素如湿度、视频信息等进行综合分析,从而逐步提高该算法对电气火灾的消防预警能力。