- 一次移動平均法
一次移動平均法是收集一組觀察值,計算這組值的均值,利用這一均值作為下一期的預測值。當數據的隨機因素較大時,宜選用較大的N,這樣有利於較大限度的平滑由隨機性所帶來的嚴重偏差;反之,當數據的隨機性因素較小時,宜選用較小的N,這有利於跟蹤數據的變化。
移動平均法的優點有:1. 計算量小;2. 移動平均線能較好的反應時間序列的趨勢及其變化。
移動平均法的兩個主要限制:1. 計算移動平均必須具有N個過去觀察值,當需要預測大量數據時,就必須存儲大量數據;2. N個過去觀察值中每一個權值都相等,而早於(t-N+1)期的觀察值的權值為0,但實際上往往是最近觀察的數據包含更多信息,應具有更大權重。
- 一次指數平滑法
一次指數平滑法是一種特殊的加權平均法,對本期觀察值和本期預測值賦予不同的權重,求得下一期預測值的方法。這種方法既不需要存儲全部歷史數據,也不需要存儲一組數據,從而可以大大減少數據存儲問題。其通式為:
$$F_{t+1}=\alpha x_t+(1-\alpha)F_t$$
$F_{t+1}$為t+1期的預測值,$x_t$為t期實際觀測值,$\alpha$為權值(也稱為平滑系數)。根據通式,t期預測值$F_t=\alpha x_{t-1}+(1-\alpha)F_{t-1}$,將其代入上式中得到$F_{t+1}=\alpha x_t+(1-\alpha)[\alpha x_t+(1-\alpha)F_{t-1}]$
而t-1期的預測值又可以寫為:$F_{t-1}=\alpha x_{t-2}+(1-\alpha)F_{t-2}$,將其代入上式可得
$$F_{t+1}=\alpha x_t+(1-\alpha)\alpha x_{t-1}+(1-\alpha)^2\alpha x_{t-2}+(1-\alpha)^3F_{t-2}$$
根據以上規律,通式可以寫為如下形式:
$$F_{t+1}=\alpha x_t+(1-\alpha)\alpha x_{t-1}+(1-\alpha)^2\alpha x_{t-2}+(1-\alpha)^3\alpha x_{t-3}+...+(1-\alpha)^n\alpha x_{t-n}+...+(1-\alpha)^tF_1$$
由於$(1-\alpha)$的取值在0到1之間,所以$(1-\alpha)^n$的值會越來越小,即離t+1期越久遠的觀測值,對t+1期的預測值的影像越小。式子中最后一項的$F_1$就是第一期的預測值(初始值),通常可以取第一期的實際值為初值或者取最初幾期的平均值為初值(一般分為兩種情況:當樣本為大樣本時(n>42),F1一般以第一期的觀察值代替;當樣本為小樣本時(n<42),F1一般取前幾期的平均值代替)。當t很大時$(1-\alpha)^tF_1$非常接近0,所以$F_1$在式子中的影響並不大。用文字描述該通式就是:對離預測期較近的觀察值賦予較大的權數,對離預測值較遠的觀察值賦予較小的權數,權數由近到遠按指數規律遞減,所以叫做指數平滑法。
下面舉個例子來說明指數平滑法的計算方法。某產品過去20個月的銷售數據如下:

C列為指數平滑法計算得到的預測值,F1的值為前三期的平均值,即在C2處輸入=AVERAGE(B2:B4),C3處輸入$=\$E\$1*B2+(1-\$E\$1)*C2$,E1的值是指數平滑系數,C3中引用到E1的值需要有絕對引用,這樣把C3處的公式下拉復制到C21時,公式永遠都是引用E1的指數平滑系數。得出來的結果如下圖:

可以看到,指數平滑法進行預測,是有滯后作用的,這是指數平滑法的一個缺點。要對第21期進行預測,只需在A22處輸入21,把公式下拉復制到C22即可。
一次指數平滑法比較簡單,優點在於它在計算中將所有的觀察值在考慮在內,對各期按時期的遠近賦予不同的權重,使預測值更接近實際觀察值。但是也存在一些問題,問題之一是要找到合適的α值,以使均方差最小,這需要通過反復試驗確定。
- 二次移動平均法
二次移動平均法,是對一次移動平均數再進行第二次移動平均,再以一次移動平均值和二次移動平均值為基礎建立預測模型,計算預測值的方法。運用一次移動平均法求得的移動平均值存在滯后偏差。特別是在時間序列數據呈現線性趨勢時,移動平均值總是落后於觀察值數據的變化。二次移動平均法,正是要糾正這一滯后偏差,建立預測目標的線性時間關系數學模型,求得預測值。二次移動平均法適用於有明顯趨勢變動的市場現象時間序列的預測。線性二次移動平均法的通式為:
$$\begin{align*}
&S_t^1=\frac{x_t+x_{t-1}+x_{t-2}+...+x_{t-N+1}}{N}\\
&S_t^2=\frac{S_t^1+S_{t-1}^1+S_{t-2}^1+...+S_{t-N+1}^1}{N}\\
&a_t=2S_t^1-S_t^2\\
&b_t=\frac{2}{N-1}(S_t^1-S_t^2)\\
&F_{t+T}=a_t+b_tT
\end{align*}$$
式中,$S_t^1$為第t期的一次移動平均值;$S_t^2$為第t期的二次移動平均值;N為計算移動平均值的跨越期;T為預測超前期數;$a_t$為截距,即第t期現象的基礎水平;$b_t$為斜率,即第t期現象的單位時間變化量。
- 二次指數平滑法
○ 布朗單一參數線性指數平滑法
其基本原理與線性二次移動平均法相似,因為當趨勢存在時,一次和二次平滑值都滯后於實際值,將一次和二次平滑值之差加在一次平滑值上,則可對趨勢進行修正。
$$\begin{align*}
&S_t^1=ax_t+(1-a)S_{t-1}^1\\
&S_t^2=aS_t^1+(1-a)S_{t-1}^2\\
&a_t=2S_t^1-S_t^2\\
&b_t=\frac{a}{1-a}(S_t^1-S_t^2)\\
&F_{t+T}=a_t+b_tT
\end{align*}$$
下面以某省農民家庭平均每人全年食品支出數據為例,用二次指數平滑法(取參數a=0.8),計算歷年的理論預測值和2005年的預測值,並計算平均絕對誤差。

在二次指數平滑法中,$S_t^1$和$S_t^2$是為了計算最終預測值服務的平滑值。$S_t^1$列從第二行起的計算公式為:"$=\$K\$1*B3+\$K\$2*C2$";$S_t^2$列從第二行起的計算公式為:"$=\$K\$1*C3+\$K\$2*D2$"
若要預測2005年的值:F05=a04+b04*T=496.46+53.49=549.95元。其余類推。
○ Holt雙參數線性指數平滑法
霍爾特指數平滑法有兩個基本平滑公式和一個預測公式,兩個平滑公式分別對時間數列的兩種因素進行平滑,它們是:
$$\begin{align*}
&S_t=\alpha x_t+(1-\alpha)(S_{t-1}+b_{t-1})\\
&b_t=\gamma(S_t-S_{t-1})+(1-\gamma)b_{t-1}\\
&F_{t+T}=S_t+b_tT
\end{align*}$$
公式中:$\alpha$、$\gamma$為平滑參數;$x_t$為實際觀察值;T為外推預測時期數。第一個公式利用前一期的趨勢值$b_{t-1}$直接修正平滑值$S_t$,即將$b_{t-1}$加前一期平滑值$S_{t-1}$上,這就消除了滯后,並使$S_t$近似達到最新數據值;公式2是來修正趨勢值$b_t$,趨勢值用相鄰兩次平滑值之差來表示,由於隨機性,可以利用平滑系數$\gamma$對兩次相鄰平滑值之差進行修正,並將修正值加上前期趨勢值乘以$(1-\gamma)$。
初始值S1通常設為x1,b1的初值可以按照下列三種方式之一確定:
$$\begin{eqnarray}
b_1 & = & x_2 - x_1 \\
b_1 & = & \frac{1}{3} \left[ (x_2 - x_1) + (x_3 - x_2) + (x_4 - x_3) \right] \\
b_1 & = & \frac{x_n - x_1}{n-1}
\end{eqnarray}$$
用霍爾特指數平滑法進行預測時,最重要的工作是確定平滑參數$\alpha$、$\gamma$的取值,平滑參數的取值適當與否,決定預測的精確程度。
參考:
Forecasting by Smoothing Techniques
Filters skeleton positions to reduce jitter between frames
