Nagym´ eret˝ u Adathalmazok Kezel´ ese
Id˝osorok Elemz´ese
M´arta Zsolt
BME-SZIT (Hallgat´o)
2011.04.01 ¨^
Tartalom
1 Bevezet´es
2 Hasonl´os´agi m´ert´ekek
3 Indexel´es
Itt tartunk
1 Bevezet´es
2 Hasonl´os´agi m´ert´ekek
3 Indexel´es
Bevezet´ es
Id˝osor: adatok id˝o szerint rendezve
Altal´´ aban azonos mintav´eteli peri´odussal, de nem felt´etlen¨ul!
A vil´ag adatainak jelent˝os r´esze id˝osork´ent ´all el˝o
”Hagyom´anyos” adatb´any´aszati m´odszerek nem hat´ekonyak
I Sz´am´ıt a sorrend!
I Rendk´ıv¨ul nagym´eret˝u adathalmazok
I Adatok ¨osszef¨uggenek (f¨uggnek az id˝ot˝ol)
I Zaj
Feladatok
Indexel´es (lek´erdez´es hasonl´os´ag alapj´an) Klaszterez´es
Oszt´alyoz´as El˝orejelz´es
Osszegz´¨ es (t¨om¨or´ıt´es) Anom´alia-keres´es Szegment´al´as
Itt tartunk
1 Bevezet´es
2 Hasonl´os´agi m´ert´ekek
3 Indexel´es
T´ avols´ ag meghat´ aroz´ asa
K´et id˝osort akarunk ¨osszehasonl´ıtani
K´et egyforma id˝osor ritk´an akad, ez´ert egyez˝os´eg helyett hasonl´os´agot haszn´alunk
A legt¨obb algoritmus ezen alapszik!
Egyszer˝u m´odszer: a k´et (egyforma hossz´u) id˝osort n-dimenzi´os vektornak tekintj¨uk
A t´avols´ag az id˝osorok (~x ´es~y) k¨oz¨ott az Lp-norm´aval kaphat´o meg:
Lp(~x, ~y) = (
n−1
X
i=0
|xi −yi|p)p1
Nagyon k¨ul¨onb¨ozik az ”emberi hasonl´os´agt´ol”, ´erz´ekeny
Az L
p-norma hib´ ai
A konstans ´ert´ekben elt´er˝o id˝osorokat lehet normaliz´alni:
xi = xi −µ(~x) σ(~x) ahol µaz ´atlag,σ a sz´or´as.
De:
L´atsz´olag hasonl´o, azLp-norma m´egis nagy k¨ul¨onbs´eget ad Megold´as: id˝obeli elcs´usz´asok figyelembev´etele
Dynamic Time Warping
El˝osz¨or besz´edfelismer´esben alkalmazt´ak Dinamikus programoz´as:
I ~x(x0,x1, . . . ,xn−1) ´es~y(y0,y1, . . . ,ym−1) a k´et id˝osor
I Legyen DTW egyn∗m-es m´atrix, ekkor DTW[n,m] a t´avols´ag
I
DTW[i,j] =d(xi,yj) +min(DTW[i−1,j], DTW[i,j−1], DTW[i−1,j−1])
I Θ(nm) id˝o alatt sz´amolhat´o
Dynamic Time Warping
Cs´usz´oablakkal(ω) gyors´ıthat´o Θ(nω)-ra
Minden elemet felhaszn´al (van amit t¨obbsz¨or), ´erz´ekeny a zajra
Longest Common Subsequence
Leghosszabb k¨oz¨os r´eszsorozat
Nem kell minden elemet figyelembe venni (zaj), csak a sorrend sz´am´ıt {1,2,3,4,5,1,7}´es{2,5,4,5,3,1,8} LCSS-e a{2,4,5,1}
Dinamikus programoz´as:
I LegyenL[i,j] egy n∗m-es m´atrix, ekkorLCSS(~x, ~y)≡L[n,m]
I
L[i,j] =
1 +L[i−1,j−1] , haxi =yj
max(L[i−1,j],L[i,j−1]) egy´ebk´ent
Longest Common Subsequence kiterjeszt´ ese
Az elemek pontos egyez´ese t´ul szigor´u Θ(nm) is m´eg t´ul sok id˝o ⇒ cs´usz´oablak
L[i,j] =
1 +L[i−1,j −1] , ha|xi −yj|<
´
es|i−j|< ω max(L[i−1,j],L[i,j −1]) egy´ebk´ent ahol az elemek max. t´avols´aga, ´esω a cs´usz´oablak
Nem kell minden elem´et kisz´amolni a m´atrixnak, cser´ebe fenn´all a hibalehet˝os´eg
O((n+m)ω) m´ar jobb, f˝oleg kis ω-ra
Longest Common Subsequence hasonl´ os´ ag
Ezek alapj´an hasonl´os´ag m´ert´eke meghat´arozhat´o:
S(, ω, ~x, ~y) = LCSS,ω(~x, ~y) min(n,m)
Mi van, ha a k´et id˝osor ”hasonl´o”, de egy konstans ´ert´ekben k¨ul¨onb¨ozik?
Legyen F azfc(~x) = (x0+c, . . . ,xn−1+c) transzform´aci´ok (eltol´asok) halmaza
Ekkor:
S2(, ω, ~x, ~y) = max
fc∈F S(, ω, ~x, ~y) A t´avols´ag pedig:
D(, ω, ~x, ~y) = 1−S2(, ω, ~x, ~y)
Longest Common Subsequence hat´ ekony sz´ am´ıt´ asa
S sz´am´ıt´asi m´odj´at l´attuk; ha a cs´usz´oablak nagy, lehet jav´ıtani mintav´etelez´essel
S2 sz´am´ıt´asa nem trivi´alis:
I V´egtelen sz´am´u eltol´as l´etezik, de v´eges sz´am´u k¨ul¨onb¨oz˝o LCSS-eket adnak
I Vegy¨uk a k´et-dimenzi´os s´ıkot, ahol X-tengelyenxi elemeit vessz¨uk fel, azY-tengelyen pedigyi-ket
I Vegy¨unk fel ((xi,yj−),((xi,yj+)) pontokkal hat´arolt szakaszokat, ahol|i−j|< ω
Longest Common Subsequence hat´ ekony sz´ am´ıt´ asa/2.
O(ω(n+m)) ilyen szakasz van
Ekkor az eltol´asok 1-meredeks´eg˝u egyenesek
~x0 ≡fc(~x) az eltol´assal kapott ´uj id˝osor
xi0 p´aros´ıthat´o egyyj-vel ⇔ azf(x) =x+c egyenes metszi a ((xi,yj −),((xi,yj +)) szakaszt
Longest Common Subsequence hat´ ekony sz´ am´ıt´ asa/3.
Ha k´et vonal k¨ul¨onb¨oz˝o szakaszokat metsz, lehet m´as a LCSS De csak v´egpontokn´al t¨ort´enhet ilyen
Mivel O(ω(n+m)) v´egpont van, ez´ert minden ilyen lehets´eges metszeten v´egigmenve az optimum kisz´amolhat´o O(ω2(n+m)2) id˝oben
Longest Common Subsequence hat´ ekony sz´ am´ıt´ asa/4.
A n´egyzetes fut´asi id˝o t´ul sok, el´eg lehet csak k¨ozel´ıteni
Vegy¨uk a lehets´eges k¨ul¨onb¨oz˝o LCSS-t ad´o eltol´asokat, ´es rendezz¨uk c, az eltol´as m´ert´eke alapj´an. Az ´ıgy kapott konstansok:
~c = (c1, . . . ,c2ωn) (Tfh. n>m).
Legyen Lfc azon szakaszok halmaza, amit metsz az fc transzform´aci´o EkkorLfci∆Lfcj ≤ |i−j|, mivelfci ´esfci+1 k¨oz¨ott maximum egy k¨ul¨onbs´eg lehet (szakaszv´egpont)
Longest Common Subsequence hat´ ekony sz´ am´ıt´ asa/5.
Ha tekintj¨uk azfcib eltol´asokat (i = 1, . . . ,b2ωnb c), ezek maximum b tal´alatban k¨ul¨onb¨oznek az optimumt´ol
Teh´at az optim´alisS2-t k¨ozel´ıthetj¨uk
S2(, ω, ~x, ~y)−S˜2(, ω, ~x, ~y)< β m´ert´ekben (0< β <1) Rendez´es nem sz¨uks´eges, a transzform´aci´ok O(ωnbωn) id˝oben megtal´alhat´ok kvantilis-sz´am´ıt´assal
Teh´at az algoritmus O(nωβ2) id˝oben fut, hab=βn
Altal´ ´ anoss´ agban
A t´avols´ag tulajdonk´eppen azon transzform´aci´ok sz´ama, melyekkel az egyik id˝osor a m´asikba vihet˝o
A t´avols´agf¨uggv´eny metrika, ha teljes¨ul:
I Pozitivit´as: δ(x,y)≥0, δ(x,y) = 0⇔x =y
I Szimmetria: δ(x,y) =δ(y,x)
I H´aromsz¨og-egyenl˝otlens´eg: δ(x,y) +δ(y,z)≥δ(x,z) A DTW, LCSS nem metrika!
Altal´ ´ anoss´ agban/2.
A zajra robusztus t´avols´agf¨uggv´enyek tipikusan a
h´aromsz¨og-egyenl˝otlens´eget s´ertik meg, mert csak a leghasonl´obb r´eszeket veszik figyelembe
Altal´´ anoss´agban elv´arjuk, hogy a t´avols´agf¨uggv´enyeink kezelj´ek az al´abbiakat:
I Elt´er˝o (mintav´etelez´esi) sebess´eg
I Kiugr´o ´ert´ekek, nem-feh´er zaj
I Elt´er˝o hosszak
I Hat´ekonys´ag
Itt tartunk
1 Bevezet´es
2 Hasonl´os´agi m´ert´ekek
3 Indexel´es
Indexel´ es bevezet˝ o
Adott mint´ahoz keress¨uk meg a leghasonl´obbat!
Alapesetben v´egigmegy¨unk az adatb´azison, O(nm) legal´abb, ami nem elfogadhat´o
L´eteznek erre algoritmusok, de az id˝osorok eset´eben van m´eg p´ar neh´ezs´eg:
I Az adatok ´ert´ekk´eszlete nem felt´etlen¨ul v´eges vagy diszkr´et
I A mintav´etelez´es sebess´ege nem felt´etlen¨ul konstans
I A zaj jelenl´ete rugalmas hasonl´os´agi f¨uggv´enyt tesz sz¨uks´egess´e
Indexel´ esi probl´ ema
A probl´ema: adott~q minta,X id˝osorok egy halmaza, δ
t´avols´ag-f¨uggv´eny, ´es egy t˝ur´eshat´ar ; keress¨uk a~q-hoz hasonl´o sorokat:
R ={~x ∈X |δ(~q, ~x)≤}
X lehet egy nagyon hossz´u id˝osor is, ekkor a probl´ema X r´eszsorjaira
´ erv´enyes
Ha S egy indexel´esi m´odszer ´altal megtal´alt halmaz, akkorS−R a t´eves tal´alatok, m´ıg R−S a t´eves elutas´ıt´asok halmaza
Indexel´ es elv´ ar´ asok
Egy indexel´esi m´odszer elv´art tulajdons´agai:
Legyen gyorsabb, mint a szekvenci´alis scan Kev´es t´arhelyet ig´enyeljen
V´altoz´o m´eret˝u lek´erdez´esekre m˝uk¨odj¨on
Ne kelljen ´ujra´ep´ıteni az indexet besz´ur´askor, ´es t¨orl´eskor
Legyen helyes, azaz ne legyenek t´eves elutas´ıt´asok; lehet˝oleg min´el kevesebb t´eves tal´alat legyen
Az index ´ep´ıt´ese ne legyen t´ul lass´u
Legyen kompatibilis t¨obb t´avols´agf¨uggv´ennyel
Dimenzi´ ocs¨ okkent´ es
~q n-dimenzi´os vektor legk¨ozelebbi szomsz´edjait keress¨uk
T´erindex algoritmusok l´eteznek ennek hat´ekony megold´as´ara (R-fa, kd-fa)
De l´enyegesen romlik a hat´ekonys´aguk nagy n-re (Dimenzi´o-´atok), valamint csak metrik´akkal m˝uk¨odnek!
Pr´ob´aljuk meg cs¨okkenteni a dimenzi´ot, vegy¨unk egy k-dimenzi´os (k n) lenyomat´at~q-nak: ˜q, ´es azt indexelj¨uk
Akkor tudjuk garant´alni a helyess´eget, ha biztos´ıtjuk, hogy a lenyomatt´erbeli t´avols´agf¨uggv´enyre (δk):
δk(˜x,˜y)≤δ(~x, ~y) A szekvenci´alis el´er´est is seg´ıti
Lenyomatk´ epz´ es: spektrum
A legt¨obb l´etez˝o id˝osor reprezent´alhat´o a ”leger˝osebb”
frekvenciakomponenseivel
Vegy¨uk h´at az els˝o k amplit´ud´o-egy¨utthat´ot lenyomatnak
Ekkor az Euklideszi-t´avols´ag a frekvenciat´erben alulbecs¨uli a val´os t´avols´agot
Ha r´eszsorra keres¨unk, az adatb´azis minden poz´ıci´oj´ab´ol vegy¨unk lenyomatot (ω-m´eret˝ut), ´es t´aroljuk pl. R-f´aban.
Ha |~q|> ω, akkor bontsuk fel a lek´erdez´est, ´es az allek´erdez´esek metszete lesz a megold´as
Lenyomatk´ epz´ es: spektrum/2.
A h´atr´anya, hogy elsim´ıtja a sz´els˝os´egeket
DFT helyett DWT is haszn´alhat´o, jobbnak bizonyult k´ıs´erletekben
Lenyomatk´ epz´ es: PCA
Piecewise Constant Approximation: bontsukk r´eszre az id˝osort, ´es ezen szegmensek ´atlagos ´ert´ekei legyenek a koordin´at´ai a k-dimenzi´os vektorunknak
Lehet adapt´ıvan is (nem azonos hossz´u szegmensek)
Nagyon egyszer˝u, ´es gyors (pl. a DWT-hez k´epest 10-szer gyorsabb) Ak´armilyen Lp-norm´aval m˝uk¨odik
Lenyomatk´ epz´ es: Landmark
Nem konkr´et m´odszer, ink´abb csal´ad
Erdemes csak a meghat´´ aroz´o ”form´akat” kinyerni
P´eld´aul n-edik deriv´alt z´erushelyek, meghat´aroz´o fordul´opontok Robusztuss´a tehet˝o eltol´asra, egyenletes, s˝ot nem egyenletes ny´ujt´asra is
Landmark p´ elda
El˝osz¨or is vegy¨unk az id˝osor ”fontos” fordul´opontjait:
xm fontos minimuma az xi, . . . ,xj pontoknak, ha:
I ∀i≤k ≤j, xm≤xk I xi/xm≥R, xj/xm≥R ahol R a t¨om¨or´ıt´esi ar´any.
Hasonl´oan maximumokra
Line´aris id˝oben, gyorsan sz´amolhat´o
Landmark p´ elda/2.
A t¨om¨or´ıt´es ut´an tudjuk a lenyomatot elk´esz´ıteni: vegy¨uk a fontos fordul´opontok k¨oz¨otti szakaszokat (l´abak)
A l´abakr´ol t´aroljuk a k´et sz´els˝o ´ert´eket, indexet, valamint a hosszt ´es a k´et sz´els˝o ´ert´ek ar´any´at
Ezt megcsin´aljuk az id˝osorra, egy range tree-ben t´aroljuk a l´abakat hosszuk ´es meredeks´eg¨uk alapj´an
Az input sor (~q) legmeredekebb l´aba alapj´an keres¨unk a strukt´ur´aban A jel¨olteket ezut´an ¨osszehasonl´ıtjuk (pl. LCSS)
O(k+logl), aholk a megtal´alt-,l az ¨osszes l´abak sz´ama
Landmark p´ elda/3.
´Igy kihagyhatunk hasonl´o tal´alatokat
Vezess¨uk be a kib˝ov´ıtett l´abak fogalm´at: xi ´esxj ∈x1, . . . ,xn b˝ov´ıtett n¨ovekv˝o l´ab, ha
I ai lok´alis minimum,aj lok´alis maximum
I ∀m∈[i,j],ai <am<aj
Teh´at amik l´abak lenn´enek nagyobb t¨om¨or´ıt´esi ar´any eset´en
Landmark p´ elda/4.
Indexelj¨uk a kib˝ov´ıtett l´abakat
´Igy t¨obb adatot kell t´arolni, de cser´ebe pontosabban m˝uk¨odik az algoritmus