曾利云,肖 云,張植豪
(廣東工業(yè)大學機電工程學院,廣東廣州 510006)
擠壓機是鋁型材加工生產(chǎn)的核心設(shè)備,在運行過程中會消耗大量電力。鋁型材加工企業(yè)的能源管理系統(tǒng)可實時采集擠壓機生產(chǎn)過程中的能耗數(shù)據(jù)。通過對數(shù)據(jù)的分析,能檢測出擠壓機在生產(chǎn)過程中的能耗異常行為,從而為企業(yè)節(jié)能減排、提高能源效率提供有價值的信息。所謂異常數(shù)據(jù),是指在數(shù)據(jù)集中與眾不同的數(shù)據(jù),并且這些數(shù)據(jù)并非隨機偏差,而是產(chǎn)生于完全不同的機制。擠壓機能耗異常特征可以分為點異常和模式異常,在生產(chǎn)過程中存在難以精確檢測出能耗異常狀況,難以建立精確的異常檢測數(shù)學模型的問題。
異常檢測被廣泛應用于設(shè)備狀態(tài)監(jiān)測、建筑能耗、網(wǎng)絡入侵檢測以及其它領(lǐng)域。能源消耗領(lǐng)域的異常檢測方法包括回歸法、k-最近鄰域(K-NN)、熵法和聚類法[1]。Zhao[2]提出一種基于動態(tài)時間規(guī)整(DTW)的自適應模糊C均值(AFCM)方法,可以有效地檢測某鋼鐵廠的能量異常數(shù)據(jù)。Guo[3]提出一種車間級熱損失故障檢測方法,建立TVWS的動態(tài)分層能耗模型,采用LMBP算法和能耗因子法對熱損失基線進行估計。Khatkhate[4]利用相關(guān)測量的時間序列數(shù)據(jù),建立隱馬爾可夫模型,以用于機械系統(tǒng)異常檢測。王偉影等[5]針對燃氣輪機運行過程中的健康維護問題,采用模糊C均值聚類算法對燃氣輪排氣溫度進行異常檢測。賀惠新[6]針對燃氣輪機的點異常和序列異常,分別引入以樣本為核心的聚類思想和基于加權(quán)流形嵌入的方法對其進行檢測。戴慧[7]基于滑動窗口數(shù)據(jù)的置信區(qū)間,構(gòu)造變化趨勢特征值和相對變化趨勢特征值分別用于二次探測,能夠快速準確地探測出變電站各設(shè)備表數(shù)據(jù)集的異常點。Chou[8]提出一種具有滑動窗口的ANN和ARIMA混合模型,利用大量的數(shù)據(jù)集來識別建筑空間的異常功耗。Akouemo[9]提出一種用于異常檢測的概率方法,應用于天然氣的時間序列數(shù)據(jù)中,可識別未知來源的異常。目前,在基于全局的檢測方法中,由于過分關(guān)注全局的環(huán)境,容易忽略局部的異常變化,容易造成漏報;而基于局部序列的方法中,因為過分關(guān)注局部的細微變化,而沒有從整體去考慮序列正常行為的特點,容易造成誤報。
本文作者針對擠壓機生產(chǎn)過程中的能耗特征和傳統(tǒng)異常檢測算法漏檢率高、效率低的問題,提出一種基于K-MLS和K-MLOF的擠壓機能耗異常檢測方法。實驗證明,該方法能夠有效檢測出擠壓機生產(chǎn)過程中的能耗異常現(xiàn)象,并且具有通用性和魯棒性等特點。
鋁型材擠壓機生產(chǎn)過程中,由于設(shè)備因素、人為誤操作等原因均會導致能耗異常現(xiàn)象,造成大量能源浪費。目前,隨著工業(yè)信息技術(shù)的發(fā)展,大多數(shù)鋁型材企業(yè)都建立了能源管理系統(tǒng)來監(jiān)控內(nèi)部能源狀況,用來優(yōu)化能源運作,節(jié)約成本。能源管理系統(tǒng)實時采集到的擠壓機能耗異常數(shù)據(jù),通常有如下幾類特征:
(1)點異常:由于數(shù)據(jù)采集系統(tǒng)故障或信息傳輸問題,比如智能儀表故障、通信中斷、存儲異常等,導致在某個時間點的能耗數(shù)據(jù)偏離正常值,但是其鄰近域內(nèi)的能耗數(shù)據(jù)又是正常的,其表現(xiàn)形式如圖1(a)所示。
(2)模式異常:指一段數(shù)據(jù)集相對于整個數(shù)據(jù)集的其他部分表現(xiàn)為異常,但這一段數(shù)據(jù)集中的單個數(shù)據(jù)可能是異常,也可能不是異常的情況。其表現(xiàn)形式如圖1(b)所示。

圖1 不同特征的能耗數(shù)據(jù)趨勢圖
能源管理系統(tǒng)實時采集到的擠壓機能耗數(shù)據(jù)表現(xiàn)出時序性、周期性和分類特性。能耗數(shù)據(jù)的周期性反映出了鋁型材連續(xù)擠壓過程中的相似生產(chǎn)過程;分類特性則表現(xiàn)了一個擠壓周期中不同擠壓階段。因此,基于鋁型材生產(chǎn)能耗數(shù)據(jù)特點,將異常檢測分為兩個階段:一是針對擠壓過程,檢測擠壓機在生產(chǎn)過程中出現(xiàn)的點異常現(xiàn)象;二是針對擠壓周期,檢測擠壓機生產(chǎn)過程中出現(xiàn)的模式異常現(xiàn)象,以彌補模式異常或點異常分別檢測時的漏檢情況。整體異常檢測模型如圖2所示。

圖2 異常檢測模型
(1)定義1:時間序列
設(shè)時間序列ti時刻的記錄值為vi(ti),記錄時間ti是嚴格 增 加 的 (i<j?ti<tj) ,則 可 將 時 間 序 列 記 為X=<x1=(t1,v1(t1)),x2=(t2,v2(t2)),...,xn=(tn,vn(tn))> , 簡 記 為X=<x1,x2,...xn>。
(2)定義2:時間序列的子序列
設(shè)有時間序列 X=<x1,x2,...,xn> 和 X1=<xi1,xi2,...,xin> ,其中,xi1,xi2,...,xin∈X ,并且有1<i1<...<in<n 。則稱 X1為X的子序列。
(3)定義3:歐式距離
給定時間序列 X=<x1,x2,...,xn>和Y=<y1,y2,...yn>,則歐式距離可表示為:

2.2.1 能耗數(shù)據(jù)分類處理
擠壓機與其擠壓狀態(tài)存在著一定的對應關(guān)系,即當擠壓機處于空載前進和快速后退階段時,其能耗比較小;當擠壓機處于擠壓狀態(tài)時,其能耗比較高。針對這一耗能特點,為了更加精確的對能耗數(shù)據(jù)進行點異常檢測,有必要針對不同的情況進行分類處理。
K-Means算法是典型的聚類算法,其目的是根據(jù)距離中心最近原則,通過計算其他數(shù)據(jù)對象到各聚類中心的距離,在不斷迭代循環(huán)中,將數(shù)據(jù)分配到指定的不同的K個類簇中,使得簇間相似度盡可能大而簇內(nèi)相似度盡可能小。鑒于K-Means算法的聚類作用且簡單高效,本文作者使用該方法對一段時間內(nèi)的能耗數(shù)據(jù)進行分類處理,K-Means具體算法流程圖如圖3所示。

圖3 K-Means聚類算法流程圖
輸入:長度為N的數(shù)據(jù)集X={x1,x2,...,xn},最終聚類個數(shù)K;
輸出:聚類后的K個類簇C={c1,c2,...,ck}。
2.2.2 LOF異常系數(shù)
為說明LOF異常系數(shù),首先給出K-近鄰距離的概念,設(shè)q為數(shù)據(jù)點集A中的一點,k為任意給定的正整數(shù),則q點的K-近鄰距離k-dist(q)滿足如下條件:
(1) A至少有k個點(不包括q點),他們到q點的距離小于或等于 k-dist(q),即存在 k個點x∈A{q},d(q,x)≤k-dist(q)。
(2) A中最多有k-1個點(不包括q點),他們到q點的距離小于 k-dist(q),即存在 k個點x∈A{q},d(q,x)<k-dist(q)。
在K-近鄰距離定義的基礎(chǔ)上,可將點q到點o的K-近鄰可達距離表示為:

式中:d(q,o)表示點q到點o之間的歐式距離。
接下來可得點q的異常系數(shù)LOF(q)為:

在上面的公式中,k(q)表示點q的近鄰范圍,lrd(q)指點q的K-局部密度,它反映了點q周圍點分布的密度狀況。以LOF(q)作為衡量某一點是否異常的指標,當其較大時,表示點q周圍中包含的點比較稀疏,進一步說明點q是異常點的可能性較大。
2.2.3 基于K-MLS的時間序列點異常在線檢測模型
針對擠壓機能耗特點,結(jié)合時間序列和聚類的思想,提出一種基于K-Means和LOF的時間序列點異常在線檢測模型,簡稱基于K-MLS的點異常檢測算法。在使用K-Means算法對歷史能耗數(shù)據(jù)分類的基礎(chǔ)上,使用LOF異常系數(shù)對不同類別的實時能耗數(shù)據(jù)進行異常檢測,具體實現(xiàn)流程如圖4所示。
針對模式異常,提出了一種K-MLOF時間序列模式異常檢測方法。從模式的角度檢測時間序列能耗數(shù)據(jù)的異常行為,彌補了點異常檢測算法僅僅能檢測出單個異常數(shù)據(jù)的局限性,提高了異常檢測的效率和準確率。
2.3.1 特征值
在擠壓機能耗數(shù)據(jù)中,為全面表示能耗數(shù)據(jù)時間序列的模式特征,提取一段子序列的特征值:高度、均值、方差、標準差,從而將時間序列映射到多維特征空間。
首先,將邊緣權(quán)重因子的定義為:


圖4 點異常檢測流程圖
式中:
m為檢測邊緣權(quán)重因子W(i)的窗口寬度,即子序列長度;
xmaxxmin為每一個檢測窗口中所檢測到的最大/小序列值。
子序列的高度定義為:

子序列的均值定義為:

2.3.2 k-異常因子(K-MLOF)
將時間序列子序列映射到四維特征空間C(h,x-,σ,s)后,給定 k∈N+,設(shè)點 p(hp,xˉp,σp,sp),q(hq,xˉq,σq,sq)為四維特征空間中的任意一點,那么p與q之間的歐式距離可表示為

結(jié)合上文對kth距離k-dist(p)的介紹,可得
對象p的k平均距離為


其中,

根據(jù)定義知,K-MLOF的值越大,子序列段對應的模式是異常模式的可能性就越大。
2.3.3 基于K-MLOF的時間序列異常模式檢測算法
輸入:時間序列X=<x1,x2,...,xn>及其長度n,子序列長度m,滑動窗口l以及近鄰數(shù)目k;
輸出:時間序列中的異常子序列。
具體流程:
(1)給時間序列X加窗,記為Fi,其中,i表示第幾個滑動窗口,首先,令i=1;
(2)對時間序列X=<x1,x2,...,xn>,以擠壓周期為界將其分為N個子序列,使用公式(5)計算出每個子序列的邊緣權(quán)重因子;
(3)計算特征值,規(guī)范化每一段子序列的4個特征值,將其值都限定在(0,1)之間;
(4)由公式(10)—(12),計算每個子序列的K-異常因子,當k-MLOF的值顯然較大時,表示該段子序列為異常模式的可能性最大;
(5)滑動窗口右移,i++,轉(zhuǎn)(2);
(6)輸出異常模式子序列。
提取能源管理系統(tǒng)數(shù)據(jù)庫中的擠壓機能耗歷史數(shù)據(jù)用于模型驗證,并將驗證后的模型用于擠壓機能耗數(shù)據(jù)在線異常檢測。在能耗數(shù)據(jù)異常檢測之前,對能耗數(shù)據(jù)做如下幾種數(shù)據(jù)預處理:數(shù)據(jù)平滑處理、缺失數(shù)據(jù)處理。處理前和處理后的能耗數(shù)據(jù)圖如圖5所示。
以華南某大型鋁型材生產(chǎn)企業(yè)的SY-1800Ton型擠壓機作為案例研究,以能源管理系統(tǒng)的數(shù)據(jù)庫中取自2016年10月生產(chǎn)同種型號鋁材的能耗數(shù)據(jù)作為數(shù)據(jù)樣本。首先對數(shù)據(jù)樣本進行預處理,其次將整個樣本分為訓練樣本和測試樣本兩類,其中訓練樣本不含異常能耗數(shù)據(jù)。為了更清晰的觀測到模型的性能,已知測試樣本中包含了2個模式異常數(shù)據(jù)集和5個點異常數(shù)據(jù),其中模式異常數(shù)據(jù)在整體上表現(xiàn)為異常,但是數(shù)據(jù)單獨分開來看并非異常。
實驗配置為:Win7系統(tǒng),MATLAB12(a),CPU2.4 Hz,內(nèi)存4.0 GB。
3.2.1 點異常檢測
針對擠壓機能耗數(shù)據(jù)曲線的特點,觀測圖5的擠壓機能耗曲線周期圖可知,能耗數(shù)據(jù)呈現(xiàn)兩極分化的狀態(tài),處于臨界狀態(tài)的值較少,高能耗數(shù)據(jù)對應擠壓狀態(tài),低能耗數(shù)據(jù)對應擠壓前和擠壓后兩種狀態(tài),簡稱非擠壓狀態(tài)。鑒于此,在使用K-Means方法對歷史能耗數(shù)據(jù)分類時,設(shè)置最終聚類數(shù)K=2。將訓練樣本數(shù)據(jù)輸入到模型中通過MATLAB進行仿真訓練,仿真分類結(jié)果中的高能耗數(shù),對應擠壓狀態(tài);低能耗數(shù)據(jù)對應非擠壓狀態(tài)。利用測試數(shù)據(jù)代替實時能耗數(shù)據(jù),給定初始近鄰距離,對各數(shù)據(jù)點,首先判斷所屬類別,再與同類別能耗數(shù)據(jù)進行離群點分析,計算LOF異常系數(shù)值。如圖6為各能耗數(shù)據(jù)點的LOF值。
從圖中可以看到,LOF的值大部分在1附近波動,但圖中標記的5點的LOF值明顯高于其他點,若令LOF值大于2的點為異常點,則可判斷標記點對應的能耗數(shù)據(jù)為異常點。由于模式異常序列拆分成單個點時,其并非為異常點,所以在計算單個點LOF值時仍處于正常范圍。

圖5 處理前后的能耗數(shù)據(jù)圖
3.2.2 模式異常檢測
在驗證K-MLOF算法的實驗效果時,直接使用包含異常樣本的測試數(shù)據(jù)樣本進行仿真驗證,實驗中,給定能耗時間序列樣本長度為0.5 h采集到的能耗數(shù)據(jù)個數(shù),子序列長度m取能耗數(shù)據(jù)周期時間2 min,在仿真實驗中不斷對k的取值進行變動,結(jié)果表明,當k取值在11~28左右變化時,檢測效果最好,其仿真效果圖如圖7所示。

圖6 擠壓機能耗數(shù)據(jù)點的LOF系數(shù)

圖7 模式異常檢測仿真結(jié)果圖
根據(jù)圖7可以看出,在時間段A和B區(qū)間內(nèi),K-MLOF異常因子明顯高于其他時間,在給定的樣本中同樣是在A、B時間段內(nèi)擠壓機能耗出現(xiàn)模式異常,圖中在點異常的地方,其K-MLOF異常因子并沒有太大的變化,由此可證明算法在模式異常檢測上的有效性。
通過上述仿真實驗,證明本文作者提出的K-MLS算法和K-MLOF算法在檢測擠壓機能耗點異常和模式異常的有效性,為進一步說明該算法相對于原算法或其他算法的優(yōu)勢,在同一樣本的前提下,使用不同算法進行了仿真實驗,對點異常檢測,使用原K-means算法和本文所提出的算法進行比較,結(jié)果如表1所示,對于模式異常檢測,使用了K-NN算法與K-MLOF算法進行比較,結(jié)果如表2所示。

表1 原K-means及K-MLS的準確率及運行時間
實驗表明,本文作者提出的點異常檢測算法雖然在運行時間上與原算法不相上下,但其準確率提高了;模式異常檢測算法在準確率對比其他算法也有較大的優(yōu)勢。實驗最后,將點異常檢測結(jié)果和模式異常檢測結(jié)果合并,刪除重復異常點,最終將能全面得到擠壓機能耗異常序列。

表2 K-NN及K-MLOF的準確率及運行時間
針對擠壓機生產(chǎn)能耗數(shù)據(jù)的異常特征和傳統(tǒng)異常檢測算法漏檢率高、效率低的問題,提出一種基于時間序列和聚類的多層次異常檢測方法。并采用華南某鋁型材生產(chǎn)企業(yè)的擠壓機能耗數(shù)據(jù)對其進行了驗證。通過與現(xiàn)有異常檢測算法的檢測結(jié)果對比,驗證了該算法的有效性和優(yōu)越性。