焦笑,任春華,司佳順
(1.西南交通大學,制造業產業鏈協同與信息化支撐技術四川省重點實驗室,成都611756;2.北京機械工業自動化研究所有限公司,北京100120)
據汽車工業協會最新對汽車市場的分析結果表明,我國汽車產業經濟運行態勢恢復良好,2020年9月汽車產銷呈兩位數增長,累計汽車產銷降幅已至7%以內[1]。對于汽車制造企業來說,按需生產,是減少制造成本、提高決策效率的關鍵途徑。本文研究對象為汽車產業鏈協同平臺[2]上的中小型企業,針對該類企業中某一個車型來說,其日銷量數據較小,且存在實際銷售日期不連續的情況,具有明顯的小樣本數據特征。本文源于實際“整車銷售業務”流程,對目標特征進行細分加權,構建小樣本條件下的汽車需求量預測模型,為汽車制造企業制定合理的銷售計劃提供決策支持。
小樣本數據下的學習模型,主要包括基于模型微調、基于數據增強和基于遷移學習[3]。而對于小樣本下的銷量預測問題,目前也存在很多基于模型優化的解決方法。常用的時間序列預測模型,如:ARMA、ARIMA等,只適合直接預測短期“下一個”數值[4],而對于需長期預測的場景,基于多學習器集成學習的樹模型、處理時間序列問題獨具優勢的RNN(遞歸神經網絡)及其相關變體[5]、多種算法組合預測模型等應用極為廣泛。何喜軍等人[6]分別對比XGBoost模型、BP神經網絡、SVM支持向量機及BP-SVM組合預測模型,來驗證小樣本下融合多種特征指標可有效提高預測精度。Pavlyshenko等人[7]則主要使用線性模型、ARIMA、XGBoost來分別對時間序列預測問題進行建模。LSTM(長短時記憶網絡)是RNN神經網絡的一種變體,被廣泛用于處理時間序列問題。Weng等人[8]提出基于LightGBM和LSTM的組合模型來進行供應鏈銷售量預測,該組合模型可快速、高效地解釋供應鏈銷售情況。馮晨等人[9]提出了一種基于ARIMA+XGBoost+LSTM的加權組合方法,使用ARIMA預測線性平穩序列,XGBoost進行多維特征分析提取,LSTM則對非線性序列進行擬合。由此可見,結合單一模型的特定優勢形成的組合模型,在同時擬合時間序列線性和非線性成分問題上已被廣泛應用。
針對下一階段(一個周、兩個周、一個月等)的實時長期預測問題,其訓練數據集來源于對實際銷量的實時提取,但可能存在一些“未審核”、“未結算”或者需要“反審核”的訂單,即所在業務流程“未完成”的數據,從而導致目前數據的可用性無法確定。因此,針對實時銷量預測,本文提出一種基于業務流程執行狀態的目標特征細分提取方法,以此來增強小樣本下特征空間的多樣性。
通過對汽車產業鏈平臺上多家制造廠的“整車銷售業務”流程分析,針對一條銷售數據,其業務主要包括“表單審核”、“開票結算”、“交付收貨”等3個關鍵節點,即狀態序列Ti中包括以下5種狀態:
Ti=1,表示狀態“待審核”;Ti=2,表示狀態“已審核,待結算”;Ti=3,表示狀態“已結算,待交付”;Ti=4,表示狀態“已交付”;Ti=5,表示狀態“已取消或已刪除”。
通過以上5種業務狀態判別,為整車銷量數據劃分了更細的粒度。為實現進一步特征增強,可對各細分狀態進行線性加權,以得到新特征SF,如公式(1)所示。

其中,[T1,T2,T3,T4]為每個狀態對應的銷量數據,(w1,w2,w3,w4)∈(0,1)且w1+w2+w3+w4=1。
為選擇一組最優權值[w1,w2,w3,w4],本文采用“Pearson相關系數”來觀測5組權值下的SF特征和預測值之間的相關關系[10]。各組對比結果如表1所示。
根據以上5組不同權值的Pearson相關系數分析,可看出(0.1,0.2,0.3,0.4)這一組權值與預測目標值的相關性最高。此外,分別使用以上5種加權特征在XGBoost模型訓練,得出的預測結果也是如此(見實驗部分表5)。綜合表1分析,當越接近“完成”狀態的特征所占權值越高,其加權特征與目標值的相關度越高,這也剛好符合業務流程執行的過程,即業務流程越接近完成,數據可靠程度越高。
針對“HB”制造廠中某車型,其日銷量較小,且存在實際銷售日期不連續的情況。若按日統計銷量,會導致大量數據缺失。結合實際調研,制造廠會根據歷史銷量提前人為制定下一階段的銷售“周計劃”、“月計劃”。因此,按周統計銷量,相較于按天統計,構造的數據集缺失更少,也更符合實際需求。除銷售數據外,該車型的當前市場保有量也可能對整車需求量存在制約關系,可通過“客戶檔案”和“汽車檔案”間接獲取。結合以上分析,數據預處理過程主要包括如下5個步驟:
(1)選取某車型,按日提取其歷史銷售數據,注意:剔除“無效數據”(T5狀態)。
(2)連續日期補全,并按周統計銷量。缺失的個別周銷量,使用當月各周均值代替。
(3)計算截止到當前周,該車型的整車保有量。缺失的個別周,使用當月各周均值代替。
(4)根據每條周銷量數據細分狀態,統計對應各狀態的銷量及加權特征,
(5)由于銷量數據上下界存在較大波動,需將銷量進行對數平滑和歸一化處理,見公式(2)-式(3),從而縮小數據范圍,盡量緩和波動較大數據對模型預測的影響[11]。

依據上述預處理過程,本文主要從以下4個維度來對當前時間周t進行特征向量提取。
(1)實時銷售數據:按周提取最近一個月內四周的觀測值及平均值。
(2)加權特征數據:按周提取最近一個月內四周的銷量細分加權特征及平均值。
(3)時間維度特征:當前年份、當前月份、當年的第幾周。
(4)整車保有量數據:提取截止到當周前的整車市場保有量數據。
(1)XGBoost模 型。XGBoost是 一 種 在 基 于GDBT(梯度提升決策樹)算法演化而來的Boosting集成學習算法[12],其預測值基于Boosting加法模型,即將每棵樹中樣本特征所對應葉子節點的分數相加,公式如下:

XGBoost目標函數與GBDT的不同在于,引入了L1和L2正則項函數,定義如下:

目標函數由損失函數和正則項函數兩部分組成。是預測輸出,yi為目標值,T是樹葉子節點樹,w為葉子權值,γ和λ為懲罰正則項。正則項對每棵樹的復雜度進行懲罰,以達到剪枝和防止過擬合的效果。
(2)LightGBM模型。LightGBM也是基于GBDT原理實現,針對傳統Boosting算法在大樣本高維度環境下尋找最優切分點造成的耗時問題,LightGBM設計了一系列策略來優化模型的特征選擇,加快模型迭代速度[13]。如采用基于Histogram直方圖的決策樹算法來減少特征離散化所需的空間與計算代價;使用leaf-wise深度優先分裂策略并添加一層最大深度限制,來防止模型過擬合;此外,采用基于梯度的單邊采樣算法(GOSS),在計算信息增益梯度時,選取較大梯度的樣本點,小梯度樣本添加系數隨機采樣,以提高特征選擇的效率。為解決高維度空間的數據稀疏問題,提出互斥特征綁定算法(EFB)借助圖模型對稀疏空間中的互斥特征進行合并。
(3)LSTM模型。LSTM模型是RNN的變體,其在原始RNN基礎上分別增加了輸入門、輸出門、遺忘門,并引入獨特的長時間選擇性記憶單元,有效解決了RNN的梯度消失、梯度膨脹及長期記憶能力不足等問題[14-15]。LSTM神經網絡記憶細胞結構如圖1所示。

圖1 LSTM神經網絡記憶細胞結構
由圖1可看出,LSTM模型通過3種類型的門來控制當前t時刻的單元狀態。①遺忘門,通過ft決定上一時刻單元狀態ct-1被傳遞到的程度。②輸入門,it決定輸入信息,~ct為此次輸入生成的新信息。③輸出門,Ot用來決定當前時刻ct輸出多少信息,ht為LSTM當前輸出。以上各個狀態的產生,滿足如下公式:

其中,sigmoid函數產生[0-1]的值,1表示全部保留,0表示全部忘記。tanh函數則將值處理為[-1,1]之間。wf,wi,wc,wo為權重矩陣。bf,bi,bc,bo為偏置項。
針對下一階段的實時銷量預測,屬于典型的時間序列預測問題。LSTM模型最大優勢在于對長時間跨度的歷史數據具有選擇性感知記憶能力,適合處理長期的銷量預測問題[16]。由于按周統計的銷量數據具有小樣本特征,與整車需求量相關的影響因素指標又較多,為防止所有特征指標均輸入到LSTM模型造成網絡結構過于復雜,導致模型過擬合而影響預測精度。本文首先采用Boosting集合中的兩個代表算法XGBoost和LightGBM對多維變量指標進行特征抓取,然后將兩者的預測值進行加權融合,再與原始銷量特征進行合并,輸入到LSTM中進行模型訓練。該組合預測模型框架如圖2所示。

圖2 預測模型整體框架
具體模型構建步驟如下:
(1)訓練數據集構造。針對每個目標值y,提取與之對應的特征向量序列x進行數據集構造,即
(2)XGBoost和LightGBM預測。將數據集分別放入XGBoost和LightGBM模型中作訓練,經過模型調參,分別得最優模型下的預測值res1和res2。
(3)融合特征構造。將XGBoost的預測值res1和LightGBM的預測值res2進行加權組合得res12,拼接res12和原始銷量特征成為下一層模型的訓練數據集D。加權組合策略如下:
①加權條件:當res1和res2分布居于目標值Label的“上下”,即偏離目標值的程度滿足“一個上一個下”時,線性加權效果最優,如實驗部分圖4所示。
②算術加權:res12=a*res1+(1 -a)*res2,其中a∈(0,1)。
(4)LSTM模型多維多步時間序列預測。針對需要預測的m周,分別構造預測每個周的訓練數據集,即:利用前k個周的特征預測當周銷量,k為序列長度。
(5)模型組合加權。分析3個單一模型的預測結果,結合上述模型組合策略,對3個單一模型進行有效組合,得到最終的最優預測結果Pred。
實驗數據集來源于汽車產業鏈平臺上的“HB”制造廠,提取實時數據庫中2014年至2020年的3款不同車型(“HB610W”、“HB610”、“1030W10FV”)實時備份的日銷售數據,分別構建原始特征集(Original)和添加“目標值狀態細分加權特征”的新數據集(Sub?Divison),并對測試樣本(樣本數據中最后的3個月的m周)進行整車需求量預測。
本文實驗環境:操作系統Windows 10(64位);基于Python 3.6.5的編程環境;XGBoost模型為0.90版本;LightGBM模型為3.1.1版本;LSTM模型為Keras 2.2.4深度學習框架,后端搭建TensorFlow 1.12.0。經過多次實驗調試,各最優模型參數分別如表2—表4所示。

表2 XGBoost模型核心參數表

表3 LightGBM模型核心參數表

表4 LSTM模型核心參數表
本文的LSTM模型包括:第一層LSTM層,神經元個數為32;第二層LSTM層,神經元個數為32;第三層是一層輸出為1維的神經網絡,激活函數選用PReLU函數。
為更好評價模型的預測效果,本文采用4種常用指標來進行誤差評估,分別是均方根誤差公式(RMSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、對稱平均絕對百分比誤差(SMAPE),公式如下:

(1)“目標值細分加權特征”的權值選擇實驗。第一組實驗選用“HB610W”車型的數據,在XGBoost模型上進行訓練、驗證,預測結果如表5所示。

表5 5組權值預測結果誤差對比結果
綜合實驗結果可知,(0.1,0.2,0.3,0.4)這一組權值構造的特征,其預測效果最好。與3.2小節中“Pearson相關系數”計算的對比結果基本保持一致。(0.1,0.2,0.3,0.4)這組權值在本實驗中表現較好,但對于最優權值的判定,仍需進一步通過權值優化算法得出。
(2)不同車型同一模型的預測結果對比。第二組實驗對3款不同車型的銷售數據,分別構造“Origi?nal”和“SubDivison”兩種特征集,然后分別在XGBoost模型上進行訓練、驗證,預測結果如表6所示。

表6 3種數據集上的預測結果誤差對比
綜合以上3種數據集分析,“添加了目標值細分加權特征”的模型,其4種誤差評價指標相較于原始特征,皆有所下降。由此可見,對目標銷量進行狀態細分,提取其加權特征,可進一步提高“整車需求量預測”準確度。同時,該目標值細分提取方法對于不同的樣本數據集具有一定適用性。
(3)同一車型多種模型預測結果對比。第三組實驗選用“1030W10FV”車型及其“添加了目標值細分加權特征”的“SubDivison”的特征集,分別在多種單模及其加權組合模型上進行訓練、驗證,預測結果如表7所示。

表7 “1030W10FV”車型數據在多種模型上的預測結果誤差對比
從表7可知,單一模型中,LSTM模型效果最佳,其預測誤差相對較小,各模型對比結果如圖3所示。由3.2小節模型加權組合策略可知,當兩個模型的預測結果偏離目標值剛好“一上一下”時,其組合效果最佳。實驗顯示,“XGB_LGB組合模型”相比于其他“兩兩”組合,其預測誤差較小。此外,將“XGB_LGB組合模型”結果與LSTM再進行加權融合,可看出預測效果再次提升,如圖4中紫色折線所示。通過實驗表明,組合預測模型相較于單一模型,有效提高了模型預測的泛化性和準確度。

圖3 單一模型上預測結果對比

圖4 不同模型加權組合預測結果對比
本文研究實際“整車銷售業務”流程,提出了基于業務執行狀態的目標特征細分處理方法,從而進行小樣本條件下的特征增強。通過3組實驗表明,使用“添加目標細分加權特征”的數據集訓練模型,其性能優于“原始特征”訓練,進一步驗證了小樣本下對目標特征進行細分加權的可行性和實際意義。本文雖然對比了5組不同的加權特征,最終選定一組最為合適的權值,但這組權值可能并不是最優的,如何更加科學地找出最優權值組合,是下一步需要改進的方向。此外,實驗結果顯示,針對小樣本數據集,組合模型預測可以有效提高預測精度,未來還需研究更多不同模型的組融合方案。