李翼飛,吳春平,涂 煊
(1.上海理工大學光電信息與計算機工程學院,上海 200093;2.上海工業自動化儀表研究院有限公司,200233)
在工業自動化生產中,隨著現代技術的發展,對安全生產的要求越來越高。因此,傳感器起著越來越重要的作用。傳感器是把被測的物理信號轉化成電信號的裝置,其優劣對監控系統的功能至關重要。傳感器可能存在各種故障,因此需要進行傳感器故障排查的研究。對于振動傳感器,故障診斷可應用主元分析法(principal component analysis,PCA)進行特征的提取。整個系統的數學模型不僅僅是傳感器的測量數據。 然而,傳統的PCA主要針對穩態過程。振動傳感器工作狀態不僅具有穩態,而且具有瞬態過程。診斷難以及時確定故障[1]。結合最小二乘支持向量機(least squares support vector machine,LS_SVM),可以彌補兩種方法的不足,提高診斷的效率和準確率。
PCA是多元分析(multivariate analysis, MVA)的一種常用的數據分析法。PCA通過線性變換,將原始矩陣數據變換成一組線性無關的特征向量。該方法盡可能多地保留數據集中出現的特征提取,通過少量關鍵指標對系統運行狀態進行描述。主成分分析的統計概念構造了一組新的變量,以基于原始數據空間表示原始數據空間。主要信息特征是從新的映射空間獲得的,以形成對原始數據空間特征的解釋。此外,新變量是原始變量的線性組合,新變量構成的空間維數遠小于原始空間維數[2]。
假設一個m維的測量向量,已經收集和記錄了N個測量數據:
對樣本數據進行數據歸一化,并構造變型矩陣:
(1)
(2)
在主元分析中進行閾值的設置,對式(2)進行奇異值分解(singular value decomposition,SVD):
(3)
確定主元的數目1,分解p、Λ,得式(4),并保存ppc、Λpc:
(4)
設置兩個閾值:

(5)
(6)
(7)
式中:Cα為一個高斯分布的(1-α)%的置信極限。

(8)
zres子空間的值較小,因此可以忽略。
根據式(1)歸一化測量:
(9)
計算均方預測誤差(squared prediction error, SPE):
(10)

LS_SVM是基于SVM的一種改進算法[3]。將傳統SVM中的不等式約束改為等式約束,采用最小二乘線性系統作為損失函數[4]。它取代了傳統SVM中采用的二次規劃方法,并使用誤差平方和損失函數作為訓練集的經驗損失。這樣就把解二次規劃問題轉換為求解線性方程組問題,簡化了計算的復雜度,提高了求解問題的速度和收斂精度[5]。
假設樣本是n維度向量,區域樣本及其值表示為(x1,y1)。首先,使用非線性映射φ(x)把樣本從原空間Rn映射至要素空間:
φ(x)={[φ(x1),φ(x2),…,φ(x1)]}l=1,2,…,n
(11)
在這個高維特征空間中構造最優決策函數:
y(x)=ω×φ(x1)+b
(12)
由此可得高維特征空間中的線性估計函數。然后,根據結構風險最小原則,尋找ω、b最小值。
(13)
式中:‖ω‖2為控制模型的復雜度。
當Remp不同時,支持向量機的形式也不同。如果將函數Remp設置為誤差的二范數,則該優化目標函數變為式(6)。此時的SVM稱為最小二乘支持向量機[6]。
(14)
式中:ξi為松弛變量;c為懲罰因子。
根據標準支持向量機最優分類面的求解方法,采用Lagrange系數法對式(14)進行計算。引入Lagrange系數ai(i=1,2,…,l),得如下定義的Lagrange函數:
(15)
定義核函數K(xi,yj)=φ(xi)×φ(xj)。K(xi,yi)是滿足Mercer條件的對稱函數。將優化問題轉化為線性方程的求解:
(16)
最后,得到該最小二乘支持向量機的分類面非線性方程:
(17)
振動傳感器的運行狀態故障包括沖擊故障、漂移故障、偏差故障等。進行二值分類是SVM算法設計時的目標。它是將標準的SVM算法進行適當的改進構造成多類分類器,以應對傳感器運行故障這類多分類問題。因此,針對振動傳感器,對SVM算法進行了變形。將多分類的SVM大致分為兩類。第一類為直接法,是直接對目標函數進行修改,將要求解的多個分類問題組合在一起,一次性解決問題。一次性解決最優問題來實現多分類,計算的復雜度比較高。 第二類為間接法,是將多個二值分類器連接起來構造一個總的分類器組合。常用方式有一對多、一對一、有向無環圖多分類和二叉樹多分類等。此次振動傳感器的故障診斷方法主要采用間接方法進行故障分類。
由N(N≥0)個節點組合成一個有序的集合即為二叉樹。根節點加上互不相交的左右子樹組成抑或為空集。二叉樹算法將振動傳感器診斷出的故障逐次進行二分類,直至所有故障都被分離出來。基于二叉樹的多分類算法原理如圖1所示。其中,A、B、C、D、E為5種類型的待分類狀態。

圖1 基于二叉樹的多分類算法原理圖
圖1中,支持向量機分類器確定位于每一個節點上。每通過一個節點,便可確定傳感器運行狀態及其故障類型。在分類過程中,二叉樹算法不需要對所有的支持向量機分器進行訓練,這必然會提高故障診斷的速度[7]。在進行二叉樹算法訓練中,每完成一次訓練,樣本數均會有所減少。全部檢測數據,通過第一個支持向量機分離出一種故障,以此類推,直到所有的故障被診斷分離出為止。隨著故障分離出的個數增多,支持向量機的訓練速度越來越快,多分類模型的構造也更加容易。
振動傳感器的運行狀態主要包括偏值運行、沖擊運行、漂移運行、周期運行和正常運行這5種。通過數據比例得模式發生概率大小進行排序,分別為正常運行、漂移故障、偏置故障、沖擊故障、周期故障。因此,測量得到振動傳感器在不同時刻、不同狀態的各類故障信號,并根據研究的方法進行特征的產生和提取,構建二維樣本[8]。PCA與LS_SVM智能診斷流程如圖2所示。

圖2 PCA與LS_SVM智能診斷流程圖
漂移故障信號的小波包5層分解圖如圖3所示。

圖3 漂移故障信號的小波包5層分解圖
由于振動傳感器運行狀態的特征生成需要盡可能精細的信號頻率成分,因此采用小波分析。一簇基函數構成了小波,對信號的時間和頻率域的局部特征進行描述[9]。小波分析信號的優點體現在實施局部分析、隨機時間或空間域中分析上。盡管短時傅里葉變換也可對輸出信號頻帶劃分,但其方式為等間隔線性劃分,而且是二進制變化。因此,高頻帶中的頻率分辨率和低頻段的時間分辨率相對較差。
根據前文所述算法,對小波分析完的原始數據進行PCA特征提取,得到對應的特征向量。根據提取得到的樣本數據,繪制二次特征模式分布圖,如圖4所示。

圖4 二次特征模式分布圖
正常運行狀態與各類故障運行狀態下的特征數據,共計24組。此數據集有4組為測試組,故障數目分配如表1所示。

表1 故障數目分配表
將數據構建成一個矩陣,每個數據點占據其中一行。為建立LS_SVM需要兩個額外的參數,即正則化參數(gam)和平方帶寬(sig2)。gam決定了擬合誤差最小化和平滑度之間的權衡[10];sig2為帶寬。
根據圖4反映的運行狀態特征,設計如圖5所示的分類流程。

圖5 分類流程圖
第一級分類器:以漂移故障作為被分離故障與各類運行狀態進行分類,共100組。
第二級分類器:以偏差故障作為被分離對象與剩余運行狀態進行分類,共80組。
第三級分類器:以突變故障作為被分離故障與周期故障和正常運行狀態進行分類,共60組。
第四級分類器:以周期故障與正常運行狀態進行分類,共40組。
通過四級LS_SVM分類器后,獲得傳感器信號經過小波包分解,PCA特征提取的數據中所隱含的特殊分類標準。
對傳感器的其他運行狀態,共選取了4×5組測試樣本,進行分類器的推廣能力測試。首先進行學習過的樣本測試,觀察分類器的測試準確率,并對選取的測試樣本集測試。振動傳感器故障診斷分類器的測試步驟如下:①歸一化處理傳感器信號;②小波包分解為5×1 000的原始特征數據矩陣;③經過PCA算法后,得到2維特征向量;④對該2維特征向量進行LS_SVM多分類,并得到診斷結果[11]。
原始數據加仿真數據共24組。對其進行結果診斷,診斷結果如表2所示。

表2 診斷結果
LS_SVM是適宜智能故障診斷的分類方法之一。應用LS_SVM的原理對振動傳感器的運行狀態進行診斷,較好地解決了小樣本、非線性和高維數據識別的實際問題。本文在采用小波包分解提取信號的特征基礎上,結合了PCA進行主特征二次提取,增強了振動傳感器各工作狀態的可分性,使得LS_SVM分類器能更加快速、簡便地分類。振動傳感器在直接原始特征上的分類,經過PCA二次提取特征后的準確率得到提高,具有良好的泛化性能。