Warping the Time on Data Streams
description
Transcript of Warping the Time on Data Streams
17 - 03 - 2006 Warping the Time on Data Streams
Warping the Time on Data Streams
Paolo Capitani Paolo CiacciaDEIS – IEIIT-BO/CNR, University of Bologna, Italy (Ottobre 2005)
Federico Matteoni
Fabio Stefanini
Luca Tumidei
GRUPPO 7
17 - 03 - 2006 Warping the Time on Data Streams
Possibili applicazioni
Analisi finanziarie
Sistemi di videosorveglianza
Ricerche scientifiche
Sistemi di riconoscimento vocale
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
S
R
Sliding window
S
R
istante attuale
caso statico evoluzione nel tempo operando per
valo
re
tempo
Serie temporali
17 - 03 - 2006 Warping the Time on Data Streams
17 - 03 - 2006 Warping the Time on Data Streams
Un nuovo Approccio …
Fino ad ora :Distanza EuclideaDTW
Imprecisa in analisi con distorsioni temporali
Troppo dispendiosa in termini di Complessità Computazionale
SDTW
17 - 03 - 2006 Warping the Time on Data Streams
L2(R1n, S1
n)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
R
9
25
34
43
59
63
72
81
4 6 6 4 4 3 4 5
1
2
3
1
0
1
1
2
S
d
Distanza Euclidea
17 - 03 - 2006 Warping the Time on Data Streams
Ogni punto di una serie può essere allineato/confrontato con punti (precedenti o successivi) di altre serie, corrispondenti a differenti posizioni temporali,in modo da compensare possibili sfasamenti temporali
t
S
R
Il confronto avviene anche
fra punti corrispondenti a istanti temporali
differenti!
Dynamic Time Warping
17 - 03 - 2006 Warping the Time on Data Streams
R
9 25 25
4 16 16 4
1 9 9 1
25 25 9
1
9 4
36 16
9
16 9 16
9 4 9 16
9 4 9 16
1 4 9
4 6 6 4 4 3 4 5
1
2
3
1
0
1
1
2
S
d
Matrice distanze
b
R
34 59
13 45
14 22 31
39 47 40 41
75 56
65
56 53
65 55 69
74 59 71
55
9
25 41
32 33
37
46
50
54
58 67
4 6 6 4 4 3 4 5
1
2
3
1
0
1
1
2
WP
S
Matrice warping path
Wopt
i-1,j-1 i,j-1
i-1,j i,j
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
Ciascun percorso-W (Warping path) definisce l’allineamento tra le serie R e S ed il conseguente costo da sopportare!
Dynamic Time Warping
17 - 03 - 2006 Warping the Time on Data Streams
precisione
l’allineamento al tempo t non è garantito al tempo t+1
1
53254344664
123
221891482725250
5236313434153524035431
49494939352434242413734742412584544
D
S
R
Complessità dell’aggiornamento
O(n) – O(n2)
n
R
9 25 25
4 16 16 4
1 9 9 1
25 25 9
1
9 4
36 16
9
16 9 16
9 4 9 16
9 4 9 16
1 4 9
4 6 6 4 4 3 4 5
1
2
3
1
0
1
1
2
S
d
b
il DTW si può discostare dalla diagonale della matrice di un numero b di caselle (Sakoe-Chiba band)
Dynamic Time Warping
b
17 - 03 - 2006 Warping the Time on Data Streams
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
17 - 03 - 2006 Warping the Time on Data Streams
Un possibile approccio… LB-KeoghSymm
Serie Q and suo sviluppo Env(Q)
LBKeogh(Env(Q), S)
{ Low(Q) Up(Q)
LBKeoghSymm(R, S) = max LBKeogh(Env(R), S)
LBKeogh(Env(S), R){
LBKeogh(Env(R), S) LBKeogh(Env(S), R)
Aggiornamento in O(b)
precisione
17 - 03 - 2006 Warping the Time on Data Streams
Un metodo per soddisfare entrambe i requisiti di:
precisione efficienza
E’ un’evoluzione del DTW
Calcolo simile
Diverse condizioni “di confine”
Obj: Determinare il Warping Path ottimale
Stream dynamic time warping
17 - 03 - 2006 Warping the Time on Data Streams
Frontiera F: un insieme di celle della matrice delle distanze cumulative tale per cui per ogni warping path W si ha W ∩ F = ø
5
5 5
Start frontier End frontier
Concetti base (I)
17 - 03 - 2006 Warping the Time on Data Streams
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…
DTW L : costo minimo del warping path che inizia da una cella della start-frontier
R
3 4 5 3 3 2 3 4
1
2
2
1
0
1
1
2
D
5 14
15 16
17
21
22
23
24 28
1
S
15
5 14
10 21 18 19
35 27
31
27 26
31 25 34
35 26 34
23
4 9 16
1
3 4 5 3 3 2 3 4
1
2
2
1
0
1
1
2
R
5 14
15 16
17
21
22
23
1
23
15
5 14
10 21 18 19
35 27
31
27 26
31 25
35 26
4 9 16
1
34
34
24 28
S
D
R
9 25 25
4 16 16 4
1 9 9 1
25 25 9
1
9 4
36 16
9
16 9 16
9 4 9 16
9 4 9 16
1 4 9
4 6 6 4 4 3 4 5
1
2
3
1
0
1
1
2
S
d
…si ottengono
DTW L : costo minimo del warping path che inizia da una cella della start-frontier e termina in una cella della end-frontier
17 - 03 - 2006 Warping the Time on Data Streams
SDTW =
DTWkL – [DTW L – d(Rts,Sts)] + DTW L
δ
ts ten
α
β
γ
Come funziona la distanza SDTW…
Wopt SDTW
ts
k
k + i
α β γ δ
17 - 03 - 2006 Warping the Time on Data Streams
Come funziona la distanza SDTW… 1
53254344664
25259129362042201910132836261
011232
1
53254344664
25259129362042
212019101325292836261
41384444720574742535316351466215950472
32
α
β
1
53254344664
12310112
40139102
1741
δ
= 47
= 28
1
53254344664
251691416204219913925251
011232
d
S
R
γ = 9
= 17
SDTW = α – (β – γ) + δ = 47k
k+1
17 - 03 - 2006 Warping the Time on Data Streams
Caratteristiche (I)SDTW è un lower bound di DTW
SDTW può essere aggiornata con O(b) operazioni ad ogni step
α
β
γ
δ
DTW L che può essere calcolato con O(2b + 1) operazioni = O(b)
O(1)
O(1)
O(1)
b
=
17 - 03 - 2006 Warping the Time on Data Streams
La distanza SDTW può essere calcolata usando uno spazio di complessità O(n)
Caratteristiche (II)
Calcolo O(n) + Aggiornamento O(b) = O(n + b) = O(n)
17 - 03 - 2006 Warping the Time on Data Streams
Risultati Sperimentali e Applicazioni pratiche di SDTW
17 - 03 - 2006 Warping the Time on Data Streams
Metodo:Valutazione dello strumento in termini di:
1) Efficienza2) Qualità
Confronto dei risultati ottenuti sugli stessi datasets da:
1) DTW2) SDTW3) LB-KeoghSymm
Prove sperimentali eseguite utilizzando :
Intel Pentium 4 a 1.60GHz con 512 MB di memoria principale Sistema operativo Windows 2000 OS
17 - 03 - 2006 Warping the Time on Data Streams
Datasets utilizzati
17 - 03 - 2006 Warping the Time on Data Streams
1. Velocità di processamento (I)
Velocità di processamento o Sampling Rate (Hz): Intervallo di tempo che intercorre tra la lettura di una “Sliding window” e la successiva
n =128: dimensione della “Sliding window”
17 - 03 - 2006 Warping the Time on Data Streams
1. Velocità di processamento (II)
Miglioramento prestazioni SDTW rispetto a DTW, all’aumentare di n
Lo “Speed Up” cresce come O(n)
17 - 03 - 2006 Warping the Time on Data Streams
2. Accuratezza (tightness)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Random walk Burstin Fluid dynamics Network EEG
Dataset
Ac
cu
rac
y
SDTW
LBKeogh-symm
L’accuratezza è misurata come rapporto SDTW / DTW e LB-Keoghsymm/ DTW su 496 coppie di serie temporaliAccuratezza di SDTW si pone sempre sopra al 90%L’accuratezza di LB-Keoghsymm non supera mai il 61% e raggiunge l’8% nel
caso del dataset Burstin
17 - 03 - 2006 Warping the Time on Data Streams
3. Numero di falsi allarmi
Obiettivo: determinare quando la DTW scende sotto un valore soglia Є
Si utilizzano SDTW e LB-Keoghsymm che sono Lower Bound di DTW
Per SDTW i falsi allarmi sono in media lo 0.85% e non sono mai più dell’1,5%
Per LB-Keoghsymm la media raggiunge il 41,13% con un picco del 99%
17 - 03 - 2006 Warping the Time on Data Streams
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.