Warping the Time on Data Streams

25
17 - 03 - 2006 Warping the Time on Data Streams Warping the Time on Data Streams Paolo Capitani Paolo Ciaccia DEIS – IEIIT-BO/CNR, University of Bologna, Italy (Ottobre 2005) Federico Matteoni Fabio Stefanini Luca Tumidei GRUPPO 7

description

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 - PowerPoint PPT Presentation

Transcript of Warping the Time on Data Streams

Page 1: 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

Page 2: Warping the Time on Data Streams

17 - 03 - 2006 Warping the Time on Data Streams

Possibili applicazioni

Analisi finanziarie

Sistemi di videosorveglianza

Ricerche scientifiche

Sistemi di riconoscimento vocale

Page 3: Warping the Time on Data Streams

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

Page 4: 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

Page 5: Warping the Time on Data Streams

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

Page 6: Warping the Time on Data Streams

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

Page 7: Warping the Time on Data Streams

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

Page 8: Warping the Time on Data Streams

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

Page 9: Warping the Time on Data Streams

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

Page 10: Warping the Time on Data Streams

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

Page 11: Warping the Time on Data Streams

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

Page 12: Warping the Time on Data Streams

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)

Page 13: Warping the Time on Data Streams

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

Page 14: Warping the Time on Data Streams

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

α β γ δ

Page 15: Warping the Time on Data Streams

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

Page 16: Warping the Time on Data Streams

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

=

Page 17: Warping the Time on Data Streams

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)

Page 18: Warping the Time on Data Streams

17 - 03 - 2006 Warping the Time on Data Streams

Risultati Sperimentali e Applicazioni pratiche di SDTW

Page 19: Warping the Time on Data Streams

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

Page 20: Warping the Time on Data Streams

17 - 03 - 2006 Warping the Time on Data Streams

Datasets utilizzati

Page 21: Warping the Time on Data Streams

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”

Page 22: Warping the Time on Data Streams

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)

Page 23: Warping the Time on Data Streams

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

Page 24: Warping the Time on Data Streams

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%

Page 25: Warping the Time on Data Streams

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.