朱 明,王春梅,高 翔,王 靜
1(中國(guó)科學(xué)院 國(guó)家空間科學(xué)中心,北京 100190)2(中國(guó)科學(xué)院大學(xué),北京 100049)
隨著航天事業(yè)的發(fā)展,在軌衛(wèi)星的數(shù)量越來(lái)越多.據(jù)美國(guó)憂思科學(xué)家聯(lián)盟(UCS)統(tǒng)計(jì),截至2018年8月,全球在軌運(yùn)行的衛(wèi)星數(shù)量為1886顆.衛(wèi)星的頻率和軌道資源日趨緊張,各國(guó)爭(zhēng)相搶占頻率和軌道資源,致使衛(wèi)星網(wǎng)絡(luò)之間的協(xié)調(diào)難度不斷加大,協(xié)調(diào)任務(wù)不斷加重[1-5],實(shí)現(xiàn)衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)的預(yù)測(cè)可以有效降低成本,提高協(xié)調(diào)效率和成功率,然而經(jīng)過(guò)中國(guó)知網(wǎng)、百度學(xué)術(shù)、必應(yīng)學(xué)術(shù)和Web of Science核心合集的檢索,目前尚缺乏衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)的相關(guān)研究.
機(jī)器學(xué)習(xí)算法在求解預(yù)測(cè)問(wèn)題具有重要應(yīng)用,而XGBoost算法作為機(jī)器學(xué)習(xí)算法中的一種,在電商銷售預(yù)測(cè)、油價(jià)預(yù)測(cè)、用戶行為預(yù)測(cè)、軸承故障預(yù)測(cè)、醫(yī)療診斷等領(lǐng)域均取得較好效果.文獻(xiàn)[6]利用XGBoost模型對(duì)商業(yè)銷售進(jìn)行預(yù)測(cè),在訓(xùn)練速度及評(píng)價(jià)標(biāo)準(zhǔn)上均具有明顯的優(yōu)勢(shì).文獻(xiàn)[7]對(duì)國(guó)際原油價(jià)格進(jìn)行預(yù)測(cè)研究,預(yù)測(cè)精度高、泛化能力強(qiáng).文獻(xiàn)[8-11]分別對(duì)用戶行為、風(fēng)機(jī)主軸承故障、節(jié)假日路網(wǎng)流量與骨質(zhì)疏松性骨折進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果的效率和準(zhǔn)確度方面均具有較好的優(yōu)越性.
鑒于此,本文提出基于XGBoost的衛(wèi)星網(wǎng)路協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)方法,實(shí)現(xiàn)對(duì)衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)有效預(yù)測(cè),達(dá)到降低協(xié)調(diào)成本、提高協(xié)調(diào)效率的目的,并通過(guò)對(duì)比實(shí)驗(yàn),驗(yàn)證該方法的可行性與優(yōu)越性.
衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)數(shù)據(jù)主要包括:衛(wèi)星所屬國(guó)實(shí)力數(shù)據(jù)、需協(xié)調(diào)國(guó)家及其實(shí)力數(shù)據(jù)以及衛(wèi)星適用頻段及其相關(guān)屬性數(shù)據(jù).表1~表3分別列出上述三種數(shù)據(jù)的部分示例,其表中USA、KOR、CHN與UAE分別表示美國(guó)、韓國(guó)、中國(guó)與阿拉伯聯(lián)合酋長(zhǎng)國(guó).
數(shù)據(jù)表中的衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)數(shù)據(jù)共有461條記錄,每條記錄含有3441列特征,數(shù)據(jù)維度極高,選擇既能保證較好的泛化能力又能保證較高效率的模型極為重要.
集成學(xué)習(xí)模型是按照某種規(guī)則將多個(gè)學(xué)習(xí)器的結(jié)果進(jìn)行整合,從而獲得比單學(xué)習(xí)模型學(xué)習(xí)效果更優(yōu)的一種模型.其模型思想主要有兩種:
1)Bagging思想,是采用多個(gè)并行的學(xué)習(xí)器進(jìn)行預(yù)測(cè),然后基于“少數(shù)服從多數(shù)”的策略來(lái)確定最終的結(jié)果,典型的算法如隨機(jī)森林(Random Forests,RF)方法.RF算法在訓(xùn)練決策樹(shù)的過(guò)程中進(jìn)行特征的隨機(jī)選擇,雖然能夠處理高維數(shù)據(jù)集,但當(dāng)數(shù)據(jù)中某個(gè)特征含有較多特征值時(shí),容易出現(xiàn)過(guò)擬合問(wèn)題;
表1 衛(wèi)星所屬國(guó)實(shí)力數(shù)據(jù)示例
Table 1 Example of strength data of satellite country
衛(wèi)星名稱衛(wèi)星所屬國(guó)家該國(guó)投入使用量該國(guó)C資料同步軌道衛(wèi)星網(wǎng)絡(luò)數(shù)量該國(guó)N資料同步軌道衛(wèi)星網(wǎng)絡(luò)數(shù)量該國(guó)操作者數(shù)量…USNN-3USA76819435780…COMS-116.2EKOR517292615…CHINASAT-MSB5CHN54421017761……………………
表2 需協(xié)調(diào)國(guó)家及其實(shí)力數(shù)據(jù)示例
Table 2 Example of coordination of countries and their strength data
衛(wèi)星名稱衛(wèi)星所屬國(guó)家需協(xié)調(diào)國(guó)家-UAEUAE投入使用量UAE-C資料同步軌道衛(wèi)星網(wǎng)絡(luò)數(shù)量UAE-N資料同步軌道衛(wèi)星網(wǎng)絡(luò)數(shù)量…USNN-3USAYES15313043…COMS-116.2EKORNO15313043…CHINASAT-MSB5CHNYES15313043……………………
表3 衛(wèi)星使用頻段及其相關(guān)數(shù)據(jù)示例
Table 3 Examples of satellite frequency bands and related data
2)Boosting即將多個(gè)學(xué)習(xí)準(zhǔn)確率低的弱學(xué)習(xí)器,集成一個(gè)學(xué)習(xí)準(zhǔn)確率高的強(qiáng)學(xué)習(xí)器,典型的算法如Adaboost和GBDT(Gradient Boosting,梯度提升樹(shù)).Adaboost算法通過(guò)調(diào)整樣本權(quán)重將多個(gè)弱學(xué)習(xí)器集成為強(qiáng)學(xué)習(xí)器,擅長(zhǎng)解決分類問(wèn)題[12].GBDT算法的建樹(shù)迭代過(guò)程是在前一次迭代的基礎(chǔ)上完成本次迭代,比Adaboost性能更佳,但是GBDT算法的基礎(chǔ)學(xué)習(xí)器僅能使用CART(Classification and Regression Tree)回歸樹(shù)模型,并且時(shí)間和空間復(fù)雜度較高.
XGBoost是華盛頓大學(xué)的陳天奇博士在2016年提出的一種GBDT算法的優(yōu)化算法[13].主要有三方面的優(yōu)勢(shì):
1)支持并行處理,一方面XGBoost模型采用按列存儲(chǔ)的方式保存數(shù)據(jù),可以并行的對(duì)同層級(jí)的所有特征進(jìn)行分裂點(diǎn)的查找計(jì)算,另一方面,XGBoost在模型訓(xùn)練之前預(yù)先對(duì)數(shù)據(jù)進(jìn)行排序并保存為block結(jié)構(gòu),在計(jì)算中重復(fù)使用這個(gè)結(jié)構(gòu)使得它可以在特征粒度上利用CPU多線程實(shí)現(xiàn)并行計(jì)算,提高運(yùn)行效率[14];
2)最優(yōu)解收斂速度快.XGBoost模型相較于GBDT算法在代價(jià)函數(shù)上進(jìn)行了二階的泰勒展開(kāi),通過(guò)計(jì)算二次函數(shù)求出最優(yōu)解,使算法的收斂速度更快;
3)避免過(guò)擬合.XGBoost模型在代價(jià)函數(shù)中加入正則項(xiàng)來(lái)控制模型的復(fù)雜度,進(jìn)而降低模型的方差,避免過(guò)擬合現(xiàn)象的發(fā)生.
因此,采用XGBoost模型對(duì)衛(wèi)星網(wǎng)路協(xié)調(diào)態(tài)勢(shì)進(jìn)行預(yù)測(cè),可以有效提升運(yùn)行效率,避免過(guò)擬合現(xiàn)象的發(fā)生.
XGBoost模型預(yù)測(cè)過(guò)程如圖1所示.預(yù)測(cè)模型主要包括兩部分:數(shù)據(jù)預(yù)處理和模型構(gòu)建.數(shù)據(jù)預(yù)處理主要任務(wù)是用于生成完整和可用的數(shù)據(jù)集,其包括數(shù)據(jù)集成與數(shù)據(jù)清洗兩部分.模型構(gòu)建的主要任務(wù)是訓(xùn)練各基學(xué)習(xí)器,通過(guò)參數(shù)調(diào)優(yōu)降低模型誤差,最后集成成為準(zhǔn)確率較高的組合學(xué)習(xí)模型.
為了防止數(shù)據(jù)集冗余和不一致,提高預(yù)測(cè)模型的準(zhǔn)確性與速度,因此,將多個(gè)數(shù)據(jù)表集成為具有統(tǒng)一屬性及單位的數(shù)據(jù)集.數(shù)據(jù)集成示意圖如圖2所示.數(shù)據(jù)集成步驟如下:
①首先匹配衛(wèi)星所屬國(guó)家(即圖2中標(biāo)識(shí)[1]);
②匹配成功后,將衛(wèi)星所屬國(guó)實(shí)力屬性插入到原始數(shù)據(jù)表中(即圖2中標(biāo)識(shí)[2]添加到標(biāo)識(shí)[1]后面);
圖2 數(shù)據(jù)集成示意圖Fig.2 Data integration diagram
③根據(jù)國(guó)家名稱,將需協(xié)調(diào)國(guó)家實(shí)力屬性添加到原數(shù)據(jù)表中(即圖2中標(biāo)識(shí)[2]添加到標(biāo)識(shí)[3]后面);
④根據(jù)ID值(即圖2中標(biāo)識(shí)[4]),將頻段屬性添加到原始數(shù)據(jù)表中(即圖2中標(biāo)識(shí)[5]添加到標(biāo)識(shí)[6]前面),數(shù)據(jù)集成結(jié)束.
衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)數(shù)據(jù)的數(shù)據(jù)類型主要有兩類:數(shù)值型與非數(shù)值型數(shù)據(jù),而XGBoost的基學(xué)習(xí)器是一種回歸樹(shù)模型,只能處理數(shù)值型數(shù)據(jù),因此,需要對(duì)其原始數(shù)據(jù)進(jìn)行清洗,將非數(shù)值型數(shù)據(jù)轉(zhuǎn)化為數(shù)值型.
數(shù)據(jù)清洗過(guò)程包含三部分:缺失值的填充、字符數(shù)據(jù)的量化及刪除異常數(shù)據(jù).數(shù)據(jù)清洗示意圖如圖3所示.數(shù)據(jù)清洗步驟如下:
圖3 數(shù)據(jù)清洗示意圖Fig.3 Data cleaning diagram
①判斷原始數(shù)據(jù)集中數(shù)據(jù)類型.若為數(shù)值型數(shù)據(jù),轉(zhuǎn)到步驟③.若為非數(shù)值型數(shù)據(jù),轉(zhuǎn)到下一步.
②判斷非數(shù)值型數(shù)據(jù)類型.若為缺失值數(shù)據(jù),進(jìn)行缺失值填充.衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)數(shù)據(jù)中,缺失值說(shuō)明該衛(wèi)星不使用此頻段范圍,因此,將缺失值處填充為0.若為字符數(shù)據(jù),進(jìn)行字符型數(shù)據(jù)量化.字符型數(shù)據(jù)則主要有YES和NO,如表2所示,YES表示與該國(guó)存在協(xié)調(diào)關(guān)系,NO表示與該國(guó)不存在協(xié)調(diào)關(guān)系;如表3所示,YES表示該衛(wèi)星使用此頻段范圍,NO表示該衛(wèi)星不使用此頻段范圍.本文使用1和0分別對(duì)應(yīng)表示YES和NO.
③刪除異常數(shù)據(jù).
④數(shù)據(jù)清洗完成,形成數(shù)據(jù)集.
數(shù)據(jù)劃分如圖4所示.數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,數(shù)量分別為362條和100條數(shù)據(jù).訓(xùn)練集按照7:3的比例劃分為訓(xùn)練子集和驗(yàn)證集.訓(xùn)練子集用作訓(xùn)練回歸預(yù)測(cè)模型,驗(yàn)證集用作確定回歸預(yù)測(cè)模型參數(shù),測(cè)試集用作模型驗(yàn)證及結(jié)果分析.
圖4 數(shù)據(jù)劃分示意圖Fig.4 Data division diagram
XGBoost參數(shù)[15]較多,其中以max_depth,min_child_weight,eta,gamma,subsample,colsample_bytree,lambda,alpha對(duì)模型的性能影響較大,因此構(gòu)建預(yù)測(cè)模型時(shí)主要針對(duì)上述參數(shù)進(jìn)行調(diào)優(yōu).XGBoost參數(shù)信息如表4所示.
參數(shù)選擇采用遍歷的方法,搜索步長(zhǎng)從大變小.以max_depth參數(shù)為例,選擇方法步驟如下:
①設(shè)定參數(shù)初始值為默認(rèn)值6;
②設(shè)定參數(shù)遍歷范圍為[3,12];
③設(shè)定參數(shù)遍歷步長(zhǎng)為2,如圖5所示,可以看出在max_depth的值為5時(shí),平均絕對(duì)誤差(MAE)最小,其值為0.2403;
④參數(shù)遍歷范圍縮小為[3,7];
圖5 max_depth參數(shù)步長(zhǎng)為2時(shí)的誤差值Fig.5 Error value of max_depth step 2
⑤把參數(shù)遍歷的步長(zhǎng)調(diào)節(jié)為1,如圖6所示,可以看出平均絕對(duì)誤差(MAE)的最低點(diǎn)從0.2403變成為0.2392,參數(shù)max_depth的值從5變?yōu)?.綜上所述,max_depth的參數(shù)值為4.
圖6 max_depth參數(shù)步長(zhǎng)為1時(shí)的誤差值Fig.6 Error value of max_depth step 1
表4 XGBoost參數(shù)信息
Table 4 XGBoost parameter information
操作系統(tǒng):Windows10,64位.
開(kāi)發(fā)平臺(tái):Pycharm,python3.6.3.
第三方庫(kù):Numpy,Pandas,scikit-learn,xgboost.
硬件環(huán)境:Inter(R)Core(TM)i7-7700HQ CPU @ 2.80GHz 2.81GHz.
本文實(shí)驗(yàn)分為兩部分,第一部分實(shí)驗(yàn)是XGBoost模型參數(shù)調(diào)優(yōu).步驟及參數(shù)詳細(xì)信息參見(jiàn)章節(jié)4.2 參數(shù)調(diào)優(yōu).為驗(yàn)證XGBoost模型的預(yù)測(cè)方法在解決衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)問(wèn)題的優(yōu)越性,第二部分實(shí)驗(yàn)是與其他預(yù)測(cè)模型對(duì)比實(shí)驗(yàn).實(shí)驗(yàn)將XGBoost模型分別與平均回歸的K鄰近(UNI_KNR)、距離加權(quán)回歸的K鄰近(DIS_KNR)、徑向基核函數(shù)的支持向量機(jī)(RBF_SVR)、回歸樹(shù)(DTR)、隨機(jī)森林(RF)、極端隨機(jī)森林(ETR)和彈性網(wǎng)絡(luò)回歸(ElasticNet)模型進(jìn)行結(jié)果對(duì)比.
本實(shí)驗(yàn)采用均方誤差(MSE)和平均絕對(duì)誤差(MAE)作為預(yù)測(cè)模型的評(píng)價(jià)函數(shù),誤差數(shù)值越小說(shuō)明預(yù)測(cè)的結(jié)果越好,其評(píng)價(jià)函數(shù)的計(jì)算公式分別如公式(1)和公式(2)所示:
(1)
(2)
表5 預(yù)測(cè)模型評(píng)價(jià)結(jié)果
Table 5 Evaluation results of prediction model
模型MSEMAEXGBoost0.131180.30082UNI_KNR0.162790.34100DIS_KNR0.160800.33165RBF_SVR0.152710.35072DTR0.201730.34517RF0.147040.32261ETR0.162900.31783ElasticNet1.602450.76083
第二部分實(shí)驗(yàn)中8種模型的預(yù)測(cè)評(píng)價(jià)結(jié)果如表5所示.比較表5 中各模型預(yù)測(cè)評(píng)價(jià)結(jié)果可以看出:
1)XGBoost回歸模型、支持向量機(jī)回歸模型、K鄰近回歸、隨機(jī)森林回歸等基于非線性的預(yù)測(cè)模型遠(yuǎn)好于基于線性模型的彈性網(wǎng)絡(luò)回歸模型,表明衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)數(shù)據(jù)為非線性關(guān)系,因此采用非線性回歸預(yù)測(cè)模型優(yōu)于線性回歸預(yù)測(cè)模型;
2)在衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)方面,XGBoost模型和隨機(jī)森林的集成學(xué)習(xí)方法預(yù)測(cè)效果好于彈性網(wǎng)絡(luò)回歸、支持向量機(jī)回歸,K鄰近回歸等單學(xué)習(xí)模型;
3)XGBoost模型評(píng)價(jià)函數(shù)的均方誤差(MSE)和絕對(duì)誤差(MAE)均小于其他模型,且相較于次優(yōu)模型(RF和ETR),其MSE降低了10.78%,MAE降低了5.35%,表明XGBoost模型具有較好的衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)精度和泛化能力.
為降低衛(wèi)星網(wǎng)路協(xié)調(diào)難度,提高協(xié)調(diào)任務(wù)效率,本文研究基于衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)的高維數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)方法.采用XGBoost的模型實(shí)現(xiàn)對(duì)衛(wèi)星網(wǎng)絡(luò)協(xié)調(diào)態(tài)勢(shì)的有效預(yù)測(cè).并實(shí)驗(yàn)對(duì)比平均回歸的K鄰近、距離加權(quán)回歸的K鄰近、徑向基核函數(shù)的支持向量機(jī)等7種回歸模型,結(jié)果表明XGBoost模型在衛(wèi)星網(wǎng)路協(xié)調(diào)態(tài)勢(shì)預(yù)測(cè)方面具有較好的預(yù)測(cè)精度和泛化能力.