夏蘇哲, 瞿 輝, 唐又林
中海網(wǎng)絡(luò)科技股份有限公司,上海200135
隨著我國(guó)高速公路建設(shè)的快速發(fā)展,各省市聯(lián)網(wǎng)收費(fèi)的路網(wǎng)規(guī)模不斷擴(kuò)大,進(jìn)出路網(wǎng)只繳納一次費(fèi)用的特點(diǎn)一方面方便了高速公路的用戶,另一方面,隨著單次最大收費(fèi)額的不斷增加,偷逃通行費(fèi)所帶來(lái)的高額利潤(rùn)使得該行為呈日益增長(zhǎng)趨勢(shì)。為了維護(hù)高速公路的正常秩序,保證收費(fèi)工作健康穩(wěn)定進(jìn)行,收費(fèi)稽查顯得尤為重要?,F(xiàn)有的稽查方式主要是人工手動(dòng)稽查,智能手段相對(duì)缺乏,而相當(dāng)一部分偷逃通行費(fèi)行為會(huì)在收費(fèi)數(shù)據(jù)中留下痕跡,引發(fā)相關(guān)數(shù)據(jù)異常,如何利用這些痕跡發(fā)現(xiàn)并解決偷逃費(fèi)問(wèn)題已成為收費(fèi)稽查工作關(guān)注的重點(diǎn)。
“數(shù)據(jù)挖掘”可以從大量的數(shù)據(jù)中提取有用的信息,發(fā)現(xiàn)數(shù)據(jù)之間潛在的關(guān)系,并有可能發(fā)現(xiàn)問(wèn)題所在,幫助找出解決辦法?,F(xiàn)有的聯(lián)網(wǎng)收費(fèi)系統(tǒng)交易流水?dāng)?shù)據(jù)大而齊全,可能隱含著豐富但尚未發(fā)現(xiàn)的偷逃費(fèi)信息,因此,將數(shù)據(jù)挖掘技術(shù)應(yīng)用于高速公路收費(fèi)稽查,研究高速公路換卡逃費(fèi)問(wèn)題,進(jìn)而打擊和防范偷逃費(fèi)行為,具有非常重要的現(xiàn)實(shí)意義。
聯(lián)網(wǎng)收費(fèi)的基本特征是行駛于路網(wǎng)的車(chē)輛只需要繳納一次通行費(fèi),入口發(fā)卡、出口驗(yàn)卡收費(fèi),實(shí)現(xiàn)路網(wǎng)內(nèi)“一卡通”的服務(wù)目標(biāo)[1]。由于單次最大通行費(fèi)的增加、各路段管理的差異,使得偷逃通行費(fèi)現(xiàn)象日趨嚴(yán)重。經(jīng)分析,偷逃通行費(fèi)現(xiàn)象大致可分為四類(lèi),每一類(lèi)又包括若干種方式,如表1所示。
表1 偷逃通行費(fèi)行為分類(lèi)
收費(fèi)稽查作為查處偷逃通行費(fèi)行為的重要措施,正面臨著越來(lái)越大的挑戰(zhàn)?,F(xiàn)有的收費(fèi)稽查方式對(duì)規(guī)范收費(fèi)操作流程起到了很好的作用,但對(duì)于日益嚴(yán)重的逃繳費(fèi)行為和花樣繁多的偷逃費(fèi)方式卻效率不高。
目前,聯(lián)網(wǎng)高速公路的收費(fèi)稽查主要采用現(xiàn)場(chǎng)稽查和事后稽查兩種方式?,F(xiàn)場(chǎng)稽查指現(xiàn)場(chǎng)就能發(fā)現(xiàn)作弊行為,由收費(fèi)工作人員和稽查人員直接處理偷逃費(fèi)事件,例如損壞通行卡、假冒軍警車(chē)\綠通車(chē)、假證、U轉(zhuǎn)車(chē)等。事后稽查主要包括兩種情況:
(1)收費(fèi)員現(xiàn)場(chǎng)很難判斷(或者判斷時(shí)間比較長(zhǎng)),為避免影響車(chē)道暢通,收費(fèi)員讓可疑車(chē)輛正常通行,并把通行記錄交由后臺(tái)稽查人員進(jìn)行詳細(xì)判斷,如果存在逃繳費(fèi)行為,則把該車(chē)輛加入黑名單,下次再進(jìn)入高速時(shí)進(jìn)行處理。
(2)對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行分析,發(fā)現(xiàn)隱藏在正常通行記錄中且未被發(fā)現(xiàn)的可疑數(shù)據(jù),然后通過(guò)比較出入口抓拍的圖片等方式進(jìn)一步判斷,如果確認(rèn)存在違規(guī)行為,則把該車(chē)輛加入黑名單。
這里針對(duì)第(2)種情況進(jìn)行數(shù)據(jù)挖掘。
數(shù)據(jù)挖掘是從大量數(shù)據(jù)中揭示出隱含的、先前未知的并有潛在價(jià)值的信息的過(guò)程。數(shù)據(jù)挖掘的任務(wù)有特征化與區(qū)分、頻繁模式、關(guān)聯(lián)和相關(guān)性挖掘、分類(lèi)與回歸、聚類(lèi)分析、離群點(diǎn)分析等。這些任務(wù)可以分為兩類(lèi):描述性和預(yù)測(cè)性。描述性挖掘任務(wù)刻畫(huà)目標(biāo)數(shù)據(jù)中數(shù)據(jù)的一般性質(zhì);預(yù)測(cè)性挖掘任務(wù)在當(dāng)前數(shù)據(jù)上進(jìn)行歸納,以便做出預(yù)測(cè)[2]。這里主要介紹分類(lèi)方法,屬于預(yù)測(cè)性挖掘。
分類(lèi)算法通過(guò)對(duì)已知類(lèi)別訓(xùn)練集的分析,從中發(fā)現(xiàn)分類(lèi)規(guī)則,以此預(yù)測(cè)新數(shù)據(jù)的類(lèi)別。主要分析出口流水?dāng)?shù)據(jù)中哪些字段與換卡逃費(fèi)現(xiàn)象有關(guān),多字段輸入,單字段輸出。決策樹(shù)算法最適合解決這類(lèi)問(wèn)題。決策樹(shù)是以實(shí)例為基礎(chǔ)的歸納學(xué)習(xí)算法,它從一組無(wú)次序、無(wú)規(guī)則的元組中推理出以決策樹(shù)形式表示的分類(lèi)規(guī)則。
ID3算法是由J Ross Quinlan提出的、起初最著名的決策樹(shù)算法,此算法的目的在于減少樹(shù)的深度,但是忽略了葉子數(shù)目的研究。C4.5是最常用、最經(jīng)典的決策樹(shù)分類(lèi)算法之一,它繼承了ID3算法的優(yōu)點(diǎn),并對(duì)ID3算法進(jìn)行了補(bǔ)充和完善。該算法采用信息增益率作為選擇分支屬性的標(biāo)準(zhǔn),克服了ID3算法中信息增益選擇屬性時(shí)偏向選擇取值多的屬性的不足,而且能夠?qū)B續(xù)型數(shù)據(jù)和不完整數(shù)據(jù)進(jìn)行處理,其原理如下:
設(shè)訓(xùn)練數(shù)據(jù)集為X,目的是將訓(xùn)練集分為n類(lèi),表示為A={X1,X2,…,Xn},訓(xùn)練實(shí)例屬于第i類(lèi)的概率為P(A)=i表示第i類(lèi)的訓(xùn)練實(shí)例個(gè)數(shù),|X|表示X中的實(shí)例總數(shù)。
由式(1)、式(2)可知:屬性c的信息增益為:Z(X;c)=B(X)-B(X/c)。信息增益越大,說(shuō)明測(cè)試屬性c提供給分類(lèi)的信息越大,所以選擇屬性c后對(duì)分類(lèi)的不確定度越小。ID3算法選擇使得信息增益值最大的屬性作為測(cè)試屬性。
C4.5算法繼承了ID3算法的優(yōu)點(diǎn),并在此基礎(chǔ)上進(jìn)行了優(yōu)化。與ID3算法不同,C4.5算法采用信息增益率選擇屬性。信息增益率定義如下:
當(dāng)不同屬性提供相同的增益Gain(X;c)時(shí),Split Inf o(X;c)的值越小越好。C4.5算法選擇具有最高信息增益率的屬性作為給定集合X的測(cè)試屬性,創(chuàng)建一個(gè)節(jié)點(diǎn),以該屬性作為標(biāo)記,對(duì)屬性的每個(gè)值創(chuàng)建分支,并據(jù)此劃分樣本。
懷卡托智能分析環(huán)境(Waikato Envir on ment f or Knowledge Analysis,WEKA)是一款免費(fèi)的、非商業(yè)化的基于JAVA環(huán)境下開(kāi)源的機(jī)器學(xué)習(xí)以及數(shù)據(jù)挖掘軟件,主要開(kāi)發(fā)者來(lái)自新西蘭。WEKA作為公開(kāi)的數(shù)據(jù)挖掘工作平臺(tái),集成了大量能承擔(dān)數(shù)據(jù)挖掘任務(wù)的機(jī)器學(xué)習(xí)算法,包括對(duì)數(shù)據(jù)進(jìn)行預(yù)處理、關(guān)聯(lián)分析、分類(lèi)、回歸、聚類(lèi)以及在新的交互式界面上的可視化[3]。
把WEKA集成到My Eclipse中,便于對(duì)WEKA進(jìn)行二次開(kāi)發(fā);修改或添加一些最新的數(shù)據(jù)挖掘算法,還可以把挖掘的結(jié)果以各種形式展示出來(lái),使用戶能夠方便、清晰地找到所需的知識(shí)。在進(jìn)行挖掘前,需要配置JDBC,加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng)。
換卡逃費(fèi)是一種很常見(jiàn)的逃繳費(fèi)行為,如果只交換通行卡,車(chē)輛在出站時(shí)卡內(nèi)保存的入口車(chē)牌信息會(huì)與出口識(shí)別的車(chē)牌信息不同,該類(lèi)問(wèn)題車(chē)輛能被及時(shí)查出。如果車(chē)牌與通行卡同時(shí)交換,出站時(shí)收費(fèi)員則很難發(fā)現(xiàn)存在的問(wèn)題。現(xiàn)主要討論的是車(chē)牌與通行卡同時(shí)交換的情況。
1)雙向?qū)﹂_(kāi)換卡:兩車(chē)雙向?qū)﹂_(kāi),中途互換通行卡,在對(duì)方入口收費(fèi)站附近站下路。一般情況下兩車(chē)嚴(yán)重超時(shí),車(chē)型相似(相同),車(chē)牌號(hào)套牌或者中途換牌,都短途下路。
2)兩車(chē)同向換卡:兩車(chē)在到達(dá)目的地附近收費(fèi)站時(shí),輕車(chē)先下路后上路,然后與重車(chē)互換通行卡;重車(chē)短途下路,輕車(chē)長(zhǎng)途下路。
3)輕車(chē)換卡:重車(chē)在接近目的地收費(fèi)站時(shí),附近一輕車(chē)上路,然后兩車(chē)互換通行卡,在目的地收費(fèi)站下路。兩車(chē)一般情況下車(chē)型相似,車(chē)牌號(hào)套牌或者中途換牌,重車(chē)短途下路,輕車(chē)長(zhǎng)途下路。
這幾種方式具有很多共同的特征,例如超時(shí)、里程記錄較短等,通過(guò)選取與換卡逃費(fèi)可能相關(guān)的字段流水?dāng)?shù)據(jù)進(jìn)行分析,找出換卡逃費(fèi)問(wèn)題的數(shù)據(jù)特征。
任意選取某收費(fèi)站10天內(nèi)的出口通行記錄,刪除非正常收費(fèi)車(chē)、非正常通行的記錄,把余下的正常通行記錄分為兩部分,一部分作為訓(xùn)練集,余下的作為測(cè)試集。同樣,在特殊事件稽核表中選取1個(gè)月內(nèi)判定為換卡逃費(fèi)問(wèn)題車(chē)輛的出口通行記錄,部分添加到訓(xùn)練集,剩下的添加到測(cè)試集。
通過(guò)對(duì)出口流水?dāng)?shù)據(jù)的分析,選取了Deal Stat us(是否超時(shí))、Veh Plate(出入口車(chē)牌是否相符)、Veh-Class(車(chē)型)、Toll Mode(收費(fèi)模式)、Total Exceed Weight(是否超重)、Distance(出入口之間的里程)等6個(gè)可能與換卡逃費(fèi)問(wèn)題相關(guān)的字段,并用ChangeCard字段保存是否換卡逃費(fèi)的結(jié)果。對(duì)每個(gè)字段的值預(yù)先進(jìn)行處理(見(jiàn)表2)。
在My Eclipse中創(chuàng)建工作目錄weka_wor k,在 WEKA的安裝目錄中找到weka-src.jar,解壓并把main文件中的weka文件夾拖入到weka_wor k工程中的src文件夾下。打開(kāi)weka.gui包,找到類(lèi)GUIChooser或Main,以”java application”的方式運(yùn)行,即可得到 WEKA主界面,見(jiàn)圖1。
WEKA Expl orer是集成的數(shù)據(jù)挖掘測(cè)試模塊,其中包含了大量的挖掘算法和功能強(qiáng)大的可視化工具。先使用open file打開(kāi)保存為arff格式的訓(xùn)練集,也可以直接選擇open DB連接數(shù)據(jù)庫(kù)獲取數(shù)據(jù)。在Classif y界面上選擇J48決策樹(shù)算法(C4.5算法在WEKA中的名稱(chēng))建立模型,見(jiàn)圖2。
由結(jié)果可知,在3 722個(gè)實(shí)例中,3 653個(gè)實(shí)例判斷正確,69個(gè)實(shí)例判斷錯(cuò)誤,模型的準(zhǔn)確率為98.1462%.生成的決策樹(shù)模型見(jiàn)圖3,其表示為:未超時(shí)的車(chē)輛不存在換卡逃費(fèi)問(wèn)題;當(dāng)車(chē)輛處于超時(shí)狀態(tài)時(shí),出入口車(chē)牌不符的車(chē)輛有96.88%的可能存在換卡逃費(fèi)問(wèn)題,出入口車(chē)牌相同時(shí),出口與入口站間的里程>100 k m則有87.5%的可能不存在換卡逃費(fèi)問(wèn)題;出入口站的里程在60~100 k m時(shí),有74.07%的可能不存在換卡逃費(fèi)問(wèn)題;出入口站的里程在30~60 k m時(shí),有78.18%的可能存在換卡逃費(fèi)問(wèn)題;當(dāng)出入口站的里程在0~30 k m時(shí),車(chē)輛為1型或2型客車(chē)則有76.47%的可能存在換卡逃費(fèi)問(wèn)題,車(chē)輛為3型或4型客車(chē)則有73.33%的可能不存在換卡逃費(fèi)問(wèn)題,車(chē)輛為1型或2型貨車(chē)則有69.05%的可能存在換卡逃費(fèi)問(wèn)題,車(chē)輛為3型、4型或5型貨車(chē)則有80.65%的可能存在換卡逃費(fèi)問(wèn)題。
圖1 My Eclipse中WEKA運(yùn)行主界面
圖2 模型及誤差分析
圖3 決策樹(shù)模型
圖5 模型預(yù)測(cè)結(jié)果分析
為了保證生成模型的準(zhǔn)確性,使之不至于出現(xiàn)過(guò)擬合現(xiàn)象,選擇10折交叉驗(yàn)證來(lái)評(píng)估模型,具體方法是在Test options中選擇Cr oss-validation選項(xiàng),F(xiàn)ol ds中填寫(xiě)10,執(zhí)行后,模型的準(zhǔn)確率為97.931 2%,表明此模型的準(zhǔn)確率比較高,能達(dá)到應(yīng)用要求。
圖4 十折交叉驗(yàn)證模型準(zhǔn)確率
WEKA一般有兩種方法可對(duì)生成的模型進(jìn)行測(cè)試:1)方法一
選擇Supplied test set,插入測(cè)試集數(shù)據(jù),在Result list中右鍵選擇Re-eval uate model on current test set,由結(jié)果得知,在3 346個(gè)實(shí)例中,3 254個(gè)實(shí)例預(yù)測(cè)正確,92個(gè)實(shí)例預(yù)測(cè)錯(cuò)誤,模型預(yù)測(cè)的正確率為97.250 4%(見(jiàn)圖5)。
Result list中右鍵選擇Visualize classifier err ors,保存預(yù)測(cè)誤差的散點(diǎn)圖,然后從Prepr ocess界面中打開(kāi),可發(fā)現(xiàn)倒數(shù)第二列多了1個(gè)字段predicted Change Car d,這個(gè)屬性的值就是模型對(duì)每個(gè)記錄的預(yù)測(cè)值(見(jiàn)圖6)。
2)方法二
WEKA也可以用命令行語(yǔ)句來(lái)對(duì)模型進(jìn)行預(yù)測(cè),具體方法為打開(kāi)Si mple CLI模塊,輸入命令:java weka.classifiers.trees.J48-C 0.25-M 5-t E:\model.arff-d E:\model.model說(shuō)明:-C 0.25為J48算法的默認(rèn)參數(shù);
-M 5表示每個(gè)葉的最小實(shí)例數(shù)量為5;
-t為訓(xùn)練集的路徑;
-d為模型保存的路徑。
圖6 預(yù)測(cè)數(shù)據(jù)
圖7 命令行預(yù)測(cè)結(jié)果及置信度
輸入上述命令即可得到?jīng)Q策樹(shù)模型,Si mpleCLI顯示結(jié)果與圖形界面顯示相同。然后把得到的模型應(yīng)用到測(cè)試集當(dāng)中,命令如下:
輸入上述命令得到結(jié)果如圖7所示。其中第3列為預(yù)測(cè)列,第4列為預(yù)測(cè)結(jié)果的置信度,例如第一個(gè)記錄有76.5%的可能存在換卡逃費(fèi)問(wèn)題,可根據(jù)置信度有選擇的對(duì)數(shù)據(jù)進(jìn)行最后判定。運(yùn)用命令行的好處是不用每次重新建模,直接使用保存好的模型即可,還可以根據(jù)置信度采納預(yù)測(cè)結(jié)果。
由預(yù)測(cè)結(jié)果可知,共有216個(gè)實(shí)例Change Car d為1,通過(guò)核對(duì)188個(gè)實(shí)例判斷正確,正確率為87.04%,表明模型預(yù)測(cè)效果很好。在實(shí)際工程中,稽查人員需對(duì)模型預(yù)測(cè)出的存在問(wèn)題的實(shí)例進(jìn)行核實(shí),找出偷逃費(fèi)記錄。由于時(shí)效性,模型內(nèi)容要經(jīng)常更新,使用最新的訓(xùn)練數(shù)據(jù)集建立模型能更加有效地稽查偷逃費(fèi)行為。
針對(duì)高速公路常見(jiàn)的換卡逃費(fèi)問(wèn)題,運(yùn)用數(shù)據(jù)挖掘算法建立模型,解決了隱藏在正常收費(fèi)記錄中、原有系統(tǒng)不能發(fā)現(xiàn)的逃繳費(fèi)問(wèn)題,減少了通行費(fèi)的損失。本模型易于理解、準(zhǔn)確率較高,有一定的實(shí)用價(jià)值。隨著模型訓(xùn)練集的不斷增大和包含換卡逃費(fèi)現(xiàn)象種類(lèi)的增多,本研究模型將會(huì)進(jìn)一步完善。此外,把WEKA集成到My Eclipse中,便于后期對(duì)算法進(jìn)行改進(jìn)及開(kāi)發(fā)更多的可視化圖形,加深用戶對(duì)結(jié)果的理解。
[1] 趙智明.高速公路跨區(qū)域電子聯(lián)網(wǎng)收費(fèi)系統(tǒng)的研究與實(shí)現(xiàn)[D].華北電力大學(xué),2006.
[2] Han J,Kamber M,Pei J.Data Mining Concepts and Techniques[M].China Machine Press,2012.
[3] 張曉航,任文龍.基于數(shù)據(jù)挖掘的高速公路聯(lián)網(wǎng)收費(fèi)稽查研究[J].軟件,2011(11):57-59.