TWI786376B - 需求預測方法以及需求預測裝置 - Google Patents
需求預測方法以及需求預測裝置 Download PDFInfo
- Publication number
- TWI786376B TWI786376B TW109105457A TW109105457A TWI786376B TW I786376 B TWI786376 B TW I786376B TW 109105457 A TW109105457 A TW 109105457A TW 109105457 A TW109105457 A TW 109105457A TW I786376 B TWI786376 B TW I786376B
- Authority
- TW
- Taiwan
- Prior art keywords
- demand
- model
- gradient boosting
- probability
- extreme gradient
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Educational Administration (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Seeds, Soups, And Other Foods (AREA)
Abstract
一種需求預測方法以及需求預測裝置。基於歷史需求資料,獲得料號對應的初步預估量。基於初步預估量,計算料號的需求機率。基於歷史需求資料、初步預估量以及需求機率,獲得料號對應的預測需求量。
Description
本發明是有關於一種存貨模擬技術,且特別是有關於一種需求預測方法以及需求預測裝置。
在存貨領域中,精準地預測需求是重要的一環。假如能精準地預測存貨則可以在滿足顧客需求的前提之下降低大量的不必要的庫存,達到節省成本的效果,系統的運行時間越久,省下的金額越可觀。以服務零件而言,在產品供貨起至到宣布停產後的特定時間內,提供必要的零件供給,以滿足客戶維修或更換的需要。對供應商而言,越能掌握精準的零件需求預測,就越能在更短時間內流通零件存貨、創造營收,並降低呆滯料造成的成本積壓。
現有的存貨預測技術大多以時間序列的手法搭配資料來進行公式化的預測。現有技術的缺陷大致有下述三點。(1)無法完全充分的利用資料,時間序列的極限通常只能考量少數的變數,所以縱然資料的資訊含量豐富,由於人對所述資料的理解有
限,因此最後用來產出預測的公式可能考慮的變數只有頂多10個變數。(2)而這些用來產出預測的公式是由人經驗累積而出,因此當有人離職或是人員汰換時很難做一個有系統的傳承交接。(3)現行系統無法快速地擴展到各個不同的區域。簡單來說,歐洲、美國、亞洲的需求型態不同,因此如果要針對不同的地區去進行在地化的預測,就需要三個團隊分別去進行經驗累積和發展公式。
本發明提供一種需求預測方法,可以充分考慮所有資料變數,屏除人為的計算失誤,以獲得更精準的預測結果。
本發明的一實施例中的需求預測方法,包括:基於歷史需求資料,獲得料號對應的初步預估量;基於歷史需求資料與初步預估量,計算料號的需求機率;以及基於歷史需求資料、初步預估量以及需求機率,獲得料號對應的預測需求量。
在本發明的一實施例中,上述需求預測方法更包括:轉換歷史需求資料的格式,以獲得對應於料號的多個特徵。所述特徵包括在多個先前時段對應的多個參數、在多個時段範圍內的多個參數平均值以及在所述各時段範圍內包括的多個參數中的最大值。
在本發明的一實施例中,上述需求預測方法更包括:建立極端梯度提升(eXtreme Gradient Boosting,XGBoost)模型,極端梯度提升模型包括線性模型、分類器以及極端梯度提升迴歸
模型。
在本發明的一實施例中,上述基於歷史需求資料,獲得料號對應的初步預估量的步驟包括:將所述特徵輸入至線性模型,藉此獲得初步預估量。
在本發明的一實施例中,上述需求預測方法更包括:利用極端梯度提升演算法來建立分類器,以將所述特徵及初步預估量輸入分類器來獲得需求機率。所述需求機率為該料號未來的需求為0的機率。
在本發明的一實施例中,上述基於歷史需求資料、初步預估量以及需求機率,獲得料號對應的預測需求量的步驟包括:將所述特徵、需求機率以及初步預估量輸入極端梯度提升迴歸模型,以獲得預測需求量。
在本發明的一實施例中,上述需求預測方法更包括:解構極端梯度提升模型,以獲得歷史需求資料中的每一特徵的影響力。其中極端梯度提升模型包括多個樹,而解構極端梯度提升模型的步驟包括:自每一棵樹的根節點開始走訪至最底層的每一個節點;基於每一次所走訪的節點對應的規則,將變化量歸因至對應的特徵;以及加總各特徵對應的變化量來作為其對應的影響力。
在本發明的一實施例中,上述在獲得料號對應的預測需求量步驟之後,更包括:基於前次實際需求為零的料號占總料號的比例來決定門檻值;倘若料號對應的需求機率大於或等於門檻值,將預測需求量設定為零;以及倘若料號對應的需求機率小於
門檻值,輸出預測需求量作為最終預測結果。
本發明的一實施例中的需求預測裝置,包括:儲存裝置,儲存有多個程式碼片段;以及處理器,耦接至儲存裝置,執行所述程式碼片段以:基於歷史需求資料,獲得料號對應的初步預估量;基於歷史需求資料與初步預估量,計算料號的需求機率;以及基於歷史需求資料、該初步預估量以及該需求機率,獲得該料號對應的一預測需求量。
基於上述,本發明實施例可以充分考慮所有資料變數,屏除人為的計算失誤,以獲得更精準的預測結果。
100:電子裝置
110:處理器
120:輸出裝置
130:儲存裝置
131:XGBoost模型
140:線性模型
150:分類器
160:XGBoost迴歸模型
S205~S240:預測需求方法的各步驟
S305~S315:進行需求預測程序的各步驟
圖1是依照本發明一實施例的電子裝置的方塊圖。
圖2是依照本發明一實施例的預測需求方法的流程圖。
圖3是依照本發明一實施例的進行需求預測程序的流程圖。
圖4是依照本發明一實施例的XGBoost迴歸模型中的其中一顆樹的示意圖。
圖5是依照本發明一實施例的特徵影響力的比對圖。
圖1是依照本發明一實施例的電子裝置的方塊圖。請參照圖1,電子裝置100包括處理器110、輸出裝置120以及儲存裝
置130。在此,處理器110耦接至輸出裝置120及儲存裝置130。
處理器110例如為中央處理單元(Central Processing Unit,CPU)、物理處理單元(Physics Processing Unit,PPU)、可程式化之微處理器(Microprocessor)、嵌入式控制晶片、數位訊號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)或其他類似裝置。
輸出裝置120可以是陰極射線管(Cathode Ray Tube,CRT)顯示器、液晶顯示器(Liquid Crystal Display,LCD)、電漿顯示器(Plasma Display)、觸控顯示器(Touch Display)等顯示器。或者,輸出裝置120可以是印表機。
儲存裝置130例如是任意型式的固定式或可移動式隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、快閃記憶體(Flash memory)、硬碟或其他類似裝置或這些裝置的組合。儲存裝置130中儲存有多個程式碼片段,上述程式碼片段在被安裝後,會由處理器110來執行,以實現下述需求預測方法。
舉例來說,儲存裝置130中儲存了存貨模擬系統(simulation tool),藉由存貨模擬系統來建構極端梯度提升(eXtreme Gradient Boosting,XGBoost)模型131。XGBoost模型131包括線性模型140、分類器150以及XGBoost迴歸模型160。
在此,線性模型140是基於歷史需求資料中的多個特徵來獲得一顆料號對應的初步預估量。分類器150用來預測所述料
號未來的需求為零的機率。XGBoost迴歸模型160用來獲得所述料號對應的預測需求量。
XGBoost迴歸模型160是樹狀(tree-based)的模型,主要的概念是利用不同的資料特徵來建構出能通用於大部份資料的規則,進而達到後續預測的目的。在XGBoost迴歸模型160中每個分裂的節點是利用資訊增益的理論中的熵(entropy)來衡量,期望能在每次的分裂後達到降低資訊混亂程度的目標。XGBoost迴歸模型160的組成可能是上百棵樹(分類器),即,XGBoost迴歸模型160是個將很多弱分類器(小棵的樹模型)集成而成的強分類器(大棵的樹模型)。
圖2是依照本發明一實施例的預測需求方法的流程圖。請參照圖1及圖2,在步驟S205中,處理器110自資料庫中讀取歷史需求資料,並轉換格式。在此,在自歷史需求資料中取出要輸入至線性模型140的特徵之前,先對歷史需求資料的原始資料進行轉換,以確保在建立XGBoost模型131時所考慮的資料更為全面。
具體而言,轉換歷史需求資料的格式,以獲得對應於料號的多個特徵。所述特徵包括在多個先前時段對應的多個參數、在多個時段範圍內的多個參數平均值以及在所述時段範圍內各自包括的多個所述參數中的最大值。
表1所示為一部分歷史需求資料的原始資料。在表1中僅列出欄位“ord_pn”、欄位“country”、欄位“qty”、欄位“yyyymm”
來進行說明,在此並不限定原始資料的欄位數量及內容。欄位“ord_pn”記錄料號的編號,欄位“country”記錄區域,欄位“qty”記錄實際需求量,欄位“yyyymm”記錄時間。
表1中,每筆資料都是依照時間排序來儲存。如果直接使用原始資料來建立XGBoost模型131,則會造成沒有充分考慮前後序列性的缺陷。這是因為XGBoost演算法是樹狀學習,每個分裂點主要以欄位為考量,如表1所述的原始資料會讓此種類型的演算法(樹狀模型的演算法)無法考慮前後幾期的需求。因此,在建立XGBoost模型131之前,將原始資料轉換成另一種儲存的方式來讓XGBoost演算法能同時參考每個料號的前後幾期的需求來預測未來的需求。
表2所示為一部分歷史需求資料的轉換格式後的轉換後資料。在表2中,僅列出欄位“GID”、欄位“REGION”、欄位“fcst_date”、欄位“x_month_01”~欄位“x_month_06”來進行說明,在此並不限定轉換後資料的欄位數量及內容。欄位“GID”記錄群組
識別碼,亦可記錄對應的料號的編號,欄位“REGION”記錄區域,欄位“fcst_date”記錄每個月底進行預測的日期,欄位“x_month_01”~欄位“x_month_06”分別記錄在其對應的預測日期之前的第1個月~第6個月的需求量,欄位“yyyymm”記錄時間。欄位“QTY”記錄其對應的欄位“yyyymm”該月份的需求量。
在表2中,可以發現資料被轉換成同一筆資料中儲存了前1個月的用量(x_month01),前2個月的用量(x_month_02)...一直到前6個月的用量(x_month_06)。fcst_date則表示目前的時間點。以“2017.01.31”而言,其代表是在2017.01.31這個時間點要
去預測下個月料號“717376-001”的用量。在此,會考慮前6個月該顆料號的用量。也就是說,使用這種資料的格式搭配使用樹狀模型的演算法去進行預測的話,雖然還是依照欄位去做分裂,但是卻會有更多選擇性,可以考慮到前幾個月的用量的影響,而不是只能參考最近的一個月。值得一提的是,於一實施例中,依據物料規劃員建議的序列性參數,例如包括了需求(demand)和保固期(warranty date)內在外流通的用量(wib)都進行了類似的資料轉換處理,此舉可確保演算法考慮的資料更為全面。當然還有很多其他的轉換,表2提及的內容僅為方便說明,在此並不限定轉換的特徵。
接著,在步驟S210中,處理器110切分歷史需求資料為訓練集和驗證集。為了精準預測未來需求,在切分訓練集和驗證集時需盡可能地貼近現實會發生的狀況來切分和進行驗證。在此,按照資料發生的前後順序來進行切分,以某時間點之前為訓練集,用以訓練模型,某時間點之後為驗證集來驗證模型的精度。例如,以時間2017-12-31來進行切分,將2017-12-31之前的資料作為訓練集,將2017-12-31之後的資料作為驗證集。
值得注意的是,還在建置系統驗證的時候的確是需要去切分訓練集和驗證集,但是驗證過後確認系統是可信的之後,便可將所有手邊最新的資料都當作訓練集然後去預測未來的需求。驗證集會用於產出預測值然後輸入存貨模擬系統,產出報表來看整體預測的表現狀況。
在步驟S215中,建立XGBoost模型131。XGBoost模型131包括線性模型140、分類器150以及XGBoost迴歸模型160。在此,利用線性迴歸(linear regression)演算法來建立線性模型140。利用XGBoost演算法來建立分類器150以及XGBoost迴歸模型160。建立線性模型140的原因是因為有些料號使用線性回歸就可以有不錯的預測,因此,同時使用線性模型140以及XGBoost迴歸模型160的情況下,能夠使得最終預測結果更為準確。
在建立XGBoost模型131之後,在步驟S220中,利用XGBoost模型131來進行需求預測程序。圖3是依照本發明一實施例的進行需求預測程序的流程圖。請參照圖3,在步驟S305中,基於歷史需求資料,獲得料號對應的初步預估量。接著,在步驟S310中,基於歷史需求資料及初步預估量,計算料號的需求機率。之後,在步驟S315中,基於歷史需求資料、初步預估量以及需求機率,獲得所述料號對應的預測需求量。
首先,自轉換後資料中選擇多個欄位來作為一顆料號的特徵(變數)。在此,可透過試誤學習來獲得多個特徵。另外,亦可視情況來挑選特徵,或是選擇全部的欄位作為特徵。所述特徵包括在多個先前時段對應的多個參數(例如前1個月的用量、前2個月的用量…等)、在多個時段範圍內的多個參數平均值(例如前1個月的用量平均值、前2個月的用量平均值…等)以及在各時段範圍內包括的多個參數中的最大值。接著,將所述特徵輸入至線性模型140,利用線性模型140來產生所述料號對應的初步預估
量。而所述特徵與所述初步預估量會成為新的變數輸入至分類器150中訓練。
在此,利用XGBoost演算法來訓練出分類器150,透過分類器150來計算所述料號分類至未來需求為零的需求機率(另一新的變數)。之後,將所述特徵以及所產生的新的變數(包括初步預估量以及需求機率)輸入至XGBoost迴歸模型160。
XGBoost迴歸模型160包括很多棵樹,這些樹就像是很多規則一樣,當有新資料進來需要被預測的時候,便可沿著這些樹來看新資料有沒有符合規則,然後選擇不同的道路走到最低點進而給出預測。
圖4是依照本發明一實施例的XGBoost迴歸模型中的其中一顆樹的示意圖。請參照圖4,圖4中的每一個節點都是特徵(變數),而每一個節點中最上面的數值代表初始的預測值,“n”代表有幾筆資料被分到這個節點。在此,“avg_dmd_past_3mth”代表過去3個月的用量平均值,“max_dmd”代表最大用量。每個節點都有一個判斷的規則。在本實施例中,假設倘若滿足節點對應的規則,則選擇左邊分支,倘若未滿足節點對應的規則,則選擇右邊分支。
由圖4的最上面的節點(其預測值為1.9)開始,判斷該筆資料的過去3個月的用量平均值是否小於41。假如這筆資料的過去3個月的用量平均值小於41,則選擇左邊的分支,然後預測值會被更新為1.2,反之會走右邊,然後預測值會被更新為69。以此類推,每筆資料在進行預測時,會根據每一個節點對應的規則
來決定要選擇哪一條分支。即,每次遇到分支只會走左或右的其中一條路徑,然後一路走到底就會產出預測需求量。
在本實施例中,假設過去3個月的用量平均值小於41,選擇左邊的分支,然後預測值會被更新為1.2。接著,假設過去3個月的用量平均值小於8.8,選擇左邊分支,預測值更新為0.69。之後,假設最大用量大於等於4,選擇右邊分支,預測值更新為4.3。以預測值4.3來作為預測需求量。
在獲得料號對應的預測需求量之後,還可進一步根據需求機率來做進一步的篩選。即,基於前次實際需求為零的料號占總料號的比例來決定門檻值。倘若料號對應的未來的需求為零的需求機率大於或等於門檻值,將預測需求量設定為零。倘若料號對應的未來的需求為零的需求機率小於所述門檻值,輸出預測需求量作為最終預測結果。
另外,也可以如表3所示,對需求機率進行量化後,再與門檻值進行比對。
如表3所示,其包括五筆預測需求量。首先,根據需求機率的高低來排序這五筆預測需求量。之後,根據筆數對需求機率量化而獲得量化需求機率。例如,有5筆預測需求量,則設定由小至大的量化需求機率為0.2、0.4、0.6、0.8、1。然後,計算上個月實際需求為零的料號占總料號的比例。假設上個月有20%的料號的實際需求量為0,因此,設定為將量化需求機率最高的20%對應的預測需求量全部修改為零。以表3而言,將量化需求機率1、0.8兩者對應的預測需求量設定為0。也就是說,將門檻值設定為0.8,量化預測需求量大於或等於0.8對應的預測需求量將會設定為0。
返回圖2,在建立XGBoost模型131之後,在步驟S225中,透過XGBoost解釋器(explainer)來解構XGBoost模型131。XGBoost模型131能被建構出來是因為從宏觀的角度發掘整體數據的規則而去建構出來。但是倘若解釋XGBoost模型131中的樹模型,便要用微觀的角度去解釋(從單一筆資料走訪樹的角度去解構)。解構單一筆資料的過程類似圖4所示的箭頭,箭頭是某筆資料根據自身條件去走訪樹的結果。
從解構的角度來說,將該筆資料走訪的路徑做一個歸因。即,藉由自每一棵樹的根節點開始走訪至最底層的每一節點,基於每一次所走訪的節點對應的規則,將變化量歸因至對應的特徵,之後加總每一特徵對應的變化量來作為其對應的影響力。以圖4的箭頭而言,因為avg_dmd_past_3mth<41的規則,預測值由
1.9變成1.2的變化量-0.7被歸因到avg_dmd_past_3mth這個特徵上。接著,因為avg_dmd_past_3mth<8.8的規則,預測值由1.2變成0.69的變化量-0.51被歸因到avg_dmd_past_3mth這個特徵上。接著,因為max_dmd<4的規則,預測值由0.69變成4.3的變化量3.61被歸因到max_dmd這個特徵上。一路做同樣的歸因直到樹的最底層,藉此將各個變化量歸因至對應的特徵上,並加總每個特徵對應的變化量作為該特徵對應的影響力。最後,產生每個特徵的影響力的比對圖。
圖5是依照本發明一實施例的特徵影響力的比對圖。可由輸出裝置120來輸出此比對圖,以供物料規劃員查看。圖5的解讀方式為由左而右依序列出特徵(重要性:重要至不重要)和其影響力,從圖中可看出每個特徵有可能是正向也可能是負向(例如-0.05),最後的“prediction”為全部影響力的總和。在本實施例中,列出特徵“reg1”(初步預估量)、“avg_dmd_past_3mth”(前3個月的用量平均值)、“max_dmd”(最大用量)、“mth_fcst_eow”(從保固期結束至每個月底進行預測的日期的月份)、“zero_prob”(需求機率)、“wib_trend_3mth”(3個月內的在外流通量趨勢)。而有些特徵因為影響力不足因此被合併成為“other”,即,“other”是由很多特徵合併而成,意圖簡化此圖表。而“intercept”不為原本資料集的特徵,此項為給定的定值,也就是說同個模型的解構出來的圖中,每張圖的這個值都會一樣,可以理解為類似線性迴歸中的截距項。於其他實施例中,輸出裝置120輸出比對圖時,以不同
的顏色標示各個特徵,亦可以不同的顏色標示每個特徵的影響力,例如將影響力為正向的特徵標示為藍色,將影響力為負向的特徵標示為紅色。
假如本筆資料的預測需求量為100,則反推特徵“reg1”造
成的影響,。也就是說特徵“reg1”貢獻了預測值
29.12的量。在解構XGBoost模型131後,可由輸出裝置120輸出比對圖,並於步驟S230中,進行量化解釋。於一實施例中,輸出裝置120輸出比對圖後,輸出裝置120接收到任一特徵的量化解釋指令時,顯示該特徵對應的量化解釋。輸出裝置120在輸出比對圖後,輸出裝置120可供物料規劃員選擇欲進行量化解釋的特徵,並進一步顯示該特徵對應的量化解釋。
在獲得最終預測結果之後,在步驟S235中,判斷對於預測結果是否有疑慮。若對預測結果有疑慮,在步驟S230中,進行量化解釋。倘若對預測結果沒有疑慮,在步驟S240中,產出存貨指標報表。並且,將透過輸出裝置120來輸出存貨指標報表。另外,也可以不經過步驟S235,而直接產出存貨指標報表。
例如,存貨指標報表中包括了預測準確性指標、存貨降低指標、潛在存貨指標以及客戶滿意度指標。預測準確性指標為衡量演算法準確度的指標。存貨降低指標以及潛在存貨指標皆作為節省多少錢的指標。其中,存貨降低指標所使用的存貨是表示還有可能會被消耗的庫存。潛在存貨指標所使用的存貨則是表示
超出產品的授權期間或是保固期,無法被消耗的庫存。存貨降低指標為將基於上述實施例所獲得的每個月給出的預測需求量乘上每個料號的成本所計算出的總成本,減去舊系統所獲得的總成本的值。客戶滿意度指標則是代表客戶的滿意度。舉例來說,假如客戶的需求為10片,而我方只能提供9片,則客戶滿意度指標就是90%。假如客戶的需求為10片,而我方能夠提供10片以上,則客戶滿意度指標就是100%。然,需注意的是,並不能為了100%的客戶滿意度指標就備很多料,仍需視考慮到存貨降低指標以及潛在存貨指標。
於步驟S235中,輸出裝置120顯示預測需求量,讓物料規劃員判斷預測結果是否有疑慮,若物料規劃員對預測結果有疑慮,於步驟S230中,物料規劃員會透過輸出裝置120去篩選出在驗證區間內的預測需求量跟實際值之間的差距太大的料號。表4為一實施例的一筆預測結果。
以表4為例,y_month_01代表實際值,fcst_m1代表預測需求量,x_month_01~x_month_03代表過去1~3個月的用量。其中,實際值與預測需求量為36.40958兩者差了73片左右的量,因此被篩選出來當作是潛在問題的預測。接著,物料規劃員會去看資料的表現,例如查看x_month_01~x_month_03之後發現過去的量都差不多相同水準,因此物料規劃員透過輸出裝置120會去調閱這該筆資料的解釋器的圖出來參考(例如透過輸出裝置120顯示圖5)。假如是資料過去水準跟未來根本就差異太大導致不管用任何演算法都不太可能能預估到該趨勢的話,就會標記該料號可能有需求激增(surge demand)。因此在計算顧客滿意度指標的時候可以排除這些變異太大的料號。
綜上所述,所述實施例利用線性回歸來執行最初步的預測,然後將所獲得的初步預估量當成變數輸入至第二階段的分類器去學習,藉此獲得該筆料號未來的需求為0的需求機率。之後再將先前使用的變數(包括新創的初步預估量、需求機率)輸入XGBoost迴歸模型160來獲得預測需求量。
導入機器學習領域中的XGBoost模型來當作最主要的演算法進行預測。XGBoost模型適用於大規模資料的演算。嚴格來說,將所有的資料變數都放進XGBoost模型來產出結果,可屏除人為的計算失誤。據此,在進行預測時參考的資料會比現有方法還要全面,進而獲得更準確的預測需求量,以有效控管庫存,進
而節省成本。並且,經驗證後發現可以在存貨領域衡量預測優劣的指標(省錢指標、顧客信心水準)上達到維持顧客信心水準。
另外,使用XGBoost模型的系統可以提供使用者介面輕鬆的產出預測結果,甚至可以完全不需要人為的介入,只需要讓開發好的系統自動在該產出預測的時候自動產出即可,可以降低或是避免人員汰換時的不便。
又,使用XGBoost模型的系統的使用前提是只需要有每個不同地區的資料即可運行,快速的在幾個小時之內對區域內的資料進行模式的識別和萃取重要資訊以建造出模型,並提供準確的預測。故,本發明的可擴展性(把同個系統快速應用到不同區域進行預測的能力)以及可移植性(把系統切換到不同電腦上運作的能力)都優於現有系統。
此外,本發明實施例也導入可使XGBoost演算法有解釋能力的技術(XGBoost解釋器),使預測的結果具有可解釋性。所謂的可解釋性是指當給出某個料號的預測需求量之後,物料規劃員(客戶/系統使用者/決策者)會想知道預測需求量是怎麼來的,也就是說假如使用預測的資料裡面包含了產品目前處於何種週期、保固期內料號在外流通的總量、該物料過去幾個月的需求量等參數,可用於解釋預測結果。本發明實施例除了用XGBoost模型提供出精準的預測之外,也提供每個特徵(變數)對於該筆預測的量化影響,此量化影響包含了該特徵對預測需求量的正向影響或是負向影響,也包含的量的多寡,使物料規劃員可以快速接
受資訊。
S305~S315:進行需求預測程序的各步驟
Claims (16)
- 一種需求預測方法,包括:透過一處理器執行一極端梯度提升模型,其中該極端梯度提升模型包括一線性模型、一分類器以及一極端梯度提升迴歸模型;透過該線性模型基於一歷史需求資料,獲得一料號對應的一初步預估量;透過該分類器基於該歷史需求資料及該初步預估量,計算該料號的一需求機率,其中該需求機率為該料號未來的需求為0的機率;以及將該歷史需求資料、該初步預估量以及該需求機率作為該極端梯度提升迴歸模型的輸入,而透過該極端梯度提升迴歸模型獲得該料號對應的一預測需求量。
- 如請求項1所述的需求預測方法,更包括:轉換該歷史需求資料的格式,以獲得對應於該料號的多個特徵,其中,該些特徵包括在多個先前時段對應的多個參數、在多個時段範圍內的多個參數平均值以及在該些時段範圍內各自包括的多個所述參數中的一最大值。
- 如請求項2所述的需求預測方法,其中基於該歷史需求資料,獲得該料號對應的該初步預估量的步驟包括:將該些特徵輸入至該線性模型,藉此獲得該初步預估量。
- 如請求項2所述的需求預測方法,更包括: 利用一極端梯度提升演算法來建立該分類器,以將該些特徵及該初步預估量輸入該分類器來獲得該需求機率。
- 如請求項2所述的需求預測方法,其中基於該歷史需求資料、該初步預估量以及該需求機率,獲得該料號對應的該預測需求量的步驟包括:將該些特徵、該需求機率以及該初步預估量輸入該極端梯度提升迴歸模型,以獲得該預測需求量。
- 如請求項1所述的需求預測方法,更包括:解構該極端梯度提升模型,以獲得該歷史需求資料中的每一特徵的影響力。
- 如請求項6所述的需求預測方法,其中該極端梯度提升模型包括多個樹,而解構該極端梯度提升模型的步驟包括:自每一該些樹的根節點開始走訪至最底層的每一節點;基於每一次所走訪的節點對應的規則,將一變化量歸因至對應的特徵;以及加總每一特徵對應的變化量來作為其對應的影響力。
- 如請求項1所述的需求預測方法,其中在獲得該料號對應的該預測需求量步驟之後,更包括:基於前次實際需求為零的料號占總料號的比例來決定一門檻值;倘若該料號對應的該需求機率大於或等於該門檻值,將該預測需求量設定為零;以及 倘若該料號對應的該需求機率小於該門檻值,輸出該預測需求量作為最終預測結果。
- 一種需求預測裝置,包括:一儲存裝置,儲存有一極端梯度提升模型,其中該極端梯度提升模型包括一線性模型、一分類器以及一極端梯度提升迴歸模型;以及一處理器,耦接至該儲存裝置,執行該極端梯度提升模型以:透過該線性模型基於一歷史需求資料,獲得一料號對應的一初步預估量;透過該分類器基於該歷史需求資料與該初步預估量,計算該料號的一需求機率,其中該需求機率為該料號未來的需求為0的機率;以及將該歷史需求資料、該初步預估量以及該需求機率作為該極端梯度提升迴歸模型的輸入,而透過該極端梯度提升迴歸模型獲得該料號對應的一預測需求量。
- 如請求項9所述的需求預測裝置,其中該處理器執行該些程式碼片段以:轉換該歷史需求資料的格式,以獲得對應於該料號的多個特徵,其中,該些特徵包括在多個先前時段對應的多個參數、在多個時段範圍內的多個參數平均值以及在該些時段範圍內各自包括的多個所述參數中的一最大值。
- 如請求項10所述的需求預測裝置,其中該處理器將該些特徵輸入至該線性模型,藉此獲得該初步預估量。
- 如請求項10所述的需求預測裝置,其中該處理器利用一極端梯度提升演算法來建立該分類器,以將該些特徵及該初步預估量輸入該分類器來獲得該需求機率。
- 如請求項10所述的需求預測裝置,其中該處理器將該些特徵、該需求機率以及該初步預估量輸入該極端梯度提升迴歸模型,以獲得該預測需求量。
- 如請求項9所述的需求預測裝置,其中該處理器解構該極端梯度提升模型,以獲得該歷史需求資料中的每一特徵的影響力。
- 如請求項14所述的需求預測裝置,其中該極端梯度提升模包括多個樹,該處理器自每一該些樹的根節點開始走訪至最底層的每一節點,基於每一次所走訪的節點對應的規則,將一變化量歸因至對應的特徵,並且加總每一特徵對應的變化量來作為其對應的影響力。
- 如請求項9所述的需求預測裝置,其中該處理器經配置以:基於前次實際需求為零的料號占總料號的比例來決定一門檻值;倘若該料號對應的該需求機率大於或等於該門檻值,將該預測需求量設定為零;以及 倘若該料號對應的該需求機率小於該門檻值,輸出該預測需求量作為最終預測結果。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109105457A TWI786376B (zh) | 2020-02-20 | 2020-02-20 | 需求預測方法以及需求預測裝置 |
CN202010166765.8A CN113283924B (zh) | 2020-02-20 | 2020-03-11 | 需求预测方法以及需求预测装置 |
US16/857,138 US11568429B2 (en) | 2020-02-20 | 2020-04-23 | Demand forecasting method and demand forecasting apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109105457A TWI786376B (zh) | 2020-02-20 | 2020-02-20 | 需求預測方法以及需求預測裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202133061A TW202133061A (zh) | 2021-09-01 |
TWI786376B true TWI786376B (zh) | 2022-12-11 |
Family
ID=77275179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109105457A TWI786376B (zh) | 2020-02-20 | 2020-02-20 | 需求預測方法以及需求預測裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11568429B2 (zh) |
CN (1) | CN113283924B (zh) |
TW (1) | TWI786376B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11321654B2 (en) * | 2020-04-30 | 2022-05-03 | International Business Machines Corporation | Skew-mitigated evolving prediction model |
KR102412461B1 (ko) * | 2020-09-02 | 2022-06-22 | 이현정 | 상품의 비주얼 스키마를 이용한 수요 예측 방법 및 그 시스템 |
US20220277263A1 (en) * | 2021-02-26 | 2022-09-01 | Fiix Inc. | System and method for predictive inventory |
TWI793580B (zh) * | 2021-04-21 | 2023-02-21 | 財團法人工業技術研究院 | 庫存自動化管理方法及其系統 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284856A (zh) * | 2018-07-25 | 2019-01-29 | 顺丰科技有限公司 | 一种快递包材物料需求预测方法、装置及设备、存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1350199A4 (en) * | 2000-10-27 | 2006-12-20 | Manugistics Inc | FORECASTING AND PLANNING PRODUCTION-DISTRIBUTION BASED ON CLIENT DEMAND |
US8027863B2 (en) * | 2006-10-31 | 2011-09-27 | Caterpillar Inc. | Method for forecasting a future inventory demand |
US20170185904A1 (en) * | 2015-12-29 | 2017-06-29 | 24/7 Customer, Inc. | Method and apparatus for facilitating on-demand building of predictive models |
CN106780173B (zh) | 2016-12-01 | 2021-02-23 | 携程计算机技术(上海)有限公司 | Ota酒店库存管理方法及系统 |
CN107274231A (zh) | 2017-06-29 | 2017-10-20 | 北京京东尚科信息技术有限公司 | 数据预测方法及装置 |
CN107248094B (zh) | 2017-06-30 | 2020-12-18 | 联想(北京)有限公司 | 一种电子产品激活量预测方法及一种服务器集群 |
CN109886445A (zh) * | 2018-12-13 | 2019-06-14 | 国网浙江省电力有限公司衢州供电公司 | 一种基于物资需求特性量化的未来需求预测方法 |
US11113751B2 (en) * | 2020-01-28 | 2021-09-07 | Walmart Apollo, Llc | Systems and methods for predicting lost demand using machine learning architectures |
-
2020
- 2020-02-20 TW TW109105457A patent/TWI786376B/zh active
- 2020-03-11 CN CN202010166765.8A patent/CN113283924B/zh active Active
- 2020-04-23 US US16/857,138 patent/US11568429B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284856A (zh) * | 2018-07-25 | 2019-01-29 | 顺丰科技有限公司 | 一种快递包材物料需求预测方法、装置及设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11568429B2 (en) | 2023-01-31 |
US20210264449A1 (en) | 2021-08-26 |
CN113283924B (zh) | 2024-05-07 |
CN113283924A (zh) | 2021-08-20 |
TW202133061A (zh) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI786376B (zh) | 需求預測方法以及需求預測裝置 | |
US5761093A (en) | Quality forecasting engine | |
CN106600455A (zh) | 一种基于逻辑回归的电费敏感度评估方法 | |
CN105786711A (zh) | 一种数据分析的方法及装置 | |
CN112200459B (zh) | 一种配电网数据质量分析评价方法及系统 | |
JP2009015603A (ja) | 作業項目抽出装置、作業項目抽出方法、および、作業項目抽出プログラム | |
CN115081515A (zh) | 能效评价模型构建方法、装置、终端及存储介质 | |
CN108563786A (zh) | 文本分类和展示方法、装置、计算机设备及存储介质 | |
CN109753683B (zh) | 一种继电保护整定软件保护装置模型的形成方法 | |
CN116862078B (zh) | 一种换电套餐用户逾期的预测方法、系统、装置及介质 | |
Malathi et al. | Analysis of size metrics and effort performance criterion in software cost estimation | |
CN110750572A (zh) | 一种科技成果启发式评价的自适应方法和装置 | |
CN116415199B (zh) | 基于审计中间表的业务数据离群分析方法 | |
JP3703064B2 (ja) | ソフトウェア品質評価装置および品質評価方法 | |
CN113610575B (zh) | 一种产品销量的预测方法及预测系统 | |
CN107291722B (zh) | 一种描述词的分类方法及设备 | |
CN116109163A (zh) | 一种建筑能耗影响因素敏感性的定量分析方法 | |
CN107368853A (zh) | 基于机器学习的电网项目分类确定方法及装置 | |
CN113919449A (zh) | 基于精准模糊聚类算法的居民电力数据聚类方法及装置 | |
de Sousa Oliveira et al. | The impact of the European Development Fund and European Bank as financing sources on traffic estimation biases | |
JP5181484B2 (ja) | 歩留まり監視システム及び歩留まり監視方法 | |
TWI840285B (zh) | 維修服務推薦方法及其電子裝置以及記錄媒體 | |
CN104268135B (zh) | 一种记录对决策方法和装置 | |
CN115114806B (zh) | 自主式交通系统架构自主演进仿真方法 | |
WO2015145802A1 (ja) | アセットマネジメントシステム及びアセットマネジメント方法 |