Matching

31
Matching

description

Matching. Βάση Χρονοσειρών. Μία χρονοσειρά ( time serie ) είναι μια ακολουθία πραγματικών αριθμών, που αντιπροσωπεύουν μετρήσεις μιας πραγματικής μεταβλητής σε ίσα χρονικά διαστήματα πχ Οι τιμές των μετοχών Όγκος πωλήσεων στην πάροδο του χρόνου Καθημερινή θερμοκρασία - PowerPoint PPT Presentation

Transcript of Matching

Page 1: Matching

Matching

Page 2: Matching

Βάση Χρονοσειρών

Μία χρονοσειρά (time serie) είναι μια ακολουθία πραγματικών αριθμών, που αντιπροσωπεύουν μετρήσεις μιας πραγματικής μεταβλητής σε ίσα χρονικά διαστήματα πχ– Οι τιμές των μετοχών– Όγκος πωλήσεων στην πάροδο του χρόνου– Καθημερινή θερμοκρασία

Μια βάση δεδομένων χρονοσειρών είναι μια μεγάλη συλλογή χρονοσειρών

Page 3: Matching

Χρονοσειρά

0 50 100 150 200 250 300 350 400 450 50023

24

25

26

27

28

29

time axis

valueaxis

Page 4: Matching

Προβλήματα Χρονοσειρών

Πρόβλημα ομοιότητας X = x1, x2, …, xn και Y = y1, y2, …, yn

Ορισμός και υπολογισμός Sim(X, Y)– π.χ. οι μετοχές X και Y έχουν παρόμοια

συμπεριφορά; Ανάκτηση αποτελεσματικά παρόμοιων

χρονοσειρών

Page 5: Matching

Τύποι ερωτημάτων

Συνολικό ταίριασμα vs ταίριασμα υποσυνόλου Ερώτημα ομοιότητας εύρους τιμών vs

πλησιέστερο Όλα τα ζεύγη ερωτημάτων

Page 6: Matching

Παραδείγματα Βρείτε επιχειρήσεις με παρόμοιες τιμές μετοχών

σε ένα χρονικό διάστημα Βρείτε προϊόντα με παρόμοιους κύκλους

πωλήσεων Cluster χρήστες με παρόμοια χρήση πιστωτικής

κάρτας Βρείτε παρόμοιες υποακολουθίες στο DNA Βρείτε παρόμοιες σκηνές σε video

Page 7: Matching

day

$price

1 365

day

$price

1 365

day

$price

1 365

Συνάρτηση απόστασης: από ειδικό

(πχ, Euclidean distance)

Page 8: Matching

Προβλήματα

Καθορισμός της συνάρτησης ομοιότητας (ή απόστασης)

Βρείτε έναν αποτελεσματικό αλγόριθμο για να ανακτήσετε παρόμοιες χρονοσειρές από βάση δεδομένων

Η Συνάρτηση Ομοιότητας εξαρτάται από την εφαρμογή

Page 9: Matching

Αποστάσεις

Τι ιδιότητες πρέπει μια απόσταση ομοιότητας να έχει ώστε να επιτρέπει εύκολο indexing

D(A,B) = D(B,A) Συμμετρία D(A,A) = 0 Σταθερή Αυτό-ομοιότητα D(A,B) >= 0 Θετικότητα D(A,B) D(A,C) + D(B,C) Τριγωνική

Ανισότητα

Page 10: Matching

Αποστάσεις

Δείτε κάθε ακολουθία ως ένα n-διάστατο σημείο (n = μήκος της κάθε ακολουθίας)

Η ομοιότητα μεταξύ των X και Y είναι

n

i

ppiip yxL

1

/1)||(

p=1 Manhattan distance

p=2 Euclidean distance

Page 11: Matching

Euclidean modelQuery Q

n datapoints

n

iii sqSQD

1

2,

S

Q

Euclidean Distance μεταξύ των χρονοσειρών Q = {q1, q2, …, qn} και S = {s1, s2, …, sn}

Distance

0.98

0.07

0.21

0.43

Rank

4

1

2

3

Database

n datapoints

Page 12: Matching

Classification Χρονοσειρών

Class BClass BClass AClass A

Που ανήκει;

Age Income Student CreditRating Class: buy comp.

28 High No Fair No

25 High No Excellent No

35 High No Fair Yes

45 Medium No Excellent No

18 Low Yes Fair Yes

49 High No Fair ??Will this person buy a

computer?

Will this person buy a computer?

Page 13: Matching

Euclidean απόστασηΔεδομένων 2 time seriesQ = q1, …, qn και

C = c1, …, cn

Η Euclidean απόσταση τους είναι:

n

iii cqCQD

1

2)(),(

0 50 100 150-1.5

-1

-0.5

0

0.5

1

1.5

0 50 100 150-1.5

-1

-0.5

0

0.5

1

1.5

Q

C

Page 14: Matching

Περιορισμοί της Euclidean απόστασης

Πολύ ευαίσθητη σε στρέβλωση των δεδομένων

Τα Training data Αποτελούνται από 10

στιγμιότυπα από 3 classes

Τα Training data Αποτελούνται από 10

στιγμιότυπα από 3 classes

Εκτελούμε 1-nearest neighbor αλγόριθμο, με “leaving-one-out” αξιολόγηση, μέσο όρο 100 runs.

.Euclidean σφάλμα:29.77%

DTW Error rate:3.33 %

Page 15: Matching

Dynamic Time Warping (DTW)

Δυναμική χρονική στρέβλωση

Euclidean DistanceΑντιστοιχία ένα-προς-ένα

Time Warping Distanceεπιτρέπεται μη γραμμική

αντιστοιχία

Page 16: Matching

QC

K

k kwCQDTW1

min),(

Warping path w

Q

C

Q

C

Dynamic Time Warping (DTW)

Δυναμική χρονική στρέβλωση

Page 17: Matching

Κάθε διαδρομή στρέβλωσης w μπορεί να βρεθεί με τη χρήση δυναμικού προγραμματισμού για την αξιολόγηση της επανάληψης:

)}1,(),,1(),1,1(min{),(),( jijijicqdji ji

Όπου γ(i, j) είναι η αθροιστική απόσταση από την απόστασηd(i, j) και της ελάχιστης συσωρευτικής απόστασης μεταξύ των γειτονικών κελιών.

(i-1, j)

(i, j-1)

(i, j)

(i-1, j-1)

Dynamic Time Warping (DTW)

Δυναμική χρονική στρέβλωση

Page 18: Matching

Global Constraints (Περιορισμοί)

C

Q

C

Q

C

Q

C

Q

Sakoe-Chiba Band Itakura Parallelogram

Αποτροπή κάθεπαράλογης

στρέβλωσης

Αποτροπή κάθεπαράλογης

στρέβλωσης

Page 19: Matching

Global Global Constraints (Περιορισμοί)

Ri

Sakoe-Chiba Band Itakura Parallelogram

Ο Global Constraint για μία ακολουθία μεγέθους m ορίζετε από τη R, όπουRi = d 0 d m, 1 i m.

Το Ri ορίζει την ελευθερία της στρέβλωσης πάνω και προς τα δεξιά της διαγωνίουσε κάθε δεδομένο σημείο i στην ακολουθία.

Page 20: Matching

Επιτρεπτό πλάτος ζώνης

DTW dist = 1.6389R = 1

DTW dist = 1.0204R = 25

DTW dist = 1.0204R = 10

Euclidean distance = 2.4836

ίδιο

Page 21: Matching

Edit distance

Έστω δύο strings x,ye.g. x = kitten

y = sittingΚαι θέλουμε να μετασχηματίσουμε το x στο y.Χρησιμοποιούμε τους edit τελεστές: 1.

insertions 2. deletions 3.

substitutions

Page 22: Matching

Edit distance

k i t t e ns i t t i n g

1ο βήμα: kitten sitten (substitution)2ο βήμα : sittensittin (substitution)3ο βήμα : sittinsitting (insertion)

Page 23: Matching

Edit distance

Μπορεί να γίνει αλλιώς;

Αν:x = darladidirladaday = marmelladara

Page 24: Matching

Edit distance

Πολλές εφαρμογές εξαρτώνται από την ομοιότητα δύο strings

Βιολογία:

…ATGCATACGATCGATT……TGCAATGGCTTAGCTA…

Τα ζωικά είδη από την ίδια οικογένεια έχουν περισσότερες ομοιότητες στο DNA

Page 25: Matching

Edit distance

Αναζήτηση λέξεων στο διαδίκτυο: συνήθως με “mtallica” εννοούμε “metallica”:

Page 26: Matching

Ορισμοί

Μας ενδιαφέρουν ακολουθίες bit: Σ = {0,1}n

Για i..j<n ορίζουμε την ακολουθία x: x[i..j] Ως xi δηλώνουμε το i-οστό bit του x Αντιστοιχούμε τις πράξεις με τις θέσεις στην

ακολουθία:deleting xi ↔ isubstituting xi ↔ iinserting y ↔ θέση του y, μετά την εισαγωγή

Ευθυγράμμιση τ των x, y: είναι η ακολουθία εργασιών για τη μετατροπή του x σε y

Page 27: Matching

Ορισμοί

Μήκος ευθυγράμμισης είναι το πλήθος των edit λειτουργιών

Βέλτιστη ευθυγράμμιση είναι αυτή που χρησιμοποιεί ελάχιστο αριθμό edit πράξεων

Απόσταση edit δύο συμβολοσειρών x, y είναι το μήκος της βέλτιστης ευθυγράμμισης τους: ED(x,y) π.χ. ED(kitten, sitting) = 3

Απόσταση Hamming των δύο ίσου μήκους x, y είναι ο αριθμός των θέσεων για τις οποίες τα αντίστοιχα σύμβολα είναι διαφορετικά (xi ≠ yi)e.g. HD(kitten, sittin) = 2

Page 28: Matching

Ιδιότητες

1. Τρίγωνική Ανισότητα: για κάθε τρία strings x, y, z αυθαίρετου μήκους

ED(x,y) ≤ ED(x,z) + ED(z,y)

2. Διάσπαση Ανισότητας: έστω τα μήκη των x, y n και m αντίστοιχα. Για κάθε i,j:

ED(x,y) ≤ ED(x[1..i],y[1..j])+ED(x[i+1..n],y[j+1..m])

Page 29: Matching

Ιδιότητες

3. έστω τα μήκη των x, y n και m αντίστοιχα (n ≤ m). Τότε:

– ED(x,y) ≤ m– ED(x,y) ≥ m-n– ED(x,y)=0 iff x=y– if m=n, ED(x,y) ≤ HD(x,y)– ED(x,y) ≥ αριθμός χαρακτήρων (δεν

υπολογίζονται οι διπλοί) που βρίσκονται στο x, αλλά όχι στο y

Page 30: Matching

Ιδιότητες

4. – insτ(i..j) = πλήθος εισαγωγών (insertions) στο

διάστημα [i..j]– delτ(i..j) = πλήθος deletions στο διάστημα [i..j]– subτ(i..j) = πλήθος αντικαταστάσεων

(substitutions) στο διάστημα [i..j]

– shτ(i..j) = insτ(i..j) - delτ(i..j)shτ(i..j) είναι η μετατόπιση στο x[i..j]Ορίζεται shτ(i) = shτ(1..i) και shτ(0) = 0

– edτ(i..j) είναι η υπο-ακολουθία των edit λειτουργιών εντός του [i..j]