“exact indexing of dynamic time warping” di e.keogh g. fregnan, t. splendiani 17/03/06 exact...
TRANSCRIPT
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Exact Indexing of Dynamic Time Warping
Exact Indexing of Dynamic Time Warping
Eamonn KeoghComputer Science & Engineering Department
University of California - RiversideRiverside,CA 92521
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
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 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
A cosa serve il confronto delle Serie Temporali?
ClusteringClustering ClassificazioneClassificazione
Regole AssociativeRegole Associative
10
s = 0.5c = 0.3
Query
MATCH
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Confronto Misura:Euclidea VS Dynamic Time Warping
Asse Temporale Fisso
Asse Temporale “Warped”
Le Sequenze sono allineate “uno-a-uno”Le Sequenze sono allineate “uno-a-uno”
Sono possibili allineamenti non-lineari(uno-molti e molti-uno).
Sono possibili allineamenti non-lineari(uno-molti e molti-uno).
Limiti della distanza Euclidea:Non permette allineamenti per serie fuori fase Il tasso medio di errore per clustering eclassificazione è più elevato(un ordine di grandezza nelle valutazioniempiriche presenti nell’articolo)
Limiti della distanza Euclidea:Non permette allineamenti per serie fuori fase Il tasso medio di errore per clustering eclassificazione è più elevato(un ordine di grandezza nelle valutazioniempiriche presenti nell’articolo)
Dynamic Time WarpingDynamic Time Warping
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Calcolo della DTW (1)wp(i,j) = d(qi,cj) + min{wp(i-1,j-1) , wp(i-1,j ) , wp(i,j-1) }wp(i,j) = d(qi,cj) + min{wp(i-1,j-1) , wp(i-1,j ) , wp(i,j-1) }
C
Q
Percorso di Warping w
Si costruisce una matrice perAllineare le due serie cercandoil percorso ottimale che soddisfii vincoli di:
•Inizio-Fine•Continuità •Monotonicità
Si costruisce una matrice perAllineare le due serie cercandoil percorso ottimale che soddisfii vincoli di:
•Inizio-Fine•Continuità •Monotonicità
i,ji,j-1
i-1,j-1i-1,j
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Calcolo della DTW (2)
Percorsodi Warp w
E’ possibile determinare un numero esponenziale di warping paths che soddisfino i vincoli suddetti.
E’ interessante solo il path che minimizza i warping cost:
E’ possibile determinare un numero esponenziale di warping paths che soddisfino i vincoli suddetti.
E’ interessante solo il path che minimizza i warping cost:
K
k kwCQDTW 1min),( K
k kwCQDTW 1min),(
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Alcune applicazioni
0 10 20 30 40 50 60 70 80 90
0 10 20 30 40 50 60 70 80-4
-3
-2
-1
0
1
2
3
4
Linguaggio dei Segni
0 50 100 150 200 250 300-3
-2
-1
0
1
2
3
4
Tracciati
Rilevamento Parole
Motion Capture
Profili
Foglie
Controllo
2-Pattern
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Tasso di Errore
0
5
10
1520
25
30
35
Parole Segni MC Tracciati Foglie Profili Controllo 2-Pattern
Euclidea DTW
Errore Normalizzato
0%
25%
50%
75%
100%
Parole Segni MC Tracciati Foglie Profili Controllo 2-Pattern
Euclidea DTW
Le Prestazioni
Tempo di esecusione
1
10
100
1000
10000
100000
1000000
Parole Segni MC Tracciati Foglie Profili Controllo 2-Pattern
mse
c [log]
Euclidea DTWLa DTW è migliore della distanza Euclidea ma ha complessità:
O(nm)≈O(n2) :(
È quindi necessario migliorare le prestazioni del calcolo della DTW
Valutazioni con query 1NN1. Abbiamo una lista di N oggetti, con una etichetta di
classe. 2. Estraiamo il primo, e fingiamo di non conoscere la sua
etichetta di classe3. Ricerchiamo il suo NN, nella lista degli N-1 oggetti
restanti.4. Se il NN è nella stessa classe, lo abbiamo selezionato
correttamente, se non lo è la ricerca da esito errato5. Ripetiamo la ricerca per ogni item nella lista di N
oggetti, il numero medio di NN selezionati correttamente è la nostra precisione "leaving one out."
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Migliorare le prestazioni (0):Indici
Gli indici per gestire oggetti in uno spazio metrico devono rispettare i seguenti assiomi:
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)
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!!
La DTW non rispetta la disuguaglianza triangolare
Impossibile usare indici metrici!!
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Migliorare le prestazioni (1): Vincoli Globali
C
Q
C
Q
Fascia di Sakoe-Chiba Parallelogramma di Itakurar =
Parziale riduzione del tempo di calcoloPrevengono warping “patologici”
Parziale riduzione del tempo di calcoloPrevengono warping “patologici”
I vincoli globali limitano gli indici del percorso di warpingwk = (i,j)k tale che j-r i j+r
I vincoli globali limitano gli indici del percorso di warpingwk = (i,j)k tale che j-r i j+r
r=cost r=f(i)
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Migliorare le prestazioni (2):Lower Bounding
Scan_Sequenziale_Lower_Bounding(Q)1. migliore_temporaneo= infinito;2. for tutte le sequenze nel database3. 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. endif10. endif11. endfor
Scandisce tutte sequenze e calcola una misura di LB
Se la DTW è la “migliore”, individua il miglior match
Se dist_LB è una “buon” LB, calcola la DTW della sequenza
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Misure di Lower Bound:Kim et al.
A
B
C
D
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}
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}
Q
C
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Misure di Lower Bound:Yi et al.
max(Q)max(Q)
min(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
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
Q
C
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Un nuovo Lower Bound:
LB_Keogh
Un nuovo Lower Bound:
LB_Keogh
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Definizioni preliminari : Ui,Li
L
U
Q
U
LQ
C
Q
C
Q
Sakoe-Chiba Band
Itakura Parallelogram
Ui = max(qi-r : qi+r)Li = min(qi-r : qi+r)
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Definizione del LB_Keogh
Cj
Cj
U
LQ
n
1iii
2
ii
ii
2
ii
j
altrimenti0
Lcse)L(c
Ucse)U(c
),CLB_Keogh(Q
n
1iii
2
ii
ii
2
ii
j
altrimenti0
Lcse)L(c
Ucse)U(c
),CLB_Keogh(Q
Si può dimostrare che:LB_Keogh(Q,C) ≤ DTW(Q,C)
Si può dimostrare che:LB_Keogh(Q,C) ≤ DTW(Q,C)
LB_Keogh è definito solamente per |Q|=|C|LB_Keogh è definito solamente per |Q|=|C|
Il LB_Keogh(Q,C) è ottenuto in due modi a seconda che si utilizzi la banda con rcostante o il parallelogramma con r funzione di i
Il LB_Keogh(Q,C) è ottenuto in due modi a seconda che si utilizzi la banda con rcostante o il parallelogramma con r funzione di i
U
LQ
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Approssimiamo U ed L con una versione alternativa della Piecewise Aggregate Approximation (PAA), per ridurne la dimensione, e li indichiamo con e
Approssimiamo U ed L con una versione alternativa della Piecewise Aggregate Approximation (PAA), per ridurne la dimensione, e li indichiamo con e U L
Approssimazione di U ed L
iii
Nn
Nn UUU ,...,maxˆ
11
iii
Nn
Nn LLL ,...,minˆ
11
U
L
U
LQ
N
npasso N
npasso
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Calcolo del LB approssimato per i candidati
N
1iii
2
ii
ii
2
ii
j
altrimenti0
Lcse)Lc(
Ucse)Uc(
N
n)CLB_PAA(Q, ˆˆ
ˆˆ
N
1iii
2
ii
ii
2
ii
j
altrimenti0
Lcse)Lc(
Ucse)Uc(
N
n)CLB_PAA(Q, ˆˆ
ˆˆ
Si può dimostrare che:LB_PAA(Q,C ) ≤ LB_Keogh(Q,C)
Si può dimostrare che:LB_PAA(Q,C ) ≤ LB_Keogh(Q,C)
0 20 40 60 80 100 120 140
C
C
c1
c2
c3
c4
c5
c6
c7
c8
i
ijjn
Ni
Nn
Nn
cC1)1(
A questo punto è possibile indicizzare i “picewise” di una serie candidata con un generico indice metrico
A questo punto è possibile indicizzare i “picewise” di una serie candidata con un generico indice metrico
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Indicizzazione (1)
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.
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.
Applichiamo la PAA ad ogni serie da indicizzareApplichiamo la PAA ad ogni serie da indicizzare
h1
h2
hi
l1
l2
li
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Indicizzazione (2)
N
iiiii
iiii
altrimenti
LhseLh
UlseUl
N
n1
2
2
0
ˆ)ˆ(
ˆ)ˆ(
N
iiiii
iiii
altrimenti
LhseLh
UlseUl
N
n1
2
2
0
ˆ)ˆ(
ˆ)ˆ(
),( RQMINDIST ),( RQMINDIST
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
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 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Cosa abbiamo visto
• Come si determina un lower bound per la DTW
• Come si indicizzano le serie temporali
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
RangeSearch(Q, ε, T)RangeSearch(Q, ε, T) Variable queue: MinPriorityQueue;Variable list: temp; 1. queue.push(root_node_of_index, 0);2. while not queue.IsEmpty() do3. top = queue.Top();4. for each time series C in temp such that DTW(Q,C) top.dist5. 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 C10. Retrieve full sequence C from database;11. temp.insert(C, DTW(Q,C));12. else if top is a leaf node13. for each data item C in top14. queue.push(C, LB_PAA(Q, ));15. else // top is a non-leaf node16. for each child node U in top17. queue.push(U, MINDIST(Q,R)) // R is MBR associated with U.
Algorithm KNNSearch(Q,K)
if T is a non-leaf node for each child U of T
if MINDIST(Q,R) ε RangeSearch(Q, ε, U); // R is MBR of Uelse // 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;
Algorithm RangeSearch(Q, ε, T) 1.2.3.
4.
5.6.7.8.
L’indice così definito può essere utilizzato in una classica struttura R-Tree
L’indice così definito può essere utilizzato in una classica struttura R-Tree
C
C
Query che utilizzano le strutture proposte
K-NNSearch (Q,K)K-NNSearch (Q,K)
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Valutazioni EmpiricheValutazioni Empiriche
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Prestazioni di pruning (1)
database nel oggetti di NumeroDTW della calcolo il richiedononon che oggetti di NumeroP database nel oggetti di NumeroDTW della calcolo il richiedononon che oggetti di NumeroP
Calcolo di P per ogni dataset (di 32):1. Estrazione di 50 serie di lunghezza 2562. Selezione di una query tra le 50 serie3. 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)
Calcolo di P per ogni dataset (di 32):1. Estrazione di 50 serie di lunghezza 2562. Selezione di una query tra le 50 serie3. 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)
0 ≤ P ≤ 10 ≤ P ≤ 1
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Prestazioni di pruning (2)
Dimensione del Database
Dimensione del Database
Pre
stazi
on
i d
i Pru
nin
g P
Pre
stazi
on
i d
i Pru
nin
g P
LB_KimLB_YiLB_Keogh
Lunghezza della QueryLunghezza della QueryPre
stazi
on
i d
i Pru
nin
g P
Pre
stazi
on
i d
i Pru
nin
g P
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
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
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
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
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
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
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
Prestazioni temporali di scan (1)
esequenzialscan con query della esecuzione di medio Tempo
indicel' usandoquery della esecuzione di medio TempoCosto di CPUNormalizzato
=
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Prestazioni temporali di scan (2)
Cost
o d
i C
PU
Norm
aliz
zato
Cost
o d
i C
PU
Norm
aliz
zato
210 212 214 216 218 220
Mixed Bag
0
0.2
0.4
0.6
0.8
1
210 212 214 216 218 220
Random Walk
LScanLB_Keogh
LScanLB_Keogh
Numero di Oggetti nel Database Numero di Oggetti nel Database
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
ConclusioniConclusioni
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 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Implementazioni di SuccessoImplementazioni di Successo
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
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.
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.
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.
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
La tecnica di lower bounding è stata utilizzata dalla ChevronTexaco per confrontare dati sismici.
Grazie a Steve Zoraster per l’immagine
La tecnica di lower bounding è stata utilizzata dalla ChevronTexaco per confrontare dati sismici.
Grazie a Steve Zoraster per l’immagine
CASO II
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
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
La tecnica di lower bounding è stata usata per supportare le “query by humming”, da numerosi gruppi di ricerca.
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
I migliori 3 riscontri• Bee Gees: Grease• Robbie Williams: Grease• Sarah Black: Heatwave
Grease is the word…Grease is
the word…
CASO III
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
La tecnica di lower bounding è stata utilizzata per indicizzare i clip ottenuti dal motion capture.
Grazie a Marc Cardle per questo esempio
La tecnica di lower bounding è stata utilizzata per indicizzare i clip ottenuti dal motion capture.
Grazie a Marc Cardle per questo esempio
CASO IV
Marc Cardle :“Automate Motion Editing” (2004) University of Cambridge, Computer Laboratory, Technical Report
17/03/06 “Exact Indexing of Dynamic Time Warping” di E.Keogh G. Fregnan, T. Splendiani
Un ringraziamento speciale a Eamonn KeoghEamonn Keogh per il
supporto ed il materiale che ci ha fornito.
Un ringraziamento speciale a Eamonn KeoghEamonn Keogh per il
supporto ed il materiale che ci ha fornito.