焦笑,任春華,司佳順
(1.西南交通大學(xué),制造業(yè)產(chǎn)業(yè)鏈協(xié)同與信息化支撐技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,成都611756;2.北京機(jī)械工業(yè)自動(dòng)化研究所有限公司,北京100120)
據(jù)汽車工業(yè)協(xié)會(huì)最新對(duì)汽車市場(chǎng)的分析結(jié)果表明,我國(guó)汽車產(chǎn)業(yè)經(jīng)濟(jì)運(yùn)行態(tài)勢(shì)恢復(fù)良好,2020年9月汽車產(chǎn)銷呈兩位數(shù)增長(zhǎng),累計(jì)汽車產(chǎn)銷降幅已至7%以內(nèi)[1]。對(duì)于汽車制造企業(yè)來(lái)說(shuō),按需生產(chǎn),是減少制造成本、提高決策效率的關(guān)鍵途徑。本文研究對(duì)象為汽車產(chǎn)業(yè)鏈協(xié)同平臺(tái)[2]上的中小型企業(yè),針對(duì)該類企業(yè)中某一個(gè)車型來(lái)說(shuō),其日銷量數(shù)據(jù)較小,且存在實(shí)際銷售日期不連續(xù)的情況,具有明顯的小樣本數(shù)據(jù)特征。本文源于實(shí)際“整車銷售業(yè)務(wù)”流程,對(duì)目標(biāo)特征進(jìn)行細(xì)分加權(quán),構(gòu)建小樣本條件下的汽車需求量預(yù)測(cè)模型,為汽車制造企業(yè)制定合理的銷售計(jì)劃提供決策支持。
小樣本數(shù)據(jù)下的學(xué)習(xí)模型,主要包括基于模型微調(diào)、基于數(shù)據(jù)增強(qiáng)和基于遷移學(xué)習(xí)[3]。而對(duì)于小樣本下的銷量預(yù)測(cè)問(wèn)題,目前也存在很多基于模型優(yōu)化的解決方法。常用的時(shí)間序列預(yù)測(cè)模型,如:ARMA、ARIMA等,只適合直接預(yù)測(cè)短期“下一個(gè)”數(shù)值[4],而對(duì)于需長(zhǎng)期預(yù)測(cè)的場(chǎng)景,基于多學(xué)習(xí)器集成學(xué)習(xí)的樹(shù)模型、處理時(shí)間序列問(wèn)題獨(dú)具優(yōu)勢(shì)的RNN(遞歸神經(jīng)網(wǎng)絡(luò))及其相關(guān)變體[5]、多種算法組合預(yù)測(cè)模型等應(yīng)用極為廣泛。何喜軍等人[6]分別對(duì)比XGBoost模型、BP神經(jīng)網(wǎng)絡(luò)、SVM支持向量機(jī)及BP-SVM組合預(yù)測(cè)模型,來(lái)驗(yàn)證小樣本下融合多種特征指標(biāo)可有效提高預(yù)測(cè)精度。Pavlyshenko等人[7]則主要使用線性模型、ARIMA、XGBoost來(lái)分別對(duì)時(shí)間序列預(yù)測(cè)問(wèn)題進(jìn)行建模。LSTM(長(zhǎng)短時(shí)記憶網(wǎng)絡(luò))是RNN神經(jīng)網(wǎng)絡(luò)的一種變體,被廣泛用于處理時(shí)間序列問(wèn)題。Weng等人[8]提出基于LightGBM和LSTM的組合模型來(lái)進(jìn)行供應(yīng)鏈銷售量預(yù)測(cè),該組合模型可快速、高效地解釋供應(yīng)鏈銷售情況。馮晨等人[9]提出了一種基于ARIMA+XGBoost+LSTM的加權(quán)組合方法,使用ARIMA預(yù)測(cè)線性平穩(wěn)序列,XGBoost進(jìn)行多維特征分析提取,LSTM則對(duì)非線性序列進(jìn)行擬合。由此可見(jiàn),結(jié)合單一模型的特定優(yōu)勢(shì)形成的組合模型,在同時(shí)擬合時(shí)間序列線性和非線性成分問(wèn)題上已被廣泛應(yīng)用。
針對(duì)下一階段(一個(gè)周、兩個(gè)周、一個(gè)月等)的實(shí)時(shí)長(zhǎng)期預(yù)測(cè)問(wèn)題,其訓(xùn)練數(shù)據(jù)集來(lái)源于對(duì)實(shí)際銷量的實(shí)時(shí)提取,但可能存在一些“未審核”、“未結(jié)算”或者需要“反審核”的訂單,即所在業(yè)務(wù)流程“未完成”的數(shù)據(jù),從而導(dǎo)致目前數(shù)據(jù)的可用性無(wú)法確定。因此,針對(duì)實(shí)時(shí)銷量預(yù)測(cè),本文提出一種基于業(yè)務(wù)流程執(zhí)行狀態(tài)的目標(biāo)特征細(xì)分提取方法,以此來(lái)增強(qiáng)小樣本下特征空間的多樣性。
通過(guò)對(duì)汽車產(chǎn)業(yè)鏈平臺(tái)上多家制造廠的“整車銷售業(yè)務(wù)”流程分析,針對(duì)一條銷售數(shù)據(jù),其業(yè)務(wù)主要包括“表單審核”、“開(kāi)票結(jié)算”、“交付收貨”等3個(gè)關(guān)鍵節(jié)點(diǎn),即狀態(tài)序列Ti中包括以下5種狀態(tài):
Ti=1,表示狀態(tài)“待審核”;Ti=2,表示狀態(tài)“已審核,待結(jié)算”;Ti=3,表示狀態(tài)“已結(jié)算,待交付”;Ti=4,表示狀態(tài)“已交付”;Ti=5,表示狀態(tài)“已取消或已刪除”。
通過(guò)以上5種業(yè)務(wù)狀態(tài)判別,為整車銷量數(shù)據(jù)劃分了更細(xì)的粒度。為實(shí)現(xiàn)進(jìn)一步特征增強(qiáng),可對(duì)各細(xì)分狀態(tài)進(jìn)行線性加權(quán),以得到新特征SF,如公式(1)所示。
其中,[T1,T2,T3,T4]為每個(gè)狀態(tài)對(duì)應(yīng)的銷量數(shù)據(jù),(w1,w2,w3,w4)∈(0,1)且w1+w2+w3+w4=1。
為選擇一組最優(yōu)權(quán)值[w1,w2,w3,w4],本文采用“Pearson相關(guān)系數(shù)”來(lái)觀測(cè)5組權(quán)值下的SF特征和預(yù)測(cè)值之間的相關(guān)關(guān)系[10]。各組對(duì)比結(jié)果如表1所示。
根據(jù)以上5組不同權(quán)值的Pearson相關(guān)系數(shù)分析,可看出(0.1,0.2,0.3,0.4)這一組權(quán)值與預(yù)測(cè)目標(biāo)值的相關(guān)性最高。此外,分別使用以上5種加權(quán)特征在XGBoost模型訓(xùn)練,得出的預(yù)測(cè)結(jié)果也是如此(見(jiàn)實(shí)驗(yàn)部分表5)。綜合表1分析,當(dāng)越接近“完成”狀態(tài)的特征所占權(quán)值越高,其加權(quán)特征與目標(biāo)值的相關(guān)度越高,這也剛好符合業(yè)務(wù)流程執(zhí)行的過(guò)程,即業(yè)務(wù)流程越接近完成,數(shù)據(jù)可靠程度越高。
針對(duì)“HB”制造廠中某車型,其日銷量較小,且存在實(shí)際銷售日期不連續(xù)的情況。若按日統(tǒng)計(jì)銷量,會(huì)導(dǎo)致大量數(shù)據(jù)缺失。結(jié)合實(shí)際調(diào)研,制造廠會(huì)根據(jù)歷史銷量提前人為制定下一階段的銷售“周計(jì)劃”、“月計(jì)劃”。因此,按周統(tǒng)計(jì)銷量,相較于按天統(tǒng)計(jì),構(gòu)造的數(shù)據(jù)集缺失更少,也更符合實(shí)際需求。除銷售數(shù)據(jù)外,該車型的當(dāng)前市場(chǎng)保有量也可能對(duì)整車需求量存在制約關(guān)系,可通過(guò)“客戶檔案”和“汽車檔案”間接獲取。結(jié)合以上分析,數(shù)據(jù)預(yù)處理過(guò)程主要包括如下5個(gè)步驟:
(1)選取某車型,按日提取其歷史銷售數(shù)據(jù),注意:剔除“無(wú)效數(shù)據(jù)”(T5狀態(tài))。
(2)連續(xù)日期補(bǔ)全,并按周統(tǒng)計(jì)銷量。缺失的個(gè)別周銷量,使用當(dāng)月各周均值代替。
(3)計(jì)算截止到當(dāng)前周,該車型的整車保有量。缺失的個(gè)別周,使用當(dāng)月各周均值代替。
(4)根據(jù)每條周銷量數(shù)據(jù)細(xì)分狀態(tài),統(tǒng)計(jì)對(duì)應(yīng)各狀態(tài)的銷量及加權(quán)特征,
(5)由于銷量數(shù)據(jù)上下界存在較大波動(dòng),需將銷量進(jìn)行對(duì)數(shù)平滑和歸一化處理,見(jiàn)公式(2)-式(3),從而縮小數(shù)據(jù)范圍,盡量緩和波動(dòng)較大數(shù)據(jù)對(duì)模型預(yù)測(cè)的影響[11]。
依據(jù)上述預(yù)處理過(guò)程,本文主要從以下4個(gè)維度來(lái)對(duì)當(dāng)前時(shí)間周t進(jìn)行特征向量提取。
(1)實(shí)時(shí)銷售數(shù)據(jù):按周提取最近一個(gè)月內(nèi)四周的觀測(cè)值及平均值。
(2)加權(quán)特征數(shù)據(jù):按周提取最近一個(gè)月內(nèi)四周的銷量細(xì)分加權(quán)特征及平均值。
(3)時(shí)間維度特征:當(dāng)前年份、當(dāng)前月份、當(dāng)年的第幾周。
(4)整車保有量數(shù)據(jù):提取截止到當(dāng)周前的整車市場(chǎng)保有量數(shù)據(jù)。
(1)XGBoost模 型。XGBoost是 一 種 在 基 于GDBT(梯度提升決策樹(shù))算法演化而來(lái)的Boosting集成學(xué)習(xí)算法[12],其預(yù)測(cè)值基于Boosting加法模型,即將每棵樹(shù)中樣本特征所對(duì)應(yīng)葉子節(jié)點(diǎn)的分?jǐn)?shù)相加,公式如下:
XGBoost目標(biāo)函數(shù)與GBDT的不同在于,引入了L1和L2正則項(xiàng)函數(shù),定義如下:
目標(biāo)函數(shù)由損失函數(shù)和正則項(xiàng)函數(shù)兩部分組成。是預(yù)測(cè)輸出,yi為目標(biāo)值,T是樹(shù)葉子節(jié)點(diǎn)樹(shù),w為葉子權(quán)值,γ和λ為懲罰正則項(xiàng)。正則項(xiàng)對(duì)每棵樹(shù)的復(fù)雜度進(jìn)行懲罰,以達(dá)到剪枝和防止過(guò)擬合的效果。
(2)LightGBM模型。LightGBM也是基于GBDT原理實(shí)現(xiàn),針對(duì)傳統(tǒng)Boosting算法在大樣本高維度環(huán)境下尋找最優(yōu)切分點(diǎn)造成的耗時(shí)問(wèn)題,LightGBM設(shè)計(jì)了一系列策略來(lái)優(yōu)化模型的特征選擇,加快模型迭代速度[13]。如采用基于Histogram直方圖的決策樹(shù)算法來(lái)減少特征離散化所需的空間與計(jì)算代價(jià);使用leaf-wise深度優(yōu)先分裂策略并添加一層最大深度限制,來(lái)防止模型過(guò)擬合;此外,采用基于梯度的單邊采樣算法(GOSS),在計(jì)算信息增益梯度時(shí),選取較大梯度的樣本點(diǎn),小梯度樣本添加系數(shù)隨機(jī)采樣,以提高特征選擇的效率。為解決高維度空間的數(shù)據(jù)稀疏問(wèn)題,提出互斥特征綁定算法(EFB)借助圖模型對(duì)稀疏空間中的互斥特征進(jìn)行合并。
(3)LSTM模型。LSTM模型是RNN的變體,其在原始RNN基礎(chǔ)上分別增加了輸入門、輸出門、遺忘門,并引入獨(dú)特的長(zhǎng)時(shí)間選擇性記憶單元,有效解決了RNN的梯度消失、梯度膨脹及長(zhǎng)期記憶能力不足等問(wèn)題[14-15]。LSTM神經(jīng)網(wǎng)絡(luò)記憶細(xì)胞結(jié)構(gòu)如圖1所示。
圖1 LSTM神經(jīng)網(wǎng)絡(luò)記憶細(xì)胞結(jié)構(gòu)
由圖1可看出,LSTM模型通過(guò)3種類型的門來(lái)控制當(dāng)前t時(shí)刻的單元狀態(tài)。①遺忘門,通過(guò)ft決定上一時(shí)刻單元狀態(tài)ct-1被傳遞到的程度。②輸入門,it決定輸入信息,~ct為此次輸入生成的新信息。③輸出門,Ot用來(lái)決定當(dāng)前時(shí)刻ct輸出多少信息,ht為L(zhǎng)STM當(dāng)前輸出。以上各個(gè)狀態(tài)的產(chǎn)生,滿足如下公式:
其中,sigmoid函數(shù)產(chǎn)生[0-1]的值,1表示全部保留,0表示全部忘記。tanh函數(shù)則將值處理為[-1,1]之間。wf,wi,wc,wo為權(quán)重矩陣。bf,bi,bc,bo為偏置項(xiàng)。
針對(duì)下一階段的實(shí)時(shí)銷量預(yù)測(cè),屬于典型的時(shí)間序列預(yù)測(cè)問(wèn)題。LSTM模型最大優(yōu)勢(shì)在于對(duì)長(zhǎng)時(shí)間跨度的歷史數(shù)據(jù)具有選擇性感知記憶能力,適合處理長(zhǎng)期的銷量預(yù)測(cè)問(wèn)題[16]。由于按周統(tǒng)計(jì)的銷量數(shù)據(jù)具有小樣本特征,與整車需求量相關(guān)的影響因素指標(biāo)又較多,為防止所有特征指標(biāo)均輸入到LSTM模型造成網(wǎng)絡(luò)結(jié)構(gòu)過(guò)于復(fù)雜,導(dǎo)致模型過(guò)擬合而影響預(yù)測(cè)精度。本文首先采用Boosting集合中的兩個(gè)代表算法XGBoost和LightGBM對(duì)多維變量指標(biāo)進(jìn)行特征抓取,然后將兩者的預(yù)測(cè)值進(jìn)行加權(quán)融合,再與原始銷量特征進(jìn)行合并,輸入到LSTM中進(jìn)行模型訓(xùn)練。該組合預(yù)測(cè)模型框架如圖2所示。
圖2 預(yù)測(cè)模型整體框架
具體模型構(gòu)建步驟如下:
(1)訓(xùn)練數(shù)據(jù)集構(gòu)造。針對(duì)每個(gè)目標(biāo)值y,提取與之對(duì)應(yīng)的特征向量序列x進(jìn)行數(shù)據(jù)集構(gòu)造,即
(2)XGBoost和LightGBM預(yù)測(cè)。將數(shù)據(jù)集分別放入XGBoost和LightGBM模型中作訓(xùn)練,經(jīng)過(guò)模型調(diào)參,分別得最優(yōu)模型下的預(yù)測(cè)值res1和res2。
(3)融合特征構(gòu)造。將XGBoost的預(yù)測(cè)值res1和LightGBM的預(yù)測(cè)值res2進(jìn)行加權(quán)組合得res12,拼接res12和原始銷量特征成為下一層模型的訓(xùn)練數(shù)據(jù)集D。加權(quán)組合策略如下:
①加權(quán)條件:當(dāng)res1和res2分布居于目標(biāo)值Label的“上下”,即偏離目標(biāo)值的程度滿足“一個(gè)上一個(gè)下”時(shí),線性加權(quán)效果最優(yōu),如實(shí)驗(yàn)部分圖4所示。
②算術(shù)加權(quán):res12=a*res1+(1 -a)*res2,其中a∈(0,1)。
(4)LSTM模型多維多步時(shí)間序列預(yù)測(cè)。針對(duì)需要預(yù)測(cè)的m周,分別構(gòu)造預(yù)測(cè)每個(gè)周的訓(xùn)練數(shù)據(jù)集,即:利用前k個(gè)周的特征預(yù)測(cè)當(dāng)周銷量,k為序列長(zhǎng)度。
(5)模型組合加權(quán)。分析3個(gè)單一模型的預(yù)測(cè)結(jié)果,結(jié)合上述模型組合策略,對(duì)3個(gè)單一模型進(jìn)行有效組合,得到最終的最優(yōu)預(yù)測(cè)結(jié)果Pred。
實(shí)驗(yàn)數(shù)據(jù)集來(lái)源于汽車產(chǎn)業(yè)鏈平臺(tái)上的“HB”制造廠,提取實(shí)時(shí)數(shù)據(jù)庫(kù)中2014年至2020年的3款不同車型(“HB610W”、“HB610”、“1030W10FV”)實(shí)時(shí)備份的日銷售數(shù)據(jù),分別構(gòu)建原始特征集(Original)和添加“目標(biāo)值狀態(tài)細(xì)分加權(quán)特征”的新數(shù)據(jù)集(Sub?Divison),并對(duì)測(cè)試樣本(樣本數(shù)據(jù)中最后的3個(gè)月的m周)進(jìn)行整車需求量預(yù)測(cè)。
本文實(shí)驗(yàn)環(huán)境:操作系統(tǒng)Windows 10(64位);基于Python 3.6.5的編程環(huán)境;XGBoost模型為0.90版本;LightGBM模型為3.1.1版本;LSTM模型為Keras 2.2.4深度學(xué)習(xí)框架,后端搭建TensorFlow 1.12.0。經(jīng)過(guò)多次實(shí)驗(yàn)調(diào)試,各最優(yōu)模型參數(shù)分別如表2—表4所示。
表2 XGBoost模型核心參數(shù)表
表3 LightGBM模型核心參數(shù)表
表4 LSTM模型核心參數(shù)表
本文的LSTM模型包括:第一層LSTM層,神經(jīng)元個(gè)數(shù)為32;第二層LSTM層,神經(jīng)元個(gè)數(shù)為32;第三層是一層輸出為1維的神經(jīng)網(wǎng)絡(luò),激活函數(shù)選用PReLU函數(shù)。
為更好評(píng)價(jià)模型的預(yù)測(cè)效果,本文采用4種常用指標(biāo)來(lái)進(jìn)行誤差評(píng)估,分別是均方根誤差公式(RMSE)、平均絕對(duì)誤差(MAE)、平均絕對(duì)百分比誤差(MAPE)、對(duì)稱平均絕對(duì)百分比誤差(SMAPE),公式如下:
(1)“目標(biāo)值細(xì)分加權(quán)特征”的權(quán)值選擇實(shí)驗(yàn)。第一組實(shí)驗(yàn)選用“HB610W”車型的數(shù)據(jù),在XGBoost模型上進(jìn)行訓(xùn)練、驗(yàn)證,預(yù)測(cè)結(jié)果如表5所示。
表5 5組權(quán)值預(yù)測(cè)結(jié)果誤差對(duì)比結(jié)果
綜合實(shí)驗(yàn)結(jié)果可知,(0.1,0.2,0.3,0.4)這一組權(quán)值構(gòu)造的特征,其預(yù)測(cè)效果最好。與3.2小節(jié)中“Pearson相關(guān)系數(shù)”計(jì)算的對(duì)比結(jié)果基本保持一致。(0.1,0.2,0.3,0.4)這組權(quán)值在本實(shí)驗(yàn)中表現(xiàn)較好,但對(duì)于最優(yōu)權(quán)值的判定,仍需進(jìn)一步通過(guò)權(quán)值優(yōu)化算法得出。
(2)不同車型同一模型的預(yù)測(cè)結(jié)果對(duì)比。第二組實(shí)驗(yàn)對(duì)3款不同車型的銷售數(shù)據(jù),分別構(gòu)造“Origi?nal”和“SubDivison”兩種特征集,然后分別在XGBoost模型上進(jìn)行訓(xùn)練、驗(yàn)證,預(yù)測(cè)結(jié)果如表6所示。
表6 3種數(shù)據(jù)集上的預(yù)測(cè)結(jié)果誤差對(duì)比
綜合以上3種數(shù)據(jù)集分析,“添加了目標(biāo)值細(xì)分加權(quán)特征”的模型,其4種誤差評(píng)價(jià)指標(biāo)相較于原始特征,皆有所下降。由此可見(jiàn),對(duì)目標(biāo)銷量進(jìn)行狀態(tài)細(xì)分,提取其加權(quán)特征,可進(jìn)一步提高“整車需求量預(yù)測(cè)”準(zhǔn)確度。同時(shí),該目標(biāo)值細(xì)分提取方法對(duì)于不同的樣本數(shù)據(jù)集具有一定適用性。
(3)同一車型多種模型預(yù)測(cè)結(jié)果對(duì)比。第三組實(shí)驗(yàn)選用“1030W10FV”車型及其“添加了目標(biāo)值細(xì)分加權(quán)特征”的“SubDivison”的特征集,分別在多種單模及其加權(quán)組合模型上進(jìn)行訓(xùn)練、驗(yàn)證,預(yù)測(cè)結(jié)果如表7所示。
表7 “1030W10FV”車型數(shù)據(jù)在多種模型上的預(yù)測(cè)結(jié)果誤差對(duì)比
從表7可知,單一模型中,LSTM模型效果最佳,其預(yù)測(cè)誤差相對(duì)較小,各模型對(duì)比結(jié)果如圖3所示。由3.2小節(jié)模型加權(quán)組合策略可知,當(dāng)兩個(gè)模型的預(yù)測(cè)結(jié)果偏離目標(biāo)值剛好“一上一下”時(shí),其組合效果最佳。實(shí)驗(yàn)顯示,“XGB_LGB組合模型”相比于其他“兩兩”組合,其預(yù)測(cè)誤差較小。此外,將“XGB_LGB組合模型”結(jié)果與LSTM再進(jìn)行加權(quán)融合,可看出預(yù)測(cè)效果再次提升,如圖4中紫色折線所示。通過(guò)實(shí)驗(yàn)表明,組合預(yù)測(cè)模型相較于單一模型,有效提高了模型預(yù)測(cè)的泛化性和準(zhǔn)確度。
圖3 單一模型上預(yù)測(cè)結(jié)果對(duì)比
圖4 不同模型加權(quán)組合預(yù)測(cè)結(jié)果對(duì)比
本文研究實(shí)際“整車銷售業(yè)務(wù)”流程,提出了基于業(yè)務(wù)執(zhí)行狀態(tài)的目標(biāo)特征細(xì)分處理方法,從而進(jìn)行小樣本條件下的特征增強(qiáng)。通過(guò)3組實(shí)驗(yàn)表明,使用“添加目標(biāo)細(xì)分加權(quán)特征”的數(shù)據(jù)集訓(xùn)練模型,其性能優(yōu)于“原始特征”訓(xùn)練,進(jìn)一步驗(yàn)證了小樣本下對(duì)目標(biāo)特征進(jìn)行細(xì)分加權(quán)的可行性和實(shí)際意義。本文雖然對(duì)比了5組不同的加權(quán)特征,最終選定一組最為合適的權(quán)值,但這組權(quán)值可能并不是最優(yōu)的,如何更加科學(xué)地找出最優(yōu)權(quán)值組合,是下一步需要改進(jìn)的方向。此外,實(shí)驗(yàn)結(jié)果顯示,針對(duì)小樣本數(shù)據(jù)集,組合模型預(yù)測(cè)可以有效提高預(yù)測(cè)精度,未來(lái)還需研究更多不同模型的組融合方案。