李笑雪,張思凝,王婭婭,苗夢凡
(沈陽航空航天大學(xué)電子信息工程學(xué)院,遼寧沈陽,110136)
移動互聯(lián)網(wǎng)飛速發(fā)展,移動流量呈現(xiàn)爆炸式增長,基站的流量預(yù)測問題變得越來越重要。為了改善這個問題,需要給基站增加載頻的數(shù)量來擴容,使基站可以承載更多的流量;另一方面,基站存在潮汐現(xiàn)象,使得在某些時段,用戶數(shù)量會大幅降低。由于基站數(shù)量巨大,無法通過人工實時關(guān)注每個基站的流量變化,故需要利用模型對基站流量隨時間變化的情況進行預(yù)測[1-3]。
目前已有大量研究將樹型算法應(yīng)用于預(yù)測領(lǐng)域。極端隨機樹(Extratrees)模型處理非線性相關(guān)數(shù)據(jù)效果好,在預(yù)測超短時負(fù)荷過程中應(yīng)用該模型取得了較好的效果[4]。文獻(xiàn)[5]應(yīng)用了梯度提升樹預(yù)測寫字樓月度用電量,并與差分整合移動平均自回歸模型ARIMA、神經(jīng)網(wǎng)絡(luò)模型LSTM 進行效果對比,取得了最佳效果。[6]利用裝袋算法將弱預(yù)測模型訓(xùn)練成強預(yù)測模型序列,將Bagging 算法與FNN 算法結(jié)合,對日負(fù)荷進行預(yù)測。實驗結(jié)果表明模型可以有效地預(yù)測96 點日負(fù)荷數(shù)據(jù),具有工程實用價值。Bagging 集成算法與指數(shù)平滑方法相結(jié)合的Bagging 指數(shù)平滑方法可以準(zhǔn)確預(yù)測航空客運需求。模型評估結(jié)果表明,該方法優(yōu)于其他傳統(tǒng)的時間序列預(yù)測方法[7-8]。為了提高模型的預(yù)測精度,采用Bagging算法對多個基學(xué)習(xí)器進行GPR 集成,最大限度地降低了噪聲信號的影響,并通過對比分析實驗,驗證了該方法較之人工神經(jīng)網(wǎng)絡(luò)和支持向量機,預(yù)測精度更好。為提高白水河滑坡位移預(yù)測精度。[9]提出一種新的預(yù)測模型,利用融合了Adaboost 算法的模型對波動項進行預(yù)測,并驗證了模型在位移預(yù)測方面的優(yōu)越性。[10]通過Boosting 集成學(xué)習(xí)構(gòu)建了具有較高的預(yù)測精度的腫瘤藥物敏感性預(yù)測模型,并從生物學(xué)角度提供了模型可解釋性。
上述研究均表明樹型算法在預(yù)測方向的有效性,而樹型算法在短期流量預(yù)測領(lǐng)域應(yīng)用較少,故本文將樹型算法應(yīng)用于短期流量預(yù)測領(lǐng)域進行研究。
ExtraTrees 回歸器算法(ET)是一種集成算法。其基分類器使用全部樣本進行訓(xùn)練,為增強隨機性,在節(jié)點分裂時隨機從M 個特征中選擇m 個特征,以基尼系數(shù)或信息增益熵選擇最優(yōu)屬性進行分裂,分裂過程中不剪枝,直到生成一個決策樹(基分類器)。利用投票決策對所有基分類器統(tǒng)計產(chǎn)生最終分類結(jié)果。
ET 優(yōu)于貪婪的決策樹,在小樣本上有更好的的平滑性,能有效降低偏差和方差。
當(dāng)基分類器的數(shù)量M→∞時,對比其他基于樹的集成分類方法,ET 更連續(xù)光滑。從偏差和方差的角度看,模型的連續(xù)性使得目標(biāo)函數(shù)平滑區(qū)域的方差和偏移較小,從而使得該區(qū)域的模型更加準(zhǔn)確。
Gradient Boosting Decision Tree 簡稱GBDT,是一種提升的決策樹算法。該算法由多棵決策樹組成,所有樹的結(jié)論累加起來做最終答案。
回歸樹如式(1)所示。
Bagging 是基于自主采樣法下并行式集成學(xué)習(xí)的方式,個體學(xué)習(xí)器同隨機森林一樣,互不影響,自主采樣法是將含有m 個樣本的數(shù)據(jù)集先隨機的抽取出一個樣本,將抽到樣本放到采集樣里,之后再放回原來的集合中以保證該樣本在下次還有可能被抽到。經(jīng)過m 次后,可以獲得一個包含m 個樣本的集合,這些樣本中,初始數(shù)據(jù)集中的樣本,有的會在采樣集中多次出現(xiàn),有的出現(xiàn)次數(shù)為0。
采集T 個含有m 個樣本的集合并訓(xùn)練出基學(xué)習(xí)器,再將這些學(xué)習(xí)器用結(jié)合策略結(jié)合起來,這就是Bagging 的基本思想。
Bagging 算法的基本過程:
對于給定訓(xùn)練集D={(x1,y1),(x2,y2),...,(xm,ym)},訓(xùn)練的次數(shù)為T,t=1,2,...,T 有:
①對訓(xùn)練集進行第t 次采樣,共采集m 次,得到的采樣集有m 個樣本。
②用采樣集訓(xùn)練第m 個個體學(xué)習(xí)器,如果預(yù)測的是分類問題,則從T 個學(xué)習(xí)器中使用投票法,投出票數(shù)較多的幾個類別,或者票數(shù)最多的某一個;如果預(yù)測的是回歸問題,則用T 個學(xué)習(xí)器得到的回歸結(jié)果進行算術(shù)平均得到的結(jié)果作為最終模型的輸出結(jié)果。
AdaBoost 是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。
AdaBoost 是adaptive boosting 的縮寫,屬于boosting 集成系列算法。AdaBoost 既可以用于分類也可以用于回歸。當(dāng)AdaBoost 用于分類時,它根據(jù)每次訓(xùn)練集之中每個樣本的分類是否正確,以及上次總體分類的準(zhǔn)確率,來確定每個樣本的權(quán)值。當(dāng)AdaBoost 用于回歸時,則是根據(jù)回歸誤差率等參數(shù)來更新每個樣本的權(quán)重。本文采用AdaBoostR2 算法。
最終的強回歸器如式(2)所示。
本文采用的方法如圖1 所示,為了選擇進行流量分析的最佳模型,選用平均絕對誤差作為評估標(biāo)準(zhǔn),用于衡量不同模型的預(yù)測準(zhǔn)確度。即分別驗證ExtraTrees、Gradient Boosting、Bagging 和AdaBoost 四種樹型學(xué)習(xí)算法預(yù)測的準(zhǔn)確性,通過平均絕對誤差(Mean Absolute Error,MAE)值衡量預(yù)測結(jié)果。MAE 的值越大,模型準(zhǔn)確度越低。平均絕對誤差的計算公式如式(3)所示。
實驗引用的數(shù)據(jù)集為“2021 年MathorCup 大數(shù)據(jù)競賽”提供的“某小區(qū)上下行流量數(shù)據(jù)”。
實驗的硬件環(huán)境為主頻3.60GHz,內(nèi)存32GB 的英特爾i9-9900KF 處理器和NVIDIA GTX 2080Ti 的GPU 計算顯卡,軟件環(huán)境為Python 3.6,TensorFlow 1.14.0。
使用ExtraTrees 回歸器算法對流量預(yù)測的結(jié)果如圖2 所示。從圖中可以看出,模型準(zhǔn)確地完成了對實際數(shù)據(jù)的預(yù)測。
使用Gradient Boosting 算法對流量預(yù)測的結(jié)果如圖3所示。從圖中可以看出,模型完整地對實際數(shù)據(jù)進行了預(yù)測,并且模型的預(yù)測準(zhǔn)確度較高。
圖3 Gradient Boosting
使用Bagging 算法對流量預(yù)測的結(jié)果如圖4 所示。從圖中可以看出,模型完成了對實際數(shù)據(jù)的預(yù)測,并且模型的預(yù)測準(zhǔn)確度較高。
圖4 Boosting 回歸器預(yù)測結(jié)果
使用AdaBoost 算法對流量預(yù)測的結(jié)果如圖5 所示。從圖中可以看出,模型對實際數(shù)據(jù)預(yù)測的準(zhǔn)確度較高,較完整地預(yù)測出流量的變化。
圖5 AdaBoost 回歸器預(yù)測結(jié)果
MAE 值如圖6 所示,由圖可知,ExtraTrees、GradientB oosting、Bagging、AdaBoost 的MAE 值依次為:0.00175、0.00132、00017、0.00144。其中GradientBoosting 模型MAE值最小,模型準(zhǔn)確度最高,故本文將采用GradientBoosting模型進行流量預(yù)測。
圖6 四種算法的MAE 值
基于GradientBoosting 模型對流量的預(yù)測結(jié)果如圖7所示。藍(lán)色部分表示訓(xùn)練值,黃色部分表示預(yù)測值,預(yù)測結(jié)果有較高的可靠性。
圖7 GradientBoosting 模型的預(yù)測結(jié)果
針對短期預(yù)測問題,本文利用MAE 比較了ExtraTrees、Gradient Boosting、Bagging 和AdaBoost 四種樹型學(xué)習(xí)算法在數(shù)據(jù)集上預(yù)測的準(zhǔn)確性,實驗結(jié)果表明GradientBoosting 模型的MAE 值最小,模型準(zhǔn)確度最高,故應(yīng)用GradientBoosting 模型進行了短期流量的預(yù)測,有效的提高了預(yù)測準(zhǔn)確度。