?

基于多源傳感數據相關性分析的電廠設備故障檢測方法?

2019-03-26 08:44朱美玲韓燕波
計算機與數字工程 2019年3期
關鍵詞:傳感線性聚類

柴 政 劉 晨 朱美玲 ,3 韓燕波

(1.北方工業大學大規模流數據集成與分析技術北京市重點實驗室 北京 100144)(2.北方工業大學數據工程研究院 北京 100144)(3.天津大學計算機科學與技術學院 天津 300072)

1 引言

伴隨著電力系統不斷的發展,發電廠設備的運行狀況愈加復雜,布置在設備上的傳感器產生的數據規模愈加龐大,故障原因也越來越多。依賴人工經驗進行設備故障檢測愈發困難,因此基于信息技術的設備故障自動檢測技術越來越重要[1]。

當前,基于信息技術的設備故障自動檢測方法主要利用模型對電力設備運行狀況進行異常診斷,主要包括小波變換[2]、神經網絡[3]、Bayes網絡[4]和支持向量機[5]等。這類方法基于人工經驗和歷史數據,建立故障預警模型。這類方法的不足是必須要有客觀的歷史數據作為支撐。然而設備運行狀況監測過程中的業務知識因為設備檢修人員的主觀理解不同而存在差異,影響了模型的準確性。

本文嘗試依賴大數據分析的方法來實現電廠設備故障的在線檢測。本文方法事先不關注設備的先驗知識,而是通過電廠設備傳感器產生的實時數據的關聯變化來推測設備故障,并進行預警。然而,電廠設備上傳感器數量不斷增加,多個傳感數據之間隱含著不易被發現的關聯關系。對這些關聯關系變化的檢測可以幫助檢修人員發現隱藏的潛在故障,盡早做出預警。由于電廠設備之間的協作關系,單個設備發生異常后會引起其他設備的異常。這種現象被稱為異常的傳播。這種現象將導致不同來源的相關傳感數據存在時間上的延遲,即某傳感數據序列延遲一段時間后與另一傳感數據序列存在相關性。然而,傳統的相關性分析技術不能有效地應對這種傳感數據的時間延遲問題。

為此,在相關性分析研究的基礎上,本文提出了一種基于皮爾遜系數的多源傳感數據關聯在線檢測方法。其主要貢獻有:1)提出了一種基于皮爾遜相關系數的聚類方法,把具有相關關系的傳感聚為一類;對組內的傳感利用多元線性回歸建立線性模型;利用滑動窗口實現曲線的排齊,明確傳感數據之間潛在的關聯關系。2)提出了一種針對時間延遲的傳感數據在線相關性檢測算法,實時監控傳感數據之間相關性的變化趨勢,根據相關性的異常變化預測故障的發生。最后,通過實驗驗證了本文算法的有效性。

2 動機

本文的研究動機來源于某真實火電發電廠設備故障檢測的實際需求。該電廠下管轄兩個機組,每個機組中存在很多發電設備,每個設備上部署的傳感器數量從幾十到數百不等。整個發電廠共有7616個傳感器。這些傳感器實時監控設備的運行狀態。

傳感數據之間存在著許多潛在關聯,其關聯的變化往往預示著設備工作狀態的變化,對發現設備運行的潛在故障起著關鍵性的作用。如圖1所示,磨煤機設備在正常運行狀態下磨煤機C進口一次風壓和給煤機C的電流呈現線性相關。在2014-07-23 17:07:00到2014-07-24 01:05:59時間段內設備發生異?!耙惶枲tC磨風壓取樣防堵吹掃裝置漏氣”。在此期間原有的相關性被破壞,如圖1虛線框所示。而且進一步分析發現,在兩條傳感數據的取值并沒有超出允許范圍,無法利用孤立點檢測等傳統方法檢測故障。該案例說明,發現傳感數據相關性的變化對故障檢測具有實際意義。

圖1 關聯在故障預警中的作用

為此,本文的思路是通過分析多源傳感數據流之間的相關性變化來捕獲數據的異常并預測設備的故障。然而,傳統的相關性分析方法并不能有效求解本文的問題,因為傳統方法不能有效應對多源傳感數據的時間延遲問題。本文在進行相關性分析時引入了曲線排齊,不停平移相關的曲線計算相關性,最終篩選出最大的相關性作為最終結果。

本文提出的一種基于多源傳感在線分析的電廠設備故障檢測算法,利用皮爾遜相關系數對傳感進行分類,挖掘傳感數據之間的關聯關系,根據關聯關系的變化,對發現設備潛在的故障,給出預警事件,為電廠設備的安全運行提供決策依據。

3 故障檢測方法

基于前文的文分析,本文提出了一種基于多源傳感數據相關性分析的電廠設備故障檢測方法,方法的基本原理如圖2所示。

如圖2所示,本文的方法主要分為兩個模塊:第一個模塊利用歷史傳感數據進行離線的訓練,主要目的是為了對輸入的多個傳感進行聚類,并利用多元線性回歸對聚類后的測點建立線性模型,以便于計算復合相關系數并挖掘傳感數據之間隱藏的相關性。第二個模塊對數據流進行在線檢測,利用復合相關系數,檢測類中傳感數據的相關性是否發生了變化,從而確定故障預警信號。

在離線訓練模塊中主要包含兩個算法:基于皮爾遜相關系數的傳感聚類算法(RCluster)和類中曲線擬合算法(LCR)。在線檢測模塊主要包含在線檢測算法(OnlineDetection)。下面分別對這三個算法的原理和實現進行詳細的描述。

圖2 在線故障檢測方法框架圖

3.1 基于皮爾遜相關系數的測點聚類算法

傳統的聚類算法在聚類時需要給定出類別參數,即聚類結果有幾類。然而在實際的故障檢測中事先并不知道傳感數據之間是否具有相關性,也不知道聚類的結果有幾種類別。故而傳統的聚類算法并不能解決本文中的聚類問題。因此本文采用了一種自底向上的聚類方法(RCluster),利用皮爾遜相關系數,計算傳感數據之間的相關性,并利用傳感數據之間這種模糊的相關性進行聚類。

皮爾遜相關系數是一種度量兩個變量間線性相關程度常見的指標。利用皮爾遜相關系數,可以考察兩組傳感數據之間的線性相關程度,如果相關系數為0,則兩組數據沒關系,相關系數在0.00~1.00之間,兩組數據正相關,相關系數在-1.00~0.00之間,兩組數據負相關。

皮爾遜相關系數公式如下:

X,Y表示兩組傳感數據,N表示傳感數據的樣本數量。

給定一組傳感數據樣本,聚類算法利用式(1)計算每兩組傳感數據之間的相關系數ρ(x1,x2),判斷計算出來的ρ(x1,x2)的大小,根據給定的閾值δ,如果相關系數大于δ,認為當前的兩組傳感數據具有很強的相關性,從而把相應的兩個傳感聚為一類。把與同一組傳感數據具有相關性的測點聚類為一組,例如如果傳感A的數據和傳感B的數據之間具有相關性,傳感B的數據與傳感C的數據之間也具有相關性,則把傳感A、B、C聚為一類。不斷地對這個過程進行迭代計算,直到所有的分組之間的復合相關性很小,從而達到不同類別的傳感數據之間沒有相關性。

算法實現的偽代碼如算法1所示。

算法1:RCluster:利用相關系數實現傳感的聚類輸入:

HistoryData:歷史數據

Sensorlist:傳感數據集合

輸出:subSensor:傳感聚類集合

1.JSONArray subSensor;//存儲相關的傳感

2.for(i=0;i<Sensorlist.size;i++){

3.String name=Sensorlist.get(i);//獲取第i個傳感;

4.columni=HistoryData.get(i);//獲取傳感i的數據列;

5.for(j=i+1;j<Sensorlist.size;j++)

6.columnj=HistoryData.get(j);//獲取傳感j的數據列;

7.res=person(columni,columnj);//計算兩個傳感的相關系數

8.IF(res> T ){

9node.put(name,Sensorlist.get(j));//記錄與當前傳感具有相關性的傳感

10.subSensor.add(name,node);//分類結果

11.}

12.}

13.return subSensor;

3.2 組內曲線擬合算法

為了計算多組傳感數據間的復合相關系數,需要對測點數據建立線性模型,計算該線性模型與第k組傳感數據xk之間的相關系數,作為XK與X1,X2,…XK-1之間的復合相關系數。本文利用最小二乘法對多組傳感數據進行多元線性回歸,建立傳感數據之間的線性模型。

線性相關模型對相關傳感數據來說,可以得到很好的物理解釋。例如,磨煤機的一次風流量的大小,取決于冷風調門和熱風調門的開度大小,調門開大則流量增加,調門關小則流量減小。所以一次風流量信號,就可以用冷風調門開度信號和熱風調門開度信號通過線性計算來擬合。

多元線性模型可以表示為

k表示組內包含的傳感數目X1,…,Xk表示組內k個傳感。其中a1,…ak-1是變量X1,…Xk-1的系數,b為常數。利用時間窗口記錄最新一段時間內接收的實時測點數據,對時間窗口內的數據來進行線性回歸訓練,計算線性模型。該時間窗口隨著時間推移而不斷更新。每當時間窗口更新后,訓練樣本也相應更新,此時重新訓練模型,力求尋找一組擬合度最好的線性模型。

本文為了確定XK,利用最小二乘法分別把X1,…,Xk-1作多元線性模型的因變量,剩余的k-1個傳感當作自變量,進行線性回歸。根據每個回歸模型的復合相關系數,確定一個擬合度最好的回歸模型,這個模型的因變量則為當前分組內最終確定的因變量。

算法的步驟為:1)輸入組內時間窗口內的樣本數據;2)利用線性回歸算法計算線性模型的各個參數,確定最終的線性模型;3)更新時間窗口,迭代更新線性模型。

3.3 在線檢測算法

在線檢測算法主要是利用前面的傳感聚類結果以及對類中傳感所建立線性模型,計算組內的線性模型中的因變量Xk與其他自變量X1,…Xk-1之間的復合相關系數,判斷這個復合相關系數是否發生了突變(變小或者變為負值),如果發生了突變則認為當前類中傳感監測的設備發生了異常,應該給出故障預警信息。

對于線性模型,本文令

則組內的復合相關系數:

在利用復合相關系數對傳感進行在線檢測的時候,發現具相關傳感數據存在時間延遲。為了更加準確地計算這些測點之間的復合相關系數,需要在計算之前對這些傳感數據進行曲線排齊。由于并不是所有的傳感數據都存在時間延遲,本文利用滑動窗口實現曲線的排齊。

具體的計算過程:1)輸入線性模型的各個自變量的系數以及在線數據并讀取到對應的變量下;2)設置最大的滑動窗口尺寸max,計算滑動窗口從1到max下的復合相關系數ρ',利用冒泡排序算法找到相關系數最大的窗口大小并記錄為count;3)把count下的復合相關系數ρ'與 0.1*δ做對比,如果ρ'小于0.1*δ說明類中傳感的數據相關性遭到了破壞,給出預警信息。

綜上所述,本文針對電廠故障的多源傳感器數據檢測方法的整體的算法流程如下。

1)利用RCluster算法得出測點的聚類結果,也就是傳感的分組結果;

2)基于1)中的結果集,選取最近一個月內的傳感數據作為樣本窗口數據,對類中傳感計算線性模型。每隔一段時間更新樣本窗口數據,用新的窗口數據訓練線性模型;

3)根據1)和2)中離線訓練出的聚類結果和類中的傳感模型,對于在線的數據流,實時計算組內各個傳感之間的復合相關系數ρ'(X,Z),判斷類中傳感的相關性是否發生突變,從而給出故障預警信息。

整體算法的實現偽代碼如算法2所示。

算法2(OnlineDetection):在線檢測算法

輸 入 :Sensorlist,HistoryData,OnlineData,Windowsize,count

輸出:warningInfo:預警信息

1.subSensor=RCluster(Sensorlist,HistoryData);//獲取聚類結果

2.LR=MLR(subSensor,Windowsize,HistoryData);//線性回歸系數數組

3.X=ToMatrixX(OnlieData);//把測點的數據轉換成矩陣,每一列存放m-1個自變量的觀察值

4.y=ToDoubleY(OnlieData);//對因變量y進行負值

5.for(i=0;i<=m-1;i++)

6.z+=LR[i]*x[i]//計算自變量組成的Z

7.for(count=1;count<=max;count++){

8. ρ'=person(y,z+count);//計算每個滑動窗口下的復合相關系數

9.Lρ'.add(count,ρ');//把每個窗口下的復合相關系數賦值到一個數組中

10.}

11.Sortρ'=Bubblesort(Lρ');//對計算后的復合相關系數安從大到小的順序進行冒泡排序

12.Max ρ'=Sortρ'[0];//賦值復合相關系數最大的值以及當前最有效的滑動窗口尺寸

13.IF(Max ρ'.ρ'<T*0.1)//判斷復合相關系數是否發生了突變

14.warningInfo=OnlieData.time+”類中傳感的數據相關性發生了突變”

15.Return warningInfo;//返回預警信息

4 實驗與分析

為了有效地驗證本文提出的數據驅動的電廠設備故障在線檢測方法的有效性,基于真實的電廠設備傳感數據,對照故障日志記錄,實現第2節中的算法,確定相應的實驗指標,驗證方法的可行性以及有效性。

4.1 實驗環境與數據

實驗中采用的數據為2015年1月1號到2016年1月31號某發電廠5個設備的190個傳感器產生的數據。數據的真實采集頻率為每隔3分鐘一次。以及在此時間范圍內出現的故障次數。表1展現了數據集的具體信息。

表1 實驗數據集介紹

將傳統的基于規則的方法與本文提出的方法進行對比?;谝巹t的方法是利用傳感器生產時設定的閾值來判定傳感數據是否異常。傳感設備出產設定的閾值,通常包括傳感設備的上下界限值。當傳感數據超過界限值時,認為設備出現異常。

4.2 實驗指標

本文將Pearson相關系數的閾值設置為0.8,即當計算的Pearson相關系數超過0.8時,認為存在相關性。

實驗指標如下:準確率,衡量本文算法檢測出真實異常與檢測的全部異常的比例。計算公式為準確率=|真實異?!蓹z測到異常|/|檢測異常|。另一方面,召回率,是衡量本文算法發現的真實異常與所有真實異常的比例,計算公式為召回率=|真實異?!蓹z測到異常|/|真正的異常|。

4.3 實驗結果與分析

首先討論方法的有效性。利用基于皮爾遜系數進行聚類的結果見表2所示。

表2 聚類結果集

對各個聚類中傳感的關聯關系進行分析,根據關系的變化計算設備的故障預警結果集。具體結果見表3所示。

表3 故障預警結果集

如圖3所示,在每個設備中,本文方法具有80%以上的準確率。五臺設備檢測結果的平均準確率為81.20%。對一次風機的預警結果的準確率最高,達到83%。另一方面,本文實現了基于規則的傳統方法進行異常檢測?;谝巹t的異常檢測方法以電廠傳感器的閾值作為判斷異常的依據。當傳感器數值超出閾值范圍時認為設備發生異常。本節將本文方法的檢測結果與該方法進行了對比。對比結果顯示該方法的準確率明顯低于本文方法。如圖3所示,基于規則的傳統方法準確率平均值為57.66%,最高值為64.52%。

圖3 基于規則的方法和本文的方法的準確度對比圖

如圖4所示,實驗驗證了在五個設備中,本文的方法比基于規則的方法檢測到更多的真實故障。事實上,本文方法在每個設備上的召回率結果幾乎達到90%,而基于規則的方法約為50%。這表明本文方法比傳統的基于規則的方法更有效。

圖4 基于規則的方法和本文的方法的召回率對比圖

5 相關工作

5.1 相關性分析

文獻[7]針對具有白噪聲特性的時間序列數據流,提出一種快速檢測相關性的技術,通過將草圖、卷積、結構化隨機向量和網格等多種數據約減技術結合起來,實現滑動窗口內高效的相關性分析。文獻[8~9]提出的動態時間彎曲技術基于動態規劃思想度量兩組離散數據相似性的方法。文獻[10]利用混合高斯分布模型對多個有關聯關系的異構監控數據系統建立潛在關聯關系模型,使用一個概率分布模型來檢測異常。文獻[11]借鑒聚類分析方法提出了一個基于相關性度量的故障檢測算法(MCFD),借鑒一種改進的基于近鄰的局部密度聚類分析算法來對相似的相關值的視圖進行聚類,而那些不屬于任何集群的異常視圖就是潛在的故障傳感器。文獻[12]提出了基于相關分析的多元回歸估計方法對無線傳感器網絡監測的數據序列進行相關分析,找出與當前數據相關性較強的其他歷史監測數據,采用這些歷史監測數據進行多元回歸建模和估計。

5.2 故障檢測

Santanu Das[13]針對航空數據分析提出了一種動態的數據驅動的異常檢測方法,方法中實現了通過特征值提取算法來檢測、分類、預測異常和故障。Osman Salem[14]使用支持向量機對醫療無線傳感網中的傳感數據進行分類,分出異常實例,再利用線性回歸對這些異常實例定期的重建回歸預測模型,判斷病人傳回的數據是否處于一個異常臨界狀態或者傳感器是否讀數錯誤。文獻[15]提出了利用傳感器采集的振動數據進行近似值及EMD的高鐵故障診斷方法。

6 結語

本文提出的基于多源傳感數據在線分析的電廠設備故障檢測方法,避免了傳統方法中對數據分布的已知性以及對參數設置的敏感性,完全從數據的角度出發,利用數據本身的特性,有效降低了數據分布不均對檢測算法的影響。本文方法主要分為兩個部分,一是利用歷史數據進行離線的訓練,實現對測點的聚類,并對聚類后的測點進行線性回歸,建立線性模型;二是利用聚類結果和線性模型,對在線數據流進行在線的檢測,找出數據層面的異常狀態,從而給出對應的故障預警信息。最后本文利用電廠的實際監測數據驗證分析,結果表明該算法不僅具有較高的召回率,而且本文所發現的故障時間大部分都能夠早于日志記錄中的故障日志時間。本文將針對如何提高準確率進行更進一步的研究與探索。

猜你喜歡
傳感線性聚類
《傳感技術學報》期刊征訂
新型無酶便攜式傳感平臺 兩秒內測出果蔬農藥殘留
一種傅里葉域海量數據高速譜聚類方法
二階整線性遞歸數列的性質及應用
一種改進K-means聚類的近鄰傳播最大最小距離算法
AR-Grams:一種應用于網絡輿情熱點發現的文本聚類方法
非齊次線性微分方程的常數變易法
線性回歸方程知識點剖析
線性耳飾
硅硼摻雜碳點的制備及其在血紅蛋白傳感中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合