張宏 呂悅晶
(1.內(nèi)蒙古大學(xué),呼和浩特 010070;2.內(nèi)蒙古自治區(qū)城市交通數(shù)據(jù)科學(xué)及應(yīng)用工程技術(shù)研究中心,呼和浩特 010070;3.武漢科技大學(xué),武漢 430081)
主題詞:大數(shù)據(jù) 數(shù)據(jù)挖掘 主成分分析法 關(guān)聯(lián)算法
2019 年1 月24 日,華為發(fā)布了全球首款5G 基站核心芯片,提出“自動駕駛網(wǎng)絡(luò)”的目標(biāo),并尋求SoftCOMAI 解決方案[1]。車載自組織網(wǎng)絡(luò)(Vehicular Ad-hoc Network,VANET)是自動駕駛技術(shù)的基礎(chǔ),數(shù)據(jù)、信息的互聯(lián)互通與共享極大地提升了網(wǎng)絡(luò)效率、運(yùn)營維護(hù)效率和能源效率[2]。隨著VANET 研究領(lǐng)域的技術(shù)進(jìn)步,大量應(yīng)用和服務(wù)已經(jīng)出現(xiàn)[3],各類應(yīng)用產(chǎn)生的海量數(shù)據(jù)在VANET運(yùn)行過程中也會增加網(wǎng)絡(luò)異常的風(fēng)險[4-6]。因此,評估和檢測VANET,及時找到網(wǎng)絡(luò)異常點(diǎn),全方位、全過程開展VANET運(yùn)行監(jiān)控大數(shù)據(jù)分析并找出數(shù)據(jù)間的相應(yīng)關(guān)系,對網(wǎng)絡(luò)可靠性和穩(wěn)定性意義重大。
國內(nèi)外文獻(xiàn)中,從大數(shù)據(jù)分析角度研究網(wǎng)絡(luò)異常檢測的常規(guī)方法有時間序列分析法、遺傳規(guī)劃算法、支持向量機(jī)、馬爾科夫模型等[7-10]:時間序列分析在數(shù)據(jù)量不大的情況下有較好的評估和預(yù)測結(jié)果,但數(shù)據(jù)量變大則無法快速預(yù)測;僅使用遺傳規(guī)劃算法,海量數(shù)據(jù)會導(dǎo)致網(wǎng)絡(luò)收斂速度變慢,訓(xùn)練無法掌握;支持向量機(jī)適用于小樣本、多維數(shù)據(jù)問題;馬爾科夫模型難以應(yīng)用于遠(yuǎn)距離VANET交通信息服務(wù)。VANET實(shí)際應(yīng)用情況復(fù)雜,數(shù)據(jù)量龐大,數(shù)據(jù)標(biāo)注受限,處理結(jié)果不精確,所以目前主流的方法是無需監(jiān)督的學(xué)習(xí)方法[11-16]。大數(shù)據(jù)分析技術(shù)對海量、多源的復(fù)雜數(shù)據(jù)進(jìn)行分析,為網(wǎng)絡(luò)系統(tǒng)異常檢測提供了新的思路和解決方法。
VANET運(yùn)行的基礎(chǔ)是子網(wǎng)設(shè)備能正常調(diào)度監(jiān)控系統(tǒng),各系統(tǒng)提供了海量的異構(gòu)多源數(shù)據(jù)。為了提高系統(tǒng)運(yùn)行的可靠性,在進(jìn)行節(jié)點(diǎn)和鏈路異常檢測時,所需的數(shù)據(jù)包括數(shù)據(jù)采集設(shè)備的歷史運(yùn)行數(shù)據(jù)、狀態(tài)信息、停運(yùn)情況及預(yù)測時刻系統(tǒng)運(yùn)行的各種信號與數(shù)據(jù)。
異常檢測數(shù)據(jù)挖掘算法如圖1所示,經(jīng)數(shù)據(jù)采集和預(yù)處理,在確定關(guān)鍵指標(biāo)和主要影響因素后,采用有監(jiān)督的機(jī)器學(xué)習(xí)算法輸入數(shù)據(jù)、調(diào)整參數(shù)并輸出異常數(shù)據(jù),進(jìn)而判斷出數(shù)據(jù)異常產(chǎn)生的時刻,通過網(wǎng)絡(luò)異常警告為交通參與者提供幫助。
圖1 異常檢測數(shù)據(jù)挖掘算法
關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘方法適用于眾多異構(gòu)多源數(shù)據(jù),無需較多模型參數(shù)即可降低維度,大幅提高預(yù)測速度。
Apriori 算法關(guān)聯(lián)規(guī)則中,設(shè)T為樣本車輛“事務(wù)”,其屬性記為“項(xiàng)”,每個子集事務(wù)都有一個項(xiàng)集,事務(wù)集合D表示n個事務(wù)的待挖掘數(shù)據(jù)庫,|D|表示事務(wù)集合的數(shù)量。一般地,設(shè)X?T為輸入?yún)?shù)集合,Y?T為輸出參數(shù)集合,X∩Y=?。對于項(xiàng)集X,A(X?T)為集合數(shù)量,定義支持度S為:
用X→Y表示若X則Y的關(guān)聯(lián)規(guī)則R,既包含X又包含Y的項(xiàng)集用A(X∪Y)表示,支持度S(A)為項(xiàng)集A(X∪Y)出現(xiàn)在待挖掘數(shù)據(jù)庫D中的百分比,則:
式中,P(X?Y)為既包含X又包含Y的比例。
若支持度S(A)大于設(shè)置的最小閾值α,則A稱為頻繁項(xiàng)集,支持度最小閾值由用戶依據(jù)需求確定。
待挖掘數(shù)據(jù)庫D中,置信度C為既包含X項(xiàng)集,又包含Y項(xiàng)集的百分比:
最小置信度閾值β表示項(xiàng)集X和Y關(guān)聯(lián)規(guī)則的可信程度,由用戶依據(jù)需求確定,基于Apriori 關(guān)聯(lián)規(guī)則挖掘算法流程如圖2所示。
圖2 Apriori關(guān)聯(lián)規(guī)則挖掘算法流程
關(guān)聯(lián)規(guī)則支持度≥α且置信度≥β的規(guī)則稱為強(qiáng)規(guī)則。Apriori算法流程中最關(guān)鍵的步驟是強(qiáng)規(guī)則挖掘,即從事務(wù)數(shù)據(jù)庫中挖掘關(guān)聯(lián)規(guī)則的頻繁項(xiàng)集。
在統(tǒng)計學(xué)中,一般采用皮爾森相關(guān)系數(shù)RXY衡量隨機(jī)變量間的線性相關(guān)性:
式中,c(X,Y)為X和Y的協(xié)方差;v[X]、v[Y]分別為X、Y的方差。
相關(guān)系數(shù)矩陣R為:
相關(guān)性系數(shù)的取值范圍為[-1,1],正值代表正相關(guān),負(fù)值代表負(fù)相關(guān),其數(shù)值越接近-1 或1,表示二者之間的相關(guān)性越強(qiáng)。
依據(jù)各指標(biāo)向量的相關(guān)系數(shù)矩陣R,求得特征值λ1≥λ2≥…≥λm(m≤q)及特征向量μ1、μ2、…、μm:
式中,E為單位矩陣。
因?yàn)樵u估指標(biāo)的量綱不同,無法直接進(jìn)行加權(quán)和比較,所以需將評估指標(biāo)進(jìn)行標(biāo)準(zhǔn)化處理:
利用主成分分析法的基本思想,計算得到第i個指標(biāo)的方差貢獻(xiàn)率及累計方差貢獻(xiàn)率分別為:
根據(jù)實(shí)際情況確定累計方差貢獻(xiàn)率的最小值,累計方差貢獻(xiàn)率大于最小值的成分選為主成分,包含了原始指標(biāo)項(xiàng)集的絕大多數(shù)信息。運(yùn)行狀態(tài)評估中,各指標(biāo)貢獻(xiàn)率不同,計算第i個主成分與原第j個評估指標(biāo)之間的相關(guān)系數(shù)Rij,對于p個主成分,選取q個(q≤p)相關(guān)系數(shù)絕對值中最大值對應(yīng)的指標(biāo)作為異常狀態(tài)評估指標(biāo)。
根據(jù)自組織神經(jīng)網(wǎng)絡(luò)無監(jiān)督分類特性[17],將序列X={X1,X2,…,Xm}作為神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)集合,序列Y={Y1,Y2,…,Yn}作為輸出參數(shù)集合,對每一個序列輸入?yún)?shù)Xt訓(xùn)練其屬于輸出參數(shù)Yj的公式為:
式中,d為歐式距離;Yi(t)為時間點(diǎn)t時最接近Xt的節(jié)點(diǎn),代表了對時間序列Xt的量化。
經(jīng)過反復(fù)修正與循環(huán),使Xt與Yj的距離最小:
式中,γ(t)∈[0,1]為學(xué)習(xí)速率。
若Xt為單一變量的時間序列,經(jīng)過自組織神經(jīng)網(wǎng)絡(luò)訓(xùn)練后,在線性空間中對Xt量化,Xt將轉(zhuǎn)換為離散點(diǎn)時間序列Yi=∈{Y1,Y2,…Yn} 。
預(yù)測的基礎(chǔ)是歷史大數(shù)據(jù),將3.1 節(jié)得到的關(guān)鍵影響因素輸入人工神經(jīng)網(wǎng)絡(luò)模型,將3.2 節(jié)主成分分析獲得的關(guān)鍵評估指標(biāo)按用戶需求選取t時間尺度,輸出(t+T)時刻的評估指標(biāo)值,反復(fù)訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)模型,得到預(yù)測模型。將關(guān)鍵影響因素實(shí)時數(shù)據(jù)輸入人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型,即可預(yù)測未來一段時間內(nèi)的評估指標(biāo)。時間尺度級別分為年、月、日、時、分,進(jìn)行相應(yīng)時限類指標(biāo)計算后,可用于不同場合的預(yù)測。選擇時間尺度小的單位可評估和預(yù)測網(wǎng)絡(luò)系統(tǒng)中車輛節(jié)點(diǎn)、車對車(Vehicle-to-Vehicle,V2V)連邊的不規(guī)則變動和隨機(jī)變動;選擇時間尺度大的單位可評估和預(yù)測整個預(yù)測期內(nèi)網(wǎng)絡(luò)系統(tǒng)呈現(xiàn)出的總體規(guī)律和周期性變動傾向,用于調(diào)度、檢修等決策控制和網(wǎng)絡(luò)規(guī)劃。
根據(jù)交通工程理論,道路交通事故危險源從人、車、路、環(huán)境角度劃分為4類,如圖3所示。
圖3 道路交通事故危險源分類
為防止交通事故發(fā)生,需安裝的設(shè)備包括數(shù)據(jù)信息采集設(shè)備、智能車載終端和信息化系統(tǒng)平臺。本文在內(nèi)蒙古地區(qū)安裝了96 臺(車輛編號為V1~V96)車載數(shù)據(jù)采集終端,上傳到中國工況信息化系統(tǒng)平臺,平臺已經(jīng)運(yùn)行2年,數(shù)據(jù)采集頻率為0.2 Hz[18]。相對速度F2、相對距離F3由內(nèi)置在智能車輛終端的GPS設(shè)備獲得數(shù)據(jù);車輛故障信息F1由車載單元通過數(shù)據(jù)采集設(shè)備傳輸至信息化系統(tǒng)平臺;駕駛員駕齡E1、性別E2、年齡E3在征集樣本車輛時獲得;駕駛員疲勞情況E4由車內(nèi)攝像頭獲得;環(huán)境因素N可由氣象部門獲得;由于道路因素L不可控,故在此算例中不考慮道路因素。去除無效數(shù)據(jù)后,用主成分分析法降維,每個指標(biāo)作為一個變量,基于收集的歷史大數(shù)據(jù)可獲得每個指標(biāo)的分布情況,用式(7)將各變量進(jìn)行正態(tài)分布標(biāo)準(zhǔn)化處理,并計算方差貢獻(xiàn)率和累計方差貢獻(xiàn)率,根據(jù)式(4)、式(5)計算14個指標(biāo)變量的相關(guān)系數(shù)矩陣R,用式(6)求其特征值λi,用式(8)、式(9)計算各指標(biāo)的貢獻(xiàn)率,結(jié)果如表1所示。
從表1 可以看出,前3 個主成分方差累計貢獻(xiàn)率達(dá)到了96.65%,說明這3個主成分可以代表其他參數(shù)變量的信息,再從主成分中選擇相關(guān)系數(shù)最高的評估指標(biāo),預(yù)測未來事故發(fā)生的可能性。最終,確定的3個關(guān)鍵指標(biāo)為:相對速度F2、相對距離F3、疲勞駕駛情況E4。
表1 各指標(biāo)變量的貢獻(xiàn)率
以常見的多輛車追尾交通事故為例,假設(shè)V1~V6為樣本車隊(duì)車輛,Vn為目標(biāo)車輛,阻止交通事故發(fā)生的原則是(t+T)時刻不能再增加車輛數(shù),即在t時刻采取目標(biāo)車輛變速或變道等阻斷措施使得前方樣本車隊(duì)車輛不與目標(biāo)車輛Vn構(gòu)成鏈,如圖4所示。
圖4 公路交通中各時刻車輛行駛狀態(tài)網(wǎng)絡(luò)
根據(jù)4.1 節(jié)確定的關(guān)鍵指標(biāo),整理數(shù)據(jù)庫中指標(biāo)異常的歷史數(shù)據(jù),每個異常歷史數(shù)據(jù)作為一個事務(wù)T,每個事務(wù)項(xiàng)集包含評估指標(biāo)和影響因素2類,即關(guān)鍵指標(biāo)集A和影響因素集B,基于圖2 所示算法流程挖掘出頻繁項(xiàng)集,設(shè)置支持度閾值為35%,置信度閾值為85%,從生成的關(guān)聯(lián)規(guī)則中尋找強(qiáng)規(guī)則,得到主要影響因素有:車輛運(yùn)行技術(shù)狀況、天氣、運(yùn)行時間(白天、夜晚)、駕駛員駕駛時間、駕駛員決策。
設(shè)置時間尺度為小時級,將主要影響因素輸入神經(jīng)網(wǎng)絡(luò)模型,輸出關(guān)鍵評估指標(biāo),留取部分樣本作為后續(xù)驗(yàn)證樣本,其余樣本都用于神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,得到VANET 運(yùn)行異常人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型。選取12 個樣本,其中出租車3輛、私家車5輛、公務(wù)車4輛,采集了48種參數(shù),包括車輛參數(shù)、運(yùn)行參數(shù)、環(huán)境條件、道路條件等。不限制行駛道路和行駛時間,作為12 種運(yùn)行條件進(jìn)行仿真,將實(shí)際情況與人工神經(jīng)網(wǎng)絡(luò)模型、本文方法進(jìn)行對比,結(jié)果如圖5~圖7 所示。其中概率值為“0”表示正常,“1”表示異常。
圖5 不同運(yùn)行條件下超速概率
圖6 不同運(yùn)行條件下疲勞駕駛概率
圖7 不同運(yùn)行條件下相對距離低于安全距離的概率
從圖5可知,采用本文方法的預(yù)測精度明顯高于不經(jīng)過關(guān)聯(lián)規(guī)則挖掘的方法,可以有效預(yù)測VANET網(wǎng)絡(luò)運(yùn)行異常概率。從圖6可知,本文方法預(yù)測精度較人工神經(jīng)網(wǎng)絡(luò)模型高。另外,本文預(yù)測方法模型訓(xùn)練時間短,模型演變快,便于根據(jù)運(yùn)行信息數(shù)據(jù)動態(tài)變化而快速調(diào)整模型,提高了模型的適應(yīng)性。同時,預(yù)測相對速度超速概率和疲勞駕駛概率還有助于交警判斷事故責(zé)任。由圖7可知,關(guān)聯(lián)規(guī)則挖掘算法比人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型預(yù)測精度高。
時間尺度選為月,基于歷史數(shù)據(jù),可獲取網(wǎng)絡(luò)異常狀態(tài)總體規(guī)律。將2018年11月~12月異常數(shù)據(jù)作為樣本,選取其中2/3 異常歷史數(shù)據(jù)進(jìn)行樣本訓(xùn)練,1/3 數(shù)據(jù)作為驗(yàn)證樣本,通過3.3節(jié)中的自組織神經(jīng)網(wǎng)絡(luò)算法計算概率,將主要影響因素作為輸入項(xiàng)集A,關(guān)鍵評估指標(biāo)作為輸出項(xiàng)集B。為評估不同道路(高速公路、郊區(qū)公路、城市街道)情境下的結(jié)果,獲得更穩(wěn)健的模型,采用交叉驗(yàn)證方案驗(yàn)證訓(xùn)練模型。將樣本數(shù)據(jù)集分割成10個子集,然后對第i(i=1,2,3,…,10)個子集進(jìn)行訓(xùn)練,其余子集作為驗(yàn)證集。不同情境下進(jìn)行超速、疲勞駕駛、相對距離低于安全距離檢測的準(zhǔn)確性仿真結(jié)果表明,經(jīng)關(guān)聯(lián)規(guī)則挖掘的算法在高速公路、郊區(qū)公路和城市街道的精度分別為89.5%、91.9%和92.4%,可獲得較高精度。
想獲得更高的精度,需要大量的、多樣性的訓(xùn)練數(shù)據(jù)以覆蓋驗(yàn)證集中的所有情況。例如在高速公路場景下,隨著訓(xùn)練數(shù)據(jù)量由數(shù)據(jù)集的10%增加到20%和30%,精度從82.3%提高到86.4%和89.5%,繼續(xù)增加訓(xùn)練數(shù)據(jù)量,準(zhǔn)確性在89.5%左右波動。需要指出的是,不同的訓(xùn)練數(shù)據(jù)子集對模型性能會產(chǎn)生不同的影響,即敏感性不同。平臺運(yùn)行2年中,呼和浩特市3月和11月左右多次出現(xiàn)大風(fēng)天氣,設(shè)備由于風(fēng)速增大受到了影響,使用本方法引起了異常誤報的情況,如何排除外界干擾引起的異常還需要進(jìn)一步研究。
本文研究了VANET多源異構(gòu)大數(shù)據(jù)運(yùn)行狀態(tài)異常檢測方法,在VANET運(yùn)行狀態(tài)評估中,汽車運(yùn)行參數(shù)數(shù)據(jù)量大,本文提出的方法對數(shù)據(jù)進(jìn)行了篩選、降維和標(biāo)準(zhǔn)化處理,采用主成分分析法降低了計算工作量,加快了計算速度,將并行關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘與人工神經(jīng)網(wǎng)絡(luò)預(yù)測技術(shù)相結(jié)合,提高了預(yù)測的精度。異常狀態(tài)檢測時,設(shè)備因受到環(huán)境影響造成的異常,使用本文方法可能會出現(xiàn)誤報異常的情況,下一步需對算法進(jìn)行相應(yīng)改進(jìn),盡量消除外因環(huán)境異常帶來的影響。