夏日,白雪
(安徽財(cái)經(jīng)大學(xué)管理科學(xué)與工程學(xué)院,安徽 蚌埠233000)
Clementine作為一個(gè)數(shù)據(jù)挖掘軟件,給運(yùn)營商創(chuàng)造了很好的數(shù)據(jù)處理應(yīng)用平臺,在此平臺下,運(yùn)營商可以有效使用一些商業(yè)技術(shù)準(zhǔn)確、快捷地建立預(yù)測模型,并將此預(yù)測模型應(yīng)用于商業(yè)領(lǐng)域?,F(xiàn)代化工業(yè)系統(tǒng)結(jié)構(gòu)復(fù)雜、集成度高,對設(shè)備的安全性、可靠性提出了更高要求。隨著計(jì)算機(jī)的迅猛發(fā)展和信息化的深入,計(jì)算機(jī)在運(yùn)行過程中將產(chǎn)生大量數(shù)據(jù),而這些數(shù)據(jù)為基于數(shù)據(jù)的狀態(tài)監(jiān)測提供了良好平臺。計(jì)算機(jī)已經(jīng)成為人們交際、辦公和學(xué)習(xí)不可缺少的日用工具,因而計(jì)算機(jī)的狀態(tài)監(jiān)測和故障預(yù)測變得越來越重要,可提高企業(yè)的工作效率和經(jīng)濟(jì)效益,也可以減少網(wǎng)絡(luò)因故障而造成的經(jīng)濟(jì)損失。
近年來,一些學(xué)者對計(jì)算機(jī)狀態(tài)監(jiān)測作了相關(guān)研究。張國斌等[1]介紹了一個(gè)計(jì)算機(jī)狀態(tài)監(jiān)測與故障診斷系統(tǒng)的組成及其功能。該數(shù)據(jù)由機(jī)組數(shù)據(jù)采集器、數(shù)據(jù)分析處理工作站、通信網(wǎng)絡(luò)及故障診斷中心等4大部分組成。曹源[2]基于隱馬爾科夫模型(Hidden Markov Model,HMM)提出了狀態(tài)監(jiān)測和故障診斷的原理與基本流程。通過觀測數(shù)據(jù)的提取與降維、正常態(tài)模型訓(xùn)練與改進(jìn)、故障態(tài)模型訓(xùn)練等一系列措施,實(shí)現(xiàn)了兩模冗余安全計(jì)算機(jī)的狀態(tài)監(jiān)測,對正常態(tài)與時(shí)鐘偏離1%~10%等7種不同條件進(jìn)行監(jiān)測,認(rèn)為監(jiān)測方法能夠有效實(shí)現(xiàn)安全計(jì)算機(jī)健康狀態(tài)的檢測,為鐵道信號安全計(jì)算機(jī)監(jiān)測技術(shù)提供理論支撐。孫海善等[3]用Delphi語言訪問電腦主板的LPC(Low Pin Count)超級IO接口,獲取基于W83627主板計(jì)算機(jī)的環(huán)境參數(shù),通過計(jì)算顯示計(jì)算機(jī)各路工作電壓、CPU溫度和風(fēng)扇轉(zhuǎn)速、主板溫度,以及系統(tǒng)風(fēng)扇轉(zhuǎn)速等數(shù)據(jù),實(shí)現(xiàn)計(jì)算機(jī)狀態(tài)的監(jiān)測。但目前還缺乏神經(jīng)網(wǎng)絡(luò)模型與C5.0模型的性能對比研究。為此,筆者基于Clementine軟件和計(jì)算機(jī)運(yùn)行數(shù)據(jù)對比了神經(jīng)網(wǎng)絡(luò)模型與C5.0模型的性能。這些數(shù)據(jù)包括正常狀態(tài)對應(yīng)的數(shù)據(jù)和故障狀態(tài)對應(yīng)的數(shù)據(jù),將這些數(shù)據(jù)分為2組,一組數(shù)據(jù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)和規(guī)則集,另一組數(shù)據(jù)用于測試經(jīng)過訓(xùn)練的模型,由此檢測模型的可行性。
神經(jīng)網(wǎng)絡(luò)(Neural Networks)起源于人們對生物神經(jīng)元的研究,可以分為生物神經(jīng)網(wǎng)絡(luò)(Biological Neural Networks)和人工神經(jīng)網(wǎng)絡(luò)(Artificial NeuralNetworks,簡寫為ANNs)[4]。神經(jīng)網(wǎng)絡(luò)是模擬人類實(shí)際的神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)在系統(tǒng)識別、模式識別和智能控制等領(lǐng)域有著廣泛的應(yīng)用前景,特別在智能控制中,隨著智慧城市滲透到人們生活的各個(gè)方面,因而智能控制的應(yīng)用特別廣泛。
神經(jīng)網(wǎng)絡(luò)有很強(qiáng)的非線性擬合能力,可映射任意復(fù)雜的非線性關(guān)系,而且學(xué)習(xí)規(guī)則簡單,便于計(jì)算機(jī)實(shí)現(xiàn)。神經(jīng)網(wǎng)絡(luò)以分布式表示信息,任何規(guī)則都可以變換成數(shù)的形式,從而便于知識的組織與管理,具有很強(qiáng)的魯棒性、記憶能力、非線性映射能力以及強(qiáng)大的自學(xué)習(xí)能力,在一定程度上模擬專家憑直覺解決不確定性問題的過程,如模糊因果關(guān)系等,因此有很大的應(yīng)用市場。
近年來神經(jīng)網(wǎng)絡(luò)的研究發(fā)展迅速,人工神經(jīng)網(wǎng)絡(luò)以其諸多的優(yōu)點(diǎn)越來越多地運(yùn)用于設(shè)備狀態(tài)監(jiān)測和故障診斷中。基于神經(jīng)網(wǎng)絡(luò)的故障診斷問題可以看成模式識別,通過對一系列的數(shù)據(jù)進(jìn)行測量來完成。
人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于設(shè)備的狀態(tài)監(jiān)測和故障診斷有3個(gè)理由[5]:訓(xùn)練過的神經(jīng)網(wǎng)絡(luò)能夠存儲有關(guān)過程的知識,能直接從定量、歷史的故障信息中學(xué)習(xí);人工神經(jīng)網(wǎng)絡(luò)具有濾除噪音及在有噪聲情況下得出正確結(jié)論的能力,可以訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)來識別故障信息,使其能在噪聲環(huán)境中進(jìn)行有效工作;人工神經(jīng)網(wǎng)絡(luò)具有分辨故障原因及故障類型的能力。
應(yīng)用SPSS公司的商業(yè)智能分析軟件Clementine來分別構(gòu)建神經(jīng)網(wǎng)絡(luò)模型和C5.0決策樹模型。
現(xiàn)代化的工業(yè)結(jié)構(gòu)復(fù)雜、集成度高,因而對設(shè)備的安全性和可靠性也提出了更高要求,隨著計(jì)算機(jī)檢測技術(shù)的進(jìn)步,計(jì)算機(jī)在運(yùn)行過程將產(chǎn)生大量數(shù)據(jù),通過這些數(shù)據(jù)來建立模型,為基于數(shù)據(jù)的計(jì)算機(jī)狀態(tài)監(jiān)測提供良好的平臺,由此監(jiān)測計(jì)算機(jī)的狀態(tài),從而減少因計(jì)算機(jī)運(yùn)行狀況不良所導(dǎo)致的損失。因此對計(jì)算機(jī)的狀態(tài)信息進(jìn)行檢測以及識別和預(yù)測故障顯得越來越重要。計(jì)算機(jī)正常運(yùn)行狀態(tài)會產(chǎn)生大量信息數(shù)據(jù),可以運(yùn)用SPSS公司的商業(yè)智能軟件Clementine對數(shù)據(jù)進(jìn)行選擇、清理和重構(gòu),對計(jì)算機(jī)所產(chǎn)生的時(shí)間序列數(shù)據(jù)進(jìn)行訓(xùn)練,生成相應(yīng)的神經(jīng)網(wǎng)絡(luò)模型節(jié)點(diǎn)和C5.0規(guī)則集模型節(jié)點(diǎn)。再利用數(shù)據(jù)來檢測這個(gè)模型,若是模型檢測成功,則可以運(yùn)用該模型監(jiān)測未來的計(jì)算機(jī)的狀態(tài),從而避免或減少計(jì)算機(jī)所產(chǎn)生的故障。
檢查數(shù)據(jù)用于確定哪些屬性可能與相關(guān)狀態(tài)的預(yù)測或識別有關(guān)。筆者采集了2組數(shù)據(jù),這些數(shù)據(jù)是在計(jì)算機(jī)運(yùn)行過程中所產(chǎn)生的正常記錄數(shù)據(jù)和故障記錄數(shù)據(jù),一組數(shù)據(jù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)和規(guī)則集,一組數(shù)據(jù)用于測試經(jīng)過訓(xùn)練的模型,由此檢測模型的可行性。這些記錄包括時(shí)間、功率、溫度、壓力、正常工作時(shí)間、狀態(tài)、結(jié)果(數(shù)據(jù)結(jié)果為0時(shí)是計(jì)算機(jī)正常的運(yùn)行記錄,數(shù)據(jù)結(jié)果為101 202 303時(shí)為非正常的運(yùn)行記錄)。第一部分就是在Clementine軟件中從Var.File節(jié)點(diǎn)讀取數(shù)據(jù)文件,并運(yùn)用Selete節(jié)點(diǎn)將輸出的結(jié)果設(shè)為101 202 303,并在每一種錯(cuò)誤結(jié)果下應(yīng)用Plot節(jié)點(diǎn)表示出時(shí)間與功率、時(shí)間與溫度的二維關(guān)系。通過對數(shù)據(jù)的分析可知,溫度和功率是影響結(jié)果的主要因素,利用溫度和功率下面的流可繪制與單獨(dú)圖形中的3個(gè)不同錯(cuò)誤代碼相關(guān)聯(lián)的時(shí)間序列,下面是不同錯(cuò)誤代碼的溫度和功率的曲線圖,如圖1所示。
圖1清楚地顯示202錯(cuò)誤與101錯(cuò)誤和303錯(cuò)誤區(qū)分開來的特性曲線。202錯(cuò)誤顯示了隨著時(shí)間的推移溫度不斷上升且功率發(fā)生波動。而其他2個(gè)錯(cuò)誤則未顯示,但是用于區(qū)分101和303錯(cuò)誤的特性曲線卻不是很清晰,這2個(gè)錯(cuò)誤都顯示了平滑的溫度曲線和功率的下降,但303錯(cuò)誤的功率下降顯得更加急劇一些。從而可以得出溫度和功率的變化和變化率以及波動存在和波動程度,都與預(yù)測和區(qū)別故障有關(guān)。因此應(yīng)將這些屬性添加到數(shù)據(jù),然后再應(yīng)用于學(xué)習(xí)系統(tǒng)。
1)選擇數(shù)據(jù)。數(shù)據(jù)是通過虛擬構(gòu)建的時(shí)間序列數(shù)據(jù),影響計(jì)算機(jī)狀態(tài)監(jiān)測的變量有時(shí)間、功率、溫度、壓力(0表示正常,1表示瞬時(shí)壓力報(bào)警)、正常工作時(shí)間(上次運(yùn)行時(shí)間)、狀態(tài)(其中0表示正常情況,發(fā)生錯(cuò)誤時(shí)代碼為101、202和303)、結(jié)果。然后將這些數(shù)據(jù)導(dǎo)入到具有強(qiáng)大數(shù)據(jù)統(tǒng)計(jì)分析的SPSS數(shù)據(jù)文件1中,作為數(shù)據(jù)挖掘的數(shù)據(jù)源。
圖1 Clementine不同錯(cuò)誤代碼的溫度和功率的曲線圖
2)數(shù)據(jù)重構(gòu)。在流中使用大量的導(dǎo)出節(jié)點(diǎn),生成新的變量溫度瞬時(shí)變化率、功率瞬時(shí)變化率、功率變化情況的標(biāo)志(如果上一個(gè)記錄和本記錄中功率按相反的方向變化即功率的峰值或波谷值,則此值為真)、功率的狀態(tài)(起始為穩(wěn)定,當(dāng)檢測到2個(gè)連續(xù)的功率波動時(shí),切換為波動狀態(tài)。僅當(dāng)5個(gè)時(shí)間區(qū)間內(nèi)沒有出現(xiàn)功率波動或重置時(shí)間時(shí),切換為穩(wěn)定狀態(tài)。)、最近5個(gè)時(shí)間區(qū)的溫度瞬時(shí)變化率的平均值、最近5個(gè)時(shí)間區(qū)的功率瞬時(shí)變化率的平均值等。并丟棄每個(gè)時(shí)間序列的第一個(gè)記錄,以避免在功率和溫度的邊界處出現(xiàn)大的或者不正確的跳躍。且過濾掉字段,只保留正常工作時(shí)間、狀態(tài)、結(jié)果、壓力報(bào)警、功率的狀態(tài)、最近5個(gè)時(shí)間區(qū)的溫度瞬時(shí)變化率的平均值、最近5個(gè)時(shí)間區(qū)的功率瞬時(shí)變化率的平均值等字段。
3)格式化數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)換是應(yīng)用簡單的數(shù)學(xué)公式或?qū)W習(xí)曲線變換度量方法,將數(shù)據(jù)轉(zhuǎn)換到統(tǒng)一的度量范圍內(nèi),達(dá)到數(shù)據(jù)分析的目的。筆者運(yùn)用神經(jīng)網(wǎng)絡(luò)和C5.0算法來構(gòu)建模型,因此數(shù)據(jù)處理應(yīng)該適應(yīng)這2種算法的數(shù)據(jù)類型。數(shù)據(jù)準(zhǔn)備的過程如圖2所示。
對數(shù)據(jù)文件1中的數(shù)據(jù)進(jìn)行C5.0規(guī)則和神經(jīng)網(wǎng)絡(luò)訓(xùn)練。所謂神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是指通過一定的算法調(diào)整網(wǎng)絡(luò)的結(jié)構(gòu)(主要是調(diào)節(jié)權(quán)值),使網(wǎng)絡(luò)的輸出與預(yù)期值相符,這樣的過程就是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程。訓(xùn)練網(wǎng)絡(luò)需要一段時(shí)間,但可以早些中斷訓(xùn)練以保存生產(chǎn)合理結(jié)果的網(wǎng)絡(luò),學(xué)習(xí)完成后則生成2個(gè)節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)表示神經(jīng)網(wǎng)絡(luò),另一個(gè)節(jié)點(diǎn)表示規(guī)則,如圖3所示。
圖2 數(shù)據(jù)準(zhǔn)備
圖3 模型
使用獨(dú)立測試數(shù)據(jù)測試經(jīng)過訓(xùn)練的系統(tǒng)。將數(shù)據(jù)文件1生成的模型節(jié)點(diǎn)添加到現(xiàn)有的流后,插入類型節(jié)點(diǎn)并將其連接到生成的神經(jīng)網(wǎng)絡(luò),再將網(wǎng)絡(luò)連接到生成的規(guī)則,然后將規(guī)則連接到一個(gè)新的分析節(jié)點(diǎn),最后編輯原始源節(jié)點(diǎn)讀取數(shù)據(jù)文件2文件,如圖4所示。
執(zhí)行上面的分析節(jié)點(diǎn)將生成可反映經(jīng)過訓(xùn)練的網(wǎng)絡(luò)和規(guī)則的準(zhǔn)確性的圖標(biāo),如圖5所示。神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果與實(shí)際的結(jié)果相比較正確率是99.64%,而C5.0算法的預(yù)測結(jié)果與實(shí)際的結(jié)果相比較正確率為99.68%,因而神經(jīng)網(wǎng)絡(luò)算法和C5.0算法的預(yù)測結(jié)果的準(zhǔn)確度都比較高。神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果與C5.0決策樹的預(yù)測結(jié)果相比較,兩者一致性為99.81%,總體與實(shí)際結(jié)果的一致性為99.78%,所以C5.0算法預(yù)測結(jié)果的準(zhǔn)確性要比神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果的準(zhǔn)確性高。
從C5.0規(guī)則集模型中可知,主要影響計(jì)算機(jī)狀態(tài)監(jiān)測的變量有溫度變化率平均值、功率變化率平均值、功率變化狀態(tài)3個(gè)變量:當(dāng)功率瞬時(shí)變化率的平均值大于-0.2,功率的波動狀態(tài)為穩(wěn)定狀態(tài)且溫度瞬時(shí)變化率的平均值不大于0時(shí),計(jì)算機(jī)的狀態(tài)為正常情況;當(dāng)功率瞬時(shí)變化率的平均值不大于-0.2,功率的波動狀態(tài)為穩(wěn)定狀態(tài)且溫度瞬時(shí)變化率的平均值不大于0時(shí),計(jì)算機(jī)的狀態(tài)為101錯(cuò)誤;當(dāng)功率的波動狀態(tài)為不穩(wěn)定狀態(tài)時(shí),計(jì)算機(jī)的狀態(tài)為202錯(cuò)誤;當(dāng)功率瞬時(shí)變化率的平均值不大于-0.2且正常工作時(shí)間大于284時(shí),計(jì)算機(jī)的狀態(tài)為303錯(cuò)誤。
圖4 測試
圖5 測試結(jié)果
采用神經(jīng)網(wǎng)絡(luò)算法和C5.O算法分別建立相應(yīng)的神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)模型和C5.0規(guī)則集節(jié)點(diǎn)模型來檢測計(jì)算機(jī)狀態(tài)及識別和預(yù)測計(jì)算機(jī)的故障,具體而言是識別和預(yù)測哪些變量的變化能夠引起計(jì)算機(jī)的哪些錯(cuò)誤狀態(tài)。測試結(jié)果表明了神經(jīng)網(wǎng)絡(luò)算法和C5.0算法預(yù)測結(jié)果的準(zhǔn)確性、易用性和優(yōu)越性。C5.0算法與神經(jīng)網(wǎng)絡(luò)算法相比,其結(jié)果更容易解釋,且可以自動刪除無意義的輸入字段,其主要是根據(jù)結(jié)構(gòu)變量值對數(shù)據(jù)按輸入進(jìn)行細(xì)分,具有決策樹和規(guī)則集2種結(jié)果形式。通過以上模型的建立,得到了一個(gè)效率較高的識別和預(yù)測故障的規(guī)則,可以幫助計(jì)算機(jī)的使用者提高使用效率,避免因故障而造成的精神和經(jīng)濟(jì)等方面的損失。
[1]張國斌,王平.計(jì)算機(jī)狀態(tài)監(jiān)測與故障診斷系統(tǒng) [J].機(jī)械與電子,1996(5):6~8.
[2]曹源,馬連川,李旺.鐵道信號系統(tǒng)安全計(jì)算機(jī)狀態(tài)監(jiān)測方法 [J].交通運(yùn)輸工程學(xué)報(bào),2013,13(3):13~19.
[3]孫海善,黃曉燕.Delphi實(shí)現(xiàn)基于W83627的計(jì)算機(jī)狀態(tài)監(jiān)測 [J].電腦編程技巧與維護(hù),2014(13):89~92.
[4]Jiawei Han,Kamber M.數(shù)據(jù)挖掘概念與技術(shù) [M].范明,孟曉峰,譯.北京:機(jī)械工業(yè)出版社,2008:189~195.
[5]霍志紅,張志學(xué),郭江,等.基于神經(jīng)網(wǎng)絡(luò)的故障診斷研究 [J].工業(yè)控制計(jì)算機(jī),2001,14(10):19~21.