謝 坤,容鈺添,胡奉平,陳 桓,姚小龍
(順豐科技有限公司 大數(shù)據(jù)與區(qū)塊鏈研發(fā)中心,廣東 深圳 518000)
銷(xiāo)量預(yù)測(cè)是工業(yè)界中的重要研究問(wèn)題,尤其在制造業(yè)、供應(yīng)鏈等領(lǐng)域,它一般是預(yù)測(cè)未來(lái)一段時(shí)間內(nèi)某產(chǎn)品的訂單需求量,其時(shí)間跨度可用天、周、月或者年為單位,且預(yù)測(cè)結(jié)果對(duì)決策有決定性影響。然而,銷(xiāo)量預(yù)測(cè)是一個(gè)非常困難的問(wèn)題,在多數(shù)情況下,基于歷史數(shù)據(jù)很難建立一個(gè)高效且精準(zhǔn)的模型,導(dǎo)致該現(xiàn)狀的主要原因有:缺乏歷史數(shù)據(jù),雖然目前處于大數(shù)據(jù)時(shí)代,但在多數(shù)情況下,仍然沒(méi)有足夠的數(shù)據(jù)量來(lái)預(yù)測(cè)未來(lái)趨勢(shì)。歷史數(shù)據(jù)不穩(wěn)定,例如同一個(gè)產(chǎn)品前后幾天的訂單需求量可能相差很大,這意味著數(shù)據(jù)有較強(qiáng)的隨機(jī)性,導(dǎo)致方差過(guò)大、不穩(wěn)定。很多預(yù)測(cè)都偏向于長(zhǎng)期預(yù)測(cè),而長(zhǎng)期預(yù)測(cè)本身比短期預(yù)測(cè)更加困難,例如,基于過(guò)去幾天的天氣狀況以及溫度數(shù)據(jù),預(yù)測(cè)未來(lái)一個(gè)月后的天氣和溫度比預(yù)測(cè)一天后困難,因?yàn)榈诙斓奶鞖夂蜏囟仍谀撤N程度上與剛過(guò)去幾天的數(shù)據(jù)有較強(qiáng)的關(guān)聯(lián)性。相反,預(yù)測(cè)周期越長(zhǎng),其準(zhǔn)確率則難以保證。除了以上可能導(dǎo)致預(yù)測(cè)結(jié)果不準(zhǔn)確的原因外,還有許多其他難以捕捉的因素也會(huì)對(duì)產(chǎn)品的未來(lái)銷(xiāo)量造成影響,比如相似產(chǎn)品的價(jià)格競(jìng)爭(zhēng)等。
在缺乏預(yù)測(cè)數(shù)據(jù)的情況下,傳統(tǒng)機(jī)器學(xué)習(xí)與深度學(xué)習(xí)等算法預(yù)測(cè)效果較差,為此,本文提出一種基于數(shù)據(jù)集成的隨機(jī)森林(Random Forest,RF)算法。該算法通過(guò)對(duì)模型特征進(jìn)行隨機(jī)重組,豐富訓(xùn)練樣本的多樣性。
目前,工業(yè)界中提升銷(xiāo)量預(yù)測(cè)準(zhǔn)確率的方法主要在模型選擇、特征工程與集成學(xué)習(xí)等方面。早期的銷(xiāo)量預(yù)測(cè)主要以傳統(tǒng)的時(shí)間序列預(yù)測(cè)方法為主,其中,代表性方法為指數(shù)平滑模型、差分自回歸移動(dòng)平均模型等,但它們都屬于線(xiàn)性預(yù)測(cè)模型,并不具備非線(xiàn)性建模能力。很多研究將上述方法應(yīng)用到氣象[1]、經(jīng)濟(jì)[2-3]與網(wǎng)絡(luò)流量[4]等領(lǐng)域進(jìn)行分析預(yù)測(cè),在實(shí)際生產(chǎn)環(huán)境中,實(shí)際值受到很多非線(xiàn)性關(guān)系的影響,因此預(yù)測(cè)效果較差。決策樹(shù)(Decision Tree)、支持向量機(jī)(Support Vector Machine,SVM)等具備良好的非線(xiàn)性建模能力,因此基于機(jī)器學(xué)習(xí)的預(yù)測(cè)方法日漸增多[5-6]。
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,將深度學(xué)習(xí)相關(guān)技術(shù)應(yīng)用到時(shí)間序列分析的研究越來(lái)越多。深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)結(jié)構(gòu)適合序列輸入的特征,其中,以長(zhǎng)短期記憶(Long Short Term Memory,LSTM)網(wǎng)絡(luò)最具代表性,它能夠避免原始RNN的梯度消失、爆炸以及遺忘長(zhǎng)期記憶等問(wèn)題[7],并廣泛應(yīng)用于語(yǔ)音識(shí)別[8]、機(jī)器翻譯[9]和時(shí)間序列預(yù)測(cè)[10-11]等領(lǐng)域,且取得了顯著效果。特征工程涵蓋了特征提取、特征構(gòu)造、特征編碼、特征縮放與特征降維[12]等方面,特征工程與具體的預(yù)測(cè)任務(wù)緊密相關(guān),不同的任務(wù)涉及到不同的特征工程,好的特征工程可以挖掘出與業(yè)務(wù)比較相關(guān)的因素,有效提升模型效果。
近年來(lái),隨著自動(dòng)機(jī)器學(xué)習(xí)(Automatic Machine Learning,AML)的興起,特征工程逐漸向自動(dòng)化方向發(fā)展,但一部分特征工程任務(wù)還未實(shí)現(xiàn)自動(dòng)化[13]。集成學(xué)習(xí)的思想主要是組合多個(gè)不同模型來(lái)提升單個(gè)模型的性能,代表算法有隨機(jī)森林、梯度提升決策樹(shù)(Gradient Boosting Decision Tree,GBDT)等,這些算法可有效提高弱學(xué)習(xí)器的預(yù)測(cè)效果與泛化能力。差異性是集成學(xué)習(xí)能夠提高其性能的重要因素[14],因此研究人員在度量模型間多樣性和研究模型融合方法上做了大量工作[15-17]。不同于多數(shù)已有的研究工作,本文從數(shù)據(jù)角度出發(fā),提出一種通用的數(shù)據(jù)集成方法,有效提升隨機(jī)森林和其他模型的預(yù)測(cè)準(zhǔn)確率。
根據(jù)歷史數(shù)據(jù)序列{y(1),y(2),…,y(T)}預(yù)測(cè)y(T+D)的值,一般有2種方法:一是應(yīng)用統(tǒng)計(jì)學(xué)中的時(shí)間序列預(yù)測(cè)模型(如ARIMA模型)直接預(yù)測(cè)下一個(gè)數(shù)值,但是對(duì)于長(zhǎng)期預(yù)測(cè)問(wèn)題,ARIMA模型的預(yù)測(cè)準(zhǔn)確率不高;二是可以人為創(chuàng)建一個(gè)訓(xùn)練數(shù)據(jù)集,使用機(jī)器學(xué)習(xí)的相關(guān)算法進(jìn)行預(yù)測(cè)。具體地,對(duì)于每一個(gè)目標(biāo)值y,需提取出其對(duì)應(yīng)的特征向量x以創(chuàng)建訓(xùn)練集{(x(t),y(t))},t=1,2,…,T。對(duì)于時(shí)間點(diǎn)t,本文將從2個(gè)維度對(duì)y(t)進(jìn)行特征提取。一方面考慮歷史數(shù)據(jù)值,使用最近一周的觀測(cè)值作為目標(biāo)y(t)的特征向量,即定義x(t)=(y(t-D-6),y(t-D-5),…,y(t-D)),其中,D+7≤t≤T(注意到本文的目標(biāo)是預(yù)測(cè)時(shí)間段D后的Y值)。另一方面可以從時(shí)間信息的維度來(lái)增加特征,因?yàn)楫a(chǎn)品的訂單需求往往與時(shí)間相關(guān)。產(chǎn)品的訂單需求量可能取決于一周的第幾天,甚至與月份、年份或者節(jié)假日有關(guān),也會(huì)呈現(xiàn)周期性波動(dòng)。因此,基于以上討論,提取出表1中的信息并添加到特征向量中,對(duì)于非數(shù)值的分類(lèi)特征,可以用One-Hot Encoding的方式進(jìn)行編碼處理。
表1 基于歷史數(shù)據(jù)以及時(shí)間維度的特征信息Table 1 Feature information based on historical dataand time dimension
隨機(jī)森林是用于分類(lèi)或回歸任務(wù)的一種集成學(xué)習(xí)算法,由一組決策樹(shù){h(x,Θk),k=1,2,…,K}組成,其中,x是輸入的特征向量,{Θk}是具有獨(dú)立同分布的隨機(jī)序列,h(x,Θk)是第k棵樹(shù)的預(yù)測(cè)結(jié)果。針對(duì)分類(lèi)任務(wù),隨機(jī)森林采用投票機(jī)制,它參考所有決策樹(shù)的分類(lèi)結(jié)果,以得票最高的一類(lèi)作為最終分類(lèi)結(jié)果;針對(duì)回歸任務(wù),隨機(jī)森林用所有決策樹(shù)返回的平均值作為最終預(yù)測(cè)結(jié)果。
(1)
算法1基于數(shù)據(jù)集成的隨機(jī)森林算法
步驟1將集合I={1,2,…,M}隨機(jī)分割成S個(gè)子集I1,I2,…,IS,S為1到M之間的隨機(jī)整數(shù)。
步驟5重復(fù)上述4個(gè)步驟N次。
步驟6返回N次結(jié)果的平均值作為最終預(yù)測(cè)值。
在討論本文算法的收斂性之前,有以下3個(gè)問(wèn)題需要特別說(shuō)明:
1)本文選擇隨機(jī)森林作為基礎(chǔ)模型進(jìn)行研究,原因如下:文獻(xiàn)[18]首次提出并證明了隨機(jī)森林的收斂性定理,而本文算法是基于數(shù)據(jù)集成下的隨機(jī)森林,其數(shù)據(jù)特征得到了增強(qiáng),且同樣繼承了隨機(jī)森林原本的收斂性質(zhì)。由于隨機(jī)森林的收斂性質(zhì),可避免模型過(guò)擬合。同時(shí),隨機(jī)森林的另一個(gè)重要特征是其并行性,因?yàn)槊靠脹Q策樹(shù)之間相互獨(dú)立,它們可以并行生成,能夠節(jié)省大量的訓(xùn)練時(shí)間。因此,隨機(jī)森林本身?yè)碛械膬?yōu)點(diǎn)在基于數(shù)據(jù)集成的隨機(jī)森林算法上都得到了良好繼承。
2)本文采用數(shù)據(jù)集成思想對(duì)目標(biāo)變量Y進(jìn)行隨機(jī)分割,該想法是受到了隨機(jī)森林結(jié)構(gòu)的啟發(fā),隨機(jī)森林本身是一種對(duì)決策樹(shù)的集成算法,多棵決策樹(shù)共同做決定,相比于單棵決策樹(shù),模型最終的準(zhǔn)確率、魯棒性都得到了明顯增強(qiáng)。本文將類(lèi)似的集成想法應(yīng)用到數(shù)據(jù)層面,模型的每輪擬合過(guò)程所用訓(xùn)練集都是在原始數(shù)據(jù)集上通過(guò)隨機(jī)重組的方式而得到的新數(shù)據(jù)集,且數(shù)據(jù)重組的過(guò)程完全隨機(jī)化,與先前訓(xùn)練集的生成過(guò)程相互獨(dú)立。本文算法的最終預(yù)測(cè)結(jié)果也是采用平均值進(jìn)行估計(jì)的,這點(diǎn)與隨機(jī)森林相似。
3)本文算法沒(méi)有直接固定S=M,主要原因有2個(gè):原因一是,如果固定S=M,該算法失去了算法1中數(shù)據(jù)集成的步驟1~步驟3,也沒(méi)有重復(fù)過(guò)程(算法1中的步驟5),此時(shí)模型退化為隨機(jī)森林,對(duì)準(zhǔn)確率造成了影響;原因二是,如果固定S=M,則目標(biāo)變量為M維向量(Y1,Y2,…,YM),該維度更高的M維向量比S(若S 根據(jù)文獻(xiàn)[18],隨著決策樹(shù)數(shù)目的逐漸增多,隨機(jī)森林的誤差將會(huì)逐步收斂,基于隨機(jī)森林的收斂性以及強(qiáng)大數(shù)定理,能夠證明本文算法也有類(lèi)似的收斂性質(zhì)。 (2) 其中: (3) (4) 證明結(jié)合文獻(xiàn)[18]中有關(guān)隨機(jī)森林的收斂性定理,僅需證明對(duì)任意的輸入向量x,以下收斂結(jié)果成立: (5) 將式(3)代入式(5)的左邊部分,可得: (6) (7) 本文需要將M個(gè)指標(biāo)隨機(jī)分組成Sn個(gè)非空子集,用S(M,Sn)來(lái)表示其可能的所有分組結(jié)果數(shù)目。利用遞歸方法來(lái)求解S(M,Sn),具體可用式(8)、式(9)表示: S(M,Sn)=k·S(M-1,Sn)+S(M-1,Sn-1) (8) (9) 基于以上討論,重新表示式(6)時(shí),首先考慮Sn的取值,以NS來(lái)代表Sn取值為S的總次數(shù)(在N輪訓(xùn)練中),則有: (10) 因此,式(6)可重新表示為: (11) 根據(jù)式(11)可知,只需證明對(duì)任意的1≤S≤M,式(12)成立即可。 (12) 根據(jù)NS和Part(S)的定義可知,為了不失一般性,假設(shè)前NS個(gè)Sn的值均為S(如果不是則調(diào)整順序),即對(duì)任意的1≤n≤NS,均有Sn=S成立,且對(duì)任意的NS (13) 式(13)最后一步的收斂是基于Sn在集合I={1,2,…,M}中的取值是完全隨機(jī)且等概率的。對(duì)于任意固定的Sn=S,只需要證明以下收斂結(jié)果成立即可。 (14) |x,S,I1,I2,…,IS,Θ))= |x,S,I1,I2,…,IS,Θ)) (15) 其中,式(15)的收斂性來(lái)自于文獻(xiàn)[18]中的定理2。 式(5)的右部分表達(dá)式為: |x,S,I1,I2,…,IS,ΘK))= (16) 其中,式(16)最后一步等式是因?yàn)樗袥Q策樹(shù)的預(yù)測(cè)結(jié)果的期望相同(獨(dú)立同分布)。因此,當(dāng)訓(xùn)練的輪數(shù)N逐步增大時(shí),則有: LHS→RHS,N→∞ (17) 即式(5)成立,因此定理1成立。 2.4.1 本文算法的關(guān)鍵步驟 (18) 2.4.2 本文算法的復(fù)雜度分析 本文算法是一種集成方法,其基于隨機(jī)森林總共訓(xùn)練N輪,且每輪訓(xùn)練相對(duì)獨(dú)立,因此模型的訓(xùn)練耗時(shí)約為每輪隨機(jī)森林耗時(shí)的總和。因?yàn)殡S機(jī)森林中的決策樹(shù)通常是未經(jīng)修剪的分類(lèi)回歸樹(shù),假設(shè)決策樹(shù)的棵數(shù)、訓(xùn)練數(shù)據(jù)的樣本量以及特征向量的屬性個(gè)數(shù)分別為K、n和m,文獻(xiàn)[19]表明該隨機(jī)森林的算法復(fù)雜度為O(Knmlnn)。本文算法中每輪訓(xùn)練是數(shù)據(jù)的隨機(jī)重組以及隨機(jī)森林的擬合過(guò)程,數(shù)據(jù)重組的耗時(shí)與隨機(jī)分割數(shù)S(S≤M)、訓(xùn)練數(shù)據(jù)的樣本量n以及特征向量的屬性個(gè)數(shù)m成正比,因此該步驟耗時(shí)為O(Mnm)?;谝陨嫌懻?本文算法的復(fù)雜度為O(N(Knmlnn+Mnm))。此外,文獻(xiàn)[20]表明,如果隨機(jī)森林中決策樹(shù)的棵數(shù)K較大,隨機(jī)森林一般在達(dá)到該數(shù)目之前收斂。需特別說(shuō)明的是,通常隨機(jī)森林中決策樹(shù)的棵數(shù)K以及樣本量個(gè)數(shù)n遠(yuǎn)大于變量個(gè)數(shù)M,因此本文算法的復(fù)雜度可簡(jiǎn)化為O(NKnmlnn),其相當(dāng)于重復(fù)了N次的隨機(jī)森林。 本文實(shí)驗(yàn)的軟件與硬件環(huán)境參數(shù)設(shè)置如表2所示,其中,實(shí)驗(yàn)選用Scikit-learn作為機(jī)器學(xué)習(xí)的主要框架。 表2 實(shí)驗(yàn)軟件與硬件環(huán)境參數(shù)設(shè)置Table 2 Parameter setting of software and hardwareenvironment of experiment 本文的實(shí)驗(yàn)數(shù)據(jù)集來(lái)自順豐科技有限公司2019年上半年廣東省深圳市所有的快遞運(yùn)單數(shù)據(jù),約1億條運(yùn)單,其中,每條運(yùn)單均包含了托寄物品類(lèi)的信息。由于同一類(lèi)別的托寄物需要投入的人力、物力(紙箱、包裝袋等)相似,該實(shí)驗(yàn)的目標(biāo)是對(duì)于每一類(lèi)托寄物,希望能提前預(yù)測(cè)出30天后的訂單量,以便提前準(zhǔn)備好應(yīng)對(duì)措施。例如,對(duì)于手機(jī)品類(lèi),假定共有D種不同的手機(jī)品牌,可以定義Y=Y1+Y2+…+YD為手機(jī)品類(lèi)總訂單量,其中,Yd(1≤d≤D)為各手機(jī)品牌的訂單量。結(jié)合順豐科技有限公司所有的業(yè)務(wù)場(chǎng)景,實(shí)驗(yàn)總共對(duì)40個(gè)品類(lèi)的托寄物進(jìn)行建模、訓(xùn)練與預(yù)測(cè)。因?yàn)椴煌屑奈锲奉?lèi)訂單量的數(shù)量級(jí)級(jí)別不同,所以本文統(tǒng)一對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的歸一化處理,即用各品類(lèi)托寄物的實(shí)際運(yùn)單量除以2019年上半年該類(lèi)別托寄物單天總單量的最大值。 利用順豐科技有限公司截止到2019年6月30日深圳市所有運(yùn)單數(shù)據(jù)來(lái)預(yù)測(cè)30天后各托寄物品類(lèi)的運(yùn)單量,實(shí)驗(yàn)選用的預(yù)測(cè)算法有ARIMA、RF、GBDT、LSTM與本文算法。其中,本文算法有2種不同的版本,一種是以Y=Y1+Y2+…+YD為目標(biāo)變量,屬于單維度預(yù)測(cè),另一種是以(Y1,Y2,…,YD)為目標(biāo)變量,屬于高維度預(yù)測(cè),并將預(yù)測(cè)出的高維向量求和作為最終預(yù)測(cè)結(jié)果。為了區(qū)分,本文稱(chēng)第2種算法為高維基于數(shù)據(jù)集成的隨機(jī)森林(HDRF)算法,實(shí)際上HDRF算法是本文算法的一種特例。 除了時(shí)間序列算法ARIMA之外,RF算法、GBDT算法、LSTM算法、本文算法與HDRF算法在訓(xùn)練過(guò)程中均采用了交叉驗(yàn)證,其中,本文算法總共訓(xùn)練了200輪(即N=200),且其基礎(chǔ)模型隨機(jī)森林中決策樹(shù)的數(shù)目為100、樹(shù)的深度為10。6種算法的預(yù)測(cè)結(jié)果對(duì)比如表3所示,由于涉及公司商業(yè)機(jī)密,托寄物品類(lèi)的名稱(chēng)以數(shù)字1~40替代。 表3 6種算法的預(yù)測(cè)結(jié)果對(duì)比Table 3 Comparison of prediction results of six algorithms 從表3可以看出,本文算法的預(yù)測(cè)結(jié)果與實(shí)際結(jié)果更為接近,這說(shuō)明了相比于其他算法,本文算法的預(yù)測(cè)效果更好。為了更直觀地看出上述6種算法的預(yù)測(cè)效果,圖1對(duì)其在40種托寄物品類(lèi)下運(yùn)單量的預(yù)測(cè)值與實(shí)際值對(duì)比情況進(jìn)行可視化,具體如圖1所示。其中,每個(gè)分圖對(duì)應(yīng)一種預(yù)測(cè)算法。 圖1 6種算法的預(yù)測(cè)結(jié)果與實(shí)際結(jié)果對(duì)比折線(xiàn)圖Fig.1 Line chart of comparison between predicted results and actual results of six algorithms 從圖1可以看出,本文算法的預(yù)測(cè)效果最好,其次為HDRF算法,這2種算法的預(yù)測(cè)結(jié)果與實(shí)際結(jié)果非常接近,在HDRF算法的基礎(chǔ)上,結(jié)合數(shù)據(jù)集成方法后的本文算法表現(xiàn)更佳。本文從絕對(duì)誤差、相對(duì)誤差、均方差與時(shí)間耗費(fèi)4個(gè)指標(biāo)來(lái)對(duì)比所有算法的預(yù)測(cè)效果,結(jié)果如表4所示。 表4 6種算法的4種評(píng)價(jià)指標(biāo)對(duì)比Table 4 Comparison of four evaluation indexes ofsix algorithms 從表4可以看出:相比于ARIMA算法、RF算法、GBDT算法和LSTM算法,本文算法的絕對(duì)誤差至少提升了86%,相比HDRF算法,本文算法的平均絕對(duì)誤差提升了26%;本文算法相比于其他算法,相對(duì)誤差以及均方差的提升效果與絕對(duì)誤差類(lèi)似。絕對(duì)誤差、相對(duì)誤差、均方差是常用來(lái)評(píng)判模型效果的3個(gè)指標(biāo),這3個(gè)指標(biāo)的對(duì)比結(jié)果說(shuō)明了本文提出的數(shù)據(jù)集成思想的高效性。此外,表4反映的時(shí)間耗時(shí)與2.4節(jié)中對(duì)比分析RF算法、本文算法復(fù)雜度的理論結(jié)果一致。對(duì)于順豐有限公司的每種托寄物品類(lèi)的數(shù)據(jù),半年的數(shù)據(jù)量實(shí)質(zhì)上是一個(gè)不到200個(gè)離散點(diǎn)的時(shí)間序列,因此除了本文算法外,其他算法的訓(xùn)練時(shí)間都很短,本文算法的平均運(yùn)行時(shí)間小于6 min,在時(shí)效犧牲不大的情況下,本文算法的預(yù)測(cè)準(zhǔn)確率得到了大幅提升。 實(shí)驗(yàn)基于順豐科技有限公司業(yè)務(wù)比較關(guān)注的托寄物類(lèi)別中的手機(jī)類(lèi)進(jìn)行分析。為了驗(yàn)證數(shù)據(jù)集成的有效性,實(shí)驗(yàn)選取ARIMA算法為研究對(duì)象,分析數(shù)據(jù)集成下ARIMA算法的預(yù)測(cè)效果。手機(jī)類(lèi)的運(yùn)單數(shù)據(jù)較多且相對(duì)穩(wěn)定,ARIMA算法自身的預(yù)測(cè)效果良好,相對(duì)準(zhǔn)確率為74.66%,結(jié)合數(shù)據(jù)集成后,其相對(duì)準(zhǔn)確率提高至77.74%,提升了3.08%。相比ARIMA算法,與數(shù)據(jù)集成相結(jié)合的ARIMA算法多出的時(shí)間耗費(fèi)主要體現(xiàn)在其訓(xùn)練輪數(shù)上,該時(shí)間耗費(fèi)的對(duì)比情況與下文中關(guān)于算法2的復(fù)雜度分析結(jié)果一致,在犧牲173.9 s的運(yùn)行時(shí)間情況下,使得算法的預(yù)測(cè)準(zhǔn)確率提高了3.08%。 為了研究隨機(jī)分割數(shù)S對(duì)算法預(yù)測(cè)性能的影響,固定S值分別為2、3、4和5,用這些S值訓(xùn)練與數(shù)據(jù)集成相結(jié)合的ARIMA算法的預(yù)測(cè)相對(duì)準(zhǔn)確率和時(shí)間耗費(fèi),訓(xùn)練輪數(shù)為200(N=200)輪,結(jié)果如表5所示。從表5可以看出,隨機(jī)分割數(shù)S的大小對(duì)算法的預(yù)測(cè)相對(duì)準(zhǔn)確率影響不大,在運(yùn)用隨機(jī)分割的思想(即S>1)下,與數(shù)據(jù)集成相結(jié)合的ARIMA算法的預(yù)測(cè)相對(duì)準(zhǔn)確率提升了約3%。 表5 分割數(shù)S對(duì)算法相對(duì)準(zhǔn)確率的影響Table 5 Influence of segmentation number Son relative accuracy of algorithm 同時(shí),為了驗(yàn)證訓(xùn)練輪數(shù)N對(duì)算法預(yù)測(cè)效果的影響,實(shí)驗(yàn)記錄了隨著訓(xùn)練輪數(shù)的增加,ARIMA算法的預(yù)測(cè)相對(duì)準(zhǔn)確率的變化過(guò)程,具體如圖2所示。從圖2可以看出,除了一些微小波動(dòng)外,相對(duì)準(zhǔn)確率隨著訓(xùn)練輪數(shù)的增大呈現(xiàn)逐漸升高后趨于穩(wěn)定的趨勢(shì)。 圖2 訓(xùn)練輪數(shù)對(duì)ARIMA算法相對(duì)準(zhǔn)確率的影響Fig.2 Influence of training round number on relativeaccuracy of ARIMA algorithm 基于以上幾組實(shí)驗(yàn)可以看出,將數(shù)據(jù)集成結(jié)合到其他預(yù)測(cè)算法中時(shí),能夠提升算法的預(yù)測(cè)效果,基于此,本文提出基于數(shù)據(jù)集成的通用預(yù)測(cè)算法,具體步驟如下: 算法2基于數(shù)據(jù)集成的通用預(yù)測(cè)算法 步驟1將集合I={1,2,…,M}隨機(jī)分割成S個(gè)子集I1,I2,…,IS,S為1到M之間的隨機(jī)整數(shù)。 步驟5重復(fù)以上4個(gè)步驟N次。 步驟6返回N次結(jié)果的平均值作為最終預(yù)測(cè)值。 算法2實(shí)質(zhì)上是算法1的推廣,兩者的本質(zhì)并無(wú)區(qū)別,它們的核心思想都在于預(yù)測(cè)目標(biāo)變量以及訓(xùn)練集拆分后的隨機(jī)重組過(guò)程(參照2.4節(jié)),不同之處在于后期基礎(chǔ)算法的選擇。算法1選擇以隨機(jī)森林作為基礎(chǔ)算法,而算法2在算法1的基礎(chǔ)上進(jìn)行拓展,基礎(chǔ)算法的選擇自由度較寬泛,任意的預(yù)測(cè)算法都能適合。與算法1復(fù)雜度分析過(guò)程類(lèi)似,算法2相當(dāng)于是在數(shù)據(jù)隨機(jī)重組的基礎(chǔ)上將選擇的基礎(chǔ)算法重復(fù)訓(xùn)練N次。假設(shè)基礎(chǔ)模型的參數(shù)為Θ,用函數(shù)O(f(n,m,Θ))表示其復(fù)雜度,則算法2的復(fù)雜度為O(N(f(n,m,Θ)+Mnm)。 將數(shù)據(jù)的隨機(jī)重組與現(xiàn)有隨機(jī)森林算法相結(jié)合,本文在數(shù)據(jù)層面上提出一種基于數(shù)據(jù)集成的隨機(jī)森林算法,該算法保留了隨機(jī)森林的收斂性質(zhì)與優(yōu)點(diǎn)。實(shí)驗(yàn)結(jié)果表明,相比未使用數(shù)據(jù)集成的預(yù)測(cè)算法,本文算法在絕對(duì)誤差、相對(duì)誤差與均方差指標(biāo)上均有大幅提升。同時(shí),拓展實(shí)驗(yàn)說(shuō)明了數(shù)據(jù)集成還可以應(yīng)用在ARIMA等其他算法上,且在不改變算法基本框架的條件下,僅對(duì)數(shù)據(jù)特征進(jìn)行增強(qiáng)即可實(shí)現(xiàn)準(zhǔn)確率約3%的提升。后續(xù)將利用大數(shù)定理、中心極限定理等理論知識(shí)對(duì)本文預(yù)測(cè)算法的收斂速度和準(zhǔn)確率進(jìn)行研究,并優(yōu)化數(shù)據(jù)特征的隨機(jī)重組方式,使算法在理論與實(shí)踐中均取得較好的預(yù)測(cè)效果。2.4 本文算法的關(guān)鍵步驟與復(fù)雜度分析
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)環(huán)境
3.2 實(shí)驗(yàn)數(shù)據(jù)集
3.3 各類(lèi)預(yù)測(cè)模型的性能比較
4 基于數(shù)據(jù)集成的預(yù)測(cè)算法
4.1 數(shù)據(jù)集成在其他算法上的應(yīng)用
4.2 隨機(jī)切割數(shù)與訓(xùn)練輪數(shù)對(duì)算法的影響
4.3 基于數(shù)據(jù)集成的通用預(yù)測(cè)算法
5 結(jié)束語(yǔ)