• 沒有找到結果。

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

數於此模型中。然而,對於單一誤差的狀態空間模型,目前文獻上並無討論如何以類 似卡爾曼濾波器的方式,來進行狀態的更新。普遍看到的預測步驟,仍是原本的指數 平滑法。

本研究的主要貢獻有兩點。首先是關於指數平滑法在來店人數預測的比較。因該筆 資料具有雙季節性,使用 Taylor [12] 的雙季節指數平滑法,在預測上明顯優於單季節指 數平滑法 (Holt-Winters)。我們也與施佩吟 [15] 擷取每日特定時段的作法進行比較,發 現擷取後的時間序列,因為沒有考慮每日內的週期性,在預測表現上確實比雙季節指 數平滑法差。第二點貢獻是針對單一誤差的狀態空間模型,本研究試著提出類似卡爾 曼濾波器的迭代更新。這裡考慮的是不具任何趨勢或季節的簡單指數平滑法加上一個 外生變數的模型,我們推導出時間更新 (time update) 與測量更新 (measurement update),

並以模擬實驗評估推導結果的正確性。

本論文分成以下流程: 第一章緒論介紹研究動機與目的;第二章是文獻回顧;第三 章研究方法介紹兩種指數平滑法、卡爾曼濾波以及指數平滑的狀態空間模型;第四章 說明如何使用卡爾曼濾波來對指數平滑法對應的狀態空間模型做狀態更新,並與傳統 的指數平滑模型做比較,最後以模擬的方式來驗證推導的正確性;第五章實證研究介 紹本研究採用的資料,利用該筆資料進行預測與評估;第六章結論與建議針對研究結 果提出結論。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第 二 章 文獻回顧

指數平滑是一種預測的方法,不少有效的預測方法都能看見指數平滑的身影。這些 方法都具有將過去的觀測值做加權組合的特性。在設定權重的部分,新的觀測值會比 舊的觀測值來的多。因此“指數平滑”可以反映隨著觀測時間增加,權重呈指數下降 的事實。最早的指數平滑法可追溯到 1944 年,由美國海軍的分析師 Brown [2] 所發現。

同一時期,Holt [4] 也在美國海軍研究辦公室 (ONR) 發展指數平滑法,但 Holt 沒有公開 發表該方法,只記錄在 ONR 備忘錄,直到 2004 年才發表。Holt 關於加法性和乘法性 的季節指數平滑則是由他的學生 Winters [14] 提出。因此具有季節性的 Holt’s linear 法也 被稱為 Holt-Winters 法。

Holt-Winters 法是針對單一週期時間序列的預測方法,這個方法在許多實際應用上 有很好的預測表現。然而,隨著科技進步,我們能夠記錄大量且多樣的資訊,單位尺 度也更小。如果以小時資料來看,每 24 小時會循環一次,又因為 7 日為一週,經過 168 小時又會出現一個循環,對電力需求來說,冬季夏季的使用量大不同,一年 8760 小時又能分出一個循環。對於這種雙週期,甚至多週期的資料,Holt-Winters 法有其 限制。Taylor [12] 為了解決短期電力預測的問題,在 Holt-Winters 法中加入第二個季節 項,提出雙季節指數平滑法,並與季節性 ARIMA 模型作比較。

雙季節指數平滑法在預測短期電力需求上有不錯的表現,如 Ismail, Zahran & El-Metaal [7],使用雙季節整合移動平均自我迴歸模型 (DSARIMA) 與雙季節指數平滑模 型,預測埃及的電力需求並比較兩種方法的效果。Souza, Barros & Miranda [10] 一樣使

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

用雙季節指數平滑法預測電力需求,並考慮假日以及溫度的影響。另一個例子是 Au, Ma & Yeung [1],預測基地台每小時的手機網路流量,建立 DSARIMA 的自動化預測流 程,與雙季節指數平滑模型進行比較。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第 三 章 研究方法

第一節 Holt-Winters 法

Holt-Winters 法同時考慮了三個因子,分別為水平 (Level)、成長 (Growth) 與季節 (Seasonal),能夠更有效的預測具有季節性的時間序列資料。

本論文採用具有加法趨勢項及加法季節項的 Holt-Winters 法,定義如下:

(Level) t =α(ytstm) + (1α)(ℓt1+bt1) (3.1.1) (Growth) bt =β(ℓt− ℓt1) + (1β)bt1 (3.1.2) (Seasonal) st =γ(yt− ℓt1bt1) + (1γ)stm (3.1.3) (Forecast) ˆyt+h|t = ℓt+hbt+stm+h+m (3.1.4)

其中α 、β 、γ 分別為水平影響、趨勢影響、季節影響的平滑參數,(3.1.3) 式中的

m 代表一個季節週期的長度,平滑參數反映了水平、趨勢、季節項對於資料的適應速 度。 ˆyt+h|t 代表向前 h 期預測,其中 h+m = [(h1)mod m] +1

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第二節 雙季節指數平滑法

現實生活中的時間序列可能包含不同長度的季節週期,例如一年的用電量,在一天 24 小時的週期中,上下班時間有著固定的週期,一週七天中又有假日與非假日的週期。

若將時間拉長至兩年以上,又會有冬季夏季的週期,當資料存在著多種不同的週期時,

Holt-Winters 法在這種情況下很難發揮最大功用。Taylor [12] 為了解決短期電力預測的 問題,在 Holt-Winters 法中加入第二個季節項,提出可以處理雙季節性的模型。

不同於 Holt-Winters 法,雙季節指數平滑法有兩個季節週期,m1為短週期,m2為 長週期,則公式可改寫成:

t = (1α)(ℓt1+bt1) +α (yt− (s(t1)m1 +s(t2)m

2) ) (3.2.1) bt =bt1+β(yt− ℓt1bt1− (s(t1)m1 +s(t2)m2) ) (3.2.2) s(t1) = (1γd1)s(t1)m

1+γd1(yt− ℓt1bt1s(t2)m2) (3.2.3) s(t2) = (1γd2)s(t2)m

2+γd2(yt− ℓt1bt1s(t1)m1) (3.2.4) ˆyt = ℓt1+bt1+s(t1)m1+s(t2)m2 (3.2.5) (3.2.1) (3.2.2) 中的 α 、β 為水平項及趨勢項的平滑參數,(3.2.3)(3.2.4) 中的 γd1γd2 分別為短週期季節項 s(t1) 及長週期季節項 s(t2) 為水平項及趨勢項的平滑參數。

在長周期中有 m2 個季節項,每 m2 單位時間更新一次。在較短的周期內有 m1季節項,每 m1 個單位時間更新一次。在這模型中並沒有要求 m2與 m1有倍數關係。

但是,如果 k =m2/m1 ,則較長周期內有 k 個較短的周期。因此,對於單位時間為小 時的資料,七天 (168 小時) 為一個長週期,在經過 168 小時之後,會有 168 個季節項 (s(t+1)1, s(t1+)2, ..., s(t+1)168) 會更新一次,一天 (24 小時) 則為短週期,經過 24 小時就會有 24 個季節項(s(t+2)1, s(t+2)2, ..., s(t+2)24)會更新一次。

在參數估計的部分,對於長週期的 168 個季節項,每一項的平滑參數皆為γd2,對 於短週期的 24 個季節項,每一項的平滑參數皆為γd1

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第三節 卡爾曼濾波

Kalman [8] 發表著名的論文,描述了離散數據線性濾波問題的遞歸解決方案。自那 時以來,由於數值計算技術的進步,卡爾曼濾波 (Kalman filter) 一直是廣泛研究和應用 的主題,特別是在自主或輔助導航領域。卡爾曼濾波是一組數學方程,它提供了一種 有效的計算(遞歸)方法來估計過程的狀態,以最小化平方誤差的均值。該濾波器在幾 個方面非常強大:它支持對過去,現在和甚至未來狀態的估計,並且即使未知建模系 統的確切性質,也可以這樣做。

卡爾曼濾波是一種高效率的遞歸濾波器,它能夠從一系列包含雜訊的觀測值中,估 計動態系統的狀態。卡爾曼濾波會根據每個觀測值在不同時間下的值,考慮各時間下 的聯合分布,再對未知變數進行估計,因此會比只以單一觀測值為基礎的估計方式要 準。

卡爾曼濾波的一個典型實例是針對一組有限的、包含噪聲且根據物體位置的觀察序 列(可能有偏差),預測出物體的位置、坐標及速度。在很多工程應用(如雷達、電腦 視覺)中都可以找到它的身影。

首先定義卡爾曼濾波的狀態空間模型:

yt = Hxt +εt (3.3.1)

xt =Axt1+But1+wt1 (3.3.2) 隨機變數 w 與ε 分別為程序雜訊 (process noise) 以及量測雜訊 (measurement noise)

p(w) N(0, Q) (3.3.3) p(ε) N(0, R) (3.3.4) 在 這 邊 假 設 w 與 ε 互相獨立且服從常態分配,Q 為程序雜訊變異量 (process noise covariance),R 為量測雜訊變異量 (measurement noise covariance)。H 為觀測模型,將狀 態空間映射到測量空間,在現實中,Q 、R 、H 會隨著更新而變化,此處都先假設為定 值。

首先定義 ˆxt Rn 是已知第 t 步之前的狀態估計下,第 t 步的先驗 ( a priori ) 狀態估 計。而 ˆxt Rn 為已知觀測值 yt 下,第 t 步的後驗 ( a posteriori ) 狀態估計。接著定義

time update ),第二是測量更新 ( measurement update )。時間更新負責估計當前狀態以及 誤差共變異數,以獲得下一時間的先驗估計,也就是更新 ˆxt 與 Pt,測量更新則是負

時間更新方程式 (time update equations)

ˆxt =A ˆxt1+But1 (3.3.9) Pt =APt1AT+Q (3.3.10) 由於卡爾曼濾波是依賴於前一步的估計值(ˆxt1, Pt1),因此在初始階段需自定一組初 始值(ˆx0, P0)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

測量更新方程式 (measurement update equations) Kt = P

tHT

HPtHT +R (3.3.11) ˆxt =ˆxt +Kt(ytH ˆxt ) (3.3.12) Pt =(IKtH)Pt (3.3.13)

卡爾曼增益是測量更新首先計算的項目,有了卡爾曼增益之後,便能求得最佳化的 後驗估計。測量更新方程式計算完之後,將後驗估計值(ˆxk, Pk)帶入時間更新方程式,

求得下一期的先驗估計,形成一個循環。

圖 3-1 卡爾曼濾波

此範例引用自 Greg Welch and Gary Bishop [13]

綠色直線為真實值,黑點為加上白噪音後的觀測值,藍線為卡爾曼濾波模擬的結果,

可以發現其收斂速度非常快

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第四節 創新狀態空間模型

Hyndman et al. [6] 在 其 書 中, 介 紹 指 數 平 滑 法 如 何 表 示 成 狀 態 空 間 模 型, 記 為 (E,T,S),其中 E 為誤差項 (Error),T 為趨勢 (Trend),S 為季節性 (Seasonal)。針對誤差 項可以分成加法誤差項的模型以及具有乘法誤差項的模型。舉例來說 ETS(A, N, N) 代 表加法誤差且不含趨勢及季節的指數平滑模型,也就是具有加法誤差項的簡單指數平 滑模型。

Hyndman et al. [6] 將指數平滑法寫成狀態空間模型的型式,公式如下:

觀測方程式: yt = HTxt+εt (3.4.1) 狀態方程式: xt = Axt1+t1 (3.4.2) 在觀測方程式中,εt 為誤差項,代表無法被觀測到的部分,也稱為 “innovations”,通常 假設其服從變異數為σ2的常態分配。狀態向量 xt+1= (t, bt, st, st1, ..., stm+1)T 包含了 趨勢及季節。於狀態方程式中,Axt1描述過去的狀態 xt1對當前狀態 xt 的影響。向 量 g 決定了 innovations 對狀態的附加影響程度,稱為 “persistence vector”。H 與 g 的維 度皆為 k x 1, A 為 k × k 矩陣。

Hyndman et al. [6] 將 (3.4.1) (3.4.2) 這種模型稱為 “創新狀態空間模型 (innovations state space model)”。該模型中,觀測方程式與狀態方程式中的誤差項只差了一個乘項g

,不同於 (3.3.1) 與 (3.3.2) 中 εt 與 wt1有互相獨立的性質。而由於兩誤差項有線性關 係,以往卡爾曼濾波的更新步驟,在此並不能適用。以下舉兩個例子說明指數平滑法 如何改寫成狀態空間模型。

加法誤差項 Holt-Winters 模型: ETS(A,A,A)

透過改寫 (3.1.1) 式至 (3.1.4) 式的 Holt-Winters 法,可以得到具有加法誤差項、加法 趨勢項及加法季節項的 Holt-Winters 模型,稱為 ETS(A,A,A),模型公式如下:

觀測方程式: yt = ℓt1+bt1+stm+εt (3.4.3)

None (N) Additive (A)

None (N)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第 四 章

創新狀態空間模型的估計

本章主要討論 (3.4.1)(3.4.2) 式這種狀態空間模型的狀態更新,以下第一節中,我們 先介紹 Hyndman et al. [6] 如何估計參數。第二節提出類似卡爾曼濾波的估計方法,討論 系統狀態的更新。過往使用的卡爾曼濾波更新步驟,其推導過程有利用到觀測與狀態 方程式中的誤差項互相獨立的性質,該性質在創新狀態空間模型不復存在。因此,狀 態更新的式子將有所不同。

第一節 平滑係數選取

關於平滑係數 (α, β, γ) 初始值的選取有幾種方法,第一種是參考過去的經驗,第 二種是試誤法。針對創新狀態空間模型 (3.4.1)(3.4.2) 有第三種方法,利用 MLE 來求得 MSE 最小的初始值。Hyndman et al. [6] 給出一般性的指數平滑模型:

yt =w(xt1) +r(xt1)εt, xt = f(xt1) +g(xt1)εt1, 有了指數平滑模型便能求得概似函數 (Likelihood function):

L(θ, x0) = nlog(

n t=1

ε2t) +2

n t=1

log|r(xt1)|

透過最小化L可以求得平滑係數θ= (α, β, γ)T與初始狀態 x0= (ℓ0, b0, s0, s1, ..., sm+1)T 這邊我們令 w(xt1) = HtTxt1、r(xt1) = 1 、 f(xt1) = Axt1,可得到指數平滑模

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Proof.

Pt =E[(xt ˆxt )(xt ˆxt )T|yt1]

=E[(Axt1+ωt1A ˆxt1)(Axt1+ωt1A ˆxt1)T|yt1]

=E[ [A(xt1 ˆxt1) +ωt1][A(xt1 ˆxt1) +ωt1]T|yt1]

=APt1AT+Q

+ E[A(xt1 ˆxt1)ωtT1|yt1] +E[ [A(xt1 ˆxt1)ωTt1]T |yt1]

=APt1AT+Q+αA[(1zt1)ˆxt1ˆpt1Pt1Ht1]2×1[1 0]

=APt1AT+Q+αA[(1zt1)ˆxt1ˆpt1Pt1Ht1]2×1[1 0]

相關文件