250 likes | 407 Views
Warping the Time on Data Streams. Paolo Capitani Paolo Ciaccia DEIS – IEIIT-BO/CNR, University of Bologna, Italy (Ottobre 2005). GRUPPO 7. Federico Matteoni Fabio Stefanini Luca Tumidei. Possibili applicazioni. Analisi finanziarie Sistemi di videosorveglianza Ricerche scientifiche
E N D
Warping the Time on Data Streams Paolo Capitani Paolo Ciaccia DEIS – IEIIT-BO/CNR, University of Bologna, Italy (Ottobre 2005) GRUPPO 7 Federico Matteoni Fabio Stefanini Luca Tumidei
Possibili applicazioni • Analisi finanziarie • Sistemi di videosorveglianza • Ricerche scientifiche • Sistemi di riconoscimento vocale
istante attuale Serie temporali Le serie ora considerate non sono più costituite da un insieme finito n-elementi, ma da insiemi di dati di notevoli dimensioni e in costante crescita caso statico evoluzione nel tempo operando per Sliding window valore R R S S tempo 17 - 03 - 2006 Warping the Time on Data Streams
Imprecisa in analisi con distorsioni temporali Troppo dispendiosa in termini di Complessità Computazionale Un nuovo Approccio … Fino ad ora : • Distanza Euclidea • DTW SDTW
2 1 1 0 1 3 2 1 4 6 6 4 4 3 4 5 81 72 63 R 59 43 34 25 9 d S Distanza Euclidea L2(R1n, S1n)2 = Σi=1n (Ri - Si )2 • Intuitiva • Facile implementazione • Calcolo rapido • Non è adatta per la valutazione di serie temporali con contrazione ed espansione • Bassa complessità dell’aggiornamento nel tempo
Dynamic Time Warping Il confronto avviene anche fra punti corrispondenti a istanti temporali differenti! Ogni punto di una serie può essere allineato/confrontato con punti (precedenti o successivi) di altre serie, corrispondenti a differentiposizioni temporali,in modo da compensare possibili sfasamenti temporali S R t
2 Matrice distanze 1 1 0 1 3 2 1 4 6 6 4 4 3 4 5 4 6 6 4 4 3 4 5 1 4 9 2 55 58 67 b 9 4 9 16 1 74 54 59 71 9 9 4 9 16 1 65 65 50 55 69 R 36 16 16 9 16 R 0 75 56 56 46 53 25 25 9 9 4 1 39 47 40 41 37 1 9 9 1 1 3 14 22 31 32 33 4 16 16 4 2 13 25 41 45 9 25 25 1 9 34 59 d WP S S i-1,j i,j i-1,j-1 i,j-1 Dynamic Time Warping Ciascun percorso-W (Warping path) definisce l’allineamento tra le serie R e S ed il conseguente costo da sopportare! Matrice warping path Wopt wpi,j= di,j + min { wpi-1,j, wp (i, j-1), wp (i-1, j-1)} La distanza DTW è rappresentata dal minimo costo tra tutti i Warping Path, il Wopt
2 1 1 0 1 3 2 1 4 6 6 4 4 3 4 5 Dynamic Time Warping • precisione • l’allineamento al tempo t non è garantito al tempo t+1 1 44 45 58 2 41 42 47 Complessità dell’aggiornamento O(n) – O(n2) 3 37 41 42 42 43 2 35 39 49 49 49 1 43 35 40 52 53 R 1 34 34 31 36 52 0 25 25 27 48 1 9 18 22 3 n 2 1 4 6 6 4 4 3 4 5 2 3 5 D 1 4 9 9 4 9 16 S 9 9 4 9 16 36 16 16 9 16 R 25 25 9 9 4 • il DTW si può discostare dalla diagonale della matrice di un numero b di caselle (Sakoe-Chiba band) 1 9 9 1 1 b 4 16 16 4 9 25 25 d S b
Ma quali sono le caratteristiche che stiamo cercando? • Qualità dei risultati ottenuti • Velocità di update Distanza euclidea Distanza DTW • Qualità dei risultati • Velocità di update • Qualità dei risultati • Velocità di update
Un possibile approccio… LB-KeoghSymm { Low(Q) Up(Q) Serie Q and suo sviluppo Env(Q) LBKeogh(Env(Q), S) LBKeogh(Env(S), R) LBKeogh(Env(R), S) Aggiornamento in O(b) { LBKeogh(Env(R), S) LBKeoghSymm(R, S) = max LBKeogh(Env(S), R) precisione
Un metodo per soddisfare entrambe i requisiti di: • precisione • efficienza Stream dynamic time warping Calcolo simile E’ un’evoluzione del DTW Diverse condizioni “di confine” Obj: Determinare il Warping Path ottimale
Concetti base (I) Frontiera F: un insieme di celle della matrice delle distanze cumulative tale per cui per ogni warping path W si ha W ∩ F = ø Start frontier End frontier
2 1 1 0 1 3 2 1 4 6 6 4 4 3 4 5 1 4 9 9 4 9 16 9 9 4 9 16 R 36 16 16 9 16 25 25 9 9 4 1 9 9 1 1 4 16 16 4 2 9 25 25 1 2 d 1 1 S 23 24 28 23 24 28 R 0 1 35 23 26 34 35 23 26 34 R 1 0 31 31 22 25 34 31 31 22 25 34 2 1 35 27 27 21 26 35 27 27 21 26 2 2 10 21 18 19 17 10 21 18 19 17 1 2 1 5 14 15 16 1 5 14 15 16 D 3 4 5 3 3 2 3 4 1 1 5 14 15 1 5 14 15 S D 3 4 5 3 3 2 3 4 4 9 16 4 9 16 S DTW L: costo minimo del warping path che inizia da una cella della start-frontier e termina in una cella della end-frontier Concetti base (II) Boundary-relaxed DTW: Date due serie di dati nel tempo, R e S, e i generici istanti ts e te, si possono calcolare il i DTW rilassati. Partendo dalla matrice delle distanze… …si ottengono DTW L: costo minimo del warping path che inizia da una cella della start-frontier
ts te n α k γ β Come funziona la distanza SDTW… SDTW = DTWkL–[DTW L – d(Rts,Sts)] + DTW L α β γ δ k + i δ ts WoptSDTW
Come funziona la distanza SDTW… 1 1 2 2 3 3 2 47 50 59 2 1 62 46 51 63 1 1 53 53 42 47 57 1 1 0 72 44 44 38 41 0 2 γ = 9 1 26 36 28 29 25 1 26 36 28 3 3 1 10 19 20 21 3 1 10 19 20 α 2 2 4 20 36 29 2 4 20 36 29 1 1 9 25 25 1 9 25 25 R 1 4 6 6 4 4 3 4 5 2 3 5 4 6 6 4 4 3 4 5 2 3 5 0 1 25 25 9 3 1 9 9 1 2 4 20 16 4 1 1 4 17 1 9 16 25 2 0 1 9 δ 4 6 6 4 4 3 4 5 2 3 5 d 3 1 0 4 2 S 1 1 0 1 3 k 2 1 4 6 6 4 4 3 4 5 2 3 5 β = 28 = 47 = 17 k+1 SDTW = α – (β –γ) + δ = 47
Caratteristiche (I) SDTW è un lower bound di DTW SDTW può essere aggiornata con O(b) operazioni ad ogni step b α = DTW Lche può essere calcolato con O(2b + 1) operazioni = O(b) β O(1) γ O(1) δ O(1)
Caratteristiche (II) La distanza SDTW può essere calcolata usando uno spazio di complessità O(n) Calcolo O(n) + Aggiornamento O(b) = O(n + b) = O(n)
Metodo: Valutazione dello strumento in termini di: • Efficienza • Qualità Confronto dei risultati ottenuti sugli stessi datasets da: • DTW • SDTW • LB-KeoghSymm Prove sperimentali eseguite utilizzando : • Intel Pentium 4 a 1.60GHz con 512 MB di memoria principale • Sistema operativo Windows 2000 OS
Velocità di processamento (I) • Velocità di processamento oSampling Rate (Hz): Intervallo di tempo che intercorre tra la lettura di una “Sliding window” e la successiva • n =128: dimensione della “Sliding window”
1. Velocità di processamento (II) • Miglioramento prestazioni SDTW rispetto a DTW, all’aumentare di n • Lo “Speed Up” cresce come O(n)
2. Accuratezza (tightness) • L’accuratezza è misurata come rapportoSDTW / DTW e LB-Keoghsymm/ DTW su 496 coppie di serie temporali • Accuratezza diSDTWsi pone sempre sopra al90% • L’accuratezza diLB-Keoghsymm non supera mai il61%e raggiungel’8%nel caso del dataset Burstin
3. Numero di falsi allarmi • Obiettivo: determinare quando la DTW scende sotto un valore sogliaЄ • Si utilizzanoSDTWe LB-Keoghsymmche sono Lower Bound di DTW • Per SDTWi falsi allarmi sono in media lo0.85%e non sono mai piùdell’1,5% • PerLB-Keoghsymmla media raggiunge il41,13%con un picco del99%
Conclusioni SDTW, un nuovo metodo per confrontare flussi di dati capace di elevata Accuratezza e Velocità di Processamento : • SDTW permette un efficiente update sulla “sliding window” analizzata con un costo pari a O(b). • Il miglioramento in termini di efficienza di SDTW rispetto a DTW cresce all’aumentare della dimensione della sliding window. • Grazie alla sua ridotta complessità computazionale e al ridotto numero di falsi allarmi SDTW può essere utilizzato con funzione di filtro.