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
Scarica

Serie temporali