李詠凱, 連蓮, 劉譯聰, 趙朋
(國(guó)網(wǎng)冀北電力有限公司物資分公司, 北京 100075)
目前的大多數(shù)企業(yè)主要通過(guò)常規(guī)經(jīng)驗(yàn)進(jìn)行招標(biāo)物料采購(gòu)價(jià)格的估算,由于市場(chǎng)的極不穩(wěn)定特性,僅憑經(jīng)驗(yàn)預(yù)判市場(chǎng)易導(dǎo)致估算結(jié)果與實(shí)際價(jià)格相差甚遠(yuǎn),可能造成成本增加,資源浪費(fèi),削弱產(chǎn)品競(jìng)爭(zhēng)力,客戶流失等情況的發(fā)生[1-2]。如何合理預(yù)測(cè)物料采購(gòu)需求,是很多專家和學(xué)者的主要研究方向:陳辰等[3]利用偏差預(yù)測(cè)模型展開(kāi)的提升藥品采購(gòu)計(jì)劃準(zhǔn)確度研究,通過(guò)對(duì)歷史采購(gòu)數(shù)據(jù)的相對(duì)標(biāo)準(zhǔn)偏差進(jìn)行分類,將權(quán)重引入不同時(shí)期的物料消耗量,與標(biāo)準(zhǔn)偏差相結(jié)合構(gòu)建物料采購(gòu)預(yù)測(cè)模型,實(shí)現(xiàn)藥品精準(zhǔn)采購(gòu)計(jì)劃的制定;韓素敏等[4]基于雙重不確定信息研究的采購(gòu)計(jì)劃方法,通過(guò)構(gòu)建采購(gòu)一次和雙源采購(gòu)決策模型后進(jìn)行最優(yōu)求解,通過(guò)所得數(shù)值獲取物料采購(gòu)需求的合理預(yù)測(cè)。
雖然上述方法都能有效實(shí)現(xiàn)物料采購(gòu)需求的預(yù)測(cè)和挖掘,但是預(yù)測(cè)結(jié)果往往與實(shí)際情況的差距較大,導(dǎo)致企業(yè)不能最大利益化地實(shí)現(xiàn)對(duì)物料采購(gòu)的評(píng)估。深度循環(huán)神經(jīng)網(wǎng)絡(luò)(DRNN)具備良好的提取目標(biāo)、聲音識(shí)別、機(jī)器翻譯等優(yōu)勢(shì),為此,本文提出基于循環(huán)神經(jīng)網(wǎng)絡(luò)的物料采購(gòu)需求智能化挖掘方法,充分利用DRNN的序列預(yù)測(cè)能力,基于小波分解方法,構(gòu)建DRNN物料采購(gòu)需求挖掘模型,實(shí)現(xiàn)企業(yè)的智能化挖掘物料采購(gòu)需求,確保企業(yè)與供應(yīng)商之間保持博弈均衡的狀態(tài)。
1.1.1 小波變換
為了獲取企業(yè)與供應(yīng)商之間實(shí)時(shí)通信的時(shí)頻信號(hào),在最短的時(shí)間內(nèi),將物料采購(gòu)需求的閾值由3衰減至0,構(gòu)建小波變換函數(shù)[5],描述公式為
(1)
其中,Ua,b(t)和U(t)分別表示子小波和基小波。
如果約束矩陣{Ua,b}能夠滿足式(1),則能量有限信號(hào)f(t)∈L2(R),該信號(hào)的小波變化公式為
(2)
式(2)驗(yàn)證了小波變換能夠根據(jù)不同尺度分解信號(hào),等同于利用不同濾波器對(duì)企業(yè)與供應(yīng)商之間實(shí)時(shí)通信信號(hào)進(jìn)行濾波處理。
假設(shè)f(iΔt)為離散信號(hào),其中Δt表示采購(gòu)公告取樣的間隔時(shí)間,當(dāng){i=1,2,…,n}時(shí),式(2)的離散表達(dá)式為
(3)
1.1.2 小波分解與重構(gòu)
假設(shè){x(t)}表示中標(biāo)公司的具體需求序列,D0(t)=x(t),則分解算法為
(4)
Mi(t)=Di-1(t)-Di(t)(i=1,2,…)
(5)
其中,h(k)表示低通濾波器的離散化輸出信號(hào),在尺度為i的條件下時(shí),Di-1(t)和Mi(t)分別表示企業(yè)與供應(yīng)商之間實(shí)時(shí)通信約束參數(shù)Di(t)的尺度和小波系數(shù)序列。則在尺度為j的條件下,離散小波變換為{M1,M2,M3,…,Mj,Dj}。
利用對(duì)離散小波{M1,M2,M3,…,Mj,Dj}的分析進(jìn)行所有采購(gòu)單價(jià)序列特征的識(shí)別,經(jīng)重構(gòu)后的初始序列為
(6)
為了獲取企業(yè)采購(gòu)量斷層式需求,將自反饋神經(jīng)元代入循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),促使RNN能夠產(chǎn)生記憶數(shù)據(jù)的功能,以此對(duì)物料采購(gòu)需求樣本相關(guān)特征通過(guò)已有時(shí)序和當(dāng)前時(shí)序的相關(guān)性檢測(cè)實(shí)現(xiàn)挖掘[6-8]。
深度循環(huán)神經(jīng)網(wǎng)絡(luò)時(shí)序結(jié)構(gòu)如圖1所示。
圖1 RNN時(shí)序結(jié)構(gòu)示意圖
圖1中,t、t-1、t+1分別為RNN訓(xùn)練的持續(xù)時(shí)間狀態(tài)點(diǎn),Xt∈RN+1為t時(shí)刻的輸入向量,ht∈RM+1為隱層向量,Yt∈RL+1為輸出向量。N、M、L分別表示3個(gè)向量的維度,權(quán)重矩陣:輸入層→隱層Vxh∈RM×N,隱層→隱層Vhh∈RN×M,隱層→輸入層Vhy∈RL×M。3個(gè)向量在不同時(shí)刻時(shí)連接共享彼此的貨物描述權(quán)值Vh,能夠有效降低RNN參數(shù)量。
通過(guò)輸出值Xt神經(jīng)元和t-1時(shí)刻的隱層神經(jīng)元決定了當(dāng)前時(shí)刻的隱層值ht,即:
ht=f(Xt,ht-1,b)=f(VxhXt+Vhht-1+b)
(7)
通常在沒(méi)有初始值的條件下,需要設(shè)置不同的型號(hào)、編號(hào)來(lái)進(jìn)行標(biāo)識(shí)物資,相關(guān)函數(shù)為
(8)
h0=f(VxhXt+b)
(9)
其中,f(·)表示激活函數(shù),b表示偏置向量。
選取整流線性單元激活函數(shù),即:
(10)
特征向量利用Softmax函數(shù)轉(zhuǎn)化為類別概率分布,則:
Yt=Vhyht+c
(11)
(12)
通過(guò)多層級(jí)聯(lián)的形式將所有隱層單元構(gòu)建成DRNN網(wǎng)絡(luò)[9],在網(wǎng)絡(luò)中代入采購(gòu)需求權(quán)重矩陣Vhihi+1∈RM×M,將采購(gòu)需求權(quán)重共享進(jìn)行層內(nèi)向?qū)娱g的擴(kuò)展,則DRNN時(shí)序結(jié)構(gòu)見(jiàn)圖2。
圖2 DRNN時(shí)序結(jié)構(gòu)示意圖
此時(shí)
(13)
Yt=Vhihi+1+c
(14)
通過(guò)小波分析分解和重構(gòu)預(yù)處理初始序列,獲取存在差異的高、低頻序列,利用新序列重構(gòu)網(wǎng)絡(luò)相空間,將新生成的數(shù)據(jù)用于DRNN的訓(xùn)練數(shù)據(jù),構(gòu)建基于DRNN的物料采購(gòu)需求智能化挖掘模型。構(gòu)建該模型的具體步驟如下。
第一步:選取企業(yè)的年均歷史采購(gòu)數(shù)據(jù)進(jìn)行歸一化處理,對(duì)其中的最小值和最大值進(jìn)行保存處理。
第二步:隨著年份的增長(zhǎng),每種型號(hào)、編號(hào)物料的采購(gòu)價(jià)格基本呈現(xiàn)一個(gè)上升的走勢(shì),針對(duì)年均采購(gòu)序列選取適宜的成本預(yù)估函數(shù)進(jìn)行小波分解,根據(jù)分解尺寸進(jìn)行單支重構(gòu),以此獲取重構(gòu)序列的相關(guān)系數(shù),再對(duì)系數(shù)重復(fù)進(jìn)行單支重構(gòu)處理,則獲取不同的高、低頻序列,其中,高頻序列保存信息[10],低頻序列描述初始序列變化趨勢(shì)。
第三步:設(shè)置重構(gòu)的延遲數(shù)值,重構(gòu)高、低頻序列,生成物料采購(gòu)需求相關(guān)的訓(xùn)練數(shù)據(jù)。
針對(duì)初始物料采購(gòu)需求序列{x(t)}用于模型挖掘時(shí),先采取相空間重構(gòu)處理,將該序列進(jìn)行矩陣轉(zhuǎn)換,轉(zhuǎn)換為成nin×mre,其中nin表示數(shù)據(jù)緯度,mre表示樣本數(shù)值,該值為m-nin,則矩陣結(jié)構(gòu)為
(15)
(16)
其中,X和Y分別表示輸入和輸出矩陣。
第四步:針對(duì)深度循環(huán)神經(jīng)網(wǎng)絡(luò),以價(jià)格最低的物料為約束條件,進(jìn)行相關(guān)學(xué)習(xí)速率、層數(shù)和節(jié)點(diǎn)數(shù)的設(shè)定,利用多組訓(xùn)練數(shù)據(jù)訓(xùn)練DRNN挖掘模型。
第五步:利用訓(xùn)練完成的模型對(duì)樣本進(jìn)行挖掘,疊加所有挖掘值,即完成物料采購(gòu)需求智能化的挖掘。
物料采購(gòu)需求智能化挖掘模型結(jié)構(gòu)如圖3所示。
圖3 物料采購(gòu)需求智能化挖掘模型結(jié)構(gòu)示意圖
選取某物資分公司2016年至2020年期間的水泥桿招標(biāo)采購(gòu)價(jià)格為研究對(duì)象,經(jīng)過(guò)詳細(xì)分析后發(fā)現(xiàn)非預(yù)應(yīng)力的錐形水泥桿為重點(diǎn)的采購(gòu)物料,由于采購(gòu)量較少的水泥桿類型累計(jì)數(shù)據(jù)無(wú)法滿足挖掘需求,數(shù)據(jù)樣本較少,同時(shí),為了避免實(shí)驗(yàn)樣本差異較大,影響實(shí)驗(yàn)精度,選取同一批非預(yù)應(yīng)力的錐形水泥桿其中的5種型號(hào)進(jìn)行物料需求智能化挖掘相關(guān)實(shí)驗(yàn),分別以1#、2#、3#、4#、5#進(jìn)行標(biāo)識(shí),最大程度上減少實(shí)驗(yàn)樣本差異對(duì)實(shí)驗(yàn)精度的影響。從2016年至2020年間共3 800組采購(gòu)數(shù)據(jù)中劃分出100組數(shù)據(jù)作為測(cè)試集,其余則全部為訓(xùn)練集,減少實(shí)驗(yàn)結(jié)果的偶然概率。
由于不同型號(hào)的水泥桿采購(gòu)量有不同程度的差距,采用歸一化處理方式對(duì)數(shù)據(jù)進(jìn)行加速處理,處理方法為
(17)
其中,xmin和xmax分別表示初始序列的最小值和最大值。
選取小波6對(duì)初始序列進(jìn)行小波分級(jí)和單支重構(gòu)的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 高頻序列對(duì)比示意圖
由圖4可知,經(jīng)過(guò)分解和重構(gòu)后的高頻序列能夠捕捉到初始序列中的擾動(dòng),不僅能夠有效降低參數(shù)量,提升收斂效率,還能保留初始序列中存在突發(fā)或隱藏的有價(jià)值信息。
非預(yù)應(yīng)力的錐形水泥桿的需求逐年增大,將數(shù)據(jù)樣本代入DRNN挖掘模型進(jìn)行訓(xùn)練,根據(jù)訓(xùn)練集和樣本集進(jìn)行5類水泥桿采購(gòu)價(jià)格變化挖掘的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 非預(yù)應(yīng)力的錐形水泥桿價(jià)格變化趨勢(shì)示意圖
根據(jù)采用本文方法挖掘的非預(yù)應(yīng)力的錐形水泥桿五年以來(lái)的價(jià)格變化結(jié)果,根據(jù)實(shí)際統(tǒng)計(jì)結(jié)果進(jìn)行比較,統(tǒng)計(jì)挖掘精度結(jié)果如表6所示。
由圖6可知,針對(duì)5種類型的價(jià)格變化挖掘準(zhǔn)確率均達(dá)90%以上,其中,挖掘精度最高的為2#預(yù)應(yīng)力的錐形水泥桿,其值高達(dá)98.62%,其余的非預(yù)應(yīng)力的錐形水泥桿挖掘精度結(jié)果依次為5#97.15%、3#96.89%、4#94.27%、1#93.94%,以上結(jié)果均在誤差可接受范圍以內(nèi),該結(jié)果表明,該模型已具備良好的挖掘能力,為采購(gòu)需求智能化挖掘奠定堅(jiān)實(shí)的基礎(chǔ)。
圖6 價(jià)格變化挖掘結(jié)果示意圖
采用本文方法分別與文獻(xiàn)[3]的基于偏差預(yù)測(cè)模型的挖掘方法和文獻(xiàn)[4]的基于雙重不確定信息的挖掘方法進(jìn)行物料采購(gòu)需求智能化挖掘效果對(duì)比試驗(yàn)。以訓(xùn)練樣本和測(cè)試樣本為基礎(chǔ)進(jìn)行相關(guān)試驗(yàn),試驗(yàn)結(jié)果如圖7所示。
(a) 訓(xùn)練誤差對(duì)比結(jié)果
由圖7可知,在進(jìn)行物料采購(gòu)需求樣本訓(xùn)練和測(cè)試過(guò)程中,采用本文方法進(jìn)行的訓(xùn)練和測(cè)試誤差最小,訓(xùn)練誤差平均值為3.02%、測(cè)試誤差平均值為2.61%,訓(xùn)練誤差平均值比文獻(xiàn)[3]方法和文獻(xiàn)[4]方法分別低9.48%和10.35%,測(cè)試誤差平均值分別降低7.17%和12.22%,表明本文具備良好的物料采購(gòu)需求智能化挖掘應(yīng)用價(jià)值。
采用3種方法對(duì)5種類型的非預(yù)應(yīng)力的錐形水泥桿進(jìn)行采購(gòu)價(jià)格智能化挖掘的對(duì)比試驗(yàn),試驗(yàn)結(jié)果如表1所示。
表1 水泥桿采購(gòu)需求智能化挖掘?qū)Ρ冉Y(jié)果
由表1可知,本文方法比2種對(duì)比方法具有更好的物料采購(gòu)需求智能化挖掘能力,5種型號(hào)的挖掘誤差均遠(yuǎn)小于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法所得結(jié)果,本文方法絕對(duì)誤差平均值為0.58%,相對(duì)誤差平均值為3.82%,比2種對(duì)比方法的絕對(duì)誤差平均值低3.38%和3.65%,相對(duì)誤差平均值分別低6.48%和4.78%。
采用基于循環(huán)神經(jīng)網(wǎng)絡(luò)的物料采購(gòu)需求智能化挖掘方法,利用小波變換對(duì)初始需求序列進(jìn)行分解和重構(gòu),然后分別代入到循環(huán)神經(jīng)網(wǎng)絡(luò)DRNN模型中展開(kāi)數(shù)據(jù)訓(xùn)練,構(gòu)建物料采購(gòu)需求智能化挖掘模型,該方法具備更好的容錯(cuò)性能,更強(qiáng)的逼近能力和抗入侵能力,能夠較好地減少挖掘誤差,提升挖掘精度,具有良好的挖掘及泛化能力。