李詠凱, 連蓮, 劉譯聰, 趙朋
(國網冀北電力有限公司物資分公司, 北京 100075)
目前的大多數企業主要通過常規經驗進行招標物料采購價格的估算,由于市場的極不穩定特性,僅憑經驗預判市場易導致估算結果與實際價格相差甚遠,可能造成成本增加,資源浪費,削弱產品競爭力,客戶流失等情況的發生[1-2]。如何合理預測物料采購需求,是很多專家和學者的主要研究方向:陳辰等[3]利用偏差預測模型展開的提升藥品采購計劃準確度研究,通過對歷史采購數據的相對標準偏差進行分類,將權重引入不同時期的物料消耗量,與標準偏差相結合構建物料采購預測模型,實現藥品精準采購計劃的制定;韓素敏等[4]基于雙重不確定信息研究的采購計劃方法,通過構建采購一次和雙源采購決策模型后進行最優求解,通過所得數值獲取物料采購需求的合理預測。
雖然上述方法都能有效實現物料采購需求的預測和挖掘,但是預測結果往往與實際情況的差距較大,導致企業不能最大利益化地實現對物料采購的評估。深度循環神經網絡(DRNN)具備良好的提取目標、聲音識別、機器翻譯等優勢,為此,本文提出基于循環神經網絡的物料采購需求智能化挖掘方法,充分利用DRNN的序列預測能力,基于小波分解方法,構建DRNN物料采購需求挖掘模型,實現企業的智能化挖掘物料采購需求,確保企業與供應商之間保持博弈均衡的狀態。
1.1.1 小波變換
為了獲取企業與供應商之間實時通信的時頻信號,在最短的時間內,將物料采購需求的閾值由3衰減至0,構建小波變換函數[5],描述公式為
(1)
其中,Ua,b(t)和U(t)分別表示子小波和基小波。

如果約束矩陣{Ua,b}能夠滿足式(1),則能量有限信號f(t)∈L2(R),該信號的小波變化公式為
(2)

式(2)驗證了小波變換能夠根據不同尺度分解信號,等同于利用不同濾波器對企業與供應商之間實時通信信號進行濾波處理。
假設f(iΔt)為離散信號,其中Δt表示采購公告取樣的間隔時間,當{i=1,2,…,n}時,式(2)的離散表達式為
(3)
1.1.2 小波分解與重構
假設{x(t)}表示中標公司的具體需求序列,D0(t)=x(t),則分解算法為
(4)
Mi(t)=Di-1(t)-Di(t)(i=1,2,…)
(5)
其中,h(k)表示低通濾波器的離散化輸出信號,在尺度為i的條件下時,Di-1(t)和Mi(t)分別表示企業與供應商之間實時通信約束參數Di(t)的尺度和小波系數序列。則在尺度為j的條件下,離散小波變換為{M1,M2,M3,…,Mj,Dj}。
利用對離散小波{M1,M2,M3,…,Mj,Dj}的分析進行所有采購單價序列特征的識別,經重構后的初始序列為
(6)
為了獲取企業采購量斷層式需求,將自反饋神經元代入循環神經網絡(RNN),促使RNN能夠產生記憶數據的功能,以此對物料采購需求樣本相關特征通過已有時序和當前時序的相關性檢測實現挖掘[6-8]。
深度循環神經網絡時序結構如圖1所示。

圖1 RNN時序結構示意圖
圖1中,t、t-1、t+1分別為RNN訓練的持續時間狀態點,Xt∈RN+1為t時刻的輸入向量,ht∈RM+1為隱層向量,Yt∈RL+1為輸出向量。N、M、L分別表示3個向量的維度,權重矩陣:輸入層→隱層Vxh∈RM×N,隱層→隱層Vhh∈RN×M,隱層→輸入層Vhy∈RL×M。3個向量在不同時刻時連接共享彼此的貨物描述權值Vh,能夠有效降低RNN參數量。
通過輸出值Xt神經元和t-1時刻的隱層神經元決定了當前時刻的隱層值ht,即:
ht=f(Xt,ht-1,b)=f(VxhXt+Vhht-1+b)
(7)
通常在沒有初始值的條件下,需要設置不同的型號、編號來進行標識物資,相關函數為
(8)
h0=f(VxhXt+b)
(9)
其中,f(·)表示激活函數,b表示偏置向量。
選取整流線性單元激活函數,即:

(10)
特征向量利用Softmax函數轉化為類別概率分布,則:
Yt=Vhyht+c
(11)
(12)

通過多層級聯的形式將所有隱層單元構建成DRNN網絡[9],在網絡中代入采購需求權重矩陣Vhihi+1∈RM×M,將采購需求權重共享進行層內向層間的擴展,則DRNN時序結構見圖2。

圖2 DRNN時序結構示意圖
此時

(13)
Yt=Vhihi+1+c
(14)

通過小波分析分解和重構預處理初始序列,獲取存在差異的高、低頻序列,利用新序列重構網絡相空間,將新生成的數據用于DRNN的訓練數據,構建基于DRNN的物料采購需求智能化挖掘模型。構建該模型的具體步驟如下。
第一步:選取企業的年均歷史采購數據進行歸一化處理,對其中的最小值和最大值進行保存處理。
第二步:隨著年份的增長,每種型號、編號物料的采購價格基本呈現一個上升的走勢,針對年均采購序列選取適宜的成本預估函數進行小波分解,根據分解尺寸進行單支重構,以此獲取重構序列的相關系數,再對系數重復進行單支重構處理,則獲取不同的高、低頻序列,其中,高頻序列保存信息[10],低頻序列描述初始序列變化趨勢。
第三步:設置重構的延遲數值,重構高、低頻序列,生成物料采購需求相關的訓練數據。
針對初始物料采購需求序列{x(t)}用于模型挖掘時,先采取相空間重構處理,將該序列進行矩陣轉換,轉換為成nin×mre,其中nin表示數據緯度,mre表示樣本數值,該值為m-nin,則矩陣結構為
(15)
(16)
其中,X和Y分別表示輸入和輸出矩陣。
第四步:針對深度循環神經網絡,以價格最低的物料為約束條件,進行相關學習速率、層數和節點數的設定,利用多組訓練數據訓練DRNN挖掘模型。
第五步:利用訓練完成的模型對樣本進行挖掘,疊加所有挖掘值,即完成物料采購需求智能化的挖掘。
物料采購需求智能化挖掘模型結構如圖3所示。

圖3 物料采購需求智能化挖掘模型結構示意圖
選取某物資分公司2016年至2020年期間的水泥桿招標采購價格為研究對象,經過詳細分析后發現非預應力的錐形水泥桿為重點的采購物料,由于采購量較少的水泥桿類型累計數據無法滿足挖掘需求,數據樣本較少,同時,為了避免實驗樣本差異較大,影響實驗精度,選取同一批非預應力的錐形水泥桿其中的5種型號進行物料需求智能化挖掘相關實驗,分別以1#、2#、3#、4#、5#進行標識,最大程度上減少實驗樣本差異對實驗精度的影響。從2016年至2020年間共3 800組采購數據中劃分出100組數據作為測試集,其余則全部為訓練集,減少實驗結果的偶然概率。
由于不同型號的水泥桿采購量有不同程度的差距,采用歸一化處理方式對數據進行加速處理,處理方法為
(17)
其中,xmin和xmax分別表示初始序列的最小值和最大值。
選取小波6對初始序列進行小波分級和單支重構的實驗,實驗結果如圖4所示。

圖4 高頻序列對比示意圖
由圖4可知,經過分解和重構后的高頻序列能夠捕捉到初始序列中的擾動,不僅能夠有效降低參數量,提升收斂效率,還能保留初始序列中存在突發或隱藏的有價值信息。
非預應力的錐形水泥桿的需求逐年增大,將數據樣本代入DRNN挖掘模型進行訓練,根據訓練集和樣本集進行5類水泥桿采購價格變化挖掘的實驗,實驗結果如圖5所示。

圖5 非預應力的錐形水泥桿價格變化趨勢示意圖
根據采用本文方法挖掘的非預應力的錐形水泥桿五年以來的價格變化結果,根據實際統計結果進行比較,統計挖掘精度結果如表6所示。
由圖6可知,針對5種類型的價格變化挖掘準確率均達90%以上,其中,挖掘精度最高的為2#預應力的錐形水泥桿,其值高達98.62%,其余的非預應力的錐形水泥桿挖掘精度結果依次為5#97.15%、3#96.89%、4#94.27%、1#93.94%,以上結果均在誤差可接受范圍以內,該結果表明,該模型已具備良好的挖掘能力,為采購需求智能化挖掘奠定堅實的基礎。

圖6 價格變化挖掘結果示意圖
采用本文方法分別與文獻[3]的基于偏差預測模型的挖掘方法和文獻[4]的基于雙重不確定信息的挖掘方法進行物料采購需求智能化挖掘效果對比試驗。以訓練樣本和測試樣本為基礎進行相關試驗,試驗結果如圖7所示。

(a) 訓練誤差對比結果
由圖7可知,在進行物料采購需求樣本訓練和測試過程中,采用本文方法進行的訓練和測試誤差最小,訓練誤差平均值為3.02%、測試誤差平均值為2.61%,訓練誤差平均值比文獻[3]方法和文獻[4]方法分別低9.48%和10.35%,測試誤差平均值分別降低7.17%和12.22%,表明本文具備良好的物料采購需求智能化挖掘應用價值。
采用3種方法對5種類型的非預應力的錐形水泥桿進行采購價格智能化挖掘的對比試驗,試驗結果如表1所示。

表1 水泥桿采購需求智能化挖掘對比結果
由表1可知,本文方法比2種對比方法具有更好的物料采購需求智能化挖掘能力,5種型號的挖掘誤差均遠小于文獻[3]方法和文獻[4]方法所得結果,本文方法絕對誤差平均值為0.58%,相對誤差平均值為3.82%,比2種對比方法的絕對誤差平均值低3.38%和3.65%,相對誤差平均值分別低6.48%和4.78%。
采用基于循環神經網絡的物料采購需求智能化挖掘方法,利用小波變換對初始需求序列進行分解和重構,然后分別代入到循環神經網絡DRNN模型中展開數據訓練,構建物料采購需求智能化挖掘模型,該方法具備更好的容錯性能,更強的逼近能力和抗入侵能力,能夠較好地減少挖掘誤差,提升挖掘精度,具有良好的挖掘及泛化能力。