王 寧 ,李建華 ,王軍軍 ,李雙雪 ,唐 寧
(1.蘭州理工大學(xué)機(jī)電工程學(xué)院,甘肅 蘭州 730050;2.蘭州蘭石集團(tuán)有限公司鑄鍛分公司,甘肅 蘭州 730050)
備件在保障設(shè)備正常使用和維修任務(wù)中占據(jù)重要地位,備件的消耗受到使用環(huán)境、設(shè)備維護(hù)、備件使用壽命等多種因素影響,預(yù)測(cè)難度較大?;跁r(shí)間序列進(jìn)行的預(yù)測(cè)容易理解與應(yīng)用,預(yù)測(cè)精度較高[1]。精確的備件需求預(yù)測(cè)能夠優(yōu)化庫(kù)存結(jié)構(gòu),降低庫(kù)存管理難度,減少資金占用,因此科學(xué)的預(yù)測(cè)技術(shù)是非常重要的。
現(xiàn)有的時(shí)間序列預(yù)測(cè)技術(shù)包括統(tǒng)計(jì)方法和機(jī)器學(xué)習(xí)兩大類[2],統(tǒng)計(jì)方法以差分自回歸移動(dòng)平均(ARIMA)模型[3-5]為代表,而機(jī)器學(xué)習(xí)方法以神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等為代表。韓梅麗[6]等以需求量波動(dòng)較大的備件為研究對(duì)象,采用ARIMA時(shí)序模型對(duì)備件時(shí)序消耗做出了預(yù)測(cè)。丁紅衛(wèi)[7]等通過所需設(shè)備的歷史數(shù)據(jù)對(duì)構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,將訓(xùn)練好的模型用于電網(wǎng)物資的需求預(yù)測(cè)。有學(xué)者將LSTM與卷積神經(jīng)網(wǎng)絡(luò)融合,并運(yùn)用于預(yù)測(cè)、語(yǔ)音識(shí)別等領(lǐng)域[8,9],李梅[10]等提出基于注意力機(jī)制的CNN-LSTM模型,運(yùn)用于熱電聯(lián)產(chǎn)供熱的預(yù)測(cè),對(duì)比支持向量機(jī)、LSTM單一預(yù)測(cè)模型,該組合模型取得了更好效果。
但是ARIMA僅適用于線性時(shí)間序列的預(yù)測(cè),而神經(jīng)網(wǎng)絡(luò)適用于非線性系統(tǒng)的預(yù)測(cè),基于ARIMA和神經(jīng)網(wǎng)絡(luò)在時(shí)間序列預(yù)測(cè)方面各自的優(yōu)劣勢(shì),本研究提出一種基于ARIMA、BP神經(jīng)網(wǎng)絡(luò)和卷積長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的組合模型 (ARIMA-BP-CNN),充分提取時(shí)間序列數(shù)據(jù)的線性和非線性特征,應(yīng)用該模型對(duì)備件需求量做預(yù)測(cè),并通過電解鋁企業(yè)天車某備件的消耗情況進(jìn)行驗(yàn)證。
差分自回歸移動(dòng)平均模型,記作ARIMA,是一種時(shí)間序列預(yù)測(cè)分析方法。ARIMA(p,d,q)中,AR為自回歸,MA為移動(dòng)平均,p是自回歸項(xiàng)數(shù),q是移動(dòng)平均項(xiàng)數(shù),d是保障差分后得到平穩(wěn)序列數(shù)據(jù)的差分次數(shù)。時(shí)間序列模型是基于歷史數(shù)據(jù)建立起來(lái)的模型,以p、d、q為參數(shù)的ARIMA模型可表示為:
其中:Xt為時(shí)間序列的樣本值,φi(i=1,2,…,p)和θi(i=1,2,…,q)為模型參數(shù),εt為獨(dú)立正態(tài)分布的白噪聲。
ARIMA模型首先要對(duì)時(shí)間序列做一次或者多次差分,轉(zhuǎn)換成平穩(wěn)時(shí)間序列,再進(jìn)行建模分析。ARIMA模型對(duì)時(shí)間序列數(shù)據(jù)的線性相關(guān)性預(yù)測(cè)精度高,但對(duì)分線性關(guān)系處理效果欠缺。
BP神經(jīng)網(wǎng)絡(luò)是20世紀(jì)80年代提出的誤差反向傳播算法,BP神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成,隱藏層可以是一層或多層,本文訓(xùn)練的是隱藏層為一層BP神經(jīng)網(wǎng)絡(luò),如圖1所示。BP算法分為前向傳播和反向傳播兩個(gè)部分,前向傳播是輸入信息從輸入層傳入,經(jīng)中間的隱藏層最終傳至輸出層,若獲得預(yù)期的輸出結(jié)果,則學(xué)習(xí)過程終止;否則,它將轉(zhuǎn)向反向傳播。反向傳播是與原始連接路徑反方向,通過誤差逐層修改網(wǎng)絡(luò)權(quán)值及閾值,再將更新的權(quán)值和閾值正向傳播,通過正向、反向傳播的循環(huán)進(jìn)行得到最優(yōu)權(quán)值和閾值。
隱藏層與輸入層關(guān)系:
其中,θj為隱藏層第j個(gè)神經(jīng)元的閾值,wij為輸入層和隱藏層的連接權(quán)值,netj是第j個(gè)神經(jīng)元的激活值,yj是隱藏層的輸出值,f為激活函數(shù),通常是Sigmoid函數(shù)。輸出層和隱藏層與上述關(guān)系類似,激活函數(shù)通常為線性函數(shù)。
圖1 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
1.3.1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò) (Convolutional Neural Networks,CNN)是一種具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),由輸入層、卷積層、池化層、全連接層以及輸出層組成。卷積神經(jīng)網(wǎng)絡(luò)可以有多個(gè)卷積層與池化層,二者交替使用從原始數(shù)據(jù)中獲得有效表征,提取數(shù)據(jù)的特征,然后經(jīng)過全連接層解除多維結(jié)構(gòu),最后到達(dá)輸出層,完成分類、預(yù)測(cè)等任務(wù)。
1.3.2 長(zhǎng)短期記憶網(wǎng)絡(luò)
LSTM是一類特殊的遞歸神經(jīng)網(wǎng)絡(luò),它克服了傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)存在的梯度爆炸和梯度消失的問題,適合處理和預(yù)測(cè)時(shí)間序列事件。如圖2所示,每個(gè)LSTM由輸入門、忘記門、輸出門和細(xì)胞狀態(tài)組成,更新方式如下:
圖2 LSTM網(wǎng)絡(luò)基本單元
其中,ft、it、Ct、ot分別表示忘記門、輸入門、細(xì)胞狀態(tài)和輸出門;bf、bi、bc、bo分別表示不同門對(duì)應(yīng)的偏置;Wf、Wi、Wc、Wo分別表示不同門對(duì)應(yīng)權(quán)值;xt表示當(dāng)前節(jié)點(diǎn)的輸入;ht表示當(dāng)前節(jié)點(diǎn)的輸出;σ表示激勵(lì)函數(shù)Sigmoid;G^t表示計(jì)算過程中的候選值向量。
1.3.3 CNN-LSTM神經(jīng)網(wǎng)絡(luò)
CNN-LSTM神經(jīng)網(wǎng)絡(luò)算法由三部分組成。第一層,將原始數(shù)據(jù)熱向量編碼,使其映射為k維空間,得到新特征。第二層,將新特征輸入卷積神經(jīng)網(wǎng)絡(luò),設(shè)置若干對(duì)卷積層和池化層,提取數(shù)據(jù)特征。第三層,將CNN的輸出數(shù)據(jù)作為L(zhǎng)STM神經(jīng)網(wǎng)絡(luò)的輸入,做時(shí)序的預(yù)測(cè),如圖3所示。
圖3 CNN-LSTM模型
傳統(tǒng)的預(yù)測(cè)方法以及機(jī)器學(xué)習(xí)算法均有其局限性,單一的方法不能得到理想的預(yù)測(cè)結(jié)果,文章采用組合預(yù)測(cè)方法對(duì)備件需求進(jìn)行預(yù)測(cè)。Armstrong分析表明,組合預(yù)測(cè)方法對(duì)短期問題的預(yù)測(cè)更有效,預(yù)測(cè)結(jié)果的精確度更高[11]。組合預(yù)測(cè)理論中,若存在n種解決實(shí)際問題的預(yù)測(cè)方法,那么可以能通過給這n種方法分別賦予適當(dāng)?shù)臋?quán)重,再將n種方法的預(yù)測(cè)結(jié)果分別乘以對(duì)應(yīng)的權(quán)重,各項(xiàng)累加,進(jìn)而得到組合模型的預(yù)測(cè)結(jié)果。
假設(shè)某項(xiàng)預(yù)測(cè)問題在觀測(cè)時(shí)段的實(shí)際值為yt(t=1,2,…,m),對(duì)于該問題的n種預(yù)測(cè)模型中,各自的預(yù)測(cè)值為 git(i=1,2,…,n; t=1,2,…,m),各預(yù)測(cè)模型的權(quán)重系數(shù)為wi(i=1,2,…,n)。于是組合模型的預(yù)測(cè)值t表示為:
進(jìn)而得到組合預(yù)測(cè)的誤差:
文章結(jié)合前面介紹的ARIMA、BP神經(jīng)網(wǎng)絡(luò)和卷積長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò),將三種方法結(jié)合,組成新組合預(yù)測(cè)方法(ARIMA-BP-CNN)。于是公式(9)的形式為:
應(yīng)用該組合預(yù)測(cè)方法進(jìn)行預(yù)測(cè),得到較高精度的預(yù)測(cè)結(jié)果,關(guān)鍵是確立各單一模型的權(quán)重系數(shù),本文采用遺傳算法優(yōu)化ARIMA-BP-CNN模型的權(quán)重系數(shù)。圖4是本文提出的ARIMA-BP-CNN組合模型流程圖,該組合預(yù)測(cè)方法步驟如下:
步驟 1:分別使用 ARIMA、BP神經(jīng)網(wǎng)絡(luò)和CNN-LSTM對(duì)原始時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè),得到單一模型的預(yù)測(cè)結(jié)果。
步驟2:為各單一模型分配初始權(quán)重,分別用步驟1各方法的預(yù)測(cè)結(jié)果乘以對(duì)應(yīng)的權(quán)重,各項(xiàng)累加,得到ARIMA-BP-CNN模型的預(yù)測(cè)結(jié)果。
步驟3:采用遺傳算法優(yōu)化權(quán)重系數(shù)。初始權(quán)重未必能得到預(yù)期的結(jié)果,使用遺傳算法對(duì)組合模型的權(quán)重加以優(yōu)化。
步驟4:精度的預(yù)測(cè)。若組合模型得到期望的預(yù)測(cè)精度,進(jìn)行步驟5;否則,返回步驟2繼續(xù)采用遺傳算法優(yōu)化權(quán)重系數(shù),直至得到期望的預(yù)測(cè)精度。
步驟5:輸出組合模型的預(yù)測(cè)結(jié)果,如圖4所示。
圖4 基于ARIMA、BP和CNN的組合預(yù)測(cè)流程圖
現(xiàn)有2010年至2018年間某電解鋁企業(yè)天車某備件消耗數(shù)據(jù),以季度為時(shí)間單位統(tǒng)計(jì)了36個(gè)歷史消耗數(shù)據(jù),詳細(xì)見表1.在這36個(gè)歷史數(shù)據(jù)中,選擇前32個(gè)作為訓(xùn)練數(shù)據(jù),后面4個(gè)作為檢驗(yàn)數(shù)據(jù)。
表1 某備件消耗數(shù)據(jù)
將2010年至2017年的32個(gè)消耗數(shù)據(jù)作為輸入數(shù)據(jù),得到2018年四個(gè)季度該備件消耗的預(yù)測(cè)結(jié)果。
(1)檢驗(yàn)序列的平穩(wěn)性。
圖5 備件消耗不平穩(wěn)序列圖
圖5時(shí)序圖顯示該序列具有曲折上升的趨勢(shì),可以判斷為非平穩(wěn)序列;單位根檢驗(yàn)統(tǒng)計(jì)量對(duì)應(yīng)的p值為0.11487顯著大于0.05,最終判斷該序列為非平穩(wěn)序列。
(2)對(duì)原始序列一階差分,并進(jìn)行平穩(wěn)性和白噪聲檢驗(yàn)。
圖6顯示,一階差分后的序列時(shí)序圖在均值附近比較平穩(wěn)的波動(dòng);圖7顯示,自相關(guān)圖有很強(qiáng)的短期相關(guān)性;單位根檢驗(yàn)p值為0.04小于0.05;白噪聲檢驗(yàn)p值為0.02小于0.05,所以一階差分后的序列為平穩(wěn)非白噪聲序列。
圖6 備件消耗平穩(wěn)序列圖
圖7 備件消耗ACF圖
(3)對(duì)差分后的序列擬合ARIMA模型。
計(jì)算ARMA(p,q)。計(jì)算p和q均小于等于3的所有組合的BIC信息量,取其中BIC信息量最小的模型階數(shù)。計(jì)算結(jié)果顯示p值為0、q值為1時(shí)最小BIC 值為 166.2731,因此 p、q 定階 0、1。
(4)ARIMA模型預(yù)測(cè)。
應(yīng)用ARIMA(0,1,1)對(duì)該備件2018年四個(gè)季度(Q1-Q4)需求量做預(yù)測(cè),預(yù)測(cè)結(jié)果見表2。
表2 備件實(shí)際消耗量與各模型的預(yù)測(cè)值
將該備件的歷史消耗數(shù)據(jù),依次從第1個(gè)數(shù)據(jù)開始,緊鄰的8個(gè)作為神經(jīng)網(wǎng)絡(luò)的輸入,第9個(gè)數(shù)據(jù)作為待預(yù)測(cè)的消耗值,即神經(jīng)網(wǎng)絡(luò)的輸出,將這9個(gè)相鄰的歷史數(shù)據(jù)作為1個(gè)樣本。將前32個(gè)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,按此方法得到24個(gè)樣本,用來(lái)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。輸入層有8個(gè)單元,輸出層有1個(gè)單元,取隱藏層8個(gè)單元,relu作為激活函數(shù),訓(xùn)練該BP神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)5000次后,用這個(gè)訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型對(duì)2018年四個(gè)季度該備件的消耗量做預(yù)測(cè),預(yù)測(cè)結(jié)果見表2。
將該備件的歷史消耗數(shù)據(jù),依次從第1個(gè)數(shù)據(jù)開始,緊鄰的4個(gè)作為神經(jīng)網(wǎng)絡(luò)的輸入,第5個(gè)數(shù)據(jù)作為待預(yù)測(cè)的消耗值,即神經(jīng)網(wǎng)絡(luò)的輸出,將這5個(gè)相鄰的歷史數(shù)據(jù)作為1個(gè)樣本。將前32個(gè)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,按此方法得到28個(gè)樣本,以此訓(xùn)練深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。輸入層為4個(gè)單元,依次通過卷積、池化、LSTM層、Flatten等過程,輸出層為1個(gè)單元,relu作為激活函數(shù),mae作為損失函數(shù),對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,學(xué)習(xí)1000次后,用這個(gè)訓(xùn)練好的CNN-LSTM模型對(duì)該備件2018年四個(gè)季度的消耗量做預(yù)測(cè),預(yù)測(cè)結(jié)果見表2。
(1)確定權(quán)系數(shù)
以誤差平方和最小作為模型組合的最優(yōu)準(zhǔn)則,建立如下廣義誤差最小的組合預(yù)測(cè)權(quán)重確定模型:
運(yùn)用遺傳算法確定該非線性問題的權(quán)重,將目標(biāo)函數(shù)作為遺傳算法的適應(yīng)度計(jì)算值,使用MATLAB中的GA工具箱調(diào)用該函數(shù)進(jìn)行計(jì)算,通過反復(fù)實(shí)驗(yàn),得到三種方法對(duì)應(yīng)的權(quán)值:
(2)組合模型做預(yù)測(cè)
通過公式(14)計(jì)算得到組合模型預(yù)測(cè)值,結(jié)果見表2。
另外,為進(jìn)一步比較三種方法組合模型的預(yù)測(cè)精確度,同樣計(jì)算了單一方法的兩兩組合預(yù)測(cè)結(jié)果,以誤差平方和最小作為模型組合的最優(yōu)準(zhǔn)則,使用相同方法計(jì)算得到ARIMA-BP的組合權(quán)重為:w1=0.356,w2=0.644;ARIMA-CNN 的組合權(quán)重為:w1=0.236,w2=0.764;BP-CNN 的組合權(quán)重為:w1=0.26,w2=0.74。兩兩組合方法的預(yù)測(cè)結(jié)果見表2。
文章提出的ARIMA-BP-CNN方法是綜合三種不同方法的新方法,結(jié)合三種方法的過程中,對(duì)每一種方法進(jìn)行加權(quán),其中CNN的權(quán)重系數(shù)最高,對(duì)組合方法的貢獻(xiàn)最大。
為了直觀顯示單一方法和組合方法的預(yù)測(cè)精度,將備件消耗的實(shí)際值減去各方法的預(yù)測(cè)值,得到圖8的誤差曲線圖。從圖中可以看出ARIMABP-CNN方法的整體誤差最接近于零,其他三種方法只有第二季度CNN有較小的誤差,其他季度里三種單一的方法都具有較大的誤差。
圖8 四種預(yù)測(cè)方法的誤差曲線
為進(jìn)一步說明預(yù)測(cè)結(jié)果的有效性以及改進(jìn)后組合模型的提升效果,從均方根誤差(RMSE),平均絕對(duì)誤差(MAE),平均絕對(duì)百分比誤差(MAPE)這3個(gè)方面進(jìn)行對(duì)比分析,具體見表3。
表3 預(yù)測(cè)效果評(píng)價(jià)表
從表3可以看出,ARIMA-BP-CNN方法的評(píng)價(jià)指標(biāo)均低于三種單一方法的評(píng)價(jià)指標(biāo),其中,相比于ARIMA方法,ARIMA-BP-CNN將RMSE降低了65.9%,將MAE降低了69.6%,將MAPE降低了69.5%,預(yù)測(cè)精度取得了較大提升。
兩兩組合模型中,ARIMA-BP方法的預(yù)測(cè)精度相對(duì)偏低,ARIMA-CNN和BP-CNN的預(yù)測(cè)精度相對(duì)較高,但仍低于組合預(yù)測(cè)模型ARIMA-BP-CNN的預(yù)測(cè)精度。
綜上所述,ARIMA-BP-CNN組合預(yù)測(cè)模型的預(yù)測(cè)精度最高,優(yōu)于三種單一預(yù)測(cè)方法。
針對(duì)電解鋁企業(yè)的備件需求預(yù)測(cè)問題,構(gòu)建了基于ARIMA、BP神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)CNN-LSTM神經(jīng)網(wǎng)絡(luò)三種方法的組合預(yù)測(cè)模型,解決了備件消耗的預(yù)測(cè)問題,充分發(fā)揮了ARIMA解決線性問題的能力和神經(jīng)網(wǎng)絡(luò)解決非線性問題的能力,擺脫了單一預(yù)測(cè)方法的弊端,通過電解鋁企業(yè)天車某備件為實(shí)例,驗(yàn)證了該組合模型在備件需求預(yù)測(cè)中的可行性與精確性。