PP預測(Forecast)功能中的常量預測模型(Constant Model)詳解(重磅推薦)

PP預測(Forecast)功能中的常量預測模型(Constant Model)詳解

作者:袁雲飛(AlbertYuan)- 微信號yuanalbert

以下內容均爲原創,希望對初學者有一些輔助作用,本人主要從事MM/QM/WM的相關工作,不專業處請多多指點,十足乾貨,碼字不易,且行且珍惜,你們的關注就是我努力的動力,轉載請引用出處,感激不盡;

PP模塊裏最不常用的物料計劃功能就是—預測forecast;或許應該稱爲幾乎不用的功能;

畢竟如果不瞭解其設計原則,運行管理,計算邏輯,適用範圍得話,我們是沒法精準推薦給用戶使用的,而預測forecast這種計劃的方式,往往在這幾個方面都需要我們具備一定的專業知識了,不僅僅是IT技能,數學裏的很多基礎方法都將有助於我們理解SAP設計預測功能的初衷和原理;

而往往很多時候事與願違,學信息化的人很難去從原理上去探索預測模型的數學來源,特別是要具備基於時間序列的分析這種數學方法,一般高等數學的知識是不足的;加上企業本身高速發展對於相關基礎數據,參量等數據的沉澱較少,更難以使用;不過在瞭解了預測的基本原理後,小夥伴們應該就能深刻體會得到這些東西纔是管理數據化,管理模型化,管理量化的魅力;下面我們從基礎方向去帶大家去嘗試理解forecast;

物料計劃是PP模塊的一個重要組成部分,其核心要素在於通過不同的方式,對未來一段時間內預期的物料需求進行提前計劃,從而根據相應的提前期進行有條不紊 的生產與採購活動。

在衆多的物料計劃方式中,MRP無疑是應用最爲廣泛的一種,這是因爲MRP這種物料需求的計劃方式邏輯清晰、容易理解、易於使用,且 MRP的順利運行無需過多過嚴苛的先決條件。

同時,MRP的運算邏輯本身也十分合理、在功能上也強大,爲企業物料計劃員所廣爲接受。

MRP的物料計劃方式是一種根據未來需求推算未來需求、以及根據未來需求推算未來供給的過程。

無論如何,我們一定要事先通過某種方式(如計劃 獨立需求、銷售訂單)將未來的物料需求給到系統,而後系統才能根據這些需求進行一系列的MRP運算。這樣一來,當我們使用MRP的時候,就必須要花費一定 的工作量,找到一些可行的方法,將未來的物料需求輸入到系統中。

因此可以說,雖然MRP的運行在很大程度上降低了計劃員的工作量,但由於MRP本身以物料 需求的輸入作爲前提條件,則維護物料需求的工作量就是不可避免的。

除了最經典的MRP運算方式之外,還存在着另外一種物料計劃方式,這就是預測(Forecast)。與MRP所不同的是,預測功能的本質 是根據過去的物料消耗值來推算未來的物料消耗值(即物料需求)。

在這種情況下,我們無需在系統中輸入物料在未來的預期需求,系統就會直接根據物料在歷史上 的消耗數據,自動推算出未來的物料需求。

預測功能在SAP系統中是一項非常高級與深入的功能,它可以實現物料需求推算的自動化、進而實現物料供給推算的自動化。我們再也不需絞盡腦汁地 去設想物料在未來的需求數據了,系統的自動運算會搞定一切。

不過,現實總是很殘忍的;雖然預測功能是如此的高檔與智能化,但真正在SAP系統中應用了這一功能的企業卻是寥寥無幾。

這其中最重要的原因就在於預測功能的成功應用需要太多、太複雜的先決條件,而絕大多數企業根本不具備這些先決條件。換句話說,極少有企業能將預測過程中出現的種種複雜與深奧的參數進行量化與固化。

在預測功能的應用當中,最爲核心的部分就是物料需求的推算規則。系統之所以能夠依據物料的歷史消耗數據推算出物料的未來需求值,靠的就是有一個明 確的推算規則。

我們需要事先將推算規則賦予給系統,系統才能夠在這個規則的基礎上依據物料的歷史消耗值進行計算。

通常而言,我們將這個用於進行預測計算的 規則稱之爲預測模型(Forecast Model),而將這個模型中所量化的計算方法稱之爲預測公式(Forecast Formula)。

因此,物料的歷史消耗數據僅僅是預測運算的變量,而預測模型與預測公式則在預測功能的應用中佔據了最爲核心的位置。選擇一個合適的預測模型是成功應用預測 功能的必要條件。

因爲如果模型選得不得當,再豐富的物料歷史消耗數據都是沒有意義的。而如果我們想要選擇好正確的預測模型,就必須要事先對每個預測模型的 運算原理、以及預測模型中每個參數所起到的作用有着充分的瞭解。

這就讓人很爲難了,如果是研究此的專家學者,應用豐富的數學知識,或許能窺探一二;而模型這種東西都是建立在比較深的數學原理的總結之上的;一般人需要比較豐富的數學背景以及應用背景才能找出切合實際的方案;

所以說預測這個功能是美麗的,現實卻是殘酷的;

我們先來認識一下SAP預測功能裏的主要一些概念;

SAP系統所提供的各種預測模型主要包括:

1:移動平均模型–Moving Average Model

2:加權移動平均模型–Weighted Moving Average Model

3:一階指數平滑模型(含季節因子)-- First-Order Exponential Smoothing Model

3.1:常數模型–Constant Model

3.2:通用一階指數平滑模型(含季節因子)-- General First-Order Exponential Smoothing Model

4:二階指數平滑模型 – Second-Order Exponential Smoothing Model

SAP系統所提供的五大預測值評估標準,它們是:

1:誤差總量–Error Total

2:初始化預測平均絕對偏差(MAD I)–Mean Absolute Deviation for Forecast Initialization

3:事後預測平均絕對偏差(MAD II)–Mean Absolute Deviation for Ex-Post Forecast

4:跟蹤信號–Tracking Signal

5:泰爾係數–Theil Coefficient

SAP系統所提供的預測值修正方法–公差巷(Tolerance Lane)

預測模型中涉及到的五大參數,它們分別是:

1:α – alpha (基本平滑因子)

2:β – beta (趨勢平滑因子)

3:γ – gamma (季節平滑因子)

4:δ – delta (平均絕對偏差因子)

5:σ – sigma (異常控制因子)

到此,我們言歸正傳,討論預測模型;

對於常量需求形式(Constant requirements pattern):

如果手工分析到過去消耗的數據代表着一個常量消耗流,我們就可以選擇常量模型或使用平滑因子的常量模型。

這兩個模型中的預測計算採用的是“first-order exponential smoothing”一階指數平滑方法。當採用平滑參數的時,系統計算不同的參數組合,就是嘗試不同的α因子值,並選擇最優的參數組合,這種組合具備最低的平均絕對值偏差MAD(lowest mean absolute deviation)。

如果過去消耗表現出常量方式的時候,還有另外兩個可能性,就是移動平均模型或帶權重的移動平均模型。

在權重移動平均模型中,可以通過設定權重對於單個的過去消耗值,這可以使得系統將不按照平等方式來計算預測值,而是加入權重一起評估,這樣我們就可以將近期消耗的值多給點權重,使得其扮演更重要的角色,這個類似一指數平滑情況。

移動平均模型(moving average model)的計算公式:

移動平均模型被用於排除在時間序列計算方式上的錯誤。其計算N個過去時間序列值的平均值。計算N個值的平均值是這樣計算的,如(1);
在這裏插入圖片描述
M(t):第t+1個期間的預測值;

V(t):期間t的消耗值;也可以說成對當前t期間的實際需求;

n:表示計算過去參與預測的期間的個數。

這裏注意下公式1有個錯誤就是V(t)應該沒有,V(t-n+1)應該是V(t-n)。

公式2的M(t+1)應該是M(t+2),V(t-n+1)應該是V(t-n);公式2其實就是計算t+2期間的預測值,就是將公式1帶入進去後就能看懂了。

還有就是如果你用過去n個期間的消耗值去預測未來n個期間,則除了n+1個期間是按照公式計算出來的,後面的期間的值都是同n+1的值一樣的這個是固定的。

從公式1可以看出,計算t+1期間的預測就是通過對設定的過去n個期間的實際消耗值進行算術平均得到,不過,t+1期間的平均值(預測值)就是通過上一個期間的平均值,加上t+1期間的消耗值於n期間上的消耗值的差,除以n,也就是說,這個模型適用於從時間序列上來看是一個常量的情況,沒有趨勢沒有季節,所有的歷史數據都使用了權重因子1/n。

此模型適用環境:

  1. 消耗值的波動比較平穩,無明顯的上下起伏;

  2. 消耗值的波動既無明顯的趨勢特徵,也無明顯的季節特徵;

  3. 各個消耗值所對應的歷史期間在預測模型中具備相同的權重。

帶權重移動平均模型(weighted moving average model)的計算公式:
在這裏插入圖片描述
公式(3)就是移動平均模型,其實就是使用的是相同權限的權限因子1/n的預測計算公式,(4)就是人工給出了每個權限因子的預測計算公式,其實就是加權平均數公式。

帶權重的計算方式就是先分配一個權重組,裏面包含了過去每個值的權重因子,所有權重因子的和是1。

這樣每個過去值都會乘上這個權後後在進行平均值計算的。如果消耗趨勢有點趨勢性,就可以使用這個模型得到更好的效果。

由於權重的存在,可以給離現在最近的消耗值以大權重,不過這個模型十分依賴於給定的權重,所以要經常調整權重因子。

這裏穿插一下關於移動平均法的概念介紹:(以便方便小夥伴們理解)

移動平均法是用一組最近的實際數據值來預測未來一期或幾期內公司產品的需求量、公司產能等的一種常用方法。

移動平均法適用於即期預測。

當產品需求既不快速增長也不快速下降,且不存在季節性因素時,移動平均法能有效地消除預測中的隨機波動,是非常有用的。

移動平均法根據預測時使用的各元素的權重不同 

移動平均法是一種簡單平滑預測技術,它的基本思想是:根據時間序列資料、逐項推移,依次計算包含一定項數的序時平均值,以反映長期趨勢的方法。

因此,當時間序列的數值由於受週期變動和隨機波動的影響,起伏較大,不易顯示出事件的發展趨勢時,使用移動平均法可以消除這些因素的影響,顯示出事件的發展方向與趨勢(即趨勢線),然後依趨勢線分析預測序列的長期趨勢。 

移動平均法的種類:

移動平均法可以分爲:簡單移動平均和加權移動平均

一、簡單移動平均法 
簡單移動平均的各元素的權重都相等。簡單的移動平均的計算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n式中, 
•	Ft--對下一期的預測值; 
•	n--移動平均的時期個數; 
•	At-1--前期實際值; 
•	At-2,At-3和At-n分別表示前兩期、前三期直至前n期的實際值。 

二、加權移動平均法 
加權移動平均給固定跨越期限內的每個變量值以不同的權重。其原理是:歷史各期產品需求的數據信息對預測未來期內的需求量的作用是不一樣的。
除了以n爲週期的週期性變化外,遠離目標期的變量值的影響力相對較低,故應給予較低的權重。 加權移動平均法的計算公式如下: 

  Ft=w1At-1+w2At-2+w3At-3+…+wnAt-n式中, 
•	w1--第t-1期實際銷售額的權重; 
•	w2--第t-2期實際銷售額的權重; 
•	wn--第t-n期實際銷售額的權 
•	n--預測的時期數;w1+ w2+…+ wn=1 

常量模型中的一階指數平滑(first-order exponential smoothing)的計算公式:

一階指數平滑的原則是;越老的時間序列上的值,對於計算預測來說越不重要;當前預測的錯誤被帶入隨後預測執行中。

The older the time series values, the less important they become for the calculation of the forecast.

The present forecast error is taken into account for the following forecasts.

指數平滑法是布朗(Robert G…Brown)所提出,布朗(Robert G…Brown)認爲時間序列的態勢具有穩定性或規則性,所以時間序列可被合理地順勢推延;他認爲最近的過去態勢,在某種程度上會持續到最近的未來,所以將較大的權數放在最近的資料。

指數平滑法是生產預測中常用的一種方法。也用於中短期經濟發展趨勢預測,所有預測方法中,指數平滑是用得最多的一種。

簡單的全期平均法是對時間數列的過去數據一個不漏地全部加以同等利用;移動平均法則不考慮較遠期的數據,並在加權移動平均法中給予近期資料更大的權重;

而指數平滑法則兼容了全期平均和移動平均所長,不捨棄過去的數據,但是僅給予逐漸減弱的影響程度,即隨着數據的遠離,賦予逐漸收斂爲零的權數。

也就是說指數平滑法是在移動平均法基礎上發展起來的一種時間序列分析預測法,它是通過計算指數平滑值,配合一定的時間序列預測模型對現象的未來進行預測。其原理是任一期的指數平滑值都是本期實際觀察值與前一期指數平滑值的加權平均。

所以說一階指數平滑法預測t+1期間的話,只考慮t期間的實際消耗值,和t-1期間的平滑值S(t-1)。

指數平滑法的基本公式是:
在這裏插入圖片描述
• St–時間t的平滑值;
• yt–時間t的實際值; 也就是消耗值
• S(t – 1)–時間t-1的平滑值;
• a–平滑常數,其取值範圍爲[0,1];

這個公式僅僅是用來計算t期間的平滑值的。根據我們設定的平滑因子來計算。
由該公式可知:

1.St是yt和 S(t – 1)的加權算數平均數,隨着a取值的大小變化,決定yt和 S(t – 1)對St的影響程度,當a取1時,St = yt;當a取0時,St = St − 1。

2.St具有逐期追溯性質,可探源至S(t − t + 1)爲止,包括全部數據。其過程中,平滑常數以指數形式遞減,故稱之爲指數平滑法。

指數平滑常數取值至關重要。平滑常數決定了平滑水平以及對預測值與實際結果之間差異的響應速度。平滑常數a越接近於1,遠期實際值對本期平滑值影響程度的下降越迅速;平滑常數a越接近於 0,遠期實際值對本期平滑值影響程度的下降越緩慢。

由此,當時間數列相對平穩時,可取較大的a;當時間數列波動較大時,應取較小的a,以不忽略遠期實際值的影響。生產預測中,平滑常數的值取決於產品本身和管理者對良好響應率內涵的理解。

3.儘管St包含有全期數據的影響,但實際計算時,僅需要兩個數值,即yt和 S(t – 1),再加上一個常數a,這就使指數滑動平均具逐期遞推性質,從而給預測帶來了極大的方便。

4.根據公式
在這裏插入圖片描述
當欲用指數平滑法時纔開始收集數據,則不存在y0。無從產生S0,自然無法據指數平滑公式求出S1,指數平滑法定義S1爲初始值。

初始值的確定也是指數平滑過程的一個重要條件。

如果能夠找到y1以前的歷史資料,那麼,初始值S1的確定是不成問題的。數據較少時可用全期平均、移動平均法;

數據較多時,可用最小二乘法。但不能使用指數平滑法本身確定初始值,因爲數據必會枯竭。

如果僅有從y1開始的數據,那麼確定初始值的方法有:

1)取S1等於y1;

2)待積累若干數據後,取S1等於前面若干數據的簡單算術平均數,如:S1=(y1+ y2+y3)/3等等。

所以說SAP在進行預測前也是先要確定一個初始值的,也就有了初始化的說法,SAP的自動初始化採用的是取預測期間的最早一個期間的消耗值作爲S1,也就是S1=Y1。

指數平滑的預測公式

據平滑次數不同,指數平滑法分爲:一次指數平滑法、二次指數平滑法和三次指數平滑法等。

一次指數平滑預測;當時間數列無明顯的趨勢變化,可用一次指數平滑預測。其預測公式爲:

y(t+1)’=ayt+(1-a)yt’

式中:

y(t+1)’:t+1期的預測值,即本期(t期)的平滑值St ;
yt:t期的實際值;
yt’:t期的預測值,即上期的平滑值S(t-1)

該公式又可以寫作:y(t+1)’=yt’+a(yt- yt’)。可見,下期預測值又是本期預測值與以a爲折扣的本期實際值與預測值誤差之和。

公式是:
在這裏插入圖片描述
在這裏插入圖片描述
公式5就是計算公式,公式6是5的轉換形式。系統會計算出一個基本值,其實這個值就是預測值,不過如果這個值有小數,則會被向上取整。
在這裏插入圖片描述
在這裏插入圖片描述

1.如果觀察值的長期趨勢變動接近穩定的常數,應取居中阿爾法值(一般取0.6—0.4)使觀察值在指數平滑中具有大小接近的權數;

2.如果觀察值呈現明顯的季節性變動時,則宜取較大的阿爾法值(一般取0.6一0.9),使近期觀察在指數平滑值中具有較大作用,從而使近期觀察值能迅速反映在未來的預測值中;

3.如果觀察值的長期趨勢變動較緩慢,則宜取較小的α值(一般取0.1—0.4),使遠期觀察值的特徵也能反映在指數平滑值中。

在確定預測值時,還應加以修正,在指數平滑值S,的基礎上再加一個趨勢值β,因而,原來指數平滑公式也應加一個b。

如何快速根據消耗的變化來進行預測,主要取決於我們提供的平滑因子α。如果設置α=0,則t+1期間的預測值就是t-1期間的平滑值,也就是說預測將不會根據t期間的消耗值來做出反應變化。

如果α=1,則預測值就是t期間的實際消耗值,預測做出迅速反應。但我們通常不會取兩個極端,總是雙方都互相參考來進行預測。

SAP系統認爲一般來說α設定在0.1到0.5之間比較合適。

常量模型中使用調整因子的一階指數平滑(first-order exponential smoothing)的計算公式:
SAP裏在一階平滑方法裏改良出了,帶調整因子的方法,其主要原理就是系統自動計算不同的平滑因子參數α的組合,來計算出很多組的平滑值,然後每組計算出一個MAD,系統選擇最小的MAD來進行預測。
在這裏插入圖片描述
MAD就是每組期間中的每個t期間的預測值減去實際消耗值的絕對值,然後求和,後除以設置的期間數量。

在這裏插入圖片描述
如上圖,MAD的計算過程距離如下,三個過去期間的實際消耗值分別是15/8/10,可以先計算出每個過去期間的平滑之St。

15/13.6/12.88,15這個值由於是S1所以系統直接取第一個期間的實際值。由於n=3,所以計算MAD=(|15-15|+|13.6-8|+|12.88-10|)/3=2.82取整就是3;

這裏簡單爲小夥伴們附帶提一下趨勢預測模型(Trend Model)的相關內容;

如果過去消耗的數據表現出一種趨勢性,那麼預測的時候選擇趨勢模型或二階指數平滑模型(second-order exponential smoothing model),對應系統的模型選擇是T/O/B。

在趨勢模型中,系統依靠一階指數平滑程序來計算預測值。在二階指數平滑模型中,可以在使用或不使用參數優化的條件中進行選擇。

T Trend model

O 2nd order trend with adjustment of smoothing factor

B 2nd order trend

下面的公式是集成了使用一階指數平滑的趨勢模型和季節模型一起的公式。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
公式7就是一階指數平滑趨勢和季節模型的總預測公式;

i表示從當前t期間向未來的第i個期間(t+i),P(t+i)表示預測未來t+i期間的值。

和公式7相關的是,t期間的預測值也可以說成是基本值,也可以說成是平滑值G(t);

T(t)趨勢值t期間的趨勢值;

當使用趨勢模型的時候公式後面的S(t)=1,γ=0。

所以公式7就變成了:

P(t+i)=G(t)+i*T(t);意思就是趨勢預測的值,就是在t期間的預測的預測值或者叫平滑值,加上趨勢值。

從公式8看出,G(t)也就是t期間的預測值,也可以說是t期間的基本值或平滑值,由於S(t)=1,然後得到的公式是G(t):

G(t-1)+T(t-1)+α(V(t)-G(t-1)-T(t-1))

轉換公式,合併同類項後得到:αV(t)+(1-α)G(t-1)+(1-α)T(t-1)

其實一看就知道G(t)的值就是t的預測值加上t-1期間的趨勢值。公式9就是求t期間的趨勢值的;

變形後得到:(1-β)T(t-1)+β(G(t)-G(t-1))

也就是說t期間的平滑值減去t-1期間的平滑值。

以上爲本章全部內容,希望對小夥伴們有所幫助;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章