本發(fā)明涉及庫存管理,尤其是涉及基于數(shù)據(jù)挖掘技術(shù)的一種入庫量和出庫量的聯(lián)合預(yù)測方法。
背景技術(shù):
庫存管理是有效地監(jiān)控現(xiàn)有庫存的流入和流出貨物波動的一般過程[1]。這一過程一般包含了兩種類型操作:(1)把貨物搬進倉庫以保證銷售的順暢(又名入庫);(2)從倉庫中交出貨物用于銷售(又名出庫)。這兩種類型操作會產(chǎn)生兩種類型的時間序列數(shù)據(jù),每一個代表隨時間而變化的相應(yīng)的操作量。實現(xiàn)良好的庫存管理,即力圖在控制每一種操作的消耗和維持庫存狀態(tài)。
在現(xiàn)有的庫存管理系統(tǒng)[2]中,通常是單獨預(yù)測入庫量和出庫量。它被視為一個單一的時間序列預(yù)測,忽略了入庫量和出庫量之間的關(guān)系。在實踐中,在一個庫存中的入庫和出庫量均相互依賴。在同一件貨物或者一段時間內(nèi),出庫的數(shù)量往往受到入庫數(shù)量的限制,也就是說,為了預(yù)防貨物無現(xiàn)貨,出庫往往少于入庫。另外,為了避免供過于求的情況,入庫計劃依賴于歷史出庫情況[3]。因此,針對于庫存管理的特性,入庫和出庫兩個時間序列承擔(dān)著一定的相互依賴關(guān)系。
在數(shù)據(jù)挖掘的研究中,時間序列預(yù)測問題得到了很好的探索[4,5,6]。然而,很少有研究聚焦于這一方面——預(yù)測相關(guān)的時間序列數(shù)據(jù)集合的運動。
參考文獻:
[1]zipkinph.foundationsofinventorymanagement[m].newyork:mcgraw-hill,2000.
[2]lil,shenc,wangl,etal.iminer:mininginventorydataforintelligentmanagement[c]//proceedingsofthe23rdacm,internationalconferenceonconferenceoninformationandknowledgemanagement.acm,2014:2057-2059.
[3]scarfh.theoptimalityof(5,5)policiesinthedynamicinventoryproblem[j].1959.
[4]weigendas.timeseriesprediction:forescastingthefutureandunderstandingthepast[m].1994.
[5]vangestelt,suykensjak,baestaensde,etal.financialtimeseriespredictionusingleastsquaressupportvector,machineswithintheevidenceframework[j].neuralnetworks,ieeetransactionson,2001,12(4):809-821.
[6]taylorsj.modellingfinancialtimeseries[j].2007.
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供基于數(shù)據(jù)挖掘技術(shù)的一種入庫量和出庫量的聯(lián)合預(yù)測方法。
本發(fā)明通過建立一個基于多時間序列數(shù)據(jù)預(yù)測的預(yù)測模型,并將其應(yīng)用到庫存管理領(lǐng)域,可以在滿足出庫與出庫兩類型時間序列的依賴關(guān)系情況下,同時實現(xiàn)高精度的預(yù)測結(jié)果。
本發(fā)明包括以下步驟:
1)獲取預(yù)定時間段內(nèi)的入庫量和出庫量時間序列數(shù)據(jù),并對這兩類型時間序列數(shù)據(jù)進行數(shù)據(jù)清洗;
2)利用數(shù)據(jù)挖掘技術(shù)建立時間序列預(yù)測模型;
3)考慮到庫存中的入庫量和出庫量均相互依賴的背景知識,將入庫量和出庫量時間序列數(shù)據(jù)的相互依賴關(guān)系建立模型;
4)將步驟3)相互依賴關(guān)系建立模型應(yīng)用于庫存預(yù)測中,即把庫存預(yù)測的要求建立到約束下,獲得最終預(yù)測結(jié)果。
在步驟1)中,所述獲取預(yù)定時間段內(nèi)的入庫量和出庫量時間序列數(shù)據(jù),并對這兩類型時間序列數(shù)據(jù)進行數(shù)據(jù)清洗的具體方法可為:以特定周期(如周,月,季度等)為時間粒度來獲取特定商品的入庫量和出庫量時間序列數(shù)據(jù),n個周期的時間序列數(shù)據(jù)分別表示為{xi1,yi1}stockin和{xi2,yi2}stockout(i=1,2,...,n)。
在步驟2)中,所述利用數(shù)據(jù)挖掘技術(shù)建立時間序列預(yù)測模型的具體方法可為:利用數(shù)據(jù)挖掘技術(shù)建立時間序列預(yù)測模型,入庫量和出庫量預(yù)測模型分別為f1(·)和f2(·)。
在步驟3)中,所述考慮到庫存中的入庫量和出庫量均相互依賴的背景知識,將入庫量和出庫量時間序列數(shù)據(jù)的相互依賴關(guān)系建立模型的具體方法可為:考慮到庫存中的入庫量和出庫量均相互依賴的背景知識,如(1)入庫總額往往大于出庫總額,以避免供不應(yīng)求;(2)入庫\出庫總額又盡可能接近,以避免供過于求;(3)入庫和出庫總額受到客觀條件的限制等;將相互依賴關(guān)系建立數(shù)學(xué)模型,如ηi≤f1(xi1)-f2(xi2)≤ζi,ηi,ζi≥0,其中f1(xi1)和f2(xi2)分別表示入庫量和出庫量的預(yù)測值,ηi和ζi為約束常量。
在步驟4)中,所述將步驟3)相互依賴關(guān)系建立模型應(yīng)用于庫存預(yù)測中的具體方法可為:把庫存預(yù)測的要求建立到約束下,在這些約束的條件下獲得最終預(yù)測結(jié)果;建立預(yù)測的目標(biāo)函數(shù)如下:
其中,l(·)為懲罰函數(shù),常用的有平均絕對誤差(mae),平均平方誤差(mse),平均絕對值誤差百分比(mape),γ為正則化參數(shù),其作用是權(quán)衡訓(xùn)練誤差和模型復(fù)雜度,||f1||2,||f2||2為入庫和出庫預(yù)測模型的2范數(shù),作用是衡量模型的復(fù)雜度。
本發(fā)明提出了一個多時間序列數(shù)據(jù)預(yù)測的預(yù)測模型,并將其應(yīng)用到庫存管理領(lǐng)域。多時間序列之間的關(guān)系被建模為一類約束,在這些約束的條件下獲得最終預(yù)測結(jié)果。
本發(fā)明的有益效果是:充分考慮庫存管理的應(yīng)用背景,將入庫量和出庫量時間序列數(shù)據(jù)間的相互依賴關(guān)系結(jié)合到預(yù)測模型中,可以獲得更符合實際,同時達到高精度的預(yù)測結(jié)果。
附圖說明
圖1是本發(fā)明實施例1中的一種產(chǎn)品入庫量和出庫量的聯(lián)合預(yù)測方法采用非線性預(yù)測模型下,原始數(shù)據(jù)圖(曲線a為入庫量;曲線b為出庫量)。
圖2是本發(fā)明實施例1中的一種產(chǎn)品入庫量和出庫量的聯(lián)合預(yù)測方法采用非線性預(yù)測模型下,預(yù)測結(jié)果圖(曲線a為入庫量;曲線b為出庫量)。
圖3是不考慮背景知識約束下采用非線性預(yù)測模型svr的預(yù)測結(jié)果1(曲線a為入庫量;曲線b為出庫量)。
圖4是不考慮背景知識約束下采用非線性預(yù)測模型svr的預(yù)測結(jié)果2(曲線a為入庫量;曲線b為出庫量)。
具體實施方式
下面對本發(fā)明的實施例進行詳細(xì)說明。
本發(fā)明提供的一種基于數(shù)據(jù)挖掘技術(shù)的入庫量和出庫量的聯(lián)合預(yù)測方法的流程圖,該方法包括;
步驟一:獲取預(yù)定時間段內(nèi)的入庫量和出庫量時間序列數(shù)據(jù),并對這兩類型時間序列數(shù)據(jù)進行數(shù)據(jù)清洗;
步驟二:利用數(shù)據(jù)挖掘技術(shù)建立時間序列預(yù)測模型;
步驟三:考慮到庫存中的入庫和出庫量均相互依賴的背景知識,將入庫量和出庫量時間序列數(shù)據(jù)的相互依賴關(guān)系建立模型;
步驟四:把上述建立的關(guān)系依賴模型應(yīng)用于庫存預(yù)測中,即把庫存預(yù)測的要求建立到約束下,在這些約束的條件下獲得最終預(yù)測結(jié)果。
下面結(jié)合一個具體實施例對本發(fā)明進行具體描述。
步驟一:獲取預(yù)定時間段內(nèi)的入庫量和出庫量時間序列數(shù)據(jù),并對這兩類型時間序列數(shù)據(jù)進行數(shù)據(jù)清洗;
給定一個時間序列t,可以提取從t中提取連續(xù)的樣本。假設(shè)有m個樣本
以一周為時間粒度來獲取特定商品的入庫量和出庫量時間序列數(shù)據(jù),n個周期的時間序列數(shù)據(jù)分別表示為{xi1,yi1}stockin和{xi2,yi2}stockout(i=1,2,...,n)。
步驟二:利用數(shù)據(jù)挖掘技術(shù)建立時間序列預(yù)測模型,入庫量和出庫量預(yù)測模型分別為f1(·)和f2(·)。
若采用線性預(yù)測模型,則數(shù)學(xué)模型為:
其中ωl為時間序列數(shù)據(jù)的權(quán)向量,fl(xil)為預(yù)測值。
若采用非線性預(yù)測模型,以支持向量機回歸模型為例,則數(shù)學(xué)模型為:
其中,||ωl||為權(quán)向量的模,即ωl=(ωl·ωl)1/2。γil為松弛變量,希望其值盡可能小。cl為常數(shù),來權(quán)衡分類誤差和泛化誤差。φ(xil)表示將數(shù)據(jù)映射到高維空間,從而解決原始空間中先行不可分的問題,通常采用核函數(shù)來實現(xiàn)。
步驟三:考慮到庫存中的入庫和出庫量均相互依賴的背景知識,將入庫量和出庫量時間序列數(shù)據(jù)的相互依賴關(guān)系建立模型;
入庫和出庫量均相互依賴的背景知識,如1)入庫總額往往大于出庫總額,以避免供不應(yīng)求;2)入庫\出庫總額又盡可能接近,以避免供過于求;3)入庫和出庫總額受到客觀條件的限制等。將上述相互依賴關(guān)系建立數(shù)學(xué)模型如下:
ηi≤f1(xi1)-f2(xi2)≤ζi,ηi,ζi≥0(3)
其中f1(xi1)和f2(xi2)分別表示入庫量和出庫量的預(yù)測值,ηi和ζi為約束常量。
步驟四:把入庫和出庫量兩種類型時間序列數(shù)據(jù)的關(guān)系依賴模型應(yīng)用于庫存預(yù)測中,即把庫存預(yù)測的要求建立到約束下,在這些約束的條件下獲得最終預(yù)測結(jié)果。建立預(yù)測的目標(biāo)函數(shù)如下:
其中,l(·)為懲罰函數(shù),常用的有平均絕對誤差(mae),平均平方誤差(mse),平均絕對值誤差百分比(mape)。γ為正則化參數(shù),其作用是權(quán)衡訓(xùn)練誤差和模型復(fù)雜度。||f1||2,||f2||2為入庫和出庫預(yù)測模型的2范數(shù),作用是衡量模型的復(fù)雜度。
結(jié)合上述預(yù)測模型,結(jié)合公式(4),可將問題轉(zhuǎn)化為二次規(guī)劃問題來對模型參數(shù)尋優(yōu)。
接下來以線性模型
轉(zhuǎn)化為二次規(guī)劃問題來對模型參數(shù)尋優(yōu),標(biāo)準(zhǔn)的二次規(guī)劃形式如下:
其中ω是預(yù)測模型的n維列向量,h是hesse矩陣(n階對稱矩陣),c是n維列向量,a是m×n矩陣,b是m維列向量。
由此,確定各個對應(yīng)參數(shù)如下:
如表1所示,本發(fā)明提供的一種基于數(shù)據(jù)挖掘技術(shù)的入庫量和出庫量的聯(lián)合預(yù)測方法采用線性預(yù)測模型下,與傳統(tǒng)方法的評價指標(biāo)對比結(jié)果。其中joint表示本發(fā)明提供的方法,single表示不考慮背景知識約束下線性預(yù)測方法,moving表示不考慮背景知識約束下平均移動模型預(yù)測方法。表1中采用mae,mse,mape三個指標(biāo)來評價預(yù)測效果。可以看出本發(fā)明提供的一種基于數(shù)據(jù)挖掘技術(shù)的入庫量和出庫量的聯(lián)合預(yù)測方法得到了最好的預(yù)測結(jié)果。
表1入庫量和出庫量的聯(lián)合預(yù)測方法與傳統(tǒng)方法預(yù)測結(jié)果對比
如圖1~4所示,本發(fā)明提供的一種基于數(shù)據(jù)挖掘技術(shù)的入庫量和出庫量的聯(lián)合預(yù)測方法采用非線性預(yù)測模型svr下,與傳統(tǒng)方法的對比效果圖。其中圖1表示原始數(shù)據(jù),圖2表示本專利提供的方法用非線性預(yù)測模型svr的預(yù)測結(jié)果可以看出,圖3和圖4表示不考慮背景知識約束下采用非線性預(yù)測模型svr的預(yù)測結(jié)果??梢钥闯霰景l(fā)明提供的一種基于數(shù)據(jù)挖掘技術(shù)的入庫量和出庫量的聯(lián)合預(yù)測方法可以獲得更符合實際,同時達到高精度的預(yù)測結(jié)果。
本發(fā)明的有益效果是:充分考慮庫存管理的應(yīng)用背景,將入庫量和出庫量時間序列數(shù)據(jù)間的相互依賴關(guān)系結(jié)合到預(yù)測模型中,可以獲得更符合實際,同時達到高精度的預(yù)測結(jié)果。