杜佳新,馬利民
(北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100192)
船用柴油機(jī)燃油噴射系統(tǒng)的主要功能是為柴油機(jī)定時(shí)、定量地噴射霧化好的燃油,為燃油燃燒做功提供保障。燃油噴射系統(tǒng)的運(yùn)行情況直接影響著柴油機(jī)的性能,一旦發(fā)生故障,將直接導(dǎo)致柴油機(jī)工作異常,對(duì)船舶設(shè)備及人員的安全帶來(lái)威脅[1]。由于燃油噴射系統(tǒng)在運(yùn)行過(guò)程中,一直處于惡劣的環(huán)境,溫度高、壓力大,噴頭更是直接處在高溫、高壓的燃?xì)鈨?nèi),噴射過(guò)程中高壓的燃油還會(huì)不停地沖刷噴孔的內(nèi)壁,致使故障時(shí)有發(fā)生。燃油噴射系統(tǒng)故障是柴油機(jī)故障診斷中的一個(gè)重要研究?jī)?nèi)容[2]。燃油噴射系統(tǒng)的常見(jiàn)故障[3]有噴油正時(shí)提前、噴油正時(shí)延后、噴油孔堵塞、噴油孔磨損。
數(shù)據(jù)挖掘技術(shù)是通過(guò)對(duì)設(shè)備數(shù)據(jù)進(jìn)行轉(zhuǎn)換、提取、分析等方式,為決策者提供易于理解、實(shí)用性強(qiáng)的規(guī)則或知識(shí)[4]。本文利用數(shù)據(jù)挖掘技術(shù),實(shí)現(xiàn)船用柴油機(jī)燃油噴射系統(tǒng)數(shù)據(jù)的分析。
數(shù)據(jù)可視化技術(shù)通過(guò)圖形化的方式,能夠清晰、有效地傳達(dá)和分析信息,是一種重要的探索性的數(shù)據(jù)分析和數(shù)據(jù)挖掘手段[5]。本文將數(shù)據(jù)可視化技術(shù)應(yīng)用于船舶數(shù)據(jù)的移動(dòng)端顯示,方便船舶工作人員了解設(shè)備的運(yùn)行情況,避免發(fā)生維修不及時(shí)的情況。
數(shù)據(jù)挖掘的方法很多,決策樹(shù)是其中可讀性強(qiáng)且簡(jiǎn)單直觀的方法,具有類似于樹(shù)的結(jié)構(gòu),是一種實(shí)現(xiàn)分析及預(yù)測(cè)的分類模型。決策樹(shù)算法通過(guò)把數(shù)據(jù)從根節(jié)點(diǎn)劃分到葉子節(jié)點(diǎn)的方式,把監(jiān)測(cè)實(shí)例劃分為不同類別,最終形成樹(shù)的形狀。樹(shù)的根節(jié)點(diǎn)位于最頂端,包含著所有數(shù)據(jù),這些數(shù)據(jù)被分為若干類;分支節(jié)點(diǎn)是根節(jié)點(diǎn)分類后的新屬性;葉子節(jié)點(diǎn)無(wú)法再繼續(xù)分類,代表具體的分類類別。決策樹(shù)的結(jié)構(gòu)如圖1所示。
目前使用較多的,也是比較具有代表性的決策樹(shù)算法包括ID3算法,C4.5算法和CART算法。ID3算法劃分規(guī)則簡(jiǎn)單,樹(shù)的深度平均,且分類速度快。C4.5利用信息的增益率來(lái)篩選特征屬性,并且可以在樹(shù)的構(gòu)造過(guò)程中完成樹(shù)的剪枝,但是實(shí)現(xiàn)的過(guò)程較為繁瑣。CART算法會(huì)把數(shù)據(jù)所有的節(jié)點(diǎn)都作為類別的分配,當(dāng)數(shù)據(jù)樣本產(chǎn)生了小小的變化時(shí),生成的樹(shù)的模型也會(huì)隨著發(fā)生巨大的變化。
由于決策樹(shù)ID3算法的整個(gè)決策過(guò)程簡(jiǎn)單直觀、易于理解,分類效果較好,具有邏輯清晰、層次分明的特點(diǎn)[6],本文選擇ID3算法實(shí)現(xiàn)對(duì)船用柴油機(jī)的燃油噴射系統(tǒng)運(yùn)行狀態(tài)的分析及預(yù)測(cè)。
數(shù)據(jù)可視化使人們能夠更直觀地查看和理解數(shù)據(jù)信息,但直接使用代碼繪制圖形十分復(fù)雜,從底層使用原生技術(shù)實(shí)現(xiàn)數(shù)據(jù)可視化的方案,需要非常龐大的工作量[7],因此借助開(kāi)源的可視化庫(kù)是可行的方案。國(guó)內(nèi)外的可視化庫(kù)中,發(fā)展最好的包括Highcharts、Data-Drixen-Documents(D3)和Echarts等。
1)Highcharts的圖表類型和樣式豐富、兼容性好、交互性強(qiáng),并且不需要引入外部的插件,只要引入腳本就可以運(yùn)行。
2)D3具有高度可定制的特點(diǎn),是一個(gè)由數(shù)據(jù)驅(qū)動(dòng)文檔的可視化圖表庫(kù),但瀏覽器的兼容性差,且前期需要花費(fèi)較大的學(xué)習(xí)成本,所以使用門檻較高。
3)Echarts是由百度研發(fā)的數(shù)據(jù)可視化圖表庫(kù),兼容各種終端,具有多種數(shù)據(jù)格式無(wú)需轉(zhuǎn)換直接使用的特點(diǎn),并且圖表類型十分豐富,圖表設(shè)計(jì)精巧,互動(dòng)界面良好,可跨平臺(tái)使用。
本文采用的編程語(yǔ)言為python,因此采用pyecharts技術(shù)實(shí)現(xiàn)數(shù)據(jù)的可視化展示。pyecharts借助Echarts跨平臺(tái)使用的特點(diǎn),可以在不需要安裝其他工具的前提下完成Echarts與python的對(duì)接,能夠便捷地在python中直接使用數(shù)據(jù),并在移動(dòng)端生成可視化圖表。
本文決策樹(shù)模型構(gòu)建的主要步驟為:數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘、解釋與結(jié)果評(píng)估。決策樹(shù)的生成原理如圖2所示。
構(gòu)造燃油噴射系統(tǒng)的決策樹(shù)分類模型需要準(zhǔn)備訓(xùn)練集和測(cè)試集數(shù)據(jù)。首先選擇運(yùn)行狀態(tài)類別和相關(guān)屬性數(shù)據(jù),之后進(jìn)行數(shù)據(jù)處理。
燃油噴射系統(tǒng)的運(yùn)行狀態(tài)分別為:噴油正時(shí)提前、噴油正時(shí)延后、正常情況、噴油孔堵塞、噴油孔磨損,本文用X、Y、Z、M、N表示。
船舶監(jiān)測(cè)系統(tǒng)數(shù)據(jù)的屬性有很多,本文采用對(duì)燃油噴射系統(tǒng)運(yùn)行情況影響較大的監(jiān)測(cè)屬性進(jìn)行分析預(yù)測(cè):功率、油耗率、噴油量、排氣溫度、最大爆發(fā)壓力、單缸和其他缸排氣溫度平均值差,分別用a、b、c、d、e、f表示。
將不同運(yùn)行狀態(tài)下的數(shù)據(jù)整合為表格文件,表1為某船用柴油機(jī)燃油噴射系統(tǒng)的部分?jǐn)?shù)據(jù)。
利用決策樹(shù)算法進(jìn)行分析及預(yù)測(cè),需要對(duì)連續(xù)性數(shù)據(jù)離散化處理,本文利用等距劃分法對(duì)表1數(shù)據(jù)進(jìn)行離散化處理,其規(guī)則如表2所示。
表1 部分樣本數(shù)據(jù)表
表2 數(shù)據(jù)離散化規(guī)則
利用離散化規(guī)則處理后,得到訓(xùn)練集和測(cè)試集數(shù)據(jù)。將表1中樣本數(shù)據(jù)利用表2中的離散化規(guī)則進(jìn)行處理,結(jié)果如表3所示。
表3 數(shù)據(jù)展示實(shí)例離散化結(jié)果
將訓(xùn)練數(shù)據(jù)導(dǎo)入python語(yǔ)言的ID3算法進(jìn)行分析研究。ID3算法是通過(guò)信息熵進(jìn)行分類度量的,熵是衡量數(shù)據(jù)集的不規(guī)則程度的單位,熵值的大小與系統(tǒng)的混亂程度呈正比例關(guān)系[8]。熵通常用字母I表示。
信息熵是信源S的不確定性的一個(gè)度量。若信源S有m個(gè)狀態(tài)或結(jié)果為S1,S2,…,Sm,相應(yīng)的各概率為P(S1),P(S2),…,P(Sm),則該信源的信息熵H(S)為
H(S)=P(S1)I(S1)+P(S2)I(S2)+
…+P(Sm)I(Sm)=
(1)
條件信息熵是指在接收了信源A之后,信源S的不確定性。假如信源A有n個(gè)結(jié)果或狀態(tài)為A1,A2,…,An,與其相對(duì)應(yīng)的概率是P(A1),P(A2),…,P(An),則條件信息熵H(S,A)可以表示為
(2)
燃油噴射系統(tǒng)運(yùn)行狀態(tài)分析預(yù)測(cè)的決策樹(shù)模型的算法實(shí)現(xiàn)流程如圖3所示。
訓(xùn)練集數(shù)據(jù)導(dǎo)入程序后,根據(jù)分類結(jié)果繪制決策樹(shù)并剪枝,得到?jīng)Q策樹(shù)分類模型如圖4所示。
圖中變量X、Y、Z、M、N為燃油噴射系統(tǒng)的運(yùn)行狀態(tài)類別,數(shù)字為樣本數(shù)據(jù)的離散劃分等級(jí),分類模型的結(jié)果具體如下:
1)若油耗率小于174.2 g/(kW·h),則對(duì)應(yīng)的運(yùn)行狀態(tài)為噴油正時(shí)提前;
2)若油耗率在174.2~174.9 g/(kW·h),且功率在267~285 kW,則對(duì)應(yīng)的運(yùn)行狀態(tài)為噴油正時(shí)提前;
3)若油耗率在175.7~176.5 g/(kW·h),則對(duì)應(yīng)的運(yùn)行狀態(tài)為噴油孔磨損;
4)若油耗率在174.2~174.9 g/(kW·h),且功率在285~305 kW,則對(duì)應(yīng)的運(yùn)行狀態(tài)為正常;
5)若油耗率在174.9~175.7 g/(kW·h),且噴油量在350~353 kg/h,則對(duì)應(yīng)的運(yùn)行狀態(tài)為噴油正時(shí)延后;
6)若油耗率在174.9~175.7 g/(kW·h),且噴油量大于353 kg/h,則對(duì)應(yīng)的運(yùn)行狀態(tài)為噴油孔堵塞;
7)若油耗率大于176.5 g/(kW·h),則對(duì)應(yīng)的運(yùn)行狀態(tài)為噴油孔堵塞。
最后將測(cè)試集數(shù)據(jù)導(dǎo)入模型進(jìn)行評(píng)估及預(yù)測(cè)試驗(yàn),將預(yù)測(cè)結(jié)果與實(shí)際的分類情況進(jìn)行計(jì)算比對(duì)后,得到本試驗(yàn)的決策樹(shù)分類模型的精度達(dá)到94%,模型滿足基本的精度要求。
利用pyecharts進(jìn)行圖表繪制,首先需要調(diào)用使用的圖表,進(jìn)行標(biāo)題設(shè)置之后導(dǎo)入數(shù)據(jù),最終生成圖表。將燃油噴射系統(tǒng)的數(shù)據(jù)和決策樹(shù)分析及預(yù)測(cè)的結(jié)果,通過(guò)pyecharts進(jìn)行數(shù)據(jù)的可視化展示,代碼實(shí)現(xiàn)流程如圖5所示。
1)采用折線圖作為燃油噴射系統(tǒng)的數(shù)據(jù)展示。在程序中導(dǎo)入折線圖,設(shè)置主標(biāo)題為數(shù)據(jù)顯示,然后加入數(shù)據(jù),生成并保存圖表,在移動(dòng)端中顯示的截圖如圖6所示。
通過(guò)輸出的折線圖,能夠直觀地查閱燃油噴射系統(tǒng)的各屬性數(shù)據(jù)。折線圖中每一種顏色的線都代表了一種屬性數(shù)據(jù),還可以通過(guò)點(diǎn)擊交互按鈕查看單個(gè)屬性數(shù)據(jù),以及查看具體數(shù)據(jù)值,折線圖的縱坐標(biāo)可以根據(jù)展示的數(shù)據(jù)值進(jìn)行自適應(yīng)變化。各監(jiān)測(cè)屬性數(shù)據(jù)是對(duì)燃油噴射系統(tǒng)運(yùn)行狀態(tài)進(jìn)行分析及預(yù)測(cè)的基礎(chǔ),可以為船舶工作人員和維修人員提供幫助。
2)采用平行坐標(biāo)圖對(duì)分析及預(yù)測(cè)結(jié)果進(jìn)行展示。在程序中導(dǎo)入平行坐標(biāo)圖,設(shè)置主標(biāo)題為燃油噴射系統(tǒng),然后加入數(shù)據(jù),生成并保存圖表,在移動(dòng)端中顯示的截圖如圖7所示。
通過(guò)輸出的平行坐標(biāo)圖,能夠直觀地查閱燃油噴射系統(tǒng)的分析預(yù)測(cè)結(jié)果,也可以通過(guò)右側(cè)界面交互按鈕切換詳細(xì)數(shù)據(jù)展示。將分析及預(yù)測(cè)的結(jié)果進(jìn)行可視化展示,能夠方便工作人員及時(shí)了解設(shè)備的運(yùn)行情況。
3)采用餅圖作為燃油噴射系統(tǒng)各狀態(tài)類型發(fā)生概率的展示。在程序中導(dǎo)入餅圖,設(shè)置主標(biāo)題為系統(tǒng)狀態(tài)概率圖,然后加入數(shù)據(jù),生成并保存圖表,在移動(dòng)端中顯示的截圖如圖8所示。
通過(guò)輸出的餅圖可以使用戶清晰、直觀地查看燃油噴射系統(tǒng)各運(yùn)行狀態(tài)類型發(fā)生的概率,方便船舶工作人員了解一段時(shí)間內(nèi)設(shè)備不同故障的發(fā)生頻率,幫助船舶工作人員在遠(yuǎn)航前對(duì)可能發(fā)生的問(wèn)題及時(shí)做好維修的準(zhǔn)備。
船用柴油機(jī)燃油噴射系統(tǒng)的故障診斷一直是研究的熱點(diǎn)。本文提出了一種船用柴油機(jī)燃油噴射系統(tǒng)常見(jiàn)運(yùn)行狀態(tài)分析的思路,未來(lái)還可以進(jìn)一步研究非典型故障的情況。本文針對(duì)船用柴油機(jī)燃油噴射系統(tǒng)數(shù)據(jù)可視化的探討,可以為船舶工作人員和維修人員提供幫助,方便工作人員直觀地在移動(dòng)端查看數(shù)據(jù),及時(shí)了解設(shè)備的運(yùn)行情況,避免發(fā)生維修不及時(shí)或者錯(cuò)誤的情況,為船舶的航運(yùn)安全提供保障。