310 likes | 463 Views
Matching. Βάση Χρονοσειρών. Μία χρονοσειρά ( time serie ) είναι μια ακολουθία πραγματικών αριθμών, που αντιπροσωπεύουν μετρήσεις μιας πραγματικής μεταβλητής σε ίσα χρονικά διαστήματα πχ Οι τιμές των μετοχών Όγκος πωλήσεων στην πάροδο του χρόνου Καθημερινή θερμοκρασία
E N D
Βάση Χρονοσειρών • Μία χρονοσειρά (time serie) είναι μια ακολουθία πραγματικών αριθμών, που αντιπροσωπεύουν μετρήσεις μιας πραγματικής μεταβλητής σε ίσα χρονικά διαστήματα πχ • Οι τιμές των μετοχών • Όγκος πωλήσεων στην πάροδο του χρόνου • Καθημερινή θερμοκρασία • Μια βάση δεδομένων χρονοσειρών είναι μια μεγάλη συλλογή χρονοσειρών
29 28 27 26 25 24 23 0 50 100 150 200 250 300 350 400 450 500 Χρονοσειρά value axis time axis
Προβλήματα Χρονοσειρών • Πρόβλημα ομοιότητας X = x1, x2, …, xnκαι Y = y1, y2, …, yn • Ορισμός και υπολογισμός Sim(X, Y) • π.χ. οι μετοχές X και Y έχουν παρόμοια συμπεριφορά; • Ανάκτηση αποτελεσματικά παρόμοιων χρονοσειρών
Τύποι ερωτημάτων • Συνολικό ταίριασμαvsταίριασμα υποσυνόλου • Ερώτημα ομοιότητας εύρους τιμών vsπλησιέστερο • Όλα τα ζεύγη ερωτημάτων
Παραδείγματα • Βρείτε επιχειρήσεις με παρόμοιες τιμές μετοχών σε ένα χρονικό διάστημα • Βρείτε προϊόντα με παρόμοιους κύκλους πωλήσεων • Cluster χρήστες με παρόμοια χρήση πιστωτικής κάρτας • Βρείτε παρόμοιες υποακολουθίες στο DNA • Βρείτε παρόμοιες σκηνές σε video
$price $price $price 1 1 1 365 365 365 day day day Συνάρτηση απόστασης: απόειδικό (πχ, 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 είναι p=1 Manhattan distance p=2 Euclidean distance
n datapoints n datapoints Database Distance Rank Query Q 4 0.98 0.07 1 Euclidean Distance μεταξύ των χρονοσειρώνQ = {q1, q2, …, qn} και S = {s1, s2, …, sn} Q 2 0.21 S 3 0.43 Euclidean model
Class A Class B Που ανήκει; Classification Χρονοσειρών Will this person buy a computer?
Euclidean απόσταση Δεδομένων 2 time series Q = q1, …, qnκαι C = c1, …, cn Η Euclidean απόσταση τους είναι: Q C
Περιορισμοί της Euclidean απόστασης Πολύ ευαίσθητη σε στρέβλωση των δεδομένων Τα 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 επιτρέπεται μη γραμμική αντιστοιχία
Q C Dynamic Time Warping (DTW) Δυναμική χρονική στρέβλωση Warping path w
(i-1, j) (i, j) (i-1, j-1) (i, j-1) Dynamic Time Warping (DTW) Δυναμική χρονική στρέβλωση Κάθε διαδρομή στρέβλωσης w μπορεί να βρεθεί με τη χρήση δυναμικού προγραμματισμού για την αξιολόγηση της επανάληψης: Όπου γ(i, j)είναι η αθροιστική απόσταση από την απόσταση d(i, j)και της ελάχιστης συσωρευτικής απόστασης μεταξύ των γειτονικών κελιών.
Global Constraints (Περιορισμοί) Αποτροπή κάθεπαράλογηςστρέβλωσης Sakoe-Chiba Band Itakura Parallelogram
Global Global Constraints (Περιορισμοί) ΟGlobal Constraint για μία ακολουθία μεγέθους mορίζετε από τη R, όπου Ri = d 0 d m, 1 i m. ΤοRiορίζει την ελευθερία της στρέβλωσης πάνω και προς τα δεξιά της διαγωνίουσε κάθε δεδομένο σημείο iστην ακολουθία. Ri Itakura Parallelogram Sakoe-Chiba Band
Επιτρεπτό πλάτοςζώνης Euclidean distance = 2.4836 DTW dist = 1.6389 R = 1 DTW dist = 1.0204 R = 10 DTW dist = 1.0204 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 i t t e n s i t tin g 1οβήμα: kitten sitten (substitution) 2οβήμα : sittensittin (substitution) 3οβήμα : sittinsitting (insertion)
Edit distance Μπορεί να γίνει αλλιώς; Αν: x = darladidirladada y = 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
Ιδιότητες • Τρίγωνική Ανισότητα: για κάθε τρία strings x, y, z αυθαίρετου μήκους ED(x,y) ≤ ED(x,z) + ED(z,y) • Διάσπαση Ανισότητας: έστω τα μήκη των 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])
Ιδιότητες • έστω τα μήκη των 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
Ιδιότητες • 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