第二章 相關研究工作
2.2 時間序列分析
時間序列(Time Series)是依事件或資料發生的先後次序排列的一群統計數據 [22];時間序列資料(Time Series Data)指的是同一元素的同一特質(變數)於不同時
13
間點或不同期間的資料,包括逐日的日資料、週資料、月資料、季資料及年資料 等。例如:2008年台北盆地的降雨量、某公司第一季股票價格的漲幅、醫院病患 一週的心電圖…等;時間序列分析(Time Series Analysis)利用這些過去的歷史資 料為依據,分析事情發展的前因後果,預測將來變動趨勢。常應用於:股票市場 價格之漲跌、產品銷售量的成長、溫度、降雨量變化之類的資料。
如同一般分群方式,處理時間序列的分群也是需要一組分群演算法。因此要 進行時間序列分群需要先分析兩兩時間序列的相似度,以下小節介紹如何計算時 間序列的相似度。
2.2.1
歐幾里德距離分析兩個時間序列之間的相似程度最簡單的方法就是使用歐幾里德距離 (Euclidean distance),此方法將長度為N的序列看成是N維的歐幾里德空間 (Euclidean space)裡的一個點,而定義兩序列間的相似度為序列分別對應到空間 裡之點的距離,而此法對於兩個測量目標有程度變形的關係以及偏移量的關係則 無法有效地處理,因此[4]提出改進之方法:將序列正規化。
序列正規化之概念在於將每一個序列的平均值 ( mean ) 以及變異數
( variance ) 正規化,以去除序列間不同的偏移量以及程度變形,之後再利用歐幾 里德相似度量測法計算相似度。
但是此方法無法處理有關時間平移的問題。例如有兩個時間序列表現反應非 常相似,但第二個時間序列的表現曲線比第一個時間序列延遲了一段時間,則直 接使用距離量測或相關係數來計算相似度,不會得到此兩個時間序列表現相似的 結果,圖 7表示時間序列平移的示意圖。
14
圖 7 時間序列平移
2.2.2
動態時間變形動態時間變形(Dynamic time warping distance, DTW)的主要想法是允許序列 中任一資料點重複使用以將序列延伸,試圖藉此解決時間平移的問題,如圖 8。
圖 8 兩個時間序列的變形
假設有兩個時間序列
Q
q q
1, ,..., ,...,2q
iq
n和R
r r
1, ,..., ,...,2r
jr
m,DTW組合兩 個序列使他們的距離差異最小化,為了達到這個結果,會形成n m 的矩陣,矩 陣存放qi和rj的距離,常用距離計算方式為歐幾里德距離。一個變形路徑(warping path)為W
w w
1, 2,...,w
K,max( , )m n
K
,m n
1w
k ( , )i j
。其中令人感興趣 的是這兩個序列變形路徑中的最短距離,dDTW如公式(1),min 1 K k k DTW
d w
K
(1) 利用動態規劃的方式有效的計算兩個時間序列延伸後之距離,以找出此二序15
最長相同子序列( Longest Common Subsequence )之基本概念是找出兩序列 間最長的相同序列部分,並以兩序列間相同部份長度之比例來代表此二序列間的
16
要達到圖 9所述的概念有以下三種方式:
I.
Atomic Matching:從O和R序列中找出沒有gap且長度為w的子序列之配
對,稱之為” window pairs “。為了減少振幅和偏移量,再將每個window pair正規化。II. Window Stitching:在任兩個window pair 之間可能有兩種情形:一種 是在它們之間有重疊部分,而且沒有gap;另一種則是在它們之間沒有 重疊部分;因此把這兩種情形都縫合起來則變成一個相似的子序列。
III. Subsequence Ordering:從上一步驟得到的相似子序列,依照時間順序 將它們重新排列成沒有重疊且對應部分之長度為最長的新序列。計算這 兩個時間序列的最長相同子序列的長度。