TWI757828B - 原料採購決策方法、電子裝置與電腦程式產品 - Google Patents
原料採購決策方法、電子裝置與電腦程式產品 Download PDFInfo
- Publication number
- TWI757828B TWI757828B TW109127601A TW109127601A TWI757828B TW I757828 B TWI757828 B TW I757828B TW 109127601 A TW109127601 A TW 109127601A TW 109127601 A TW109127601 A TW 109127601A TW I757828 B TWI757828 B TW I757828B
- Authority
- TW
- Taiwan
- Prior art keywords
- reinforcement learning
- raw material
- data
- price
- action
- Prior art date
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明提出一種原料採購決策方法,包括:預測關於原料在未來時間點的價格;設定狀態集合中的每個狀態包括價格與目前庫存量,設定動作集合中的每個動作為原料的買進數量,並且設定獎勵函數;根據狀態集合、動作集合與獎勵函數訓練多個強化學習模型;以及在測試階段根據強化學習模型的輸出決定動作以進行原料的採購。
Description
本發明是一種兩階段的價格預測與採購決策方法。
在機器學習與資料探勘的領域中,預測數值型資料是相當常見的議題,以往的傳統預測方法主要分為定性方法(qualitative methods)與定量方法(quantitative methods),其中定量方法即是利用歷史資料或因素變數建構數學模型並加以預測,常見的方法有指數平滑法、時間序列分解法和自我迴歸整合移動平均等。
此外,傳統的決策方法有馬可夫決策過程、非線性混整數規劃和動態規劃等。由於現今科技發達且資料取得容易,其連帶影響到資料的樣本數和變數個數將日漸增加至巨量資料的程度,加上電腦運算效能快速,如何利用資料科學技術之優異的預測能力,輔助採購決策的制定,為此領域所關心的議題。
本發明的實施例提出一種原料採購決策方法,適用於一電子裝置,此原料採購決策方法包括:預測關於原料在未來時間點的價格;設定狀態集合中的每個狀態包括價格與目前庫存量,設定動作集合中的每個動作為原料的買進數量,並且設定獎勵函數;根據狀態集合、動作集合與獎勵函數訓練多個強化學習模型;以及在測試階段根據強化學習模型的輸出決定動作以進行原料的採購。
在一些實施例中,在預測關於原料的價格之前,原料採購決策方法還包括:取得訓練資料,此訓練資料包括原料的歷史價格、總體經濟數據、供需數據、產能利用率與上下游材料價格;篩選訓練資料中的重要特徵,並透過因果關係檢定;透過滑動時窗法將訓練資料轉換為一維資料;根據一維資料訓練一預測模型。
在一些實施例中,上述的預測模型為遞迴神經網路。上述篩選訓練資料中的重要特徵的步驟包括:透過隨機森林演算法以及最小絕對值壓縮和選取運算來篩選重要特徵。
在一些實施例中,上述的強化學習模型包括:第一強化學習模型,其架構為深度Q網路,損失函數為均方誤差;第二強化學習模型,其架構為深度Q網路,損失函數為交叉熵;第三強化學習模型,其架構為雙重深度Q網路,損失函數為均方誤差;第四強化學習模型,其架構為雙重深度Q網路,損失函數為交叉熵;第五強化學習模型,其架構為競爭深度Q網路,損失函數為均方誤差;第六強化學習模型,其架構為競爭深度Q網路,損失函數為交叉熵;第七強化學習模型,其架構為雙重競爭深度Q網路,損失函數為均方誤差;以及第八強化學習模型,其架構為雙重競爭深度Q網路,損失函數為交叉熵。
在一些實施例中,根據強化學習模型決定動作的步驟包括:透過強化學習模型對動作進行投票,計算出票數最多的動作以進行原料的採購;以及若不存在票數最多的動作,以第八強化學習模型輸出的動作以進行原料的採購。
以另一個角度來說,本發明的實施例提出一種電子裝置,包括記憶體與處理器。記憶體儲存有多個指令,處理器用以執行這些指令以完成多個步驟:預測關於原料在未來時間點的價格;設定狀態集合中的每個狀態包括價格與目前庫存量,設定動作集合中的每個動作為原料的買進數量,並且設定獎勵函數;根據狀態集合、動作集合與獎勵函數訓練多個強化學習模型;以及在測試階段根據強化學習模型的輸出決定動作以進行原料的採購。
以另一個角度來說,本發明的實施例提出一種電腦程式產品,由電腦系統載入並執行以完成多個步驟:預測關於原料在未來時間點的價格;設定狀態集合中的每個狀態包括價格與目前庫存量,設定動作集合中的每個動作為原料的買進數量,並且設定獎勵函數;根據狀態集合、動作集合與獎勵函數訓練多個強化學習模型;以及在測試階段根據強化學習模型的輸出決定動作以進行原料的採購。
在上述的方法中,可基於歷史資料和經驗進而產生預測價格與最佳採購策略,以達成價格預測輔助採購決策之目的。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
關於本文中所使用之「第一」、「第二」等,並非特別指次序或順位的意思,其僅為了區別以相同技術用語描述的元件或操作。
圖1是根據一實施例繪示電子裝置的示意圖。請參照圖1,電子裝置100可以是智慧型手機、平板電腦、個人電腦、筆記型電腦、伺服器、工業電腦或具有計算能力的各種電子裝置等,本發明並不在此限。電子裝置100包括了處理器110與記憶體120,處理器110通訊連接至記憶體120,其中處理器110可為中央處理器、微處理器、微控制器、數位信號處理器、影像處理晶片、特殊應用積體電路等,記憶體120可為隨機存取記憶體、唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶或是可透過網際網路存取之資料庫,其中儲存有多個指令,處理器110會執行這些指令來完成一原料採購決策方法,以下將詳細說明此方法。
圖2是根據一實施例繪示原料採購決策方法的流程圖。請參照圖2,在此方法中包括兩個階段,分別是價格預測階段210與採購決策階段220,價格預測階段210用以預測一原料的價格,而採購決策階段220用以根據所預測的價格以及目前的庫存來決定採購策略。在此實施例中上述的原料為石油,但在其他實施例中也可以為任意的化學原料、金屬、農產品等,本發明並不在此限。
具體來說,首先取得訓練資料,包括原料的歷史價格201與歷史指標202,歷史指標202例如包括總體經濟數據、供需數據、原料上游工廠的產能利用率、上下游材料的價格,總體經濟數據例如包括國內生產總值、消費者物價指數、採購經理人指數、貨幣供應量等等,供需數據例如包括上游材料的供應量以及下游材料的需求量等等,本發明並不在此限。歷史價格201與歷史指標202的時間解析度例如為每日、每周或每季,本發明並不在此限。在以下的說明中,應變數是指當期以及/或者未來的原料價格,自變數則是原料的歷史價格201與歷史指標202。應變數亦可稱為所要預測的目標,而自變數亦可稱為特徵。
在步驟211中,對於訓練資料進行預處理,例如包括決定訓練資料的時間區段,遺漏值(Missing values)填補、刪除離群值、正規化等等。由於價格資料大多為時間序列資料,其極可能會隨著時間的推移或突發事件而上下震盪,若將過去不符合現況之資料當作訓練資料允以建模,可能會造成模型很大的偏差,也無法在現今環境中使用,在此會以敘述統計學方法觀察資料的特性與分布,最後由使用者自行選擇訓練資料的時間區段以建構模型。遺漏值填補是資料清理的一大重點,由於資料在蒐集的過程中難免會有紕漏導致遺漏值的產生,若沒有經由適當的處理將無法順利建立預測模型。首先,使用者可自行觀察遺漏值的缺失特性是否存在邏輯性,若有即可能是在蒐集資料的過程中因人為疏失或是環境限制而導致,其可藉由使用者本身對於資料特性的理解自行填補。倘若遺漏值並未依循某種特定的規律樣型(Pattern),在此實施例中可應用線性插補法以及K-近鄰算法協助自動填補遺漏值。當採用線性插補法時,若遺漏值的前後有值,則利用加權平均的方式,將前後值做加權後填補到該遺漏值,若前後無值,則利用最靠近的值作為填補值。當採用K-近鄰算法時,將所有欄位之特徵視為維度,將歐氏距離作為距離度量,尋找k個與有遺漏值的點最為接近的樣本點,遺漏值被歸類為最接近該點的k個樣本點中最頻繁使用的一類。
此外,由於使用時間序列特性之歷史價格資料,該種資料具有序列相關(Serial Correlation)之特性,也就是本期的資料與之前或之後的資料具有聯動以及相關性。時間序列資料會隨著時間的推移或突發事件而上下震盪,其原本用於建模之平均數與變異數也會有偏差,變得不符合現況,進而造成模型很大的預測偏差。在此實施例中應用一階差分法(First order difference method)對時間序列資料進行一階差分,當資料達至穩態(Stationary)停止差分,記錄資料的波動。
在步驟212中,篩選訓練資料中的重要特徵。為了後續建構預測模型,重要特徵篩選(Key Feature Selection)之目的為從原有的特徵當中,以統計方法觀察特徵與預測目標的相關性,或以演算法迭代方式排序各特徵對預測目標的影響力,進而逐漸排除較無鑑別力或冗餘的特徵,僅留下會顯著影響預測目標的最佳特徵子集,提升模型預測準確率。此步驟是為了避免選擇過多不重要的特徵納入預測模型,造成其過度複雜產生過擬合(Overfitting)的問題,同時也可縮短訓練時間,提升模型運算效率。在此實施例中,至少可透過隨機森林(Random Forest)演算法以及最小絕對值壓縮和選取運算(Least Absolute Shrinkage and Selection Operator,LASSO)來篩選出重要特徵。
在此說明隨機森林演算法,本領域具有通常知識者當可理解隨機森林演算法的基本概念,在此不詳細贅述。當應用隨機森林演算法於特徵篩選時,可從模型觀察出哪些特定的特徵對於損失函數(Loss function)而言是最有貢獻的,亦即能使損失函數值下降最快的特徵,即為較重要的特徵。隨機森林模型之概念為結合多棵分類與迴歸樹(Classification And Regression Trees,CART),亦稱決策樹,並引入隨機抽樣的手法,以增進最後模型效能。基於集成學習(Ensemble Learning)之概念,以抽出放回的方式從訓練資料重複抽樣並建構決策樹,而後集結多個性能良好且彼此具有差異性的分類器,最後形成一個強分類器。應用隨機森林演算法進行特徵篩選之完整運算步驟如下,(1)從所有的訓練樣本中重複性的選取N個訓練樣本(bootstrap)。(2)對於決策樹中的每個節點,由全部M個特徵中隨機選取m個,其中M、m為正整數,使用者可依照需求自行設定m值且m需遠小於M。(3)由m個特徵中選擇能最有效分割樣本之特徵作為節點。(4)重複以上步驟(2)與(3)直到滿足使用者設定之決策樹生長條件。(5)每棵決策樹都會完整生長而不會剪枝(Pruning)。由此可知,隨機森林在抽樣過程中,不只是對訓練樣本進行抽樣,同時也會對特徵抽樣,抽樣後訓練一棵決策樹,最後形成隨機森林,故此方法在面對資料中存在共線性(Collinearity)跟類別不平衡問題時,都可以得到不錯的效果。
在此說明LASSO,LASSO為一種可同時進行變數篩選及正則化(Regularization)的迴歸分析方法,目的為增強統計模型的預測準確度和可解釋性,並從原始自變數中挑選出一個變數子集,應用於最終的統計模型中,其方法可有效避免模型過度配適。LASSO為脊迴歸(Ridge Regression)應用L1(亦稱1範數)正則項(即懲罰項)的變形,其透過調整懲罰項之參數值大小,將干擾變數的係數壓縮至零,降低迴歸係數之估計變異,同時達到變數篩選之目的,使整體模型更趨於穩定,以表現良好性能,而最後存在於LASSO迴歸模型中係數不為零的自變數,可將其視為從大量變數中萃取出會顯著影響價格的重要變數(即重要特徵),故此方法可使模型更有彈性且可避免過度配適,進而掌控模型的複雜度。此外,LASSO也常用於解決變數個數遠大於樣本個數的問題,以避免維度的詛咒(Curse of Dimensionality),但在某些情況下,LASSO可能會對於離群值過度敏感,並得到不一致的結果。以下數學式(1)以拉格朗(Lagrangian)形式呈現LASSO的估計公式。
[數學式1]
其中
是輸出的變數集合,也就是重要特徵。
為第i個訓練樣本的應變數,
為第i個訓練樣本的第j個自變數,
是第j個自變數的係數,
是常數項的係數,p為自變數的個數,n為訓練樣本的個數,
是一實數且
。其中,
即為LASSO之懲罰項,當λ值太小,則懲罰項無法發揮任何效果,且公式將會退化成一般的線性迴歸模型。當λ值足夠大時,其對於變數較多的線性模型之懲罰力就越大,可達到將係數
強制壓縮至零的效果。換言之,當決定了λ值時,同時也決定了變數集合
中剩餘變數的個數,因此,LASSO方法犧牲一些不偏性,但還是能夠保持迴歸估計的有效性,用偏誤作為代價來換得減少估計量的變異。由於LASSO與脊迴歸都會壓縮係數,可藉此解決多重共線性問題,兩者的差別在於LASSO可把不顯著之變數係數壓縮至零,且其懲罰函數為絕對值形式,而脊迴歸為平方形式,因此在LASSO配適模型時可同時完成重要特徵的篩選。
除了隨機森林演算法以及LASSO以外,在一些實施例中還可以使用其他的特徵篩選方法,例如主成分分析(principal component analysis,PCA)等等。上數每個特徵篩選方法都會挑選出一或多個特徵,接下來可以對特徵投票,當某個特徵的票數大於一臨界值(例如2)時才會被選為重要特徵。
在一些實施例中步驟212還可透過因果關係檢定。具體來說,在一些實施例中可應用變異膨脹因子(variance inflation factor,VIF)進行共線性檢查。VIF是檢查共線性的方法之一,一般而言,當VIF>10時代表變數間具有較強的共線性,其計算方式如下數學式(2)。
[數學式2]
其中
表示以其他自變數來預測第i個自變數的決定係數(coefficient of determination),
為第i個自變數的變異膨脹因子。計算每個自變數的VIF後,若有兩個或以上自變數的VIF值大於10,則將這些自變數分別以線性回歸模型預測應變數,計算個別的係數,最後再刪除係數較低者。此方法可以檢查上述特徵篩選方法投票後的重要特徵是否存在共線性,確保模型的解釋度。
在篩選完重要特徵並檢查共線性以及填補遺漏值以及一階差分之後,剩餘的重要特徵與應變數即可做為預測模型的訓練資料,由於需要將時間序列資料轉換為監督式訓練資料後才能建立預測模型,因此在步驟213中,透過滑動時窗法(Sliding Window Method)進行資料整合,將訓練資料轉換為一維資料,其主要概念為利用過去歷史價格預測未來價格,故透過時間窗格(Time window)之滑動取得資料並進行轉換與重組資料表。值得注意的是,在此使用滑動時窗法之目的僅為轉換資料型態及重組資料表,而非增加樣本數,因此在時間窗格內並未對被選取之資料進行計算(如平均或取最大值),故與傳統滑動時窗法之使用目的較不相同。圖3是根據一實施例繪示透過滑動時窗法進行資料重組的示意圖。請參照圖3,為了簡化起見,圖3假設訓練資料有一個應變數(Y)與兩個自變數(X)。具體來說,表格310的第一欄(column)代表原料的價格,下標為時間;第二欄與第三欄分別表示不同的特徵X
1與X
2,X
11代表在時間t=1的特徵X
1,X
21代表在時間t=1的特徵X
2,以此類推。在圖3的實施例中是以過去兩期的歷史價格(Y)預測未來兩期價格(Y),並加入其他兩項自變數(X),且自變數也取過去兩期資料作為輸入。舉例來說,訓練輸入資料311是作為預測模型的輸入,訓練輸出資料312是作為預測模型的輸入,訓練輸入資料311與訓練輸出資料312組成一個訓練樣本。訓練輸入資料311包括了歷史價格Y
1、Y
2以及特徵X
11、X
21、X
12、X
22;訓練輸出資料312包括了未來的價格Y
3以及Y
4。則經時間窗格之轉換之後成為表格320,訓練輸入資料310與訓練輸出資料312會排列為一維資料。如此一來,表格320中的每一列都可形成一筆訓練樣本。
由於深度學習的學習目標通常為最優化損失函數(Loss function),因此若輸入資料之各個變數的單位及尺度皆不相同,或存在過大、變數尺度差異太大的值,都可能導致模型在梯度下降(Gradient Descent)過程中產生過大的值,使得參數不易收斂。因此在建構預測模型之前必須先將資料進行標準化(Standardization)轉換,將其限縮在特定的範圍之內,其公式如以下數學式(3)所示。
[數學式3]
請參照回圖2,接著在步驟214中,根據轉換後的一維資料來訓練預測模型。在此實施例中,預測模型為遞迴神經網路(Recurrent Neural Network,RNN),遞迴神經網路具有許多變形,在此實施例中是採用門控循環單元類神經網路(Gated Recurrent Unit),但在其他實施例中也可以採用遞迴神經網路的其他變形,例如長短期記憶(long short-term memory,LSTM)神經網路,本發明並不在此限。在領域具有通常知識者當可理解如何訓練遞迴神經網路,在此不再詳細贅述。
在步驟215中,進行交叉驗證(Cross validation)。在此實施例中爲了平衡資料還應用了重采樣(Resampling),使資料分佈更爲平均,助於提高預測效果。在此共會重複五次資料重采樣,每次重采樣百分之八十的資料,剩餘百分之二十的資料則做為測試資料,然後將資料分別輸入到預測模型中進行訓練。本領域具有通常知識者當可理解交叉驗證,在此不詳細贅述。
在一些實施例中,還可以將所有的訓練資料以時間排序分成三等分,即前中後期、中後期、以及後期資料,這三等分可以均分,但本發明並不在此限。上述的三等份分別輸入到三個預測模型中建模,以模擬出擁有不同經驗之員工對於市場的觀察所做出的選擇,然後取三個預測結果的平均為最終結果,以達到不同立場、經驗、以及切入點的觀察所做出的最佳預測。
在步驟216中,根據上述訓練好的預測模型來預測原料在未來時間點的價格。圖4是根據一實施例繪示預測原料價格的示意圖。請參照圖4,在此實線代表原料真實的價格走勢,而虛線則是預測的價格走勢,在圖4中共在五個時間點預測接下來的價格走勢,因此共有5條虛線。在一些實施例中,預測模型可以預測接下來一段時間(可以是以周或以月來計,本發明並不在此限),但只會取一個未來時間點的價格用於後續的採購決策,此未來時間點例如是一月後,但本發明並不在此限。
請參照回圖2,在預測出原料的價格以後進行採購決策階段220。在此實施例中應用強化學習(Reinforcement Learning, RL)建構採購決策模型,其以環境回饋作為輸入,並在不借助監督者提供完整資訊的情況下,自行發掘在何種狀態下該採取何種行動以獲取最大獎勵,並適應環境的機器學習方法。具體來說,在採購決策階段220所用到的資料包括上述預測出的價格、歷史採購資料203與歷史庫存資料204。歷史採購資料203包括了在每個歷史時間點採購了多少的原料以及所採購的價錢,歷史庫存資料204則包括了在每個歷史時間點具有多少原料的庫存。
在步驟221中,執行資料前處理,例如遺漏值(Missing values)填補、刪除離群值、正規化等等,本發明並不限制前處理的內容。
在步驟222中,建立強化學習模型。具體來說,強化學習方法至少需要定義出狀態、動作與獎勵,在此,一個狀態包括了兩個數值,分別是預測的價格與原料的目前庫存量,可以表示為
,其中S是所有狀態所形成的集合(亦稱狀態集合),s代表一個狀態,p代表預測的價格,i代表目前庫存量。另一方面,所有動作形成一個動作集合,表示為
,其中a為一個動作,A為動作集合。每個動作定義為原料的買進數量,在一些實施例中買進數量已被離散化為4個水平,但在其他實施例中也可以離散化為更多或更少的水平或是用連續的買進數量,本發明並不在此限。此外,在此實施例中透過問卷的方式詢問專業或有經驗的經理人在配對(狀態、動作)下應給予多少獎勵以決定獎勵函數,獎勵函數可以將配對(狀態、動作)轉換為獎勵。在一些實施例中,也可以根據每個(狀態、動作)導致多少的損益來決定獎勵函數。
接下來,根據狀態集合S、動作集合A與獎勵函數來訓練至少一個強化學習模型。在此實施例中是以Q學習(Q-learning)為基礎來建構強化學習模型,在此簡單說明Q學習。Q學習中是要建立狀態動作函數(state-action function),表示為
。大致上來說,Q學習的流程包括在狀態s下根據函數
決定出動作a,在執行動作a以後觀察獎勵r與更新後的狀態
。接著,根據以下數學式(4)來更新函數
。
[數學式4]
其中
為介於0至1之間的實數,
代表時間的折現因子(discounting factor)。在執行一序列的動作以後,是從最後的動作以遞迴的方式訓練至前面的動作,因此數學式(4)中的
為已知,為了以下說明起見,以下表示為
。
由於訓練資料不一定會尋訪到函數
中的每個狀態,在此以監督式機器學習的演算法來逼近函數
,在此採用深度神經網路,深度神經網路的輸出是每個動作的價值(或機率),換言之整個強化學習模型的架構可稱為深度Q網路(deep Q network)。更具體來說,在上述的數學式(4)中,
為深度神經網路的輸出,而y可稱為真實輸出(ground truth),根據y與
之間的差異可用來訓練深度神經網路。在一些實施例中,y與
之間的差異可以採用均方誤差(mean square error,MSE),也就是說訓練深度神經網路的損失函數為均方誤差。在一些實施例中,y與
之間的差異也可以是交叉熵(cross entropy),本領域具有通常知識者當可以理解如何用交叉熵作為損失函數,在此不再詳細贅述。在其他實施例中也可以用線性模型、支持向量機或任意其他監督式機器學習的演算法來逼近函數
,本發明並不在此限。
在步驟223中,根據強化學習模型的輸出決定動作以進行原料的採購。當需要進行決策時,輸入狀態(即原料的預測價格與目前庫存量)至函數
,便可以得到各個動作的機率,接下來可以採用最大機率的動作或是根據機率以抽樣的方式來決定動作。由於動作便是原料的買進數量,因此可以根據此動作進行採購。
在一些實施例中,上述的強化學習模型共有8個,除了上述的深度Q網路,還應用了雙重深度Q網路(double deep Q network)、競爭深度Q網路(dueling deep Q network)與雙重競爭深度Q網路(double dueling deep Q network)。在步驟223中是讓這8個強化學習模型進行投票來決定出動作。具體來說,圖5A與圖5B是根據一實施例繪示採購決策步驟的流程圖。請參照圖5A與圖5B,在此使用了第一強化學習模型501至第八強化學習模型508。第一強化學習模型501的其架構為深度Q網路,損失函數為均方誤差。第二強化學習模型502的架構為深度Q網路,損失函數為交叉熵。第三強化學習模型503的架構為雙重深度Q網路,損失函數為均方誤差。第四強化學習模型504的架構為雙重深度Q網路,損失函數為交叉熵。第五強化學習模型505的架構為競爭深度Q網路,損失函數為均方誤差。第六強化學習模型506的架構為競爭深度Q網路,損失函數為交叉熵。第七強化學習模型507的架構為雙重競爭深度Q網路,損失函數為均方誤差。第八強化學習模型508的架構為雙重競爭深度Q網路,損失函數為交叉熵。
每個強化學習模型都會輸出一個動作以對此動作進行投票,在步驟510中,判斷是否有票數最多的動作。如果有票數最多的動作,在步驟511中以票數最多的動作進行原料的採購。如果不存在票數最多的動作,在步驟512中,以第八強化學習模型508輸出的動作進行原料的採購。在步驟513中,觀察結果,在一些實施例中也可以將採購結果繪製為圖表給使用者看。
以另外一個角度來說,本發明也提出了一電腦程式產品,此產品可由任意的程式語言及/或平台所撰寫,當此電腦程式產品被載入至電腦系統並執行時,可執行上述的原料採購決策方法。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:電子裝置
110:處理器
120:記憶體
201:歷史價格
202:歷史指標
203:歷史採購資料
204:歷史庫存資料
210:價格預測階段
211~216:步驟
220:採購決策階段
221~223步驟
310,320:表格
311:訓練輸入資料
312:訓練輸出資料
501:第一強化學習模型
502:第二強化學習模型
503:第三強化學習模型
504:第四強化學習模型
505:第五強化學習模型
506:第六強化學習模型
507:第七強化學習模型
508:第八強化學習模型
510~513:步驟
[圖1]是根據一實施例繪示電子裝置的示意圖。
[圖2]是根據一實施例繪示原料採購決策方法的流程圖。
[圖3]是根據一實施例繪示透過滑動時窗法進行資料重組的示意圖。
[圖4]是根據一實施例繪示預測原料價格的示意圖。
[圖5A]與[圖5B]是根據一實施例繪示採購決策步驟的流程圖。
201:歷史價格
202:歷史指標
203:歷史採購資料
204:歷史庫存資料
210:價格預測階段
211~216:步驟
220:採購決策階段
221~223步驟
Claims (5)
- 一種原料採購決策方法,適用於一電子裝置,該原料採購決策方法包括:取得訓練資料,該訓練資料包括一原料的歷史價格、總體經濟數據、供需數據、產能利用率與上下游材料價格;透過隨機森林演算法、最小絕對值壓縮和選取運算以及因果關係檢定來篩選該訓練資料中的重要特徵;透過滑動時窗法將該訓練資料轉換為一維資料;根據該一維資料訓練一預測模型,藉此預測關於該原料在一未來時間點的價格,其中該預測模型為遞迴神經網路;設定一狀態集合中的每一多個狀態包括該價格與一目前庫存量,設定一動作集合中的每一多個動作為該原料的買進數量,並且設定一獎勵函數;根據該狀態集合、該動作集合與該獎勵函數訓練多個強化學習模型;以及在測試階段根據該些強化學習模型的輸出決定該些動作的其中之一以進行該原料的採購。
- 如請求項1所述之原料採購決策方法,其中該些強化學習模型包括:第一強化學習模型,其架構為深度Q網路,損失函數為均方誤差;第二強化學習模型,其架構為深度Q網路,損失函數為 交叉熵;第三強化學習模型,其架構為雙重深度Q網路,損失函數為均方誤差;第四強化學習模型,其架構為雙重深度Q網路,損失函數為交叉熵;第五強化學習模型,其架構為競爭深度Q網路,損失函數為均方誤差;第六強化學習模型,其架構為競爭深度Q網路,損失函數為交叉熵;第七強化學習模型,其架構為雙重競爭深度Q網路,損失函數為均方誤差;以及第八強化學習模型,其架構為雙重競爭深度Q網路,損失函數為交叉熵。
- 如請求項2所述之原料採購決策方法,其中在測試階段根據該些強化學習模型的輸出決定該些動作的其中之一以進行該原料的採購的步驟包括:透過該些強化學習模型對該些動作進行投票,計算出票數最多的該動作以進行該原料的採購;以及若不存在票數最多的該動作,以該第八強化學習模型輸出的動作以進行該原料的採購。
- 一種電子裝置,包括:一記憶體,儲存有多個指令; 一處理器,用以執行該些指令以完成多個步驟:取得訓練資料,該訓練資料包括一原料的歷史價格、總體經濟數據、供需數據、產能利用率與上下游材料價格;透過隨機森林演算法、最小絕對值壓縮和選取運算以及因果關係檢定來篩選該訓練資料中的重要特徵;透過滑動時窗法將該訓練資料轉換為一維資料;根據該一維資料訓練一預測模型,藉此預測關於該原料在一未來時間點的價格,其中該預測模型為遞迴神經網路;設定一狀態集合中的每一多個狀態包括該價格與一目前庫存量,設定一動作集合中的每一多個動作為該原料的買進數量,並且設定一獎勵函數;根據該狀態集合、該動作集合與該獎勵函數訓練多個強化學習模型;以及在測試階段根據該些強化學習模型的輸出決定該些動作的其中之一以進行該原料的採購。
- 一種電腦程式產品,由一電腦系統載入並執行以完成多個步驟:取得訓練資料,該訓練資料包括一原料的歷史價格、總體經濟數據、供需數據、產能利用率與上下游材料價格;透過隨機森林演算法、最小絕對值壓縮和選取運算以及因果關係檢定來篩選該訓練資料中的重要特徵; 透過滑動時窗法將該訓練資料轉換為一維資料;根據該一維資料訓練一預測模型,藉此預測關於該原料在一未來時間點的價格,其中該預測模型為遞迴神經網路;設定一狀態集合中的每一多個狀態包括該價格與一目前庫存量,設定一動作集合中的每一多個動作為該原料的買進數量,並且設定一獎勵函數;根據該狀態集合、該動作集合與該獎勵函數訓練多個強化學習模型;以及在測試階段根據該些強化學習模型的輸出決定該些動作的其中之一以進行該原料的採購。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109127601A TWI757828B (zh) | 2020-08-13 | 2020-08-13 | 原料採購決策方法、電子裝置與電腦程式產品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109127601A TWI757828B (zh) | 2020-08-13 | 2020-08-13 | 原料採購決策方法、電子裝置與電腦程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202207102A TW202207102A (zh) | 2022-02-16 |
TWI757828B true TWI757828B (zh) | 2022-03-11 |
Family
ID=81323568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109127601A TWI757828B (zh) | 2020-08-13 | 2020-08-13 | 原料採購決策方法、電子裝置與電腦程式產品 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI757828B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115481927A (zh) * | 2022-10-13 | 2022-12-16 | 鼎捷软件股份有限公司 | 差异数据处理系统以及差异数据处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140310066A1 (en) * | 2003-03-27 | 2014-10-16 | Oren Etzioni | Performing predictive pricing based on historical data |
CN105022825A (zh) * | 2015-07-22 | 2015-11-04 | 中国人民解放军国防科学技术大学 | 结合财经新闻挖掘和金融历史数据的金融品种价格预测方法 |
US20150317589A1 (en) * | 2012-11-09 | 2015-11-05 | The Trustees Of Columbia University In The City Of New York | Forecasting system using machine learning and ensemble methods |
CN107507075A (zh) * | 2017-09-26 | 2017-12-22 | 北京阳光公采科技有限公司 | 公共采购大数据价格监测方法 |
CN109214601A (zh) * | 2018-10-31 | 2019-01-15 | 四川长虹电器股份有限公司 | 家电行业大数据销量预测方法 |
US20200250455A1 (en) * | 2019-02-04 | 2020-08-06 | Etsy, Inc. | Physical item optimization using velocity factors |
-
2020
- 2020-08-13 TW TW109127601A patent/TWI757828B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140310066A1 (en) * | 2003-03-27 | 2014-10-16 | Oren Etzioni | Performing predictive pricing based on historical data |
US20150317589A1 (en) * | 2012-11-09 | 2015-11-05 | The Trustees Of Columbia University In The City Of New York | Forecasting system using machine learning and ensemble methods |
CN105022825A (zh) * | 2015-07-22 | 2015-11-04 | 中国人民解放军国防科学技术大学 | 结合财经新闻挖掘和金融历史数据的金融品种价格预测方法 |
CN107507075A (zh) * | 2017-09-26 | 2017-12-22 | 北京阳光公采科技有限公司 | 公共采购大数据价格监测方法 |
CN109214601A (zh) * | 2018-10-31 | 2019-01-15 | 四川长虹电器股份有限公司 | 家电行业大数据销量预测方法 |
US20200250455A1 (en) * | 2019-02-04 | 2020-08-06 | Etsy, Inc. | Physical item optimization using velocity factors |
Also Published As
Publication number | Publication date |
---|---|
TW202207102A (zh) | 2022-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mudassir et al. | Time-series forecasting of Bitcoin prices using high-dimensional features: a machine learning approach | |
Yang et al. | Time-series forecasting based on high-order fuzzy cognitive maps and wavelet transform | |
Verbraken et al. | Development and application of consumer credit scoring models using profit-based classification measures | |
Ke et al. | Empirical analysis of optimal hidden neurons in neural network modeling for stock prediction | |
Widiputra et al. | Multivariate CNN‐LSTM Model for Multiple Parallel Financial Time‐Series Prediction | |
Yun et al. | Interpretable stock price forecasting model using genetic algorithm-machine learning regressions and best feature subset selection | |
US11087344B2 (en) | Method and system for predicting and indexing real estate demand and pricing | |
JP6821614B2 (ja) | モデル学習装置、モデル学習方法、プログラム | |
CN116503118A (zh) | 一种基于分类选择强化预测模型的废旧家电价值评估系统 | |
TWI757828B (zh) | 原料採購決策方法、電子裝置與電腦程式產品 | |
Passalis et al. | Forecasting financial time series using robust deep adaptive input normalization | |
CN112819256A (zh) | 一种基于注意力机制的卷积时序房价预测方法 | |
CN115249081A (zh) | 一种对象类型的预测方法、装置、计算机设备和存储介质 | |
CN112686470A (zh) | 电网饱和负荷预测方法、装置及终端设备 | |
CN117350775A (zh) | 一种医用手术机器人市场现状需求分析方法及系统 | |
CN112313679A (zh) | 信息处理设备、信息处理方法和程序 | |
Kotenko et al. | Formation of Indicators for Assessing Technical Reliability of Information Security Systems | |
US11004156B2 (en) | Method and system for predicting and indexing probability of financial stress | |
Kaburlasos et al. | Agricultural yield prediction by difference equations on data-induced cumulative possibility distributions | |
Iqbal et al. | Forecasting stock market using machine learning approach encoder-decoder ConvLSTM | |
Nagashima et al. | Data Imputation Method based on Programming by Example: APREP-S | |
Mayatopani | Implementation of ANN and GARCH for stock price forecasting | |
Gandhmal et al. | Chronological penguin Adam-based deep long short-term memory classifier for stock market prediction | |
Du Toit | Automated construction of generalized additive neural networks for predictive data mining | |
Akşehir et al. | A new denoising approach based on mode decomposition applied to the stock market time series: 2LE-CEEMDAN |