1 / 34

Exact Indexing of Dynamic Time Warping

Exact Indexing of Dynamic Time Warping. Eamonn Keogh Computer Science & Engineering Department University of California - Riverside Riverside,CA 92521 eamonn@cs.ucr.edu. Argomenti trattati. A cosa serve il confronto delle Serie Temporali? Dynamic Time Warping Confronto tra Distanze

shania
Download Presentation

Exact Indexing of Dynamic Time Warping

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exact Indexing of Dynamic Time Warping Eamonn Keogh Computer Science & Engineering DepartmentUniversity of California - RiversideRiverside,CA 92521eamonn@cs.ucr.edu 17/03/06

  2. Argomenti trattati • A cosa serve il confronto delle Serie Temporali? • Dynamic Time Warping • Confronto tra Distanze • Lower Bound del Dynamic Time Warping • Indicizzazione del Dynamic Time Warping • Valutazioni Sperimentali • Conclusioni • Applicazioni 17/03/06

  3. A cosa serve il confronto delle Serie Temporali? Clustering Classificazione Regole Associative Query 10  s = 0.5 c = 0.3 MATCH 17/03/06

  4. Confronto  Misura:Euclidea VS Dynamic Time Warping Le Sequenze sono allineate “uno-a-uno” Limiti della distanza Euclidea: Non permette allineamenti per serie fuori fase Il tasso medio di errore per clustering e classificazione è più elevato (un ordine di grandezza nelle valutazioni empiriche presenti nell’articolo) Asse Temporale Fisso Dynamic Time Warping Sono possibili allineamenti non-lineari (uno-molti e molti-uno). Asse Temporale “Warped” 17/03/06

  5. C Q i,j i,j-1 i-1,j-1 i-1,j Percorso di Warping w Calcolo della DTW (1) wp(i,j) = d(qi,cj) + min{wp(i-1,j-1) , wp(i-1,j ) , wp(i,j-1) } • Si costruisce una matrice per • Allineare le due serie cercando • il percorso ottimale che soddisfi • i vincoli di: • Inizio-Fine • Continuità • Monotonicità 17/03/06

  6. Calcolo della DTW (2) E’ possibile determinare un numero esponenziale di warping paths che soddisfino i vincoli suddetti. E’ interessante solo il path che minimizza i warping cost: Percorso di Warp w 17/03/06

  7. 4 3 2 1 0 -1 -2 -3 -4 0 10 20 30 40 50 60 70 80 0 10 20 30 40 50 60 70 80 90 4 3 2 1 0 -1 -2 -3 0 50 100 150 200 250 300 Alcune applicazioni Foglie Profili Motion Capture Linguaggio dei Segni Controllo Tracciati 2-Pattern Rilevamento Parole 17/03/06

  8. Le Prestazioni • Valutazioni con query 1NN • Abbiamo una lista di N oggetti, con una etichetta di classe. • Estraiamo il primo, e fingiamo di non conoscere la sua etichetta di classe • Ricerchiamo il suo NN, nella lista degli N-1 oggetti restanti. • Se il NN è nella stessa classe, lo abbiamo selezionato correttamente, se non lo è la ricerca da esito errato • Ripetiamo la ricerca per ogni item nella lista di N oggetti, il numero medio di NN selezionati correttamente è la nostra precisione "leaving one out." La DTW è migliore della distanza Euclidea ma ha complessità: O(nm)≈O(n2):( È quindi necessario migliorare le prestazioni del calcolo della DTW 17/03/06

  9. Migliorare le prestazioni (0):Indici Gli indici per gestire oggetti in uno spazio metrico devono rispettare i seguenti assiomi: d(x,y) ≥ 0, d(x,y) = 0  x=y (positività) d(x,y) = d(y,x) (simmetria) d(x,y) ≤ d(x,z) + d(z,y) (disuguaglianza triangolare) La DTW non rispetta la disuguaglianza triangolare Impossibile usare indici metrici!! 17/03/06

  10. C C Q Q Migliorare le prestazioni (1): Vincoli Globali I vincoli globali limitano gli indici del percorso di warping wk = (i,j)k tale che j-rij+r Parziale riduzione del tempo di calcolo Prevengono warping “patologici” r=cost r=f(i) r= Fascia di Sakoe-Chiba Parallelogramma di Itakura 17/03/06

  11. Migliorare le prestazioni (2):Lower Bounding Scan_Sequenziale_Lower_Bounding(Q) 1. migliore_temporaneo= infinito; 2. for tutte le sequenze nel database 3. dist_LB = misura_lower_bound(Ci,Q); 4. if (dist_LB < migliore_temporaneo) 5. vera_dist = DTW(Ci,Q); 6. if (vera_dist < migliore_temporaneo) 7. migliore_temporaneo = vera_dist; 8. indice_confronto_migliore = i; 9. endif 10. endif 11. endfor Scandisce tutte sequenze e calcola una misura di LB Se dist_LB è una “buon” LB, calcola la DTW della sequenza Se la DTW è la “migliore”, individua il miglior match 17/03/06

  12. C A D B Misure di Lower Bound:Kim et al. C Q Estrae una tupla di 4 valori {A,B,C,D} calcolati nei punti notevoli Il lower bound è il massimo delle differenze tra il primo, l’ultimo, il massimo e il minimo valore delle due serie LB_Kim=max {A,B,C,D} 17/03/06

  13. Misure di Lower Bound:Yi et al. max(Q) C Q min(Q) La somma delle linee verticali rappresenta il contributo minimo per punti corrispondenti al calcolo della DTW Tutti i punti di Ci>max(Q) e Ci<min(Q) contribuiscono al LB_Yi 17/03/06

  14. Un nuovo Lower Bound:LB_Keogh 17/03/06

  15. C Q U L Ui = max(qi-r : qi+r) Li = min(qi-r : qi+r) C Q U L Definizioni preliminari : Ui,Li Q Sakoe-Chiba Band Q Itakura Parallelogram 17/03/06

  16. Cj U L Q Cj U L Q Definizione del LB_Keogh Il LB_Keogh(Q,C) è ottenuto in due modi a seconda che si utilizzi la banda con rcostante o il parallelogrammacon r funzione di i Si può dimostrare che:LB_Keogh(Q,C) ≤ DTW(Q,C) LB_Keogh è definito solamente per |Q|=|C| 17/03/06

  17. Approssimazione di U ed L U Q L Approssimiamo U ed Lcon una versione alternativa della Piecewise Aggregate Approximation(PAA), per ridurne la dimensione, e li indichiamo con e 17/03/06

  18. Si può dimostrare che:LB_PAA(Q,C ) ≤ LB_Keogh(Q,C) Calcolo del LB approssimato per i candidati A questo punto è possibile indicizzare i “picewise” di una serie candidata con un generico indice metrico C C 0 20 40 60 80 100 120 140 c1 c2 c3 c4 c5 c6 c7 c8 17/03/06

  19. Indicizzazione (1) Applichiamo la PAA ad ogni serie da indicizzare Indichiamo con U il generico nodo foglia del nostro albero. Sia R il più piccolo rettangolo che contiene spazialmente ogni punto di C. Ad ogni nodo foglia U è associato il minimun bounding rectangle R = (L, H). R è il MBR in cui L = {l1, l2, …, lN} e H = {h1, h2, …, hN} sono gli estremi inferiore e superiore della diagonale di R. hi h1 h2 li l1 l2 17/03/06

  20. Indicizzazione (2) L’ultimo passo per l’indicizzazione è la definizione di una distanza che restituisca un lower bound della misura tra la query Q ed R Definiamo la funzione MINDIST che restituisce la distanza tra la query Q ed R (MBR definito precedentemente). In questo modo possiamo “navigare” l’abero calcolando le MINDIST dei nodi, fino ad attivare alle foglie in cui risiedono le serie approssimate C 17/03/06

  21. Cosa abbiamo visto • Come si determina un lower bound per la DTW • Come si indicizzano le serie temporali 17/03/06

  22. Algorithm KNNSearch(Q,K) • Variable queue: MinPriorityQueue; • Variable list: temp; • 1.queue.push(root_node_of_index, 0); • 2.whilenot queue.IsEmpty() do • 3. top = queue.Top(); • 4. for each time series C in temp • such that DTW(Q,C) top.dist • 5. Remove C from temp; • 6. Add C to result; • 7. if |result| = K return result; • 8.queue.Pop(); • 9. if top is an PAA point C • 10. Retrieve full sequence C from database; • 11. temp.insert(C, DTW(Q,C)); • 12.else if top is a leaf node • 13. for each data item C in top • 14. queue.push(C, LB_PAA(Q, )); • 15.else // top is a non-leaf node • 16. for each child node U in top • 17. queue.push(U, MINDIST(Q,R)) // R is • MBR associated with U. Algorithm RangeSearch(Q, ε, T) • if T is a non-leaf node • for each child U of T • if MINDIST(Q,R) ε RangeSearch(Q, ε, U); • // R is MBR of U • else // T is a leaf node • for each PAA point C in T • if LB_PAA(Q, ) ε • Retrieve full sequence C from database; • if DTW(Q,C)  ε Add C to result; 1. 2. 3. 4. 5. 6. 7. 8. K-NNSearch (Q,K) RangeSearch(Q, ε, T) Queryche utilizzano le strutture proposte L’indice così definito può essere utilizzato in una classica struttura R-Tree 17/03/06

  23. Valutazioni Empiriche 17/03/06

  24. Prestazioni di pruning (1) 0 ≤ P ≤ 1 • Calcolo di P per ogni dataset (di 32): • Estrazione di 50 serie di lunghezza 256 • Selezione di una query tra le 50 serie • Ricerca del “best match” tra le 49 restanti usando l’algoritmo di scan sequenziale • (in realtà non esegue lo scan sequenziale delle serie ma ne fa prima un sorting) 17/03/06

  25. Prestazioni di pruning (2) Prestazioni di Pruning P Prestazioni di Pruning P Dimensione del Database Lunghezza della Query LB_Keogh LB_Yi LB_Kim 17/03/06

  26. Costo di CPU Normalizzato = Prestazioni temporali di scan (1) Algoritmi: Sono stati comparate le tecniche di scan lineari proposte. LB_Yi non ha un metodo di indicizzazione. LB_Kim non supera mai lo scan lineare Sistema:processore AMD Athlon 1.4 GHZ, con 512 MB di memoria fisica e 57.2 GB di memoria secondaria. L’indice usato risiede in un R-Tree Datasets: Mixed Bag: Tutti i 32 datasets raccolti insieme. 763,270 oggetti Random Walk: Il più comune dataset di test in letteratura. 1,048,576 oggetti 17/03/06

  27. 1 Random Walk 0.8 LScan 0.6 LB_Keogh 0.4 0.2 0 210 212 214 216 218 220 Prestazioni temporali di scan (2) Mixed Bag LScan LB_Keogh Costo di CPU Normalizzato 210 212 214 216 218 220 Numero di Oggetti nel Database 17/03/06

  28. Conclusioni Il DTW è una misura di distanza migliore della distanza Euclidea. Abbiamo illustrato un Lower Bound efficiente ed efficace per il DTW. Abbiamo mostrato come indicizzare la tecnica di LB. La completa valutazione empirica ha dimostrato la validità dell’approccio. 17/03/06

  29. Implementazioni di Successo 17/03/06

  30. CASO I La tecninca di lower bounding è stata usata per supportare l’indicizzazione di enormi archivi di testi manoscritti. Sorprendentemente il DTW ha prestazioni migliori di modelli più complessi. R. Manmatha, T. M. Rath: Indexing of Handwritten Historical Documents - Recent Progress.In: Proc. of the 2003 Symposium on Document Image Understanding Technology (SDIUT), Greenbelt, MD, April 9-11, 2003, pp. 77-85. T. M. Rath and R. Manmatha (2002): Lower-Bounding of Dynamic Time Warping Distances for Multivariate Time Series. Technical Report MM-40, Center for Intelligent Information Retrieval, University of Massachusetts Amherst. 17/03/06

  31. CASO II La tecnica di lower bounding è stata utilizzata dalla ChevronTexaco per confrontare dati sismici. Grazie a Steve Zoraster per l’immagine 17/03/06

  32. CASO III Grease is the word… La tecnica di lower bounding è stata usata per supportare le “query by humming”, da numerosi gruppi di ricerca. • I migliori 3 riscontri • Bee Gees: Grease • Robbie Williams: Grease • Sarah Black: Heatwave Ning Hu, Roger B. Dannenberg (2003). Polyphonic Audio Matching and Alignment for Music Retrieval Yunyue Zhu, Dennis Shasha (2003). Query by Humming: a Time Series Database Approach, SIGMOD 17/03/06

  33. CASO IV La tecnica di lower bounding è stata utilizzata per indicizzare i clip ottenuti dal motion capture. Grazie a Marc Cardle per questo esempio Marc Cardle :“Automate Motion Editing” (2004) University of Cambridge, Computer Laboratory, Technical Report 17/03/06

  34. Un ringraziamento speciale a Eamonn Keogh per il supporto ed il materiale che ci ha fornito. 17/03/06

More Related