林 琳,陳湘芝,鐘詩勝
(哈爾濱工業(yè)大學機電工程學院,150001哈爾濱)
?
一種新的間斷型備件需求預(yù)測方法
林琳,陳湘芝,鐘詩勝
(哈爾濱工業(yè)大學機電工程學院,150001哈爾濱)
摘要:針對間斷型需求因需求發(fā)生隨機、需求量值波動大而導致預(yù)測困難這一問題,提出一種新的備件需求預(yù)測方法.該方法能分別預(yù)測需求發(fā)生時間和非零需求發(fā)生時的需求量值.對于0-1需求發(fā)生時間序列,采用調(diào)制方法對其進行平滑處理,運用神經(jīng)網(wǎng)絡(luò)對調(diào)制后的0-1時間序列進行預(yù)測,獲得需求發(fā)生時間的預(yù)測值.采用時間聚合方法對實際備件需求時間序列進行預(yù)測,將滾動預(yù)測應(yīng)用到解聚合過程中,得到備件的需求量預(yù)測值.使用三一重工砼活塞和核電設(shè)備的備件需求數(shù)據(jù)對方法進行驗證,結(jié)果表明,該方法的預(yù)測精度要優(yōu)于Croston方法、指數(shù)平滑法以及BP神經(jīng)網(wǎng)絡(luò),證明了所提方法的有效性和準確性.
關(guān)鍵詞:備件需求;需求預(yù)測;間斷需求;神經(jīng)網(wǎng)絡(luò);時間聚合;調(diào)制
大型設(shè)備的備件需求模式一般為間斷型,例如重型機械、航空宇航等的維修備件,其價值能達到總庫存價值的60%.備件需求模式為間斷型時,表現(xiàn)為需求發(fā)生隨機,需求量波動明顯.Johnston給出了間斷型需求模式的判別方法:相鄰兩次需求發(fā)生的間隔時間大于1.25倍的觀測周期[1].經(jīng)典的需求預(yù)測方法如移動平均法、指數(shù)平滑法等對間斷需求模式并不適用.因此,根據(jù)間斷需求模式的特點提出精確的需求預(yù)測方法變得尤其重要.關(guān)于間斷需求預(yù)測的研究,最早的有Croston預(yù)測方法,該方法分別采用指數(shù)平滑法對需求量和需求間隔進行預(yù)測[2].針對Croston方法存在有偏估計以及假設(shè)需求服從正態(tài)分布等問題,出現(xiàn)不少對Croston方法改進的文獻[3-4].然而,Croston方法只能計算每期的平均需求.Thomas等[5]引入bootstrap方法對間斷需求進行預(yù)測,華中生等[6]在此方法基礎(chǔ)上加入解釋變量的影響,提出IFM預(yù)測方法.Bootstrap方法假定需求時間序列存在自相關(guān)性難以得到保證,并且只能得到提前期需求分布.智能學習算法被廣泛應(yīng)用到需求預(yù)測中,Gutierrez[7]、Kourentzes[8]運用神經(jīng)網(wǎng)絡(luò)預(yù)測備件需求量,雖然能計算每期的備件需求,但是預(yù)測精度并不高.張瑞[9]采用支持向量機預(yù)測需求發(fā)生時間.此外,時間聚合方法近年來也被應(yīng)用到間斷需求預(yù)測中以減小零值及波動性[10],Kourentzes等[11]據(jù)此提出ADIDA預(yù)測方法,并用實驗分析了該方法的預(yù)測效果.Babai等[12]用實驗分析了時間聚合在間斷需求備件庫存管理中的作用.但備件需求數(shù)據(jù)聚合后,不可避免地會丟失一些信息,如觀測值減少.
本文提出一種間斷需求預(yù)測方法,能預(yù)測需求發(fā)生時間以及需求量值.將實際備件需求時間序列轉(zhuǎn)換為0-1需求發(fā)生時間序列,采用神經(jīng)網(wǎng)絡(luò)對調(diào)制后的0 -1需求發(fā)生時間序列預(yù)測,利用時間聚合方法對實際備件需求時間序列預(yù)測,解聚合后得到備件需求預(yù)測值.
1.1 0-1需求發(fā)生時間序列的調(diào)制處理
為了對需求發(fā)生時間進行預(yù)測,首先將實際備件需求時間序列X=(x1,x2,…,xn)轉(zhuǎn)換為0-1需求發(fā)生時間序列F=(f1,f2,…,fn).在0-1時間序列中,“0”表示未發(fā)生需求,“1”表示發(fā)生需求.神經(jīng)網(wǎng)絡(luò)具有擬合任意非線性函數(shù)及一定的泛化能力,是一種比較成熟的預(yù)測模型,由于需求發(fā)生時間序列中只含有0和1,不適宜直接用神經(jīng)網(wǎng)絡(luò)進行預(yù)測,需要將0-1需求發(fā)生時間序列轉(zhuǎn)換為連續(xù)平滑的序列.
將0-1需求發(fā)生時間序列轉(zhuǎn)換為平滑連續(xù)的時間序列,可以借鑒數(shù)字調(diào)制技術(shù),調(diào)制是將信號加到載波上,使載波隨信號的變化而變化,因此調(diào)制后的時間序列依然能夠保持原始的數(shù)據(jù)信息,同時,更加容易被神經(jīng)網(wǎng)絡(luò)模型擬合.比較簡單的調(diào)制方法是幅度調(diào)制,即載波幅度隨原始信號變化.調(diào)制的關(guān)鍵在于載波的設(shè)計.原理上,載波波形可以是任意的,由于正弦信號形式簡單,通信系統(tǒng)中一般選擇正弦信號作為載波.本文對0-1時間序列調(diào)制的目的在于使0-1時間序列拓展成一個平滑連續(xù)的時間序列,因此對載波的選擇根據(jù)預(yù)測精度而定.選擇正弦函數(shù)、二次函數(shù)、高斯函數(shù)以及墨西哥草帽小波函數(shù)幾個偶函數(shù)分別進行試驗,通過試驗對比分析后,以下面一組數(shù)字信號作為載波:
預(yù)測精度最高.
為減少已調(diào)制序列中的零值,用-1代替需求發(fā)生時間序列F中的0值,令新的需求發(fā)生時間序列為P,那么,已調(diào)制序列Y為
將需求發(fā)生時間序列F轉(zhuǎn)換為平滑的時間序列Y后,采用神經(jīng)網(wǎng)絡(luò)模型外推得到其預(yù)測值.由已調(diào)制信號分析可知,當ft=1時,Yt(n)>0,(n=-2.0,-1.5,-1.0,-0.5,0,1.0,1.5,2.0),當ft=0時,Yt(n)<0,(n=-2.0,-1.5,-1.0,-0.5,0,1.0,1.5,2.0).因此,可以通過預(yù)測值是否>0來判斷對應(yīng)時間是否有需求發(fā)生.以完整波形作為神經(jīng)網(wǎng)絡(luò)的輸入,輸出下一個波形的前面兩個值-2.0)和,由于第一個值-2.0)處于兩個波形之間的過渡階段,比較難以正確預(yù)測,因此選擇第二個值來判定對應(yīng)時間段的需求發(fā)生預(yù)測值
1.2 0-1需求發(fā)生時間序列的預(yù)測步驟
以下給出0-1需求發(fā)生時間序列預(yù)測的具體步驟.
Step 1實際備件需求時間序列X=(x1,x2,…,xn)轉(zhuǎn)換為0-1需求發(fā)生時間序列F=(f1,f2,…,fn) ;
為方便后面步驟的調(diào)制處理,一般文獻中,0-1需求發(fā)生時間序列中用0表示沒有發(fā)生需求;而在本文中,0值用-1代替,令新的需求發(fā)生時間序列為P,且;
pt=-1,ft=0; 1,ft=1;(t=1,2,…,n).
{
Step 2對需求發(fā)生時間序列進行調(diào)制處理,得到已調(diào)制序列Yt(n) ;
Step 3使用神經(jīng)網(wǎng)絡(luò)模型對調(diào)制后的序列進行預(yù)測得到預(yù)測值
Step 4將已調(diào)制序列的預(yù)測值轉(zhuǎn)換為0-1需求發(fā)生時間序列的預(yù)測值
在Step 3中,采用應(yīng)用比較廣泛的BP神經(jīng)網(wǎng)絡(luò)模型.對只有一個隱層的神經(jīng)網(wǎng)絡(luò),當隱層節(jié)點足夠多時,就可以以任意精度逼近一個非線性函數(shù)[13],因此設(shè)計的BP神經(jīng)網(wǎng)絡(luò)有3層.輸入層節(jié)點數(shù)和隱層節(jié)點數(shù)的選取會影響B(tài)P網(wǎng)絡(luò)的預(yù)測精度,但目前并沒有標準方法來選擇這兩個參數(shù),只能對多種網(wǎng)絡(luò)結(jié)構(gòu)進行大量學習實驗后確定合適的值.當神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)比較簡單時,這樣訓練的神經(jīng)網(wǎng)絡(luò)具有較好的泛化性.因此,設(shè)計隱層節(jié)點數(shù)為3,這是逼近任意一個復(fù)雜的非線性函數(shù)相對來說所需要的最小的隱層節(jié)點數(shù)[14].以整數(shù)個載波波形作為輸入,每個載波波形中有9個離散點,則輸入層節(jié)點數(shù)為9n,其中,n為正整數(shù).以預(yù)測精度為評判標準,對多種輸入節(jié)點進行大量實驗,以此來確定神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點數(shù).輸出層節(jié)點數(shù)為2.
下面通過備件需求實例來介紹需求發(fā)生時間的預(yù)測.備件需求實驗數(shù)據(jù)有2組,分別來自文獻[9,15],是核電設(shè)備的備件需求數(shù)據(jù),其信息在3.1節(jié)介紹.將實際備件需求時間序列轉(zhuǎn)換為0-1需求發(fā)生時間序列,如圖1所示,對其進行調(diào)制處理,調(diào)制后的時間序列如圖2所示.采用BP神經(jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)進行預(yù)測.通過大量實驗及比較確定:輸入層節(jié)點數(shù)為27,隱層傳遞函數(shù)為tansig,輸出層傳遞函數(shù)為purelin.用總體數(shù)據(jù)的4/5作為訓練數(shù)據(jù),1/ 5作為測試數(shù)據(jù),得到備件1、2需求發(fā)生時間的預(yù)測結(jié)果如表1所示,其中0-1需求發(fā)生時間序列的預(yù)測精度計算公式在3.2節(jié)介紹.
圖1 備件1需求發(fā)生時間序列
圖2 備件1調(diào)制處理后的時間序列
表1 備件1、2預(yù)測精度 %
取不同載波形式,備件1、2的0-1需求發(fā)生時間序列的預(yù)測結(jié)果如表2所示.從表2預(yù)測結(jié)果可以看出,當載波選擇高斯函數(shù)時,預(yù)測精度是最高的.取高斯函數(shù)中的離散點作為載波時,兩個相鄰載波的過渡更加平緩,因此,預(yù)測值可能更加準確.
表2 不同載波形式的備件預(yù)測結(jié)果對比 %
間斷型備件需求時間序列具有兩個特點:需求發(fā)生的零星性,即有的時間段上沒有需求發(fā)生;變化性,即需求量值的起伏波動比較大.基于這兩個特點,間斷時間序列的預(yù)測誤差很大.對于間斷時間序列,時間聚合是一個有效的預(yù)測方法.間斷時間序列聚合后,零值減少,方差減小,因此更容易預(yù)測.其主要步驟為:
1)原始數(shù)據(jù)聚合.時間聚合就是改變觀測周期長度,假設(shè)實際備件需求時間序列中的觀測值為月需求量,當聚合水平為3時,相鄰3個月需求量相加得到一個季度需求量.對于聚合水平的選擇,一般是通過實驗獲得一個比較好的數(shù)值.
2)聚合數(shù)據(jù)預(yù)測.實際備件需求時間序列聚合后,不再表現(xiàn)出間斷特性,或間斷特性不是很明顯,因此預(yù)測方法可以有多種選擇,在本章節(jié)仍然采用神經(jīng)網(wǎng)絡(luò)對聚合后的時間序列進行預(yù)測.
3)解聚合.對聚合時間序列預(yù)測值進行解聚合,即仍使用原始的時間長度作為觀測周期長度,例如將季度需求量轉(zhuǎn)換為月需求量.若聚合水平為a,解聚合后得到a個時間段的預(yù)測值,t=(n + 1, n + 2,…,n + a).由第1節(jié)的預(yù)測方法獲得0-1需求發(fā)生時間序列的預(yù)測值,t=(n + 1,n + 2,…,n + a).=0表示需求未發(fā)生,需求量預(yù)測值表示發(fā)生需求,假設(shè)預(yù)測t=(n + 1,n + 2,…,n + a)時間段中有z個時間段發(fā)生需求,通過聚合后的需求量預(yù)測值平均,可以得到對應(yīng)時間段需求發(fā)生時的需求量預(yù)測值
下面給出基于時間聚合的預(yù)測方法的體算法步驟.
Step 1設(shè)聚合水平為a,實際備件需求時間序列X=(x1,x2,…,xn),計算聚合時間序列Y=(y1,y2,…,ym),m=[n/a],即ym=x(m-1) a+1+ x(m-1) a+2+…+ xma.
Step 2用神經(jīng)網(wǎng)絡(luò)模型計算Y=(y1,y2,…,ym)的預(yù)測值.已知對應(yīng)時間段的0-1需求發(fā)生時間序列預(yù)測值,初始設(shè)定z=0,t=n + 1.
Step 4令t=t + 1,如果t≤n + a,則轉(zhuǎn)到Step 3;如果t>n + a,則轉(zhuǎn)到Step 5;
在運用時間聚合方法對實際備件需求時間序列預(yù)測時,還存在這樣一個問題,1.2節(jié)中0-1需求發(fā)生時間的預(yù)測是一種單步預(yù)測,而本章節(jié)的預(yù)測方法是一種多步預(yù)測.若對需求發(fā)生時間也進行多步預(yù)測,則預(yù)測精度會降低.
為解決這個問題,本文采用一種滾動預(yù)測方法,其實質(zhì)是通過不斷更新實際備件需求時間序列來達到單步預(yù)測的目的,具體算法如下:
Step 1初始時刻,設(shè)i=0,定義a為聚合水平,n為當前期;
Step 3對0-1需求發(fā)生時間序列進行(a-i)步預(yù)測,獲得0-1需求發(fā)生時間序列的預(yù)測值ft,t=(n + 1 + i,n + 2 + i,…,n + a) ;
Step 5獲得更新的實際備件需求時間序列;
Step 6令i=i + 1,如果i<a,轉(zhuǎn)到Step 2;如果i≥a,轉(zhuǎn)到Step 7;
Step 7結(jié)束.
3.1實驗數(shù)據(jù)
分別采用具有間斷形式的時間序列以及備件需求實例對文中預(yù)測方法進行驗證.間斷時間序列樣本分為兩類: 1)通過在三一重工砼活塞的需求數(shù)據(jù)中隨機插入零值來獲得間斷型需求數(shù)據(jù),以不同地區(qū)砼活塞的連續(xù)型需求數(shù)據(jù)產(chǎn)生5組間斷型需求數(shù)據(jù); 2)采用2組核電設(shè)備關(guān)鍵件的備件需求數(shù)據(jù)(分別來自文獻[9]、[15]).兩種實驗數(shù)據(jù)的統(tǒng)計信息如表3、4所示.
表3 砼活塞需求數(shù)據(jù)統(tǒng)計信息
表4 核電設(shè)備備件需求數(shù)據(jù)統(tǒng)計信息
3.2預(yù)測精度判定方法
3.2.1 0-1需求發(fā)生時間的預(yù)測精度計算公式
0-1需求發(fā)生時間序列的預(yù)測精度為
3.2.2需求量預(yù)測誤差計算公式
需求量的預(yù)測誤差可以用相對誤差來衡量,但是由于某些時間段的需求量為0,為降低分母中出現(xiàn)零值的概率,采用
作為誤差計算公式.式中di為第i期的實際備件需求量,為第i期的備件需求量預(yù)測值.
3.3間斷時間序列驗證
對由砼活塞需求數(shù)據(jù)所產(chǎn)生的間斷時間序列進行預(yù)測.間斷時間序列轉(zhuǎn)換為0-1序列,對其進行調(diào)制處理,采用BP神經(jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)預(yù)測.通過大量實驗后,經(jīng)比較確定輸入層節(jié)點數(shù)為27,隱層傳遞函數(shù)為tansig,輸出層傳遞函數(shù)為purelin.用總體數(shù)據(jù)的3/4作為訓練數(shù)據(jù),剩余1/4作為測試數(shù)據(jù),得到數(shù)據(jù)1的預(yù)測結(jié)果如圖3所示.
圖3 數(shù)據(jù)1的需求發(fā)生預(yù)測結(jié)果
0-1時間序列的預(yù)測統(tǒng)計信息如表5所示,從表5可以看出,5組數(shù)據(jù)的需求發(fā)生時間的總體預(yù)測精度為90%左右,說明該方法具有可行性.
表5 5組數(shù)據(jù)的需求發(fā)生時間預(yù)測精度 %
數(shù)據(jù)1的預(yù)測實現(xiàn)過程如下:大量實驗后,經(jīng)比較確定聚合水平為3,神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點數(shù)為3,隱層傳遞函數(shù)為tansig,輸出層節(jié)點為1,傳遞函數(shù)為purelin.用總數(shù)據(jù)的3/4作為訓練數(shù)據(jù),1/4為測試數(shù)據(jù),預(yù)測結(jié)果如圖4所示.
圖4 數(shù)據(jù)1的預(yù)測結(jié)果
其它各組數(shù)據(jù)的最終預(yù)測誤差結(jié)果見表6,并與Croston方法的預(yù)測誤差對比,在相關(guān)文獻中,一般將Croston方法用于對比實驗.
表6 本文方法與Croston方法預(yù)測誤差比較 %
從表6可以看出,5組數(shù)據(jù)的預(yù)測誤差在60%左右,而Croston方法的預(yù)測誤差在120%左右.上述結(jié)果證明本文提出的預(yù)測方法是有效的.
3.4備件需求實例驗證
在1.2節(jié)中完成了備件1、2中0-1需求發(fā)生時間序列的預(yù)測,并用圖表形式呈現(xiàn)了預(yù)測結(jié)果.在需求量值的預(yù)測實驗中,通過實驗分析獲得聚合水平,表7給出了不同聚合水平時備件1的需求量預(yù)測精度,當聚合水平為3時,預(yù)測精度最高,因此,選擇備件1的聚合水平為3,同理可獲得備件2的聚合水平為3.
表7 不同聚合水平的預(yù)測誤差對比
神經(jīng)網(wǎng)絡(luò)模型的輸入節(jié)點數(shù)為2,隱層傳遞函數(shù)為tansig,輸出層節(jié)點數(shù)為1,傳遞函數(shù)為purelin.解聚合后其預(yù)測值如圖5和圖6所示,從圖5和圖6可以看到,預(yù)測值比較接近真實值.
圖5 備件1的預(yù)測結(jié)果
圖6 備件2的預(yù)測結(jié)果
表8給出了本文提出的方法與指數(shù)平滑法、Croston方法以及神經(jīng)網(wǎng)絡(luò)方法的預(yù)測誤差結(jié)果比較.
表8 備件需求實例的預(yù)測誤差對比 %
從表8中可以看出,本文所提出的預(yù)測方法的預(yù)測誤差小于其它預(yù)測方法,實驗對比分析表明本文所提出的預(yù)測方法的預(yù)測效果更好.
1)備件的需求模式一般為間斷型,本文通過分析間斷模式備件需求時間序列的相關(guān)特性,提出了相應(yīng)的需求預(yù)測方法,通過該方法能預(yù)測得到需求發(fā)生時間以及需求發(fā)生時的需求量值.
2)通過采用間斷時間序列和核電設(shè)備備件需求實例驗證本文所提方法的準確性,預(yù)測結(jié)果和Croston方法、指數(shù)平滑法、神經(jīng)網(wǎng)絡(luò)方法對比,實驗結(jié)果表明本文所提出的方法具有較高的預(yù)測精度.
參考文獻
[1]SYNTETOS A A,BOYLAN J E,CROSTON J D.On the categorization of demand patterns[J].Journal of the Operational Research Society,2005,56(5) : 495-503.
[2]CROSTON J D.Forecasting and stock control for intermittent demands[J].Operational Research Quarterly,1972,23(3) : 289-304.
[3]BABAI M Z,SYNTETOS A A,TEUNTER R.Empirical heuristics for improving intermittent demand forecasting [J].Industrial Management&Data Systems,2013,113 (5) : 682-697.
[4]MUKHOPADHYAY S,SOLIS A O,GUTIERREZ R S.The accuracy of non-traditional versus traditional methods of forecasting lumpy demand[J].Journal of Forecasting,2012,31(8) : 721-735.
[5]THOMAS W R,CHARLES S N,SCHWARZ H F.A new approach to forecasting intermittent demand for service parts inventories[J].International Journal of Forecasting,2004,20(3) : 375-387.
[6]HUA Zhongsheng,ZHANG Bin,YANG Jie,et al.A new approach of forecasting intermittent demand for spare parts inventories in the process industries[J].Journal of the Operational Research Society,2007,58(1) : 52-61.
[7]GUTIERREZ R S.Lumpy demand forecasts using neural networks[J].International Journal of Production Economics,2008,111(2) : 409-420.
[8]KOURENTZES N.Intermittent demand forecasts with neural networks[J].International Journal of Production Economics,2013,143(1) : 198-206.
[9]張瑞.不常用備件需求預(yù)測模型與方法研究[D].武漢:華中科技大學,2011: 47-62.
[10]ALTAY N,LITTERAL L A.Service parts management: demand forecasting and inventory control[M].London: Springer-Verlag London Limited,2011: 89-101.
[11]KOURENTZES N,SYNTETOS A A,BOYLAN J E,et al.An aggregate-disaggregate intermittent demand approach (ADIDA) to forecasting: an empirical proposition and analysis[J].Journal of the Operational Research Society,2011,62(3) : 544-554.
[12]BABAI M Z,MOHAMMAD M A,KONSTANTINOS N.Impact of temporal aggregation on stock control performance of intermittent demand estimators: empirical analysis[J].Omega,2012,40(6) : 713-721.
[13]張立明.人工神經(jīng)網(wǎng)絡(luò)的模型及其應(yīng)用[M].上海:復(fù)旦大學出版社,1995: 32-36.
[14]CHENG X,DING S Q,LEE T H.Geometrical interpretation and architecture selection of MLP[J].IEEE Transactions on Neural Networks,2005,16(1) : 84-96.
[15]王瑋.集成多SVM的不常用備件需求預(yù)測支持系統(tǒng)研究[D].武漢:華中科技大學,2007: 44-45.
[16]LICHMAN M.UCI Machine Learning Repository: Individual family power consumption[DB/OL].Irvine,CA: University of California,School of Information and Computer Science,2013[2015-3-6].http: / /archive.ics.uci.edu/ml.
(編輯楊波)
A new approach of forecasting intermittent demand for spare parts
LIN Lin,CHEN Xiangzhi,ZHONG Shisheng
(School of Mechatronics Engineering,Harbin Institute of Technology,150001 Harbin,China)
Abstract:Intermittent demand is characterized by infrequent demand arrivals and variable demand sizes,which results in the difficult of demand forecasting.To solve this problem,a new approach was developed to forecast spare parts demand.The methodology provided mechanism to forecast the demand arrivals couple with the demand values when demand occurs.It firstly used the method of modulation to transform the 0-1 demand arrival time series into the continuous time series,and then adopted the neural network model to forecast the processed time series.Next,it applied the method of time aggregation to forecast the real demand time series,and took the rolling forecasting method into disaggregating,then got the predictive demand values.Applying this approach in forecasting the spare parts of the nuclear power equipment,the experimental results showed that the prediction accuracy was superior to Croston’s method,exponential smoothing and BP neural network,which proved the methodology to be effective and accurate.
Keywords:demand forecasting; intermittent demand; neural network; time aggregation; modulation
通信作者:林琳,waiwaiyl@ 163.com.
作者簡介:林琳(1973—),女,教授,博士生導師;鐘詩勝(1964—),男,教授,博士生導師.
基金項目:國家高技術(shù)研究發(fā)展計劃(2015BAF32B01-4).
收稿日期:2015-03-06.
doi:10.11918/j.issn.0367-6234.2016.01.006
中圖分類號:TP301; F272.1
文獻標志碼:A
文章編號:0367-6234(2016) 01-0040-06