1. 程式人生 > >常見的預測演算法

常見的預測演算法

常見的預測演算法有
1.簡易平均法,包括幾何平均法、算術平均法及加權平均法;
2.移動平均法,包括簡單移動平均法和加權移動平均法;
3,指數平滑法,包括 一次指數平滑法和二次指數平滑法,三次指數平滑法;
4,線性迴歸法,包括一元線性迴歸和二元線性迴歸,下面我一一的簡單介紹一下各種方法。 ' i) G7 ?5 Q! R7 c: }5 x

一,簡易平均法,是一種簡便的時間序列法。是以一定觀察期的資料求得平均數,並以所求平均數為基礎,預測未來時期的預測值。簡易平均法是最簡單的定量預測方法。簡易平均法的運算過程簡單,不需要進行復雜的模型設計和數學運用,常在市場的近期預測、短期預測中使用。
1、算術平均法 ' I- [' {7 P$ C7 G# F" W' D/ H9 s
  算術平均法,就是以觀察期資料之和除以求和時使用的資料個數(或資料期數),求得平均數進行預測的方法。

  運用算術平均法求平均數,有兩種形式:
; o% f6 d% t) _
  (一)以最後一年的每月平均值或數年的每月平均值,作為次年的每月預測值 d# A! B% z! x* N/ G1 e) W8 l C

  為了確定合理的誤差,用公式估計出預測的標準差。

  按公式計算某種可靠程度要求時的預測區間。

  (二)以觀察期的每月平均值作為預測期對應月份的預測值 ( c: G, d, x7 w
; L. R0 K1 o0 `) ^
  當時間序列資料在年度內變動顯著或呈季節性變化時,用第一種方法求平均值進行預測的話,勢必影響預測值的精確度,同時也不能反映出年度內不同月、季的情況。 ' e( t$ e `" K p* \1 C8 ]
: x2 G6 }4 p- j% " A# W
  2、幾何平均法
  幾何平均法,就是運用幾何平均數求出預測目標的發展速度。

  幾何平均數,就是將觀察期n個環比速度資料數相乘,開n次方,所得的n次方根。 4 c% x4 D# z7 w! s) u, O0 A4 T# ~- K

  根據幾何平均數建立預測模型進行預測。 ) l* O; {, _* b3 x1 i

  3、加權平均法
  加權平均法,就是在求平均數時,根據觀察期各資料重要性的不同,分別給以不同的權數後加以平均的方法。 ! o4 D8 _+ D v! K2 Z- H

  其特點是:所求得的平均數,已包含了長期趨勢變動。 ( r9 I6 c: }# d


二,移動平均法
移動平均法是用一組最近的實際資料值來預測未來一期或幾期內公司產品的需求量、公司產能等的一種常用方法。移動平均法適用於即期預測。當產品需求既不快速 增長也不快速下降,且不存在季節性因素時,移動平均法能有效地消除預測中的隨機波動,是非常有用的。移動平均法根據預測時使用的各元素的權重不同
, H9 |: j$ q' _& N2 B/ |- a1 V
  移動平均法是一種簡單平滑預測技術,它的基本思想是:根據時間序列資料、逐項推移,依次計算包含一定項數的序時平均值,以反映長期趨勢的方法。因此, 當時間序列的數值由於受週期變動和隨機波動的影響,起伏較大,不易顯示出事件的發展趨勢時,使用移動平均法可以消除這些因素的影響,顯示出事件的發展方向 與趨勢(即趨勢線),然後依趨勢線分析預測序列的長期趨勢。

移動平均法的種類 $ V# W3 u/ H; |2 t
  移動平均法可以分為:簡單移動平均和加權移動平均。

1、簡單移動平均法 , u% U9 |/ Q) q# P( H
  簡單移動平均的各元素的權重都相等。簡單的移動平均的計算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n式中, $ w1 {, g- b" C% r+ _1 n4 U

•Ft--對下一期的預測值;
•n--移動平均的時期個數;
•At-1--前期實際值; # I% V( h4 |7 y. M
•At-2,At-3和At-n分別表示前兩期、前三期直至前n期的實際值。 & |: m* m3 ?- x7 e- w1 p
2、加權移動平均法 % e9 p$ r# x: M6 p9 J2 W+ \2 L
  加權移動平均給固定跨越期限內的每個變數值以不同的權重。其原理是:歷史各期產品需求的資料資訊對預測未來期內的需求量的作用是不一樣的。除了以n為週期的週期性變化外,遠離目標期的變數值的影響力相對較低,故應給予較低的權重。 加權移動平均法的計算公式如下: 0 |' M# M% k! P7 {
/ ^! r {+ u6 |2 ^/ e, r* n
  Ft=w1At-1+w2At-2+w3At-3+…+wnAt-n式中, : g* o4 x* b- W+ T

•w1--第t-1期實際銷售額的權重;
•w2--第t-2期實際銷售額的權重; * f2 g2 |4 @$ n$ e, }% _3 G
•wn--第t-n期實際銷售額的權 $ p& B3 E& o, c4 |- \
•n--預測的時期數;w1+ w2+…+ wn=1 # t& T$ H5 l- ~( e8 e
  在運用加權平均法時,權重的選擇是一個應該注意的問題。經驗法和試演算法是選擇權重的最簡單的方法。一般而言,最近期的資料最能預示未來的情況,因而權 重應大些。例如,根據前一個月的利潤和生產能力比起根據前幾個月能更好的估測下個月的利潤和生產能力。但是,如果資料是季節性的,則權重也應是季節性的。
$ [/ v6 _5 O. X" ~! [
移動平均法的優缺點
  使用移動平均法進行預測能平滑掉需求的突然波動對預測結果的影響。但移動平均法運用時也存在著如下問題: , x! Z# c* b# o% m% a

  1、 加大移動平均法的期數(即加大n值)會使平滑波動效果更好,但會使預測值對資料實際變動更不敏感;
* n S8 u& U$ o- m; p( H) k3 c+ h
  2、 移動平均值並不能總是很好地反映出趨勢。由於是平均值,預測值總是停留在過去的水平上而無法預計會導致將來更高或更低的波動;
. L' C: r% | f$ @* [ t
  3、 移動平均法要由大量的過去資料的記錄。 \. k: x1 h# [! ]: H) P/ N
什麼是指數平滑法 $ X; Y# b( K3 s$ j: D8 ~! Z3 U( X# q
  指數平滑法是布朗(Robert G..Brown)所提出,布朗(Robert G..Brown)認為時間序列的態勢具有穩定性或規則性,所以時間序列可被合理地順勢推延;他認為最近的過去態勢,在某種程度上會持續到最近的未來,所以將較大的權數放在最近的資料。 + z8 ?$ W2 `5 G E4 ^' j. F

 三,指數平均法 + J- f: I" y# r
指數平滑法是生產預測中常用的一種方法。也用於中短期經濟發展趨勢預測,所有預測方法中,指數平滑是用得最多的一種。簡單的全期平均法是對時間數列的過去 資料一個不漏地全部加以同等利用;移動平均法則不考慮較遠期的資料,並在加權移動平均法中給予近期資料更大的權重;而指數平滑法則相容了全期平均和移動平 均所長,不捨棄過去的資料,但是僅給予逐漸減弱的影響程度,即隨著資料的遠離,賦予逐漸收斂為零的權數。 : M9 }+ ~% W+ _$ b
) P% S' t5 l/ ^3 N# C+ w
  也就是說指數平滑法是在移動平均法基礎上發展起來的一種時間序列分析預測法,它是通過計算指數平滑值,配合一定的時間序列預測模型對現象的未來進行預測。其原理是任一期的指數平滑值都是本期實際觀察值與前一期指數平滑值的加權平均。 # t% c1 d+ [$ x' K; B6 W
指數平滑法的基本公式是:St=ayt+(1-a)St-1 式中, 5 L7 ^/ ~5 Y" t$ v( f
$ B ^# z8 C5 M( G, `
•St--時間t的平滑值; " p9 C3 v, v% k) ^; g- T
•yt--時間t的實際值;
•St − 1--時間t-1的平滑值;
•a--平滑常數,其取值範圍為[0,1]; 4 d/ ?% m4 P: R' i8 e
  由該公式可知:
6 b5 I0 ^) N, d* d; ~1 l7 o
  1.St是yt和 St − 1的加權算數平均數,隨著a取值的大小變化,決定yt和 St − 1對St的影響程度,當a取1時,St = yt;當a取0時,St = St − 1。
7 h S" e) ~7 G
  2.St具有逐期追溯性質,可探源至St − t + 1為止,包括全部資料。其過程中,平滑常數以指數形式遞減,故稱之為指數平滑法。指數平滑常數取值至關重要。平滑常數決定了平滑水平以及對預測值與實際結果之間差異的響應速度。平滑常數a越接近於1,遠期實際值對本期平滑值影響程度的下降越迅速;平滑常數a越接近於 0,遠期實際值對本期平滑值影響程度的下降越緩慢。由此,當時間數列相對平穩時,可取較大的a;當時間數列波動較大時,應取較小的a,以不忽略遠期實際值的影響。生產預測中,平滑常數的值取決於產品本身和管理者對良好響應率內涵的理解。

  3.儘管St包含有全期資料的影響,但實際計算時,僅需要兩個數值,即yt和 St − 1,再加上一個常數a,這就使指數滑動平均具逐期遞推性質,從而給預測帶來了極大的方便。 * n1 E/ w" j, z" H/ D6 C: I! f
$ q* E" ~# h8 h' ]
  4.根據公式S1=ay1+(1-a)S0,當欲用指數平滑法時才開始收集資料,則不存在y0。無從產生S0,自然無法據指數平滑公式求出S1,指數平滑法定義S1為初始值。初始值的確定也是指數平滑過程的一個重要條件。 a) V, D/ s# ?1 `

  如果能夠找到y1以前的歷史資料,那麼,初始值S1的確定是不成問題的。資料較少時可用全期平均、移動平均法;資料較多時,可用最小二乘法。但不能使用指數平滑法本身確定初始值,因為資料必會枯竭。 3 | j0 B3 ~+ D5 l" D! H- X
t6 g+ k: g! ?6 g
  如果僅有從y1開始的資料,那麼確定初始值的方法有: ! L/ c$ S- c+ d0 w! p

  1)取S1等於y1; c$ b9 x% F8 Y8 ^( t

  2)待積累若干資料後,取S1等於前面若干資料的簡單算術平均數,如:S1=(y1+ y2+y3)/3等等。 " |6 l0 N; J. p# b" ~4 X( L
% d% v. M) k1 U7 M
指數平滑的預測公式
  據平滑次數不同,指數平滑法分為:一次指數平滑法、二次指數平滑法和三次指數平滑法等。
(一) 一次指數平滑預測 0 R0 S' y4 S2 C
  當時間數列無明顯的趨勢變化,可用一次指數平滑預測。其預測公式為: 0 O3 W4 E8 s# L/ A8 y! v8 B1 y
( f$ m8 D" u- O( ~- ^
  yt+1'=ayt+(1-a)yt' 式中, ! u& n5 o8 r" N- c) J' y

•yt+1'--t+1期的預測值,即本期(t期)的平滑值St ;
•yt--t期的實際值;
•yt'--t期的預測值,即上期的平滑值St-1 。
  該公式又可以寫作:yt+1'=yt'+a(yt- yt')。可見,下期預測值又是本期預測值與以a為折扣的本期實際值與預測值誤差之和。
3 M6 ~& o' R2 J8 T
(二) 二次指數平滑預測 0 a( R8 I/ q! z: U; D' \
  二次指數平滑是對一次指數平滑的再平滑。它適用於具線性趨勢的時間數列。其預測公式為: . Q+ K: x$ `5 x7 x8 F4 z8 u
" H0 p+ n! V9 j9 a. b
  yt+m=(2+am/(1-a))yt'-(1+am/(1-a))yt=(2yt'-yt)+m(yt'-yt) a/(1-a) / L6 U( J+ e. V
# I$ Y% N- N) q0 o
  式中,yt= ayt-1'+(1-a)yt-1
0 J9 H2 R" S! F- y5 d7 P
  顯然,二次指數平滑是一直線方程,其截距為:(2yt'-yt),斜率為:(yt'-yt) a/(1-a),自變數為預測天數。 ( L* l Z; G w/ K! I

(三) 三次指數平滑預測
  三次指數平滑預測是二次平滑基礎上的再平滑。其預測公式是:

  yt+m=(3yt'-3yt+yt)+[(6-5a)yt'-(10-8a)yt+(4-3a)yt]*am/2(1-a)2+ (yt'-2yt+yt')*a2m2/2(1-a)2
/ I3 }; W* }4 k& P( e
  式中,yt=ayt-1+(1-a)yt-1

  它們的基本思想都是:預測值是以前觀測值的加權和,且對不同的資料給予不同的權,新資料給較大的權,舊資料給較小的權。

[編輯]指數平滑法的趨勢調整
  一段時間內收集到的資料所呈現的上升或下降趨勢將導致指數預測滯後於實際需求。通過趨勢調整,新增趨勢修正值,可以在一定程度上改進指數平滑預測結果。調整後的指數平滑法的公式為:

  包含趨勢預測(YITt)=新預測(Yt)+趨勢校正(Tt) " ^1 x: C& u Y* F

  進行趨勢調整的指數平滑預測有三個步驟:
4 G s- e/ _4 F. E
  1、 利用前面介紹的方法計算第t期的簡單指數平滑預測(Yt); % K* ?6 \* ~0 a% X7 `

  2、 計算趨勢。其公式為: Tt=(1-b)Tt-1+b(Yt-Yt-1)其中, / e( r+ C3 G3 u. X

•Tt=第t期經過平滑的趨勢; ; f& r2 e, L2 D' L* A, p
•Tt-1=第t期上期經過平滑的趨勢;
•b=選擇的趨勢平滑係數; & t" p: p* k* A/ D
•Yt=對第t期簡單指數平滑預測; 8 @8 M5 R# N; i
•Yt-1=對第t期上期簡單指數平滑預測。 & C* L2 J1 D- I8 y2 R$ P7 d |
  3、計算趨勢調整後的指數平滑預測值(YITt)。計算公式為:YITt=Yt+Tt。

四,線性迴歸法 5 a( p& a/ S% O' a
1. 一元線性迴歸預測模型 8 q7 L7 r. E2 E( h- p
 一元線性迴歸預測法是分析一個因變數與一個自變數之間的線性關係的預測方法。 常用統計指標:平均數、增減量、平均增減量。

  確定直線的方法是最小二乘法 最小二乘法的基本思想:最有代表性的直線應該是直線到各點的距離最近。然後用這條直線進行預測。 + Z! E8 n+ M( m, j8 ^# d l! Q0 ~
) g% x; _7 m) i( U' e
1、選取一元線性迴歸模型的變數 ;    ' |0 w: T! |3 N, F% B7 A
2、繪製計算表和擬合散點圖 ;    $ x8 h/ N% K9 a# A
3、計算變數間的迴歸係數及其相關的顯著性 ;   
4、迴歸分析結果的應用 。

、經濟意義檢驗:就是根據模型中各個引數的經濟含義,分析各引數的值是否與分析物件的經濟含義相符。   ) u! ?5 i! Q) T; R
2、迴歸標準差檢驗    $ u- V6 C+ }* U" f
3、擬合優度檢驗  
4、迴歸係數的顯著性檢驗 0 D" U" K2 D' Q8 s% n* z/ x1 I
利用迴歸預測模型進行預測 N: A" H) D% C9 | t, P p) ?4 t+ P
  可以分為:點預測和置信區間預測法    6 O9 k8 M3 t( X o r! T" Z b
1、點預測法:將自變數取值帶入迴歸預測模型求出因變數的預測值。   : q8 a& a! p& w9 c8 n) ^
 2、置信區間預測法:估計一個範圍,並確定該範圍出現的概率。置信區間的大小的影響的因素:a、因變數估計值;b、迴歸標準差;C、概率度t。 a5 x4 c6 ?0 z# ~
模型分析 " s" x$ |( ^5 p0 Y

  一元線性迴歸分析預測法,是根據自變數x和因變數Y的相關關係,建立x與Y的線性迴歸方程進行預測的方法。由於市場現象一般是受多種因素的影響,而並 不是僅僅受一個因素的影響。所以應用一元線性迴歸分析預測法,必須對影響市場現象的多種因素做全面分析。只有當諸多的影響因素中,確實存在一個對因變數影 響作用明顯高於其他因素的變數,才能將它作為自變數,應用一元相關回歸分析市場預測法進行預測。一元線性迴歸分析法的預測模型為:yt=b+axt 式中,xt代表t期自變數的值;yt代表t期因變數的值; a、b代表一元線性迴歸方程的引數。 a、b引數由下列公式求得(用代表):  為簡便計算,我們作以下定義:   (2)   式中:   這樣定義a、b後,引數由下列公式求得:   將a、b代入一元線性迴歸方程Yt = a + bxt,就可以建立預測模型,那麼,只要給定xt值,即可求出預測值。   在迴歸分析預測法中,需要對X、Y之間相關程度作出判斷,這就要計算相關係數Y,其公式如下:   相關係數r的特徵有:   ①相關係數取值範圍為:-1≤r≤1 。   ②r與b符合相同。當r>0,稱正線性相關,Xi上升,Yi呈線性增加。當r<0,稱負線性相關,Xi上升,Yi呈線性減少。   ③|r|=0,X與Y無線性相關關係;|r|=1,完全確定的線性相關關係;0<|r|<1,X與Y存在一定的線性相關關係;|r|& gt;0.7,為高度線性相關;0.3<|r|≤0.7,為中度線性相關;|r|≤0.3,為低度線性相關.