張祎
摘要:基于數(shù)據(jù)驅(qū)動的故障預測通過對故障特征的歷史數(shù)據(jù)進行建模,對新的數(shù)據(jù)進行分類,達到故障識別的目的。由于故障數(shù)據(jù)的樣本空間小,而故障特征的維度非常高,故障預測的建模呈現(xiàn)高維度建模困難的特點。針對這些問題,本文利用主成分分析結合最小二乘支持向量機對故障數(shù)據(jù)進行建模,并構建故障預測的分類模型。首先利用主成分分析方法對高維的故障特征數(shù)據(jù)進行降維處理,保留故障信息貢獻較大的特征(維度),再利用最小二乘支持向量機對降維的樣本故障數(shù)據(jù)進行分類訓練,構造故障的分類模型。在不同特征的故障數(shù)據(jù)集上的測試表明,基于主成分分析故障預測預處理結合最小二乘支持向量機可以更為準確地對故障進行預測,且模型的構建時間較少。
關鍵詞: 支持向量機;故障預測;主成分分析;降維
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2015)11-0238-04
Research and Application of PCA and LS-SVM Based Fault Prediction
ZHANG Yi
(Yaan Vocational College , Ya an 625000,China)
Abstract:Fault prediction is a model analysis technology through fault features. To deal with fault sample insufficiency and high dimension fault features, a fault prediction model based on principal component analysis(PCA) and least square support vector machine (LS-SVM) is proposed. PCA is used to project high dimension data onto a lower dimension feature space so that LS-SVM can be utilized to model the fault data space and efficiently classify the fault data. Experimental tests on most popular fault prediction benchmark datasets show that the proposed method can reduce fault prediction training time and is efficient and effective to predict faults.
Key words: support vector machine; fault prediction; pPrincipal component analysis; dimension reduction
隨著基于信息技術的工業(yè)化的快速發(fā)展,工業(yè)過程系統(tǒng)變得越來越復雜,導致系統(tǒng)維護成本越來越高。由于日益增加的復雜性,工業(yè)系統(tǒng)發(fā)生發(fā)生系統(tǒng)故障及節(jié)點功能失效的風險也越發(fā)增大。因此,復雜系統(tǒng)的故障預測成為系統(tǒng)保障和系統(tǒng)伸縮性的重要指標。通過故障特征數(shù)據(jù)對故障進行建模是故障預測中最為常用的模型之一[1,2,3,4],該類方法不需要所處理系統(tǒng)的準確數(shù)學模型,一般通過采樣到的故障特征數(shù)據(jù),結合統(tǒng)計數(shù)據(jù)分析方法挖掘樣本數(shù)據(jù)中的隱含信息,進而建立故障的預測模型,是一種非常實用的故障預測方法。
在一些較為復雜的工業(yè)系統(tǒng)中,可以通過傳感器采集到相應的監(jiān)控數(shù)據(jù),但是直接對這些樣本數(shù)據(jù)建立準確的故障預測模型往往是困難的,有的時候甚至是不可能的。但是,通過一些預處理方法,對這些數(shù)據(jù)進行變換,還是可以實現(xiàn)對這些復雜系統(tǒng)建立故障預測模型。這類方法就是基于數(shù)據(jù)驅(qū)動的統(tǒng)計建模方法,可以分為如下幾類:人工神經(jīng)網(wǎng)(artificial neural networks,ANN) [5]、支持向量機(SVM)[6]、模糊系統(tǒng)(fuzzy systems)[7]和其他智能計算方法。在文獻[8]中,研究人員使用隱馬爾可夫模型構建機械故障預測模型。在文獻[9]中,研究者們對神經(jīng)網(wǎng)絡、決策樹(decision trees)及支持向量機在幾種不同系統(tǒng)的故障空間中進行了對比分析。而Skormin等則使用數(shù)據(jù)挖掘方法對故障進行建模,通過將故障投影到環(huán)境變量空間,建立故障設備與環(huán)境變量之間的關系,實現(xiàn)對未知故障的預測[10]。
主成分分析法[11](Principal Component Analysis,PCA)是一種基于統(tǒng)計的降維方法,降維使得原數(shù)據(jù)的主要信息集中在幾個主要的特征之上。在基于分類的故障預測建模中,通過特征選擇壓縮樣本數(shù)據(jù)的特征數(shù)目,以減少支持向量機在故障數(shù)據(jù)集上的訓練時間。
支持向量機是一種統(tǒng)計學習[6]的建模方法。通過經(jīng)驗風險和置信區(qū)間的最小化之間的平衡,支持向量機可以保持較好的統(tǒng)計特性。實際上,支持向量機的求解是一個典型的凸優(yōu)化問題,該優(yōu)化問題找到的是全局最優(yōu)解。與最為常用的數(shù)據(jù)分析方法神經(jīng)網(wǎng)絡相比,支持向量機無局部極小值,無維數(shù)災難且算法的推廣能力強。
支持向量機在求解凸優(yōu)化問題時,由于訓練樣本數(shù)據(jù)的特征個數(shù)(維數(shù))等于訓練樣本的個數(shù),因此算法的復雜度很高,為
論文組織如下,第一部分介紹論文用到的數(shù)學模型——主成分分析方法及最小二乘支持向量機。第二部分介紹基于主成分分析的數(shù)據(jù)降維過程和基于支持向量機的故障分類算法建模。在本文第三部分,通過實驗測試分析,對算法在基準數(shù)據(jù)集上進行測試。第四部分對論文進行了總結。
1 相關數(shù)學模型介紹
1.1 主成分分析
主成分分析[11]是一種基于統(tǒng)計計算的數(shù)據(jù)降維技術。主成分分析通過變換提取出特征空間中的部分主要特征取代原樣本的特征,同時要求所提取的主要特征能反映原始樣本數(shù)據(jù)的絕大部分信息,而且特征之間相互獨立。
主成分分析的原理如下:假設故障數(shù)據(jù)具有n個維度的特征
樣本數(shù)據(jù)主成分的貢獻率是指某個特征反映的信息與總數(shù)據(jù)信息的比值,而第一主成分對樣本數(shù)據(jù)的信息貢獻率最大,表明它所含的信息量最強。實際應用中往往取前p個主成分來近似原始數(shù)據(jù),因為一般情況下,前p個主成分已經(jīng)能夠反映原始數(shù)據(jù)的大部分信息,即用
由于故障預測過程中采樣數(shù)據(jù)的特征非常多(即數(shù)據(jù)維度很大),一些指標的作用并不是顯著決定一類故障,通過PCA對樣本數(shù)據(jù)進行降維預處理,可以減少最小二乘支持向量機的計算量,加快算法的收斂速度。
1.2支持向量機
支持向量機的核心思想如下:給定一個故障數(shù)據(jù)的樣本集
[f(x)=sgn(ωTΨ(x)+b)] (2)
(2)中的參數(shù)[ω]和b可以通過求解公式(3)對應的最優(yōu)化問題得到:
[min 12ω2+Ci=1nξi]
[s.t. yif(xi)≥1-ξi],[ξi≥0,i=1,...,n] (3)
其中[ξi≥0,i=1,...,n]為松弛變量。
對公式(3)引入拉格朗日算子進行求解,則支持向量機的優(yōu)化問題轉(zhuǎn)換為如下的二次優(yōu)化問題:
[max W(a)=-12i,j=1naiyiyjK(xi,xj)aj+i=1nais.t. i=1naiyi=00≤ai≤c, i=1,2,...,n] (4)
公式(4)是一個具有不等式約束條件的凸二次優(yōu)化問題,給模型具有唯一解。
1.3 最小二乘支持向量機
支持向量機在小樣本空間上具有很好的學習能力和泛化能力,但當樣本空間較大時,二次優(yōu)化的求解成為SVM訓練算法的瓶頸。Suykens[12]等提出了最小二乘支持向量機解決經(jīng)典支持向量機的訓練瓶頸問題,即最小二乘支持向量機是經(jīng)典支持向量機模型的一種改進。最小二乘支持向量機將公式(4)中的不等式約束轉(zhuǎn)換為等式約束,同時引入誤差平方和損失函數(shù)度量在訓練集上損失。這些改進將原來的二次規(guī)劃問題轉(zhuǎn)換成了一個求解線性方程組的問題,可以提供問題求解的速度和收斂速度。最小二乘支持向量機的數(shù)學模型如下:
[Min J(w,ξ)=12w2+12γi=1nξi2] (5)
[s.t. yi[wTΨ(xi)+b]=1-ξi,i=1,...,n0≤ai≤c, i=1,2,...,n] (6)
其中,[γ]類似于經(jīng)典SVM模型中的參數(shù)C,用于對模型的損失進行調(diào)控。在上面的模型中引入拉格朗日函數(shù),轉(zhuǎn)換為如下:
[L(w,b,ξ,α)=J(w,ξ)-i=1nαi{yi[wTΨ(xi)+b]-1+ξi}] (7)
其中[αi]為拉格朗日乘子,對公式(7)中的變量分別求偏導,并令為0,得到如下的公式:
[?L(w,b,ξ,α)?w=0, w=i=1NαiyiΨ(xi)], (8)
[?L(w,b,ξ,α)?b=0, i=1Nαiyi=0] (9)
[?L(w,b,ξ,α)?ξ=0, αi=γξi] (10)
[?L(w,b,ξ,α)?αi=0, yi[wTΨ(xi)+b]-1+ξi=0] (11)
上述(8)-(11)通常轉(zhuǎn)換為一個線性系統(tǒng)進行求解,在高維的空間中可以通過核函數(shù)的引入簡化內(nèi)積的運算,常用的核函數(shù)有:
(1)多頊式核函數(shù)
[K(x,xi)=[(x?xi)+1]q] (12)
其中q是多項式的階次。
(2)徑向基函數(shù)(RBF)
[K(x,xi)=exp{-|x-xi|2σ2}] (13)
(3)Sigmoid核函數(shù)
[K(x,xi)=tanh[v(x?xi)+c]][] (14)
可以看到,對LS-SVM的求解轉(zhuǎn)換為了一個關于線性方程組的求解,因此計算過程得到了大大的簡化。求解LS-SVM后得到的分類判決函數(shù)是:
[f(x)=sgn[i=1nαiyiΨ(x,xi)+b]] (15)
2 故障預測算法及分析
基于PCA和LS-SVM的故障預測算法步驟如下:
Step 1. 對原始數(shù)據(jù)X,通過PCA的變換操作,提取主成分,得到降維后的數(shù)據(jù)X';此步驟中需要根據(jù)具體問題設置主要特征的個數(shù)。
Step 2. 在數(shù)據(jù)X'上訓練LS-SVM,得到訓練數(shù)據(jù)集上的支持向量機決策函數(shù);此步驟中需要設置支持向量機的核函數(shù),懲罰因子等參數(shù);
Step 3. 對新的故障數(shù)據(jù),在得到的決策函數(shù)中進行運算,得到故障數(shù)據(jù)對應的類別標簽,如果故障預測的錯誤率在容忍的區(qū)間之外,則重新調(diào)整支出向量機的訓練參數(shù)和過程。
Step 4. 重復上述過程,直到對故障數(shù)據(jù)的判決準確率達到一定的閾值。
由于支持向量機的核函數(shù)選擇對算法的訓練影響較大,本文選取了最為常用的核函數(shù)——RBF核函數(shù)。RBF核函數(shù)的兩個參數(shù)
3 實驗分析
為了驗證基于PCA和LS-SVM故障預測模型的準確率,本文與常用的故障預測模型神經(jīng)網(wǎng)絡進行了對比實驗。相關實驗環(huán)境和參數(shù)設置如下所述。
圖1 NN和PCA+LS-SVM在不同的噪聲率下的故障預測準確率對比
論文使用的是支持向量機為開源軟件LIBSVM[13],算法停機參數(shù)值
圖1顯示了不同噪聲對故障檢測的影響,可以看到不同的噪聲對故障預測準確率影響較大。當故障數(shù)據(jù)中沒有噪聲時,算法都能準確對故障進行分類,隨著故障比例的增加,兩種方法的故障預測準確率都有所下降,但我們可以看到,基于PCA+LS-SVM的方法下降的速度較慢,具有較好的適應性。
在第二個實驗中,我們測試了不同的數(shù)據(jù)驅(qū)動故障預測算法的訓練時間和數(shù)據(jù)集的關系,對比測試結果如圖2所示。
圖2 NN和PCA+LS-SVM在不同的數(shù)據(jù)集上的訓練時間對比
從第二個實驗可以看出,PCA+LS-SVM由于進行了早期的主成分提取,訓練時間比NN減少很多,隨著數(shù)據(jù)集的增大,這種優(yōu)勢將會越來越大。[1]
4 結束語
本文使用基于主成分分析和最小二乘支持向量機對故障進行建模分析。通過主成分分析方法對故障數(shù)據(jù)進行預處理,提取出主要的故障特征,降低了故障數(shù)據(jù)的維度,同時為對支持向量機的訓練計算提供了信息緊致的數(shù)據(jù)。在故障數(shù)據(jù)分類處理方面,采用了最小二乘支持向量機作為訓練和判別模型,可以減少故障預測的訓練時間并提高故障的識別精度。在模擬數(shù)據(jù)集上與常用的故障預測算法神經(jīng)網(wǎng)絡進行了對比,從預測精度和訓練時間指標可以看出,本文的算法具有精度高,訓練時間短的優(yōu)勢。但由于支持向量機的參數(shù)選擇依賴較多的專業(yè)知識,算法的穩(wěn)定性受到一定的影響。算法在更大規(guī)模數(shù)據(jù)集上的測試和優(yōu)化將作為下一步的研究工作。
參考文獻:
[1] Lee Jay, Wu Fangji, Zhao Wenyu. Prognostics and health management design for rotary machinery systems—Reviews, methodology and applications[J]. Mechanical Systems and Signal Processing. 2014, 42(1): 314-334.
[2] Bai Guangxing, Wang Pingfeng, Hu Chao. A self-cognizant dynamic system approach for prognostics and health management[J]. Journal of Power Sources , 2015, 278: 163-174.
[3] Michael G. P. Prognostics and health management of electronics[M]. John Wiley & Sons. Inc., Hoboken, New Jersey, 2008: 3-20.
[4] Hess A. C., Fright G. P. Challenges, issues, and lessons learned chasing the “Big P”. Real predictive prognostics. Part1[C]. 2005 IEEE Aerospace Conference, Big Sky, Montana, USA, 2005: 3610-3619.
[5] Zhang S, Ganesan R. Multivariable trend analysis using neural networks for intelligent diagnostics of rotating machinery[J]. Transactions of the ASME, Journal of Engineering for Gas Turbines and Power, 1997, 119(2): 378-384.
[6] Vapnik V. The nature of statistical learning theory[M]. New York : Springer Press , 1995.
[7] Yan Ruqiang, Gao Robert X., Chen Xuefeng. Wavelets for fault diagnosis of rotary machines: A review with applications[J]. Signal Processing, 2014, 96: 1-15.
[8] Wang Wilson Q., Golnaraghi M.Farid, Ismail Fathy. Prognosis of machine health condition using neuro-fuzzy systems[J]. Mechanical Systems and Signal Processing, 2004,18: 813-831.
[9] Qiu H., Liao H. T., Lee J. Degradation assessment for machinery prognostics using hidden Markov models[C]. in Proceedings of the ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, Hyatt Regency, California, USA, 2005: 531 - 537.
[10] Goebe K, Bhaskar S, Abhinav S. A comparison of three data-driven techniques for prognostics[C]. 62nd Meeting of the Society For Machinery Failure Prevention Technology (MFPT), Virginia Beach, VA, USA, 2008, 191-131.
[11] 張小確, 高枝榮, 夏云貴. 主成分分析及其在各儀器分析中的應用[J].河北工業(yè)科技, 2007,6(24): 345-349.
[12] Suykens, J. A. K., Lukas Lukas, Paul Van Dooren, et al. Least squares support vector machine classifiers: a large scale algorithm[C]. in Proc. of the European Conference on Circuit Theory and Design, 1999: 839-842.
[13] Chang Chih-Chung, Lin Chih-Jen. LIBSVM: A library for support vector machines[J]. ACM Transactions on Intelligent Systems and Technology, 2011, 2(3): 1- 27 .