時(shí)中朝 郝偉娜 董紅召
浙江工業(yè)大學(xué)智能交通系統(tǒng)聯(lián)合研究所,杭州,310006
公共 自 行 車 系 統(tǒng) (public bicycle system,PBS)發(fā)展迅速,然而因工作環(huán)境較差,自行車損壞率較高,帶來了交通安全風(fēng)險(xiǎn)并影響了PBS的服務(wù)質(zhì)量。目前發(fā)現(xiàn)故障車的主要方法是根據(jù)用戶主動(dòng)報(bào)修和工作人員巡檢,但該方法成本高、效率低,制約了PBS的發(fā)展。網(wǎng)絡(luò)化大數(shù)據(jù)及貝葉斯分類器技術(shù)給PBS故障車診斷提供了新途徑。
貝葉斯分類器用于診斷的相關(guān)研究在國內(nèi)外方興未艾,文獻(xiàn)[1-3]將樸素貝葉斯分類器或改進(jìn)后的貝葉斯分類器應(yīng)用到疾病的判別與診斷中,精度較高。文獻(xiàn)[4-6]提出貝葉斯網(wǎng)絡(luò)分類器(naive Bayesian classifier,NBC)與其他方法相結(jié)合,以此來診斷機(jī)器故障,判斷精度較好。ZHOU等[7]分別采用NBC處理不完備數(shù)據(jù)和確定屬性加權(quán)等,顯示了良好的精度和效率。祝志博等[8]提出了基于PCA-SVDD的故障檢測(cè)和自學(xué)習(xí)辨識(shí)的方法。劉江等[9]提出了自行車組合導(dǎo)航系統(tǒng)容錯(cuò)設(shè)計(jì)結(jié)構(gòu)及基于主成分分析的故障檢測(cè)與隔離算法。
針對(duì)公共自行車結(jié)構(gòu)簡單、傳感器少的情況,本文提出將貝葉斯分類算法[10-11]應(yīng)用于公共自行車故障檢修。通過分析杭州市PBS的海量歷史營運(yùn)數(shù)據(jù),得到用戶的租用記錄、維修記錄、用戶評(píng)價(jià)和報(bào)修信息,構(gòu)建了NBC,并利用NBC對(duì)自行車進(jìn)行分類,以實(shí)現(xiàn)自行車故障自動(dòng)診斷報(bào)修。
樸素貝葉斯的顯著特點(diǎn)是實(shí)時(shí)將所有的狀態(tài)分類特征均視為定性數(shù)據(jù),由此將連續(xù)的狀態(tài)分類特征離散化是該方法實(shí)施的關(guān)鍵[12]。在實(shí)際運(yùn)用中,自行車產(chǎn)生故障的因素[13-14]有很多,且沒有統(tǒng)一的標(biāo)準(zhǔn),因此,對(duì)每一種狀態(tài)分類特征進(jìn)行分段處理,從而實(shí)現(xiàn)離散化。
PBS的使用情況較為復(fù)雜,不同類型的服務(wù)點(diǎn)會(huì)產(chǎn)生不同的租還需求特性,不同時(shí)間也會(huì)產(chǎn)生不同的租還需求特性。選取3類因素共15個(gè)狀態(tài)分類特征作為自行車故障檢測(cè)的特征向量,見表1。表1中,服役時(shí)長為從自行車投入使用或上次保養(yǎng)之后到目前所使用的時(shí)間,以保養(yǎng)時(shí)間為服役時(shí)長計(jì)算起點(diǎn)是為了確保沒有遺留問題會(huì)對(duì)預(yù)測(cè)結(jié)果造成影響。租用次數(shù)為從自行車投入使用或上次保養(yǎng)之后到目前的租用次數(shù)。接力租用次數(shù)表示用戶還車3min之內(nèi)又租用了另外一輛自行車的次數(shù)。異常租用次數(shù)表示用戶租用時(shí)長小于2min的租用次數(shù)。時(shí)間上利用率為某自行車租用總時(shí)間與服役時(shí)長的比值。用戶報(bào)修指數(shù)和用戶評(píng)價(jià)指數(shù)為根據(jù)APP上報(bào)的信息進(jìn)行分類,默認(rèn)狀態(tài)為0,指數(shù)越大,表明用戶對(duì)自行車的滿意度越低,間接增加了自行車故障的概率。服務(wù)點(diǎn)飽和度為某服務(wù)點(diǎn)在樁自行車數(shù)量與鎖樁數(shù)的比值。服務(wù)點(diǎn)類型為根據(jù)服務(wù)點(diǎn)的布局位置分為醫(yī)院、小區(qū)、寫字樓、地鐵和火車站等類別。將一天按小時(shí)分為24個(gè)時(shí)段,時(shí)間序列表示某自行車所處的是哪個(gè)時(shí)段。駐留時(shí)間表示某自行車自上次租用之后到下一次被租用的時(shí)長。常在區(qū)域表明自行車常在的服務(wù)點(diǎn)區(qū)域,用于區(qū)分不同地域使用情況的差異。自行車批次和自行車型號(hào)是自行車出廠信息,批次以年月日識(shí)別,型號(hào)則有自行車廠商設(shè)置。如果信息缺失,默認(rèn)設(shè)置為0。PBS預(yù)測(cè)結(jié)果分為兩類,分別為正常車和故障車,即故障類型C{C1,C2}。
表1 PBS單個(gè)服務(wù)點(diǎn)狀態(tài)分類特征類型Tab.1 PBS single service station attribute variable type
樸素貝葉斯分類器(NBC)是一種基于Bayesian理論的分類算法,其鮮明的特點(diǎn)是各個(gè)特征不具有相關(guān)性,是相互獨(dú)立的。建立在自行車基礎(chǔ)上的NBC網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 NBC在PBS中的建模結(jié)構(gòu)Fig.1 Modeling structure of NBC in PBS
X是自行車狀態(tài)觀測(cè)值的集合即特征向量,Xi為特征向量的第i(i=1,2,…,15)狀態(tài)分類特征,X=(X1,X2,…,X15)。每一個(gè)狀態(tài)分類特征Xi有若干個(gè)值,xi表示狀態(tài)分類特征Xi對(duì)應(yīng)的具體值,即特征值。對(duì)于一個(gè)具體特征向量,由貝葉斯定理,其對(duì)應(yīng)的分類值Ct的概率
求每個(gè)分類值后驗(yàn)概率時(shí),特征值x1,x2,…,x15均不變,即分母保持不變,因此可以將其表示為常數(shù),則式(1)可簡化成
根據(jù)各特征之間相互獨(dú)立的特點(diǎn),式(2)可以簡化成
這樣,只需要計(jì)算每一個(gè)分類值Ct下單個(gè)特征的條件概率P(xi|Ct)即可。即
式中,N 為所有訓(xùn)練樣本的頻數(shù)和;NCt為故障類型Ct對(duì)應(yīng)樣本頻數(shù);NC(xti)表示故障類型為Ct且狀態(tài)分類特征Xi的值為xi的樣本頻數(shù)。
如果某些狀態(tài)分類特征的數(shù)據(jù)缺失,該類的條件概率就等于零,則整個(gè)類的后驗(yàn)概率就等于零,將無法通過式(5)得到準(zhǔn)確的結(jié)果。因此,假設(shè)每個(gè)特征值都已經(jīng)出現(xiàn)了一次,對(duì)式(5)使用拉普拉斯平滑方法,在分子上加1,為了使概率和為1,在分母上加上M(M=16),可得
將式(4)和式(6)代入式(3),可得
根據(jù)貝葉斯最大后驗(yàn)概率原則,對(duì)于任意給定的特征向量P(x1,x2,…,x15),貝葉斯分類器的作用就是選擇概率最大的故障類型Ct作為故障類型的評(píng)定結(jié)果。利用式(7)進(jìn)行計(jì)算,選取最大值對(duì)應(yīng)的故障類型作為潛在的故障診斷的結(jié)果。
貝葉斯分類器的預(yù)測(cè)能力主要依賴樣本的特征向量。理想情況下,利用貝葉斯分類器把觀測(cè)特征向量X分給類C,特征向量X的每個(gè)狀態(tài)分類特征都有很大的貢獻(xiàn)。為了量化每個(gè)狀態(tài)分類特征對(duì)分類的貢獻(xiàn),定義狀態(tài)分類特征對(duì)類的貢獻(xiàn)率C,C表示只考慮Xi的情況下C1和C2后驗(yàn)概率差值的平方,Xi對(duì)分類的貢獻(xiàn)表示為
其中,xj是狀態(tài)分類特征Xi中的第j個(gè)具體值(0<j<t)。由概率可知0<Q(Xi)<1,Q(Xi)越大,Xi對(duì)分類的貢獻(xiàn)越多。當(dāng)Q(Xi)接近于0時(shí),表明狀態(tài)分類特征Xi對(duì)分類貢獻(xiàn)很少或者沒有貢獻(xiàn),應(yīng)該去除。
自行車故障判定問題常用的評(píng)價(jià)指標(biāo)是精確率和召回率。分類器對(duì)數(shù)據(jù)集的預(yù)測(cè)結(jié)果或者正確或者不正確,共有4種情況,混淆矩陣見表2。
表2 預(yù)測(cè)評(píng)價(jià)指標(biāo)Tab.2 Prediction and evaluation index
精確率表示預(yù)測(cè)為故障車的樣本中有多少是真正的故障車。預(yù)測(cè)為故障車有兩種可能:一種是把故障車預(yù)測(cè)為故障車,其數(shù)量為TP;另一種是把正常車預(yù)測(cè)為故障車,其數(shù)量為FP。即精確率
召回率表示樣本中的故障車有多少被預(yù)測(cè)正確了。它也有兩種可能:一種是把原來的故障車預(yù)測(cè)成故障車,其數(shù)量為TP;另一種就是把原來的故障車預(yù)測(cè)為正常車,其數(shù)量為FN。即召回率
不同的分類問題,對(duì)精確率和召回率的要求也不同。由于自行車在使用過程中并不會(huì)在大范圍內(nèi)發(fā)生故障,即故障車占比較小,診斷模型需要盡可能檢測(cè)出所有的故障,同時(shí)把正常車誤判為故障車的損失遠(yuǎn)小于檢測(cè)不出故障的損失,因此,自行車的故障檢測(cè)需要很高的召回率,預(yù)測(cè)結(jié)果也是以召回率為標(biāo)準(zhǔn)的。
根據(jù)杭州市城西服務(wù)區(qū)2016年P(guān)BS的交易記錄和報(bào)修維修記錄進(jìn)行訓(xùn)練和測(cè)試。運(yùn)用NBC實(shí)現(xiàn)公共自行車故障診斷,主要包括以下3個(gè)階段的工作:①準(zhǔn)備工作階段。通過TCP協(xié)議獲取服務(wù)點(diǎn)及用戶APP上傳的用戶租用數(shù)據(jù),如果租用時(shí)長小于預(yù)設(shè)值,則對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,整理出自行車的特征向量。②分類器訓(xùn)練階段。計(jì)算每個(gè)類別在訓(xùn)練樣本中出現(xiàn)的頻率及狀態(tài)分類特征劃分對(duì)類別的條件概率估計(jì)。③完成公共自行車故障檢測(cè)。通過貝葉斯分類器對(duì)待診斷的自行車特征向量進(jìn)行分類,并分析結(jié)果,判斷自行車是否存在故障。自行車故障自動(dòng)檢測(cè)流程如圖2所示。
圖2 PBS故障自動(dòng)檢測(cè)流程Fig.2 PBS automatic fault detection process
將不同的訓(xùn)練樣本和測(cè)試樣本所得數(shù)據(jù)進(jìn)行對(duì)比,得到不同樣本預(yù)測(cè)的召回率,如圖3所示。
圖3 不同樣本預(yù)測(cè)的召回率Fig.3 Recall rates predicted by different samples
由圖3可知,選擇訓(xùn)練樣本從1個(gè)月到3個(gè)月時(shí),測(cè)試樣本的召回率逐漸提高,這說明訓(xùn)練樣本在逐漸增多時(shí)模型的樣本所包含的情況也趨于完整。當(dāng)選擇訓(xùn)練樣本為3個(gè)月(90 823條)時(shí),測(cè)試樣本的召回率達(dá)到最高值85.8%。選擇訓(xùn)練樣本從3個(gè)月開始,測(cè)試樣本的召回率呈現(xiàn)下降趨勢(shì),分析可知樣本中包含過多與當(dāng)前日期相隔太遠(yuǎn)的信息,由于信息已經(jīng)過時(shí),無法準(zhǔn)確地預(yù)測(cè)當(dāng)前狀態(tài),反而對(duì)分類結(jié)果是一種負(fù)擔(dān),故應(yīng)根據(jù)實(shí)際情況(服務(wù)區(qū)域大小、自行車數(shù)量和當(dāng)?shù)氐纳盍?xí)慣)選擇合適的訓(xùn)練樣本。測(cè)試樣本召回率達(dá)到最高值時(shí)樣本詳情見表3。
表3 樣本詳情Tab.3 Sample details
由表3可以看出,當(dāng)選擇訓(xùn)練樣本為3個(gè)月時(shí),訓(xùn)練樣本總數(shù)為90 823條數(shù)據(jù),其中,故障車為29 154條,正常車為61 669條,測(cè)試樣本總數(shù)為30 231,其中,故障車為9 717條,正常車為20 514條。應(yīng)用NBC算法進(jìn)行故障診斷,召回率為85.5%,精度較優(yōu)。同時(shí),獲取各狀態(tài)分類特征對(duì)類的貢獻(xiàn)率,見表4。
表4 狀態(tài)分類特征對(duì)類貢獻(xiàn)率Tab.4 Attribute contribution rate to class
由表4可以看出,異常接力租用次數(shù)對(duì)類的貢獻(xiàn)率最高,異常租用次數(shù)次之,用戶評(píng)價(jià)指數(shù)對(duì)類的貢獻(xiàn)率最低,其次是用戶報(bào)修指數(shù)。根據(jù)租還數(shù)據(jù)分析,用戶還車3min之內(nèi)又租用了另外一輛自行車的次數(shù)是最能反映故障車的指標(biāo),而用戶通過APP上報(bào)的信息雖然準(zhǔn)確率較高,但是很少有用戶會(huì)主動(dòng)報(bào)修,因此對(duì)類的貢獻(xiàn)率最低。
將貝葉斯理論引入公共自行車故障診斷中,建立了PBS故障診斷模型。通過分析杭州市PBS的海量歷史營運(yùn)數(shù)據(jù),得到用戶的租用記錄、維修記錄、用戶評(píng)價(jià)和報(bào)修信息,選取15個(gè)狀態(tài)分類特征作為自行車故障檢測(cè)的特征向量;根據(jù)NBC后驗(yàn)概率,獲取每個(gè)狀態(tài)分類特征對(duì)類的貢獻(xiàn)率;分析自行車故障判定機(jī)理,選擇召回率作為評(píng)價(jià)指標(biāo),實(shí)現(xiàn)故障自行車的預(yù)測(cè)診斷。以杭州市城西服務(wù)區(qū)2016年相關(guān)數(shù)據(jù)為研究對(duì)象,實(shí)現(xiàn)了故障自行車與正常自行車的分類,當(dāng)選擇訓(xùn)練樣本為3個(gè)月(90 823條)時(shí),測(cè)試樣本的準(zhǔn)確率達(dá)到最高值85.8%。該模型能夠在最短的時(shí)間內(nèi)查找故障自行車,提高故障自行車診斷的效率,并且能通過不斷的學(xué)習(xí)來提升診斷正確率。