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)算法改進并成功的應用在了萬億級別的數(shù)據集上。

DTW

DTW有三個約束條件:

  1. 邊界條件:所選路徑必須從左下角出發(fā),右上角結束
  2. 連續(xù)性:不能跨過某個點去匹配,只能匹配和自己相鄰的點
  3. 單調性:點與點的匹配是單調的,不可以跨越點。
    結合連續(xù)性和單調性約束,每一個格點的路徑就只有三個方向了。例如如果路徑已經通過了格點(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
    對于億級別的數(shù)據,可能會花費一些時間等待結果,所以如果你沒有要求立即得出結果,就可以使用這種方法。

當前對DTW的優(yōu)化

  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指的是多核計算,很簡單,不用過多解釋。

新的優(yōu)化方式(UCR優(yōu)化)

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


    來自論文

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

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

    來自論文

    文章給出了選擇最優(yōu)順序的方法,對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,每一步都可以剪枝掉很多計算,并不同的剪枝方式側重點不同,可以更有效地剪枝。
    使用這種方式可以在大數(shù)據集上計算DTW時剪枝掉超過99.9999%的運算。


    來自論文

實驗和結論

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

參考文獻

  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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容