陳明露,江偉煒
(西南交通大學,制造業產業鏈協同與信息化支撐技術四川省重點實驗室,成都 611756)
隨著經濟大環境下汽車配件市場競爭的不斷加劇,汽車配件銷售企業面臨著生產,倉儲,物流等業務成本不斷增加風險。要想在競爭中脫穎而出,不斷發展并且獲得更多的利潤,企業必須對市場具有敏銳的嗅覺和清晰的認識。伴隨著計算機技術的不斷發展,利用其對配件市場需求量進行高效準確的預測,并以此作為數據支撐制定高效精準的配件銷售決策是各企業目前迫切需要解決的問題。本文從汽車配件代理商的角度出發,依托汽車產業鏈協同平臺[3]數據空間中海量的多鏈條配件業務數據,研究配件市場需求量的預測問題,為配件代理商的銷售決策提供數據支持。
針對配件需求預測問題,已經有不少學者做出研究,他們利用若干種預測方案,取得了一定的效果[4-7]。經過分析發現,他們訓練模型的數據來源普遍只源于某一個供應鏈條上的配件銷售數據。其中單鏈條數據訓練預測模型,得出的配件市場需求量僅僅是本供應鏈條內的配件需求量,其他鏈條內的同種配件的需求量則不能預測出來。然而配件市場需求量為市場上多鏈條下游服務站的配件需求量的總和,這就導致單鏈數據預測值往往與實際市場需求量相差較大。
如圖1 所示,本文依托于汽車產業鏈協同平臺,將多鏈條的整車保有數據、配件銷售數據以及配件故障數據等配件需求相關數據資源,從平臺數據空間中進行數據抽取,經歷抽取、清洗、加載三個階段集中寫入配件代理商專業數據庫中,將其作為模型訓練數據。在實際應用中,充分利用平臺多鏈數據有條件共享的優勢,提升配件市場需求量預測的準確度。
在使用多鏈數據作為模型訓練數據集的基礎上,本文還利用組合預測模型提高模型配件需求量的預測精度。近年來,產品市場需求量預測模型構建一直是國內外研究的熱門領域。由于企業的銷售業務數據多是時變數據,所以產品需求量的預測通常是利用時間序列數據進行模型的訓練。其中神經網絡因其優良的非線性擬合能力被廣泛應用于時間序列預測問題[8-9]。由于產品需求量預測屬于復雜問題,歷史時間序列數據中通常同時包含線性成分與非線性成分,并且需求量預測值的影響特征因素往往較多,所以單一的預測模型往往不能很好擬合其中的復雜特性,為了解決這一問題,組合預測模型被廣泛使用[10-13]。
根據以上研究現狀分析,本文針對汽車產業鏈協同平臺上代理商配件銷售數據以及需求影響特征數據進行實驗,構建隨機森林(RF)和長短期時間記憶神經網絡模型(LSTM)的組合預測模型。首先利用隨機森林(RF)算法對影響配件銷量的多種特征(包括配件故障率、適配車型整車保有量以及配件滯銷比等)進行選取,提取出最優特征子集,消除特征集中的噪聲,并降低其維度。然后將其提取的特征子集作為LSTM 的訓練數據,得到預測結果,結果表明,該組合預測模型相比于單一組件模型具有更高的預測精度和更快的收斂速度。

圖1 代理商多價值鏈數據來源示意圖
價值鏈數據的具體表現形式是產品供應鏈業務數據,主要指供應商,制造廠,代理商等鏈上的節點企業日常業務中的銷售、采購、庫存和計劃等信息數據[14]。本文研究所依托的汽車產業鏈協同平臺是一個為汽車供應鏈中小型企業提供信息化系統服務,同時實現聯盟成員之間的信息共享的第三方平臺。目前在平臺上已經積累了大量的整車銷售、配件采購、配件銷售和售后服務數據。其中平臺數據空間面向汽車產業全生命周期,采用分布式多元存儲的方式,將汽車產業多價值鏈數據整合匯聚在一起,為本文多鏈數據集構建提供數據支持。由于配件市場需求預測具有較強的時效性,所以本文采用增量抽取方法,在數據空間對應的數據表上構建插入、修改、刪除三個觸發器,然后在源數據表操作數據的時候,將其經過統計計算再進行插入、修改并存入特征屬性表中,其具體過程如圖2 所示。

圖2 多價值鏈數據抽取示意圖
明確了多鏈條數據來源,還需要對需要提取的數據內容進行確定。本文以汽車產業鏈協同平臺上多鏈條數據為實驗對象。其為代理商某配件的銷量以及需求影響特征因素時間序列,以蓄電池配件為例,其具體數據格式如表1 所示。

表1 配件需求量特征集結構表
需求特征主要包括以下幾種。
(1)整車保有量:指目標配件各個型號的適配車型的市場保有量,可通過整車銷售數據間接得到。
(2)配件故障率:指配件損壞的數量占總體整車保有量的比重。
(3)配件使用時間:本文選取對應時間段內所有維修配件的平均使用時長作為該值。
(4)配件滯銷比率:指目標配件銷售過程中,滯銷數量與實際銷售量之間的比率。
(5)配件急缺比率:指代理商目標配件急缺數量占服務站該配件采購計劃數量的占比。
(6)配件退貨率:目標配件退貨數量與銷售數據的比值為該配件的退貨率。
基于前文采集的多鏈條數據集,在模型構建過程之前,需要對該數據集進行清洗與預處理,避免臟數據或者不規范數據對模型的預測結果產生影響,其中本文具體的數據預處理過程如下所示。
(1)異常值處理:如果某特征值超過標準差三倍以上,則認定為異常值,按照缺失值處理。
(2)數據填充:有可能在數據庫記錄過程中某條數據樣本丟失或不全。這些缺失值取前后時刻該特征值的平均數。
(3)格式內容轉換:本文從日期,數值格式,以及內容異常數據這幾個方面對數據的格式進行檢測,然后對格式不符的數據進行相應的轉換。
(4)數據歸一化:本文采用min-max 標準化將輸入數據均映射到[0,1]區間內,從而消除各特征值之間的相互影響。其數學表達式如公式(1)所示。

其中xmin和xmax分別表示樣本數據之間的最小值和最大值,x 表示當前時刻的觀測值。
LSTM 神經網絡模型因其獨特的記憶單元機制具有對長時間跨度歷史數據的感知能力,適合用于對歷史數據具有長時間依賴的配件市場需求量的預測。同時配件需求量預測屬于復雜問題,其影響因素眾多,如果將所有特征均作為LSTM 模型的輸入數據進行訓練,則容易導致模型因為網絡結構復雜以及參數較多在訓練過程中出現過擬合現象。并且配件需求量時間序列數據通常具有周期性以及隨機性的特點,其中的噪聲通常影響模型預測精度。為了解決這一問題,本文選取隨機森林模型選取指定個數的最優特征子集作為LSTM 模型的輸入數據,組合模型具體構建過程如圖3 所示。通過實驗驗證,經過隨機森林優化的LSTM陷入過擬合的概率較低,并且其在加快模型收斂速度的同時,一定程度上增加了模型的預測精度。
(1)隨機森林原理分析
隨機森林是一種Bagging 集成學習算法,既可用于解決分類問題,也能用于回歸預測。在解決預測問題時,其基本思想是首先利用bootstrap(自助采樣)方法生成n 個數據集,其次對每個數據集構建一個決策樹并將它們隨機整合形成森林(其中各個決策樹之間沒有依賴關系),最后計算各個決策樹預測結果的平均值作為最終預測結果[15]。隨機森林模型通常可以避免過擬合的原因是其不僅對樣本進行采樣,同時對屬性特征也會進行采樣。首先其對特征進行選取之前會先判斷特征的重要性,并對每個特征按照重要性降序排序,然后按重要性順序刪除一定比例的特征,得到特征子集,接著重復以上篩選過程,直到得到預期m 個特征,在通過重復以上過程得到若干個特征集以及對應的袋外誤差,選取誤差最小的特征集作為最優特征子集。

圖3 配件需求預測組合模型結構示意圖
(2)LSTM 原理分析
LSTM 神經網絡模型[2]是RNN(循環神經網絡)的改進模型,其解決了RNN 的梯度消失問題,引入信息長時間選擇性有效的機制。其內部結構在RNN 的基礎上進行了優化,增加了輸入門(input gate),遺忘門(forget gate),輸出門(output gate)三個邏輯控制單元,且各自聯結到一個乘法元件上[12]。具體結構如圖4所示。

圖4 LSTM隱藏層內部結構示意圖
LSTM 模型中各門控單元的描述如下:
①遺忘門:其輸入數據包含上一時刻隱藏層的輸出數據ht-1以及當前時刻的輸入數據xt,然后將兩個輸入數據傳入sigmoid 函數中,得到一個屬于[0,1]區間的ft值,該值會直接傳遞到上一時刻的長期記憶Ct-1中,從而決定是否讓上一時刻學到的信息通過或者部分通過。其具體公式如下:

其中σ為 sigmoid()函數,Wf是遺忘門的權重矩陣,中括號表示兩個向量聯結,bf為遺忘門的偏置項。
②輸入門:其可分為兩個部分,一部分與遺忘門類似,通過sigmoid 函數對上一時刻隱藏層的輸出數據ht-1以及當前時刻的輸入數據xt進行非線性變化,生成0-1 的數值用于決定輸入信息,另一部分是一個tanh層用來生成新的候選值。其具體公式如下:

③輸出門:其首先同樣利用sigmoid 函數對上一時刻隱藏層的輸出數據ht-1以及當前時刻的輸入數據xt進行非線性變化,然后使用tanh 將值縮放到-1 到1間,再與sigmoid 得到的輸出逐對相乘,從而得到過濾之后的模型輸出。其具體公式如下所示。

(1)隨機森林參數選取
隨機森林模型的使用較為簡單,在訓練過程中,對參數進行準確的調節有利于提高預測精度。其重要參數主要有以下三個。
①n_estimators:即模型決策樹的個數,由于隨機森林不易過擬合,所以通過增加組件決策樹的個數可以有效減少模型的誤差。
②max_features:表示在構建決策樹時選取的最大特征數,在選擇最優特征子集時提取的特征個數不能超過該值。
③min_sample_leaf:表示葉子節點最小的樣本數,如果分支后子節點的訓練樣本個數低于該值,則分支不被允許。
由于人工手動調參通常費事費力,且容易產生疏漏,本文使用 Python 語言中 sklearn 包中的 grid-SearchCV(網格搜索)函數,讓其在一定范圍內對隨機森林的最優參數組合進行選取,最優值如表2 所示。

表2 隨機森林模型超參數初始值
(2)LSTM 模型構建
上文對隨機森林參數選取過程進行了描述,本文將經過其提取的與配件需求量具有較高相關度的最優特征子集,作為LSTM 模型的輸入數據集。LSTM 模型的構建過程如圖5 所示。

圖5 LSTM模型構建流程圖
首先為了避免數值問題以及臟數據對模型預測結果造成影響,需要對模型的輸入數據進行清洗與預處理,由于神經網絡模型屬于有監督學習,所以需要對輸入數據集進行適配處理,轉換為適用于監督學習問題的輸入輸出兩部分數據。模型的結構為三層網絡,包括輸入層、隱藏層和輸出層。模型的輸入層接受的是由t 個連續時刻觀測值組成的輸入向量,輸出層的t+1時刻的預測值。LSTM 隱藏層的節點個數初始值設為256。然后本文選取自適應估計(Adam)作為優化方法。模型激活函數選取ReLU,其可以在一定程度上緩解梯度消失問題,公式如下所示。

通過以上構建過程,本文使用Python 語言,采用機器學習庫Keras 對LSTM 模型進行構建、訓練以及評估。模型的超參數設置如表3 所示。
為驗證RF_LSTM 配件需求預測模型的準確性與高效性,本文采用汽車產業鏈協同平臺上某代理商2017 年到2019 年的蓄電池配件銷售數據以及上下游企業共享的整車保有數據和配件故障數據,構建實驗數據集對模型進行訓練和測試。本文實驗環境如表4所示。

表3 LSTM 模型超參數初始值

表4 實驗環境配置列表
為了評估模型預測精度,本文選取均方根誤差(RMSE)和平均絕對誤差(MAE)作為評價指標。其公式如下所示。

其中,yi表示預測數據的真正值,表示預測值,N 表示樣本數量。
本文選取隨機森林模型與LSTM 模型以及ARIMA-LSTM 組合預測模型作為對比實驗模型,對本文模型的預測性能進行對比分析。為了更好的定量比較各實驗模型的預測精度,表5 對各模型的評估指標RMSE 和MAE 的值進行對比。

表5 實驗模型評價指標取值對比表
對比發現,經過隨機森林優化特征集的RF-LSTM配件需求量預測模型的RMSE 值和MAE 值比其他對比實驗模型都低,說明其預測精度更高,預測的配件需求量與實際需求量之間的誤差更小。ARIMA-LSTM 組合模型效果次之,對于單一組件模型,LSTM 模型對該數據集的預測效果好于隨機森林。
本文首先提取汽車產業鏈協同平臺上多價值鏈配件需求特征數據,整合了多鏈數據集,然后構建隨機森林與LSTM 的組合預測模型,利用隨機森林選取特征,優化LSTM 網絡結構,提升模型預測精度。最后利用實驗數據集對模型預測性能進行了實例驗證。結果表明,多鏈數據集的整合與組合預測模型的建立對配件需求量的預測精度有一定程度的提升。未來的工作我們可以使用其他模型組合方案,或者利用諸如遺傳算法等優化算法對模型的參數設置進行優化,以便進一步提高模型預測性能。