nagym eretu} adathalmazok kezel ese · 2011. 4. 14. · nagym eretu} adathalmazok kezel ese...
TRANSCRIPT
Nagymeretu Adathalmazok KezeleseIdosorok Elemzese
Marta Zsolt
BME-SZIT (Hallgato)
2011.04.01 ¨
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 1 / 34
Tartalom
1 Bevezetes
2 Hasonlosagi mertekek
3 Indexeles
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 2 / 34
Itt tartunk
1 Bevezetes
2 Hasonlosagi mertekek
3 Indexeles
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 3 / 34
Bevezetes
Idosor: adatok ido szerint rendezve
Altalaban azonos mintaveteli periodussal, de nem feltetlenul!
A vilag adatainak jelentos resze idosorkent all elo
”Hagyomanyos” adatbanyaszati modszerek nem hatekonyakI Szamıt a sorrend!I Rendkıvul nagymeretu adathalmazokI Adatok osszefuggenek (fuggnek az idotol)I Zaj
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 4 / 34
Feladatok
Indexeles (lekerdezes hasonlosag alapjan)
Klaszterezes
Osztalyozas
Elorejelzes
Osszegzes (tomorıtes)
Anomalia-kereses
Szegmentalas
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 5 / 34
Itt tartunk
1 Bevezetes
2 Hasonlosagi mertekek
3 Indexeles
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 6 / 34
Tavolsag meghatarozasa
Ket idosort akarunk osszehasonlıtani
Ket egyforma idosor ritkan akad, ezert egyezoseg helyett hasonlosagothasznalunk
A legtobb algoritmus ezen alapszik!
Egyszeru modszer: a ket (egyforma hosszu) idosort n-dimenziosvektornak tekintjuk
A tavolsag az idosorok (~x es ~y) kozott az Lp-normaval kaphato meg:
Lp(~x , ~y) = (n−1∑i=0
|xi − yi |p)1p
Nagyon kulonbozik az ”emberi hasonlosagtol”, erzekeny
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 7 / 34
Az Lp-norma hibai
A konstans ertekben eltero idosorokat lehet normalizalni:
xi =xi − µ(~x)
σ(~x)
ahol µ az atlag, σ a szoras.
De:
Latszolag hasonlo, az Lp-norma megis nagy kulonbseget ad
Megoldas: idobeli elcsuszasok figyelembevetele
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 8 / 34
Dynamic Time Warping
Eloszor beszedfelismeresben alkalmaztak
Dinamikus programozas:
I ~x(x0, x1, . . . , xn−1) es ~y(y0, y1, . . . , ym−1) a ket idosorI Legyen DTW egy n ∗m-es matrix, ekkor DTW [n,m] a tavolsagI
DTW [i , j ] = d(xi , yj) + min(DTW [i − 1, j ],
DTW [i , j − 1],
DTW [i − 1, j − 1])
I Θ(nm) ido alatt szamolhato
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 9 / 34
Dynamic Time Warping
Csuszoablakkal(ω) gyorsıthato Θ(nω)-ra
Minden elemet felhasznal (van amit tobbszor), erzekeny a zajra
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 10 / 34
Longest Common Subsequence
Leghosszabb kozos reszsorozat
Nem kell minden elemet figyelembe venni (zaj), csak a sorrend szamıt
{1, 2, 3, 4, 5, 1, 7} es {2, 5, 4, 5, 3, 1, 8} LCSS-e a {2, 4, 5, 1}Dinamikus programozas:
I Legyen L[i , j ] egy n ∗m-es matrix, ekkor LCSS(~x , ~y) ≡ L[n,m]I
L[i , j ] =
{1 + L[i − 1, j − 1] , ha xi = yjmax(L[i − 1, j ], L[i , j − 1]) egyebkent
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 11 / 34
Longest Common Subsequence kiterjesztese
Az elemek pontos egyezese tul szigoru
Θ(nm) is meg tul sok ido ⇒ csuszoablak
L[i , j ] =
1 + L[i − 1, j − 1] , ha |xi − yj | < ε
es |i − j | < ωmax(L[i − 1, j ], L[i , j − 1]) egyebkent
ahol ε az elemek max. tavolsaga, es ω a csuszoablak
Nem kell minden elemet kiszamolni a matrixnak, cserebe fennall ahibalehetoseg
O((n + m)ω) mar jobb, foleg kis ω-ra
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 12 / 34
Longest Common Subsequence hasonlosag
Ezek alapjan hasonlosag merteke meghatarozhato:
S(ε, ω,~x , ~y) =LCSSε,ω(~x , ~y)
min(n,m)
Mi van, ha a ket idosor ”hasonlo”, de egy konstans ertekbenkulonbozik?
Legyen F az fc(~x) = (x0 + c, . . . , xn−1 + c) transzformaciok(eltolasok) halmaza
Ekkor:
S2(ε, ω,~x , ~y) = maxfc∈F
S(ε, ω,~x , ~y)
A tavolsag pedig:
D(ε, ω,~x , ~y) = 1− S2(ε, ω,~x , ~y)
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 13 / 34
Longest Common Subsequence hatekony szamıtasa
S szamıtasi modjat lattuk; ha a csuszoablak nagy, lehet javıtanimintavetelezessel
S2 szamıtasa nem trivialis:
I Vegtelen szamu eltolas letezik, de veges szamu kulonbozo LCSS-eketadnak
I Vegyuk a ket-dimenzios sıkot, ahol X -tengelyen xi elemeit vesszuk fel,az Y -tengelyen pedig yi -ket
I Vegyunk fel ((xi , yj − ε), ((xi , yj + ε)) pontokkal hatarolt szakaszokat,ahol |i − j | < ω
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 14 / 34
Longest Common Subsequence hatekony szamıtasa/2.
O(ω(n + m)) ilyen szakasz van
Ekkor az eltolasok 1-meredeksegu egyenesek
~x ′ ≡ fc(~x) az eltolassal kapott uj idosor
x ′i parosıthato egy yj -vel ⇔ az f (x) = x + c egyenes metszi a((xi , yj − ε), ((xi , yj + ε)) szakaszt
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 15 / 34
Longest Common Subsequence hatekony szamıtasa/3.
Ha ket vonal kulonbozo szakaszokat metsz, lehet mas a LCSS
De csak vegpontoknal tortenhet ilyen
Mivel O(ω(n + m)) vegpont van, ezert minden ilyen lehetsegesmetszeten vegigmenve az optimum kiszamolhato O(ω2(n + m)2)idoben
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 16 / 34
Longest Common Subsequence hatekony szamıtasa/4.
A negyzetes futasi ido tul sok, eleg lehet csak kozelıteni
Vegyuk a lehetseges kulonbozo LCSS-t ado eltolasokat, es rendezzukc , az eltolas merteke alapjan. Az ıgy kapott konstansok:~c = (c1, . . . , c2ωn) (Tfh. n > m).
Legyen Lfc azon szakaszok halmaza, amit metsz az fc transzformacio
Ekkor Lfci ∆Lfcj ≤ |i − j |, mivel fci es fci+1 kozott maximum egy
kulonbseg lehet (szakaszvegpont)
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 17 / 34
Longest Common Subsequence hatekony szamıtasa/5.
Ha tekintjuk az fcib eltolasokat (i = 1, . . . , b2ωnb c), ezek maximum b
talalatban kulonboznek az optimumtol
Tehat az optimalis S2-t kozelıthetjukS2(ε, ω,~x , ~y)− S2(ε, ω,~x , ~y) < β mertekben (0 < β < 1)
Rendezes nem szukseges, a transzformaciok O(ωnb ωn) idobenmegtalalhatok kvantilis-szamıtassal
Tehat az algoritmus O(nω2
β ) idoben fut, ha b = βn
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 18 / 34
Altalanossagban
A tavolsag tulajdonkeppen azon transzformaciok szama, melyekkel azegyik idosor a masikba viheto
A tavolsagfuggveny metrika, ha teljesul:
I Pozitivitas: δ(x , y) ≥ 0, δ(x , y) = 0⇔ x = yI Szimmetria: δ(x , y) = δ(y , x)I Haromszog-egyenlotlenseg: δ(x , y) + δ(y , z) ≥ δ(x , z)
A DTW, LCSS nem metrika!
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 19 / 34
Altalanossagban/2.
A zajra robusztus tavolsagfuggvenyek tipikusan aharomszog-egyenlotlenseget sertik meg, mert csak a leghasonlobbreszeket veszik figyelembe
Altalanossagban elvarjuk, hogy a tavolsagfuggvenyeink kezeljek azalabbiakat:
I Eltero (mintavetelezesi) sebessegI Kiugro ertekek, nem-feher zajI Eltero hosszakI Hatekonysag
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 20 / 34
Itt tartunk
1 Bevezetes
2 Hasonlosagi mertekek
3 Indexeles
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 21 / 34
Indexeles bevezeto
Adott mintahoz keressuk meg a leghasonlobbat!
Alapesetben vegigmegyunk az adatbazison, O(nm) legalabb, ami nemelfogadhato
Leteznek erre algoritmusok, de az idosorok eseteben van meg parnehezseg:
I Az adatok ertekkeszlete nem feltetlenul veges vagy diszkretI A mintavetelezes sebessege nem feltetlenul konstansI A zaj jelenlete rugalmas hasonlosagi fuggvenyt tesz szuksegesse
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 22 / 34
Indexelesi problema
A problema: adott ~q minta, X idosorok egy halmaza, δtavolsag-fuggveny, es egy tureshatar ε; keressuk a ~q-hoz hasonlosorokat:
R = {~x ∈ X | δ(~q,~x) ≤ ε}
X lehet egy nagyon hosszu idosor is, ekkor a problema X reszsorjairaervenyes
Ha S egy indexelesi modszer altal megtalalt halmaz, akkor S − R ateves talalatok, mıg R − S a teves elutasıtasok halmaza
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 23 / 34
Indexeles elvarasok
Egy indexelesi modszer elvart tulajdonsagai:
Legyen gyorsabb, mint a szekvencialis scan
Keves tarhelyet igenyeljen
Valtozo meretu lekerdezesekre mukodjon
Ne kelljen ujraepıteni az indexet beszuraskor, es torleskor
Legyen helyes, azaz ne legyenek teves elutasıtasok; lehetoleg minelkevesebb teves talalat legyen
Az index epıtese ne legyen tul lassu
Legyen kompatibilis tobb tavolsagfuggvennyel
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 24 / 34
Dimenziocsokkentes
~q n-dimenzios vektor legkozelebbi szomszedjait keressuk
Terindex algoritmusok leteznek ennek hatekony megoldasara (R-fa,kd-fa)
De lenyegesen romlik a hatekonysaguk nagy n-re (Dimenzio-atok),valamint csak metrikakkal mukodnek!
Probaljuk meg csokkenteni a dimenziot, vegyunk egy k-dimenzios(k � n) lenyomatat ~q-nak: q, es azt indexeljuk
Akkor tudjuk garantalni a helyesseget, ha biztosıtjuk, hogy alenyomatterbeli tavolsagfuggvenyre (δk):
δk(x , y) ≤ δ(~x , ~y)
A szekvencialis elerest is segıti
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 25 / 34
Lenyomatkepzes: spektrum
A legtobb letezo idosor reprezentalhato a ”legerosebb”frekvenciakomponenseivel
Vegyuk hat az elso k amplitudo-egyutthatot lenyomatnak
Ekkor az Euklideszi-tavolsag a frekvenciaterben alulbecsuli a valostavolsagot
Ha reszsorra keresunk, az adatbazis minden pozıciojabol vegyunklenyomatot (ω-meretut), es taroljuk pl. R-faban.
Ha |~q| > ω, akkor bontsuk fel a lekerdezest, es az allekerdezesekmetszete lesz a megoldas
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 26 / 34
Lenyomatkepzes: spektrum/2.
A hatranya, hogy elsimıtja a szelsosegeket
DFT helyett DWT is hasznalhato, jobbnak bizonyult kıserletekben
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 27 / 34
Lenyomatkepzes: PCA
Piecewise Constant Approximation: bontsuk k reszre az idosort, esezen szegmensek atlagos ertekei legyenek a koordinatai a k-dimenziosvektorunknak
Lehet adaptıvan is (nem azonos hosszu szegmensek)
Nagyon egyszeru, es gyors (pl. a DWT-hez kepest 10-szer gyorsabb)
Akarmilyen Lp-normaval mukodik
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 28 / 34
Lenyomatkepzes: Landmark
Nem konkret modszer, inkabb csalad
Erdemes csak a meghatarozo ”formakat” kinyerni
Peldaul n-edik derivalt zerushelyek, meghatarozo fordulopontok
Robusztussa teheto eltolasra, egyenletes, sot nem egyenletes nyujtasrais
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 29 / 34
Landmark pelda
Eloszor is vegyunk az idosor ”fontos” fordulopontjait:
xm fontos minimuma az xi , . . . , xj pontoknak, ha:
I ∀ i ≤ k ≤ j , xm ≤ xkI xi/xm ≥ R, xj/xm ≥ R
ahol R a tomorıtesi arany.
Hasonloan maximumokra
Linearis idoben, gyorsan szamolhato
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 30 / 34
Landmark pelda/2.
A tomorıtes utan tudjuk a lenyomatot elkeszıteni: vegyuk a fontosfordulopontok kozotti szakaszokat (labak)
A labakrol taroljuk a ket szelso erteket, indexet, valamint a hosszt esa ket szelso ertek aranyat
Ezt megcsinaljuk az idosorra, egy range tree-ben taroljuk a labakathosszuk es meredekseguk alapjan
Az input sor (~q) legmeredekebb laba alapjan keresunk a strukturaban
A jelolteket ezutan osszehasonlıtjuk (pl. LCSS)
O(k + logl), ahol k a megtalalt-, l az osszes labak szama
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 31 / 34
Landmark pelda/3.
Igy kihagyhatunk hasonlo talalatokat
Vezessuk be a kibovıtett labak fogalmat: xi es xj ∈ x1, . . . , xn bovıtettnovekvo lab, ha
I ai lokalis minimum, aj lokalis maximumI ∀m ∈ [i , j ], ai < am < aj
Tehat amik labak lennenek nagyobb tomorıtesi arany eseten
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 32 / 34
Landmark pelda/4.
Indexeljuk a kibovıtett labakat
Igy tobb adatot kell tarolni, de cserebe pontosabban mukodik azalgoritmus
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 33 / 34
Koszonom a figyelmet!
Marta Zsolt (BME-SZIT (Hallgato)) Idosorok Elemzese 2011.04.01 ¨ 34 / 34