Matching
description
Transcript of Matching
Matching
Βάση Χρονοσειρών
Μία χρονοσειρά (time serie) είναι μια ακολουθία πραγματικών αριθμών, που αντιπροσωπεύουν μετρήσεις μιας πραγματικής μεταβλητής σε ίσα χρονικά διαστήματα πχ– Οι τιμές των μετοχών– Όγκος πωλήσεων στην πάροδο του χρόνου– Καθημερινή θερμοκρασία
Μια βάση δεδομένων χρονοσειρών είναι μια μεγάλη συλλογή χρονοσειρών
Χρονοσειρά
0 50 100 150 200 250 300 350 400 450 50023
24
25
26
27
28
29
time axis
valueaxis
Προβλήματα Χρονοσειρών
Πρόβλημα ομοιότητας X = x1, x2, …, xn και Y = y1, y2, …, yn
Ορισμός και υπολογισμός Sim(X, Y)– π.χ. οι μετοχές X και Y έχουν παρόμοια
συμπεριφορά; Ανάκτηση αποτελεσματικά παρόμοιων
χρονοσειρών
Τύποι ερωτημάτων
Συνολικό ταίριασμα vs ταίριασμα υποσυνόλου Ερώτημα ομοιότητας εύρους τιμών vs
πλησιέστερο Όλα τα ζεύγη ερωτημάτων
Παραδείγματα Βρείτε επιχειρήσεις με παρόμοιες τιμές μετοχών
σε ένα χρονικό διάστημα Βρείτε προϊόντα με παρόμοιους κύκλους
πωλήσεων Cluster χρήστες με παρόμοια χρήση πιστωτικής
κάρτας Βρείτε παρόμοιες υποακολουθίες στο DNA Βρείτε παρόμοιες σκηνές σε video
day
$price
1 365
day
$price
1 365
day
$price
1 365
Συνάρτηση απόστασης: από ειδικό
(πχ, Euclidean distance)
Προβλήματα
Καθορισμός της συνάρτησης ομοιότητας (ή απόστασης)
Βρείτε έναν αποτελεσματικό αλγόριθμο για να ανακτήσετε παρόμοιες χρονοσειρές από βάση δεδομένων
Η Συνάρτηση Ομοιότητας εξαρτάται από την εφαρμογή
Αποστάσεις
Τι ιδιότητες πρέπει μια απόσταση ομοιότητας να έχει ώστε να επιτρέπει εύκολο indexing
D(A,B) = D(B,A) Συμμετρία D(A,A) = 0 Σταθερή Αυτό-ομοιότητα D(A,B) >= 0 Θετικότητα D(A,B) D(A,C) + D(B,C) Τριγωνική
Ανισότητα
Αποστάσεις
Δείτε κάθε ακολουθία ως ένα n-διάστατο σημείο (n = μήκος της κάθε ακολουθίας)
Η ομοιότητα μεταξύ των X και Y είναι
n
i
ppiip yxL
1
/1)||(
p=1 Manhattan distance
p=2 Euclidean distance
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
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?
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
Περιορισμοί της 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 %
Dynamic Time Warping (DTW)
Δυναμική χρονική στρέβλωση
Euclidean DistanceΑντιστοιχία ένα-προς-ένα
Time Warping Distanceεπιτρέπεται μη γραμμική
αντιστοιχία
QC
K
k kwCQDTW1
min),(
Warping path w
Q
C
Q
C
Dynamic Time Warping (DTW)
Δυναμική χρονική στρέβλωση
Κάθε διαδρομή στρέβλωσης 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)
Δυναμική χρονική στρέβλωση
Global Constraints (Περιορισμοί)
C
Q
C
Q
C
Q
C
Q
Sakoe-Chiba Band Itakura Parallelogram
Αποτροπή κάθεπαράλογης
στρέβλωσης
Αποτροπή κάθεπαράλογης
στρέβλωσης
Global Global Constraints (Περιορισμοί)
Ri
Sakoe-Chiba Band Itakura Parallelogram
Ο Global Constraint για μία ακολουθία μεγέθους m ορίζετε από τη R, όπουRi = d 0 d m, 1 i m.
Το Ri ορίζει την ελευθερία της στρέβλωσης πάνω και προς τα δεξιά της διαγωνίουσε κάθε δεδομένο σημείο i στην ακολουθία.
Επιτρεπτό πλάτος ζώνης
DTW dist = 1.6389R = 1
DTW dist = 1.0204R = 25
DTW dist = 1.0204R = 10
Euclidean distance = 2.4836
ίδιο
Edit distance
Έστω δύο strings x,ye.g. x = kitten
y = sittingΚαι θέλουμε να μετασχηματίσουμε το x στο y.Χρησιμοποιούμε τους edit τελεστές: 1.
insertions 2. deletions 3.
substitutions
Edit distance
k i t t e ns i t t i n g
1ο βήμα: kitten sitten (substitution)2ο βήμα : sittensittin (substitution)3ο βήμα : sittinsitting (insertion)
Edit distance
Μπορεί να γίνει αλλιώς;
Αν:x = darladidirladaday = marmelladara
…
Edit distance
Πολλές εφαρμογές εξαρτώνται από την ομοιότητα δύο strings
Βιολογία:
…ATGCATACGATCGATT……TGCAATGGCTTAGCTA…
Τα ζωικά είδη από την ίδια οικογένεια έχουν περισσότερες ομοιότητες στο DNA
Edit distance
Αναζήτηση λέξεων στο διαδίκτυο: συνήθως με “mtallica” εννοούμε “metallica”:
Ορισμοί
Μας ενδιαφέρουν ακολουθίες 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
Ορισμοί
Μήκος ευθυγράμμισης είναι το πλήθος των edit λειτουργιών
Βέλτιστη ευθυγράμμιση είναι αυτή που χρησιμοποιεί ελάχιστο αριθμό edit πράξεων
Απόσταση edit δύο συμβολοσειρών x, y είναι το μήκος της βέλτιστης ευθυγράμμισης τους: ED(x,y) π.χ. ED(kitten, sitting) = 3
Απόσταση Hamming των δύο ίσου μήκους x, y είναι ο αριθμός των θέσεων για τις οποίες τα αντίστοιχα σύμβολα είναι διαφορετικά (xi ≠ yi)e.g. HD(kitten, sittin) = 2
Ιδιότητες
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])
Ιδιότητες
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
Ιδιότητες
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]
Περισσότερες πληροφορίες
http://www.isip.piconepress.com/projects/speech/software/demonstrations/applets/util/dynamic_time_warping/current/index.html
http://www.merriampark.com/ld.htm