Matching
Βάση Χρονοσειρών Μία χρονοσειρά (time serie) είναι μια ακολουθία πραγματικών αριθμών, που αντιπροσωπεύουν μετρήσεις μιας πραγματικής μεταβλητής σε ίσα χρονικά διαστήματα πχ Οι τιμές των μετοχών Όγκος πωλήσεων στην πάροδο του χρόνου Καθημερινή θερμοκρασία Μια βάση δεδομένων χρονοσειρών είναι μια μεγάλη συλλογή χρονοσειρών
Χρονοσειρά 29 28 27 value axis 26 25 24 23 0 50 100 150 200 250 300 350 400 450 500 time axis
Προβλήματα Χρονοσειρών Πρόβλημα ομοιότητας X = x 1, x 2,, x n και Y = y 1, y 2,, y n Ορισμός και υπολογισμός Sim(X, Y) π.χ. οι μετοχές X και Y έχουν παρόμοια συμπεριφορά; Ανάκτηση αποτελεσματικά παρόμοιων χρονοσειρών
Τύποι ερωτημάτων Συνολικό ταίριασμα vs ταίριασμα υποσυνόλου Ερώτημα ομοιότητας εύρους τιμών vs πλησιέστερο Όλα τα ζεύγη ερωτημάτων
Παραδείγματα Βρείτε επιχειρήσεις με παρόμοιες τιμές μετοχών σε ένα χρονικό διάστημα Βρείτε προϊόντα με παρόμοιους κύκλους πωλήσεων Cluster χρήστες με παρόμοια χρήση πιστωτικής κάρτας Βρείτε παρόμοιες υποακολουθίες στο DNA Βρείτε παρόμοιες σκηνές σε video
$price $price 1 365 day $price 1 365 day 1 365 day Συνάρτηση απόστασης: από ειδικό (πχ, Euclidean distance)
Προβλήματα Καθορισμός της συνάρτησης ομοιότητας (ή ήαπόστασης) Βρείτε έναν αποτελεσματικό αλγόριθμο για να ανακτήσετε παρόμοιες χρονοσειρέςαπό όβάση δεδομένων Η Συνάρτηση Ομοιότητας εξαρτάται από την εφαρμογή
Αποστάσεις Τι ιδιότητες πρέπει μια απόσταση ομοιότητας να έχει ώστε να επιτρέπει εύκολο indexing i D(A,B) = D(B,A) Συμμετρία D(A,A) A) = 0 Σταθερή Αυτό ομοιότητα ό D(A,B) >= 0 Θετικότητα D(A,B) D(A,C) + D(B,C) Τριγωνική Ανισότητα
Αποστάσεις Δείτε κάθε ακολουθία ως ένα n διάστατο σημείο (n = μήκος της κάθε ακολουθίας) Η ομοιότητα μεταξύ των X και Y είναι L p n ( i 1 x i y i p 1/ ) p p=1 Manhattan distance p=2 Euclidean distance
Euclidean model Query Q Database Distance Rank n datapoints 0.98 4 Euclidean Distance μεταξύ των χρονοσειρών Q = {q 1, q 2,, q n } και S ={s 1, s 2,, s n } Q 007 0.07 1 0.21 2 S D n 2 Q, S q i s i i 1 n datapoints 043 0.43 3
Classification Χρονοσειρών Will this person buy a computer? 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?? Που ανήκει; Class A Class B
Euclidean απόσταση Δεδομένων 2 time series Q = q 1,, q n C = c 1,, c n και Η Euclidean απόσταση -1 τους είναι: 1.5 1 0.5 0-0.5 1.5 Q C -1.5 0 50 100 150 1 n 2 ( Q, ) ( q c ) 0 i i D Q C i 1 0.5-0.5-1 -1.5 0 50 100 150
Περιορισμοί της Euclidean απόστασης Πολύ ευαίσθητη σε στρέβλωση των δεδομένων Τα Training data Αποτελούνται από 10 στιγμιότυπα από 3 classes Εκτελούμε 1-nearest neighbor αλγόριθμο, με leaving-one-out αξιολόγηση, μέσο όρο 100 runs. Euclidean. σφάλμα: 29.77% DTW Error rate: 333% 3.33
Dynamic Time Warping (DTW) Δυναμική χρονική στρέβλωση Euclidean Distance Αντιστοιχία ένα-προς-ένα Time Warping Distance επιτρέπεται μη γραμμική αντιστοιχία
Dynamic Time Warping (DTW) Δυναμική χρονική στρέβλωση Q DTW ( Q, C) min C K k 1 w k C Q Warping gpath w
Dynamic Time Warping (DTW) Δυναμική χρονική στρέβλωση Κάθε διαδρομή στρέβλωσης w μπορεί να βρεθεί με τη χρήση δυναμικού προγραμματισμού για την αξιολόγηση της επανάληψης: ( i, j ) d ( q, c ) min{ ( i 1, j 1), ( i 1, j ), ( i, j 1)} i j Όπου γ(i, j) είναι η αθροιστική απόσταση από την απόσταση d(i, j) και της ελάχιστης συσωρευτικής απόστασης μεταξύ των γειτονικών κελιών. (i-1,,j) (i, (,j) (i-1, j-1) (i, j-1)
Αποτροπή κάθε παράλογης στρέβλωσης Global Constraints (Περιορισμοί) Q C Q C Sakoe-Chiba Band Itakura Parallelogram
Global Global Constraints (Περιορισμοί) Ο Global Constraint για μία ακολουθία μεγέθους m ορίζετε από τη R, όπου R i = d 0 d m, 1 i m. Το R i ορίζει την ελευθερία της στρέβλωσης πάνω και προς τα δεξιά της διαγωνίου σε κάθε δεδομένο σημείο i στην ακολουθία. R i Sakoe-Chiba Band Itakura Parallelogram l
Επιτρεπτό πλάτος ζώνης Euclidean distance = 2.4836 DTW dist = 1.6389 DTW dist = 1.0204 DTW dist = 1.0204 R = 1 R = 10 R = 25 ίδιο
Edit distance Έστω δύο strings x,y e.g. x = kitten y = sitting Και θέλουμε να μετασχηματίσουμε το x στο y. Χρησιμοποιούμε τους edit τελεστές: 1. insertions 2. deletions 3. substitutions
Edit distance k it t e n s it t i n g 1 ο βήμα: kitten sitten (substitution) 2 ο βήμα : sitten sittin (substitution) 3 ο βήμα : sittin sitting (insertion)
Edit distance Μπορεί να γίνει αλλιώς; Αν: x = darladidirladada y = marmelladara
Edit distance Πολλές εφαρμογές εξαρτώνται από την ομοιότητα δύο strings Βιολογία: ATGCATACGATCGATT TGCAATGGCTTAGCTA A A Τα ζωικά είδη από την ίδια οικογένεια έχουν περισσότερες ομοιότητες στο DNA
Edit distance ζή έξ ί ή Αναζήτηση λέξεων στο διαδίκτυο: συνήθως με mtallica εννοούμε metallica :
Ορισμοί Μας ενδιαφέρουν ακολουθίες bit: Σ = {0,1} n Για i..j<n ορίζουμε την ακολουθία x: x[i..j] Ως x i δηλώνουμε το i οστό bit του x Αντιστοιχούμε τις πράξεις με τις θέσεις στην ακολουθία: deleting x i i substituting x i i inserting y θέση του y, μετά την εισαγωγή Ευθυγράμμιση τ των x, y: είναι η ακολουθία εργασιών για τη μετατροπή του x σε y
Ορισμοί Μήκος ευθυγράμμισης είναι το πλήθος των edit λειτουργιών Βέλτιστη ευθυγράμμιση είναι αυτή που χρησιμοποιεί ελάχιστο αριθμό edit πράξεων Απόσταση edit δύο συμβολοσειρών x, y είναι το μήκος της βέλτιστης ευθυγράμμισης τους: ED(x,y) π.χ. ED(kitten, sitting) = 3 Απόσταση Hamming των δύο ίσου μήκους x, y είναι ο αριθμός των θέσεων για τις οποίες τα αντίστοιχα σύμβολα είναι διαφορετικά (x i y i ) 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 )0iff 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) dl(i 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/ / / h/ / demonstrations/applets/util/dynamic_time_warping/cur rent/index.html http://www.merriampark.com/ld.htm htm