段軍,張雪妮,宋廣宇,辛立偉
(1.內(nèi)蒙古科技大學 礦業(yè)研究院,內(nèi)蒙古 包頭 014010;2.內(nèi)蒙古科技大學 信息工程學院,內(nèi)蒙古 包頭 014010;3.包頭市聯(lián)方信息自動化有限責任公司,內(nèi)蒙古 包頭 014010)
目前,煤礦企業(yè)對于備件的管理,總體情況是種類較多,庫存結(jié)構(gòu)不合理,資金大量占用等[1].為保證企業(yè)生產(chǎn)順利進行,精確的備件消耗預測非常關(guān)鍵.
關(guān)于備件預測的大量研究,主要集中在4個方面:一是回歸分析法.文獻[2]提出一種機器備用零件預測方法.其不足之處是當前期樣本數(shù)據(jù)較少時,預測誤差較大.二是統(tǒng)計分析法.文獻[3]用指數(shù)平滑方法預測裝備維修備件的需求量.統(tǒng)計分析方法基于歷史統(tǒng)計數(shù)據(jù),并根據(jù)歷史數(shù)據(jù)的變化趨勢預測未來一段時間的數(shù)據(jù).這種方法需要大樣本數(shù)據(jù)構(gòu)建預測模型.三是灰色預測法.此種方法適合對數(shù)據(jù)變化幅度不大的樣本進行預測,否則預測效果較差.四是人工神經(jīng)網(wǎng)絡.文獻[4]提出一種改進的BP神經(jīng)網(wǎng)絡預測導彈備件消耗量的方法.但人工神經(jīng)網(wǎng)絡預測模型由于過分克服學習錯誤而使模型的泛化能力不強,其預測效果并不是很滿意.
針對以上預測方法的不足,構(gòu)建一種RBF神經(jīng)網(wǎng)絡與馬爾科夫鏈相結(jié)合的預測模型.從預測結(jié)果可以看出,該模型預測的備件消耗量準確度更高.
第一層為輸入層.其作用是對數(shù)據(jù)之間的信息進行傳遞.作為信號源,其自身則不發(fā)生變化.
第二層為隱含層.隱含層的數(shù)量根據(jù)所要解決問題的模型而確定.隱含層在RBF神經(jīng)網(wǎng)絡結(jié)構(gòu)中起到關(guān)鍵作用,隱含層的數(shù)量關(guān)系到預測模型的準確度.
第三層為輸出層.其輸出所有輸入?yún)?shù)計算后的結(jié)果.輸出層與隱含層所執(zhí)行的任務不同,因此它們的學習方法也不同.其結(jié)構(gòu)圖如圖1所示.
從神經(jīng)網(wǎng)絡結(jié)構(gòu)圖中可以看出,模型在訓練過程中主要分為2個步驟:第一步是指在機器學習時,不需要人為的干預,自己可以監(jiān)督自己來進行學習;第二步是指在系統(tǒng)完成建模之后,將會得到1個標準作為衡量,稱之為有監(jiān)督學習[5].各個參數(shù)的表達及計算方法如下:
(1)確定參數(shù):
①確定輸入向量X,X=[x1,x2,…,xn]T,n為輸入層單元數(shù).
②確定輸出向量Y,Y=[y1,y2,…,ym]T,m是輸出層單元數(shù).
③確定連接權(quán)值,W=[w1,w2,…,wm]T,m是輸出層單元數(shù).
(2)計算隱含層輸出值:
(1)
式中:kj是指在隱含層中第j個神經(jīng)元距離中心的值,Dj為在隱含層中第j個神經(jīng)元的寬度向量.‖x-kj‖2稱為歐式距離.
(3)計算輸出層神經(jīng)元的輸出:
Y=[y1,y2,…,ym]T,
(2)
y(m)=wTZ=w1Z1+w2Z2+…+wmZj.
(3)
RBF網(wǎng)絡可以很好地處理所有非線性函數(shù),解決一些使系統(tǒng)崩潰的問題,并且具有結(jié)構(gòu)簡單,訓練速度快的優(yōu)勢.所以,通常數(shù)據(jù)具有非線性特點時,都會選擇用RBF網(wǎng)絡來進行仿真.RBF神經(jīng)網(wǎng)絡具有獨特的優(yōu)勢,使得它已經(jīng)應用到了生活的許多方面.
馬爾科夫鏈是一個數(shù)列,即X1,X2,X3,…,Xn,這些序列都是隨機產(chǎn)生的,在這個數(shù)列中可能取到的集合,稱之為“一個狀態(tài)的空間”.n所對應的條件概率狀態(tài)是Xn+1的函數(shù),則
P(Xn+1|Xn,Xn-1,…,X1,X0)=P(Xn+1|Xn) .
(4)
式中,X1,X2,X3,…,Xn即為馬爾科夫鏈.
馬爾科夫鏈是指從1個狀態(tài)轉(zhuǎn)移到另1個狀態(tài)的過程.這個過程在模型中是隨機產(chǎn)生的,具有無記憶性.通常情況下,在已知現(xiàn)在狀態(tài)的情況下,并不會知道未來的狀態(tài)和過去的狀態(tài),這3者是相互獨立的[6].在馬爾科夫鏈的每個步驟中,系統(tǒng)都會根據(jù)條件概率維持現(xiàn)有狀態(tài)或切換到其它狀態(tài).則:
P(Xn|Xn-1,…,X1,X0)=P(Xn|Xn-1) , (5)
比較直觀的定義是:令:
A=Xn-1指過去,
B=X1指現(xiàn)在,
C=X0指未來,
則馬爾科夫的性質(zhì)為:
P(C|AB)=P(C|B) .
(6)
由上可知,馬爾科夫鏈是對時間和區(qū)間序列均適用的典型隨機過程.其僅與當前狀態(tài)有關(guān),與所有過去狀態(tài)無關(guān)[7].通過現(xiàn)已知所有信息可以預測未來.
神經(jīng)網(wǎng)絡在預測時,對樣本數(shù)據(jù)的要求較大,樣本數(shù)據(jù)決定了預測效果.但通常在預測的時候,并不能取得大量的樣本數(shù)據(jù),因此,在預測備件消耗時,為了提高備件消耗量預測的準確度,提出了使用馬爾科夫鏈模型對其進行修改的方案,以使預測結(jié)果更接近于實際消耗量.馬爾科夫鏈預測的目的是使動態(tài)系統(tǒng)隨機變化.這樣可以縮短預測間隔,并對于長期預測和易失隨機數(shù)據(jù)序列的預測具有更好的效果.因此,建立馬爾科夫鏈預測模型,并對RBF神經(jīng)網(wǎng)絡預測的備件消耗量進行修改,最后形成其與RBF神經(jīng)網(wǎng)絡的固定組合.它不僅可以揭示數(shù)據(jù)序列的發(fā)展和變化,而且可以提高預測模型的準確度,使預測結(jié)果更加精準.由馬爾科夫鏈修改的RBF神經(jīng)網(wǎng)絡預測模型過程如圖2所示.
馬爾科夫鏈作為一種預測方法,可以通過構(gòu)造初始狀態(tài)概率分布矩陣和狀態(tài)轉(zhuǎn)移概率矩陣[8],預測出事情發(fā)生概率所處的狀態(tài).然后根據(jù)特定的系統(tǒng)模型校準結(jié)果,對系統(tǒng)進行預測,通過系統(tǒng)狀態(tài)的變化來達到預測未來的目的.
具體的方法如下所示:
(1)馬爾科夫鏈狀態(tài)劃分方法.
在用馬爾科夫鏈建立預測模型之前,狀態(tài)的劃分對系統(tǒng)建模非常重要,會影響后期轉(zhuǎn)移概率矩陣的構(gòu)造.利用RBF神經(jīng)網(wǎng)絡預測出的備件消耗量和實際備件消耗量之間的相對誤差,求得相對誤差的均值,從而可以對相對誤差的狀態(tài)進行劃分,并將分成S個狀態(tài).
(2)構(gòu)造狀態(tài)轉(zhuǎn)移概率矩陣
(7)
構(gòu)成轉(zhuǎn)移概率矩陣時,通常情況下只考慮經(jīng)過一步時的矩陣,即:
(8)
(3)計算修正后的預測值:
G(x)=m+g(x) ,
(9)
式中:m為預測的相對誤差所處狀態(tài)的平均值;g(x)為RBF神經(jīng)網(wǎng)絡預測的備件消耗量值.
該預測方法應用于神華某煤炭公司的高頻消耗備件.該公司的備件管理數(shù)據(jù)庫中有2009年7月至2019年12月的數(shù)據(jù).鑒于時間較長的數(shù)據(jù)參考價值不大,取2015年到2019年的備件出庫量進行統(tǒng)計.經(jīng)過統(tǒng)計可以發(fā)現(xiàn),備件的出庫量大部分是以3個月為1個周期進行統(tǒng)計,前期對備件消耗較大的高頻備件展開預測,此處取其中1種備件進行預測.表1是某備件2015年到2019年的出庫量統(tǒng)計.
表1 某備件出庫量統(tǒng)計表
結(jié)合RBF神經(jīng)網(wǎng)絡預測模型,通過Matlab編程,將樣本數(shù)據(jù)分為訓練數(shù)據(jù)和測試數(shù)據(jù),進而確定神經(jīng)網(wǎng)絡層和節(jié)點數(shù)目的大致范圍.利用2015年3月到2018年12月的數(shù)據(jù)進行訓練和測試.運用滾動預測的方法將2015年3月到2016年3月n條數(shù)據(jù)作為網(wǎng)絡的輸入,2016年6月k條數(shù)據(jù)為網(wǎng)絡的輸出;以此類推組成訓練樣本.其中n=5,k=1.
在訓練RBF神經(jīng)網(wǎng)絡預測模型時,首先,對備件出庫量的樣本數(shù)據(jù)進行歸一化處理.然后對歸一化后的數(shù)據(jù)進行訓練,即可得到預測備件消耗量值,同時經(jīng)過計算可以得出相對誤差值.將RBF神經(jīng)網(wǎng)絡訓練得到的樣本備件消耗量的相對誤差分為4個狀態(tài)S1=(-5.2,-2.52],S2=(-2.52,0.16],S3=(0.16,2.84],S4=(2.84,5.52].具體劃分狀態(tài)見表2.
表2 RBF神經(jīng)網(wǎng)絡預測值表
由表2可知,RBF神經(jīng)網(wǎng)絡預測的備件消耗量有較大誤差,因此,為了使預測值更加準確,引入馬爾科夫鏈來修正預測值.
根據(jù)表2可以得到,在某一時刻該序列所處狀態(tài)集的具體劃分,然后,根據(jù)式(7)和(8)計算得到轉(zhuǎn)移概率矩陣.通常情況下,計算時只需考慮一步狀態(tài)的轉(zhuǎn)換矩陣,轉(zhuǎn)換矩陣如下:
由式(9)可以得出修正后的預測結(jié)果,并應用此方法可以預測2019年3月到2019年12月的備件消耗量.其結(jié)果如表3所示,包括測試集數(shù)據(jù)以及預測驗證集數(shù)據(jù).備件消耗量預測結(jié)果的對比圖如圖3所示.
從修正結(jié)果可以看出馬爾科夫鏈修正的RBF神經(jīng)網(wǎng)絡模型提高了備件消耗量預測的準確度,使修正值更加接近于實測值.
表3 對比RBF神經(jīng)網(wǎng)絡和馬爾科夫鏈修正值結(jié)果表
結(jié)合煤炭企業(yè)高頻消耗性備件的需求預測問題,首先用RBF神經(jīng)網(wǎng)絡預測神華某煤炭公司的備件消耗量,預測顯示RBF神經(jīng)網(wǎng)絡的預測值誤差較大.為了提高預測的準確度,然后對RBF神經(jīng)網(wǎng)絡的預測值進行優(yōu)化,選擇用馬爾科夫鏈修正誤差殘值的方法,構(gòu)建了一種RBF神經(jīng)網(wǎng)絡與馬爾科夫鏈相結(jié)合的預測模型.從對比上述示例的預測結(jié)果可以看出,與傳統(tǒng)的RBF神經(jīng)網(wǎng)絡預測方法相比,基于改進的RBF神經(jīng)網(wǎng)絡預測模型的預測值更加接近于實際的備件消耗量值.同時將該模型引入神華某煤炭公司高頻消耗備件預測中,并將該方法應用到該公司的備件管理系統(tǒng)中.結(jié)果表明,該預測模型預測準確度高,而且在系統(tǒng)預測時,速度較快,對神華某煤炭公司來說,具有一定的應用價值.