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
17 - 03 - 2006
Warping the Time on Data Streams
Possibili applicazioni
Analisi finanziarie
Sistemi di videosorveglianza
Ricerche scientifiche
Sistemi di riconoscimento vocale
17 - 03 - 2006
Warping the Time on Data Streams
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
valore
Sliding window
R
S
tempo
istante attuale
17 - 03 - 2006
Warping the Time on Data Streams
Un nuovo Approccio …
Fino ad ora :
Imprecisa in analisi con distorsioni temporali
Distanza Euclidea
Troppo dispendiosa in termini di Complessità Computazionale
DTW
SDTW
17 - 03 - 2006
Warping the Time on Data Streams
Distanza Euclidea
L2(R1n, S1n)2 = Σi=1n (Ri - Si )2
81
2
72
1
1
R
63
0
59
1
43
3
34
2
1
d
•
Intuitiva
• Facile implementazione
• Calcolo rapido
• Non è adatta per la valutazione di serie temporali con
contrazione ed espansione
• Bassa complessità dell’aggiornamento nel tempo
17 - 03 - 2006
25
9
4
6
6
4
4
3
4
5
S
Warping the Time on Data Streams
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
differenti posizioni temporali,in modo da
compensare possibili sfasamenti temporali
S
R
t
17 - 03 - 2006
Warping the Time on Data Streams
Dynamic Time Warping
Ciascun percorso-W (Warping path) definisce l’allineamento tra le
serie R e S ed il conseguente costo da sopportare!
Matrice distanze
2
1
1
9
0
R
d
1
4
9
2
55 58 67
9
4
9 16
1
74 54 59 71
9
4
9 16
1
65 65 50 55 69
36 16 16 9 16
1
b
Matrice warping path
25 25 9
9
9
1
3
1
2
4 16 16 4
1
9 25 25
4
6
9
6
S
1
R
4
0
39 47 40 41 37
i-1,j-1 i,j-1
3 14 22 31 32 33
2 13 25 41 45
4
3
4
5
WP
Wopt
9 34 59
4
6
6
4
4
3
4
5
S
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
17 - 03 - 2006
i,j
75 56 56 46 53
1
1
4
i-1,j
Warping the Time on Data Streams
Dynamic Time Warping
precisione
l’allineamento al tempo t non è garantito al tempo t+1
R
1
2
3
2
1
1
0
1
3
2
1
D
44 45 58
41 42 47
37 41 42 42 43
35 39 49 49 49
43 35 40 52 53
34 34 31 36 52
25 25 27 48
9 18 22
Complessità
dell’aggiornamento
O(n) – O(n2)
n
4 6 6 4 4 3 4 5 2 3 5
1
S
9
1
1
b
d
9
4
9 16
9
4
9 16
25 25 9
9
9
1
3
1
2
4 16 16 4
1
9 25 25
4
b
17 - 03 - 2006
4
9
36 16 16 9 16
0
R
il DTW si può discostare dalla
diagonale della matrice di un numero b
di caselle (Sakoe-Chiba band)
1
2
6
9
6
1
4
4
4
3
4
5
S
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
Qualità dei risultati
Velocità di update
17 - 03 - 2006
Velocità di update
Warping the Time on Data Streams
LB-KeoghSymm
Un possibile approccio…
Serie Q and suo sviluppo Env(Q)
{
Low(Q)
Up(Q)
LBKeogh(Env(Q), S)
LBKeogh(Env(R), S)
LBKeoghSymm(R, S) = max
17 - 03 - 2006
{
LBKeogh(Env(S), R)
LBKeogh(Env(R), S)
LBKeogh(Env(S), R)
Aggiornamento
in O(b)
precisione
Warping the Time on Data Streams
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
17 - 03 - 2006
Warping the Time on Data Streams
Concetti base (I)
5
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
5
17 - 03 - 2006
End frontier
5
Warping the Time on Data Streams
Concetti base (II)
2
1
1
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…
9
0
R
D
2
4 16 16 4
1
9 25 25
4
6
6
1
35 23 26 34
1
35 23 26 34
1
31 31 22 25 34
1
31 31 22 25 34
R
35 27 27 21 26
0
10 21 18 19 17
1
5 14 15 16
2
1
5 14 15 16
2
1
5 14 15
2
1
5 14 15
1
4
9 16
1
4
9 16
3
4
3
4
3
4
S
DTW L : costo minimo del warping
path che inizia da una cella della
start-frontier
17 - 03 - 2006
9 16
1
4
4
4
3
4
5
10 21 18 19 17
1
2
4
35 27 27 21 26
2
3
9
S
23 24 28
3
9
1
2
5
9 16
9
9
23 24 28
1
4
9
1
2
0
9
25 25 9
3
…si ottengono
R
4
36 16 16 9 16
1
d
1
D
5
3
3
2
3
4
S
DTW L : costo minimo del warping path
che inizia da una cella della start-frontier e
termina in una cella della end-frontier
Warping the Time on Data Streams
Come funziona la distanza SDTW…
SDTW
=
DTWkL – [DTW L – d(Rts,Sts)] + DTW L
α
β
γ
ts
δ
n
α
te
δ
k+i
k
ts
γ
β
17 - 03 - 2006
Wopt SDTW
Warping the Time on Data Streams
Come funziona la distanza SDTW…
1
2
3
2
47 50 59
1
62 46 51 63
1
53 53 42 47 57
0
72 44 44 38 41
1
26 36 28 29 25
3 1 10 19 20 21
2 4 20 36 29
1 9 25 25
α = 47
1
2
3
2
1
1
0
1
26 36 28
3 1 10 19 20
2 4 20 36 29
1 9 25 25
4 6 6 4 4 3 4 5 2 3 5
4 6 6 4 4 3 4 5 2 3 5
1
2
3
2
1
1
0
1
3
2
1
1 4 17
0 1 9
1 0 4
β = 28
1
2
3
2
1
1
0
1
25 25 9
3 1 9 9 1
2 4 20 16 4
1 9 16 25
R
δ = 17
d
γ =9
4 6 6 4 4 3 4 5 2 3 5
S
k+1
k
4 6 6 4 4 3 4 5 2 3 5
17 - 03 - 2006
SDTW = α – (β – γ) + δ = 47
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)
17 - 03 - 2006
β
O(1)
γ
O(1)
δ
O(1)
Warping the Time on Data Streams
b
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)
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) Efficienza
2) Qualità
Confronto dei risultati ottenuti sugli stessi datasets da:
1) DTW
2) SDTW
3) 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)
100%
SDTW
90%
LBKeogh-symm
Accuracy
80%
70%
60%
50%
40%
30%
20%
10%
0%
Random walk
Burstin
Fluid dynamics
Network
EEG
Dataset
L’accuratezza è misurata come rapporto SDTW / DTW e LB-Keoghsymm/ DTW
su 496 coppie di serie temporali
Accuratezza 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-Keogh
17 - 03 - 2006
symm
la media raggiunge il 41,13% con un picco del 99%
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.
17 - 03 - 2006
Warping the Time on Data Streams