鄒黃剛,趙景順,李彬
(上海理工大學機械工程學院,上海 200093)
汽車是由上萬塊零部件所組成,因具備零件數量多、測試難、耗時多等特點[1],很難做到全方位檢測;并且大多數司機缺乏專業(yè)知識,對汽車的故障很難做出準確的判斷。所以,對于檢測人員或司機而言,都急需一套快速而有效的檢測方案,指導其檢修具有重要的意義。
本文以奔馳汽車為對象,首先確定基于ID3 決策樹算法[2]的汽車故障檢修方案;其次進行數據相關的采集,這里數據信息采集首先確定好研究對象和目標,選擇合適的模型完成數據信息采集;然后利用ID3 算法的相關原理來對數據分析做出預處理以便實施選擇的數據挖掘算法[3],最后對結果加以分析[4],其流程圖如圖1 所示。
圖1 數據處理流程
①鑒定故障:通過故障信息,判斷出汽車何種故障。②初步確定好故障類別后,通過詢問車主或查看汽車來進一步收集故障信息。③收集完信息后,進一步評估故障的危害有多大。④查明故障后,按照一般的邏輯順序進一步試驗。⑤校正故障,逐個排除故障原因。⑥重新逐個檢測系統(tǒng)是否正常。如圖2 所示,這六步檢測[5]雖然能做到對汽車故障的全方位排查,但無疑會增加檢修人員工作量,耗費大量的時間與成本,并且也不會給日常檢修提供任何參考。
圖2 汽車故障檢修方案流程
采用ID3 決策樹算法的汽車故障檢測方案設計過程,如圖3 所示,第一層是視圖層,即用于人機交互使用。第二層是業(yè)務層,即實現邏輯控制。第三層是Model 層,負責有關軟件功能與數據庫系統(tǒng)和文件相互之間的數據訪問。使用系統(tǒng)的用戶包含司機和檢修人員。
ID3 算法用于預測分析,通過建立決策樹,得出相關的檢修方案。構造好的決策樹關鍵在于選擇好劃分屬性。決策樹預測精度取決于所構建決策樹的規(guī)模,一般而言,規(guī)模越小的,則其預測精度就越高。但想要構造出合理且精度高的決策樹,關鍵在于選擇恰當的測試屬性,而測試屬性的選擇關鍵在于子集的不純度度量方法查找,即所求的信息增益。
假設某個信息源集[6],標記為Si,i 取0~n;其自信息量為I(Si),則樣本中的信息熵可以(1)可得,如(1)式所示:'
式中,n 為所有的信息源,p(Si)為Si 的概率。
由前面得出目標信息熵后,再根據信息增益得出最優(yōu)的測試屬性a,通過信息增益的大小來確定決策樹節(jié)點,依次構建決策樹。樣本各屬性的信息增益運算公式如式(2)所示:
式中,a 為樣本X 的屬性;H(X)為信息熵;Ci 是訓練實例;aj 是第j 個屬性的概率。
目前汽車常見故障主要包括:發(fā)動機總成故障、傳動系故障、轉向系故障、制動系故障、行走系故障、車身常見故障、電氣系故障等。引起以上故障的主要原因有:①自身存在著易損零件;②零件本身質量差異;③汽車消耗品質量差異;④汽車使用環(huán)境影響;⑤駕駛技術和駕駛方法的影響 ;⑥汽車故障診斷技術和維修技術的影響 。由此可見,車輛故障現象普遍地產生于車輛的生產、使用、養(yǎng)護和檢修工作的整個過程,對每一個環(huán)節(jié)都應十分注意,才能使車輛在運用工作過程中避免發(fā)生交通事故。屬性A 表示自身是否存在著易損零部件;屬性B 表示零件自身質量差異;屬性C 表示汽車消耗品質量差異;屬性D 表示駕駛技術和駕駛方法的因素;屬性E 表示車輛診斷技能和修理技能的影響;屬性F 表示汽車使用環(huán)境。表中“1” 表示“是”,“0”表示“否”。
由于汽車的型號特別多,每種車發(fā)生故障的形式也不同。本文以奔馳車為例,通過向大眾發(fā)送詢問調查報告的方式來統(tǒng)計出現以上七種故障的奔馳汽車,從而估計一般奔馳車會出現何種故障或者影響其出現故障的主要因素。投出去60 份調查報告,實際參與人數返回報告54 份,選取其中符合條件的調查報告30 份來作為統(tǒng)計數據,進一步說明ID3 算法是如何進行的。
汽車在使用過程中的故障有很多,現以汽車總成故障為訓練集。數據樣本是30 條,故障的有20 條,沒有故障的10 條。所以,根據(1)式,得故障信息熵是:
然后根據式(1)、式(2)分別計算各屬性的信息熵和信息增益。同理可得影響因素初始時刻信息熵為:
再根據式(1)、式(2)分別計算各個影響因素的信息熵和信息增益。
從后期數據處理中可以看出,其"制動系故障"屬性信息增益最大,所以該屬性作為決策樹上層的第一個節(jié)點,隨后各屬性增益依次作為下一層節(jié)點。由此可知汽車在使用過程中最常出現的是制動系故障。影響因素表中,其"汽車消耗品質量差異"屬性信息增益最大,所以該屬性作為決策樹上層的第一個節(jié)點,由此可知影響制動性故障最大的因素是汽車消耗品質量差異。同時考慮各屬性之間的聯(lián)系,再通過分支得到相應節(jié)點,最后得出"車輛故障"最常發(fā)生的是"制動系故障",而“汽車消耗品質量差異”是此故障發(fā)生最大影響因素。
由上述訓練樣本結論可知,面對汽車中的各類故障問題,通過統(tǒng)計相應的信息增益,得到樣本中增益最大的屬性,即能夠得到區(qū)分度較大的特征屬性及其屬性值,從而明確汽車常發(fā)故障及其影響因素。ID3 決策樹算法在以信息增益最高的那個屬性視為一個節(jié)點的開始,隨后進行節(jié)點的分割。每新建一個節(jié)點就會其延長一節(jié),長此以往,一棵完整且合理的決策樹就構建完成。而往往那些視為開始節(jié)點的屬性也正是某些反?;蚬收犀F象的出現原因。當汽車設備異常或故障發(fā)生時,經過調ID3 決策樹算法,可得到產生影響該非正?;蚬收习l(fā)生的主要原因,而后技術人員先對該原因加以檢測。如是由該原因引起的,則對其提供相應保修;反之,對其他因素加以檢測。該方案設計與對全部原因逐個加以檢測的傳統(tǒng)方法比較,更具科學化、優(yōu)化和快速性,在相當程度上防止了某種非正常發(fā)展成故障現象,進而減少對牽引供電系統(tǒng)運行的負面影響。
本文所提及的ID3 算法旨在簡化汽車檢修模式,從而以最快的方式幫助司機或檢修人員做出檢修方案,避免不必要的浪費。利用ID3 決策樹設計的決策樹,通過決策樹上的節(jié)點找出汽車上的哪類故障以及出現此類故障的原因,進而幫助司機或檢修人員快速做出較為合理的檢修方案。以汽車各總成故障的數據作為訓練集,對ID3 決策樹算法建立決策樹流程加以分析計算,從而知曉其運作機理。