陳靜杰 崔金成
(中國(guó)民航大學(xué)電子信息與自動(dòng)化學(xué)院 天津 300300)
飛機(jī)在爬升的過(guò)程中,影響飛行燃油消耗的特征眾多,為了分析不同飛行特征對(duì)油耗的影響,需要根據(jù)影響爬升段油耗的主要飛行特征對(duì)飛行油耗數(shù)據(jù)進(jìn)行分類(lèi)[1]。由于收集的數(shù)據(jù)具有隨機(jī)性,致使油耗區(qū)間樣本分布不平衡。因此,本文以爬升段油耗為研究對(duì)象,并在數(shù)據(jù)層面處理不平衡性,以改善爬升段油耗分類(lèi)結(jié)果。
針對(duì)數(shù)據(jù)不平衡的分類(lèi)問(wèn)題,國(guó)內(nèi)外許多學(xué)者在算法層面和數(shù)據(jù)層面進(jìn)行了大量的研究。其中,基于算法層面的有代價(jià)敏感學(xué)習(xí)、集成算法等。文獻(xiàn)[2]采用改進(jìn)的隨機(jī)森林算法,對(duì)構(gòu)成森林的每棵樹(shù)進(jìn)行篩選,以方便分析高維空間中數(shù)據(jù)分布的不平衡問(wèn)題。文獻(xiàn)[3]提出了權(quán)重采樣算法,即boosting中權(quán)重更新機(jī)制保持不變,弱學(xué)習(xí)器在采樣后的權(quán)重分布下學(xué)習(xí),以提高分類(lèi)器性能。文獻(xiàn)[4]提出了一種動(dòng)態(tài)調(diào)整閾值的ε-KSVM分類(lèi)器,在利用KSVM對(duì)待測(cè)樣本進(jìn)行分類(lèi)前,采用遺傳算法尋找最優(yōu)閾值ε。而基于數(shù)據(jù)層面主要有過(guò)采樣、欠采樣和混合采樣技術(shù)。文獻(xiàn)[5]采用改進(jìn)的SMOTE算法構(gòu)造少數(shù)類(lèi)樣本,充分利用異類(lèi)近鄰的分布信息,對(duì)構(gòu)造的偽樣本的質(zhì)量和數(shù)量進(jìn)行控制,用來(lái)提高分類(lèi)準(zhǔn)確率。文獻(xiàn)[6]針對(duì)數(shù)據(jù)樣本分布不平衡,提出一種基于概率分布的過(guò)采樣技術(shù)構(gòu)造偽樣本,然后使用隨機(jī)森林進(jìn)行分類(lèi)。文獻(xiàn)[7]采用SMOTE算法對(duì)少數(shù)類(lèi)樣本進(jìn)行過(guò)采樣,和欠采樣對(duì)多數(shù)類(lèi)樣本進(jìn)行去重,構(gòu)造更清晰的分類(lèi)界面。
飛機(jī)飛行過(guò)程是一個(gè)復(fù)雜的非線性過(guò)程,極易受飛行環(huán)境影響,致使收集的樣本數(shù)據(jù)分布不平衡。根據(jù)少數(shù)類(lèi)樣本在爬升段油耗上的分布,本文利用k-medoids對(duì)少數(shù)類(lèi)樣本聚類(lèi),并使用SMOTE對(duì)聚類(lèi)的簇構(gòu)造偽樣本。不僅能保證在很大程度上不破壞原始數(shù)據(jù)分布,還能有效提升數(shù)據(jù)集的質(zhì)量。另外,文中采用隨機(jī)森林作為爬升段油耗分類(lèi)器,森林在建樹(shù)的過(guò)程中,訓(xùn)練樣本采用隨機(jī)有放回的采樣,在一定程度上消除了數(shù)據(jù)不平衡對(duì)分類(lèi)器的影響。
傳統(tǒng)的SMOTE算法從少數(shù)類(lèi)樣本中隨機(jī)構(gòu)造偽樣本,對(duì)所有少數(shù)類(lèi)樣本一視同仁,導(dǎo)致原始數(shù)據(jù)分布的改變。另一方面,如果構(gòu)造的偽樣本位于少數(shù)類(lèi)與多數(shù)類(lèi)的區(qū)間邊界,甚至向多數(shù)類(lèi)靠攏,加大了誤分類(lèi)的概率[8-9]。針對(duì)以上兩點(diǎn),本文提出一種基于k-medoids聚類(lèi)的改進(jìn)SMOTE算法。KMSMOTE的基本思想是將少數(shù)類(lèi)樣本進(jìn)行聚類(lèi),記錄每一個(gè)聚類(lèi)簇的中心值(簇心),之后SMOTE利用簇心對(duì)少數(shù)類(lèi)進(jìn)行插值構(gòu)造偽樣本。KMSMOTE算法具體計(jì)算過(guò)程如下:
(1) 確定需要聚類(lèi)的個(gè)數(shù)k。
(2) 在少數(shù)類(lèi)樣本集合中選取k個(gè)點(diǎn)作為各個(gè)聚簇的中心點(diǎn)。
(3) 計(jì)算其余所有點(diǎn)到k個(gè)中心點(diǎn)的距離,并把每個(gè)點(diǎn)到k個(gè)中心點(diǎn)最短的距離作為自己所屬的聚簇。
(4) 在每個(gè)聚簇中按照順序依次選取點(diǎn),計(jì)算該點(diǎn)到當(dāng)前聚簇中所有點(diǎn)距離之和,最終距離之和最小的點(diǎn),則視為新的簇中心點(diǎn)。
(5) 重復(fù)步驟2、步驟3,直到各個(gè)聚簇的中心點(diǎn)不再改變。設(shè)最終各個(gè)類(lèi)的簇心分別為{c1,c2,…,ck}。
(6) 選擇k-medoids聚類(lèi)得到的簇心及其近鄰構(gòu)造偽樣本,對(duì)每一個(gè)簇心等概率的構(gòu)造偽樣本。使用改進(jìn)的公式構(gòu)造樣本,公式如下:
xnew=ci+rand(0,1)×(xj-ci)i=1,2,…,k
(1)
式中:xnew為新構(gòu)造的樣本點(diǎn);ci為簇心;xj是以ci為簇心的聚類(lèi)簇里的樣本;rand(0,1)表示0到1之間的隨機(jī)數(shù)。
針對(duì)爬升油耗數(shù)據(jù)分布不平衡問(wèn)題,文中主要從數(shù)據(jù)層面入手,使用改進(jìn)的SMOTE算法對(duì)少數(shù)類(lèi)樣本進(jìn)行插值處理,使其達(dá)到與多數(shù)類(lèi)相同的樣本數(shù)。平衡樣本數(shù)據(jù)后,利用隨機(jī)森林的優(yōu)勢(shì)構(gòu)建爬升段油耗分類(lèi)器[10-11]。隨機(jī)森林從訓(xùn)練集中隨機(jī)有放回的選取樣本,訓(xùn)練得到ntree棵CART決策樹(shù),作為基分類(lèi)器。將生成的多棵決策樹(shù)組成隨機(jī)森林,對(duì)于分類(lèi)任務(wù),得到ntree個(gè)基分類(lèi)器投出最多票數(shù)的類(lèi)別為最終類(lèi)別?;贙MSMOTE和隨機(jī)森林的分類(lèi)算法,具體步驟如下:
(1) 從QAR數(shù)據(jù)中提取爬升段油耗及飛行特征,并對(duì)油耗數(shù)據(jù)進(jìn)行離散化,得到不同飛行特征對(duì)應(yīng)的油耗類(lèi)別。
(2) 利用KMSMOTE對(duì)少數(shù)類(lèi)樣本進(jìn)行插值構(gòu)造偽樣本,使其與多數(shù)類(lèi)擁有相同的數(shù)據(jù)規(guī)模。
(3) 隨機(jī)森林分類(lèi)。將原始數(shù)據(jù)訓(xùn)練集進(jìn)行平衡化處理之后,使用隨機(jī)森林對(duì)平衡后數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測(cè)。其中,由于飛行特征多為連續(xù)特征,所以采用CART決策樹(shù)構(gòu)成隨機(jī)森林。
(4) 分類(lèi)模型KMSMOTE-RF的訓(xùn)練與驗(yàn)證。
采用準(zhǔn)確率,精確率和召回率三個(gè)性能指標(biāo),評(píng)價(jià)分類(lèi)器性能。這些評(píng)價(jià)指標(biāo)的計(jì)算都需要用到如表1所示的三分類(lèi)的混淆矩陣[12-13]。混淆矩陣的主對(duì)角元素(v11,v22,v33)為被分到正確類(lèi)別的樣本數(shù),對(duì)角線以外的元素為隨機(jī)森林分類(lèi)相對(duì)于樣本真實(shí)類(lèi)別的誤分類(lèi)數(shù)。其中,V1、V2和V3表示分類(lèi)的類(lèi)別。
表1 三分類(lèi)混淆矩陣
準(zhǔn)確率:指對(duì)于給定的測(cè)試數(shù)據(jù)集,分類(lèi)器正確分類(lèi)的樣本數(shù)與總樣本數(shù)的比值,反映了分類(lèi)器對(duì)整個(gè)測(cè)試集樣本的判定能力,計(jì)算公式如下:
(2)
精確率:指被分類(lèi)器預(yù)測(cè)的樣本中預(yù)測(cè)結(jié)果正確的比重,公式如下:
(3)
召回率:指被分類(lèi)器正確預(yù)測(cè)的樣本占真實(shí)類(lèi)別樣本的比重,公式如下:
(4)
飛機(jī)的飛行一般包括起飛、爬升、巡航、下降和著陸五個(gè)階段。滑跑段和著路段情況復(fù)雜且油耗占比較少,文中只對(duì)爬升段油耗進(jìn)行分析,巡航段和下降段油耗分析方法與爬升段類(lèi)似。根據(jù)QAR數(shù)據(jù)和相關(guān)文獻(xiàn)[14-15],分析出4個(gè)影響爬升段油耗的主要飛行特征:(1) 爬升距離,即爬升段實(shí)飛距離,根據(jù)QAR數(shù)據(jù)里的經(jīng)緯度求出每秒大圓距離,累加可得。(2) 爬升時(shí)間,指爬升段所用的總時(shí)間。(3) 平均爬升率,即每分鐘飛機(jī)上升的高度。(4) 初始爬升重量,由飛機(jī)起飛前總重量減去滑跑段油耗量。另外,目標(biāo)變量為爬升油耗,即爬升段平均油耗,根據(jù)飛機(jī)爬升期間,左發(fā)動(dòng)機(jī)和右發(fā)動(dòng)機(jī)燃油流量相加,對(duì)時(shí)間取平均值得出。
本文選取飛行航線為北京飛大連,機(jī)型為空客A331,共560個(gè)QAR航班數(shù)據(jù)為實(shí)驗(yàn)樣本。同一航線、同一機(jī)型多個(gè)航班的爬升油耗是一個(gè)在區(qū)間內(nèi)隨機(jī)取值的連續(xù)性變量,首先需要將油耗數(shù)據(jù)進(jìn)行離散化處理,本文采用等間距法將其劃分為三個(gè)互不相交的小區(qū)間,劃分結(jié)果如圖1所示。每個(gè)區(qū)間由一個(gè)類(lèi)別標(biāo)簽表示,分別為最小油耗區(qū)間V1、平均油耗區(qū)間V2和最大油耗區(qū)間V3。由圖2可以看出不同類(lèi)別的樣本量極度不平衡,即類(lèi)別之間的比例失調(diào),致使預(yù)測(cè)結(jié)果會(huì)偏向較多樣本的類(lèi)。
圖1 爬升油耗區(qū)間劃分
由圖1可得,對(duì)于V2而言,區(qū)間V2和V3都屬于少數(shù)類(lèi),約是多數(shù)類(lèi)的三分之一。爬升段油耗分布比較離散,不同區(qū)間的差值也比較大。尤其最大值與最小值油耗相差近1 500 kg燃油,這為調(diào)節(jié)航空燃油提供了充足的優(yōu)化空間。
隨機(jī)選取總樣本量的80%作為訓(xùn)練集,剩下20%樣本作為驗(yàn)證模型的測(cè)試集。在對(duì)爬升段油耗分類(lèi)過(guò)程中,聚類(lèi)個(gè)數(shù)k值和構(gòu)成森林樹(shù)的個(gè)數(shù)ntree會(huì)對(duì)分類(lèi)算法產(chǎn)生一定的影響。故使用準(zhǔn)確率指標(biāo),測(cè)試了ntree和k值對(duì)本文所提方法分類(lèi)性能的影響。在測(cè)試森林規(guī)模時(shí),特征指標(biāo)不變,取k值為一固定值,僅改變森林規(guī)模在10到500棵樹(shù)之間,每增加10棵樹(shù)運(yùn)行10次算法,求其準(zhǔn)確率均值,結(jié)果如圖2所示。
圖2 不同森林規(guī)模的分類(lèi)準(zhǔn)確率
根據(jù)圖2可以看出,隨機(jī)森林規(guī)模在70棵樹(shù)的時(shí)候,分類(lèi)準(zhǔn)確率最高,達(dá)到91.3%。隨著森林規(guī)模的增加,預(yù)測(cè)準(zhǔn)確率呈衰減狀態(tài),最后趨于平穩(wěn)。這是因?yàn)殡S著森林規(guī)模的增加,后面的樹(shù)可解釋性變差。
測(cè)試聚類(lèi)個(gè)數(shù)k值時(shí),保持森林規(guī)模ntree等于200,聚類(lèi)個(gè)數(shù)分別從3到10,每個(gè)k值運(yùn)行10次,以準(zhǔn)確率均值作為評(píng)價(jià)指標(biāo),結(jié)果如圖3所示。
圖3 不同k值的分類(lèi)準(zhǔn)確率
由圖3可得,當(dāng)聚類(lèi)個(gè)數(shù)k值等于7時(shí),最大分類(lèi)平均準(zhǔn)確率為90.3%。所以,本文在使用KMSMOTE-RF方法做實(shí)驗(yàn)時(shí),均基于k-medoids聚類(lèi)個(gè)數(shù)設(shè)置為7,隨機(jī)森林規(guī)模ntree設(shè)置為200。
采用對(duì)比試驗(yàn),使用隨機(jī)森林、傳統(tǒng)SMOTE-RF和文中所提方法分別進(jìn)行了實(shí)驗(yàn)。為保證結(jié)果的精確度,每個(gè)實(shí)驗(yàn)獨(dú)立運(yùn)行10次,最后取性能指標(biāo)的平均值。平均分類(lèi)性能如表2所示。
表2 分類(lèi)模型性能評(píng)價(jià)指標(biāo)
由表2可以得出以下結(jié)論:
(1) 單獨(dú)使用隨機(jī)森林進(jìn)行分類(lèi)時(shí),從少數(shù)類(lèi)召回率明顯低于多數(shù)類(lèi)的召回率,在分類(lèi)過(guò)程中仍然存在樣本不平衡問(wèn)題。
(2) 加入SMOTE算法對(duì)原始數(shù)據(jù)進(jìn)行處理后,分類(lèi)準(zhǔn)確率有所提高。類(lèi)別V1的精確率由88.6%減小到79.8%,而召回率由60.1%增大到80.5%,說(shuō)明分類(lèi)器對(duì)少數(shù)類(lèi)樣本的識(shí)別能力提高了。
(3) 使用改進(jìn)的KMSMOTE與隨機(jī)森林相結(jié)合,不僅在分類(lèi)準(zhǔn)確率上有所提高,且還降低了多數(shù)類(lèi)與少數(shù)類(lèi)的精確率與召回率之間的差值,使分類(lèi)結(jié)果不在偏向多數(shù)類(lèi)。
在航空業(yè)節(jié)能減排的趨勢(shì)下,文中從爬升段油耗的數(shù)據(jù)不平衡著手,基于KMSMOTE的隨機(jī)森林分類(lèi)器處理油耗數(shù)據(jù)的不平衡問(wèn)題。一方面,該算法對(duì)從數(shù)據(jù)層面分析數(shù)據(jù)的不平衡性,并對(duì)傳統(tǒng)的過(guò)采樣技術(shù)SMOTE進(jìn)行改進(jìn),以此提高分類(lèi)器的性能。另一方面,由于隨機(jī)森林的集成思想的優(yōu)勢(shì),構(gòu)成森林的每一棵決策樹(shù)訓(xùn)練和分類(lèi)過(guò)程都是獨(dú)立的,可以通過(guò)并行處理降低程序的運(yùn)行時(shí)間,本文的不足之處在于油耗區(qū)間劃分過(guò)硬,對(duì)油耗數(shù)據(jù)區(qū)間劃分未與飛行特征聯(lián)系起來(lái),這是下一步需要研究的方向。