Searching and Mining Trillions of Time Series Subsequences under Dynamic閱讀

最近讀了SIGKDD在2010年的最佳論文,Searching and Mining Trillions of Time Series Subsequences under Dynamic。這篇文章對DTW(Dynamic Time Warping)算法改進并成功的應用在了萬億級別的數據集上。

DTW

DTW有三個約束條件:

  1. 邊界條件:所選路徑必須從左下角出發,右上角結束
  2. 連續性:不能跨過某個點去匹配,只能匹配和自己相鄰的點
  3. 單調性:點與點的匹配是單調的,不可以跨越點。
    結合連續性和單調性約束,每一個格點的路徑就只有三個方向了。例如如果路徑已經通過了格點(i, j),那么下一個通過的格點只可能是下列三種情況之一:(i+1, j),(i, j+1)或者(i+1, j+1)。


使用改進DTW的四個前提

  1. Time Series Subsequences must be Normalized
    為了使兩個子序列的比較更有意義,所以子序列必須被歸一化。論文使用有槍和無槍舉了例子,在歸一化后的準確率更高。


    來自論文
  2. Dynamic Time Warping is the Best Measure
    DTW經過很多的測試,驗證了DTW在搜索子序列上是最好的方式了。
  3. Arbitrary Query Lengths cannot be Indexed
    無法索引任意長度的索引。如果長度太長,可能會超出內存的承受范圍,并在使用任意長度的時候,會使歸一化沒有多少意義。
  4. There Exists Data Mining Problems that we
    are Willing to Wait Some Hours to Answer
    對于億級別的數據,可能會花費一些時間等待結果,所以如果你沒有要求立即得出結果,就可以使用這種方法。

當前對DTW的優化

  1. Using the Squared Distance
    DTW和歐式距離在計算的時候都使用了開根的操作,然而這一操作顯然是多余的。當我們不開根號時,其距離排序也不會因此而改變,反而會減低時間的消耗。
  2. Lower Bounding
    一個典型的加快序列搜索速度的方式是計算一個相似度下界,一旦當前序列的相似度低于下界,就停止計算,轉去計算下一個子序列。文中提了兩種計算下界的方式


    來自論文
  • LB_{Kim} 只計算Q和C的開頭或結尾作為LB,時間復雜度為O(1),還有一種方式是計算兩段序列的最大值和最小值的差值作為LB
  • LB_{Keogh}
  1. Early Abandoning of ED and LB_{Keogh}
    在計算ED或LB_{keogh}的時候,當累計的誤差大于best-so-far時,停止計算。

    圖片來自于論文

  2. Early Abandoning of DTW
    在計算DTW之前需要計算LB_{Keogh},一旦LB_{Keogh}超過了閾值,那么DTW也不用計算。

    圖片來自于論文

  3. Exploiting Multicores
    Exploiting Multicores指的是多核計算,很簡單,不用過多解釋。

新的優化方式(UCR優化)

  1. Early Abandoning Z-Normalization
    在對子序列進行比較前,需要計算均值和方差來對序列進行歸一化。然后可以在標準化的過程中計算DTW,這樣就可以節約大量時間。并且此方法可以和提前停止結合起來,一旦超過LB,就停止歸一化和計算DTW。這樣節約了大量時間。偽代碼如下:


    來自論文

    為了避免累計浮點誤差,每一百萬條子序列執行一次完全標準化

  2. Reordering Early Abandoning
    傳統計算距離或者歸一化的時候,直接從左到右計算。然而這種方式一定是最好的嗎?論文提出使用重排的方式,可以減少計算。下圖的左邊是傳統方式,右邊是新的方式,左邊計算了9次才知道這段不可以用,右邊找了5次。

    來自論文

    文章給出了選擇最優順序的方法,對Q序列Normalized后的絕對值排序作索引,選擇Q是因為搜索時Q序列會和很多C_i序列比較。因為C_i序列大部分是高斯分布,均值為0,所以Q排序后的normalized值和0的距離最大,一開始距離計算就最大,可以更早的停止。
    原文如下:
    We conjecture that the universal optimal ordering is to sort the
    indices based on the absolute values of the Z-normalized Q. The
    intuition behind this idea is that the value at Qi will be compared
    to many Ci’s during a search. However, for subsequence search,
    with Z-normalized candidates, the distribution of many Ci’s will
    be Gaussian, with a mean of zero. Thus, the sections of the query that are farthest from the mean, zero, will on average have the largest contributions to the distance measure.

  3. Reversing the Query/Data Role in LB_{Keogh}
    在這里需要交換Q和C的角色,對C做Lower Bounding

    來自論文

  4. Cascading Lower Bounds
    使用多種方式計算LB而不是局限于一種方式計算LB,這是為最有效的方式。具體的
    在計算LB時,按照時間復雜度從低到高,一步步的使用不同的方式計算LB,每一步都可以剪枝掉很多計算,并不同的剪枝方式側重點不同,可以更有效地剪枝。
    使用這種方式可以在大數據集上計算DTW時剪枝掉超過99.9999%的運算。


    來自論文

實驗和結論

為了確保改進的DTW的有效性,作者使用改進的DTW共進行了分別在金融、EEG數據集、DNA、姿勢數據上進行了四個實驗。在這四個實驗上都取得了較大的領先。

參考文獻

  1. https://zhuanlan.zhihu.com/p/87630320
  2. Searching and Mining Trillions of Time Series Subsequences under Dynamic
    Time Warping
  3. https://blog.csdn.net/zhaoyin214/article/details/102651244
  4. https://blog.csdn.net/zouxy09/article/details/9140207
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,334評論 2 377

推薦閱讀更多精彩內容