Nagyméretű adathalmazok kezelése. Adatfolyamok

Hasonló dokumentumok
Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

4. Az A és B események egymást kizáró eseményeknek vagy idegen (diszjunkt)eseményeknek nevezzük, ha AB=O

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

Statisztika I. 8. előadás. Előadó: Dr. Ertsey Imre

Adaptív dinamikus szegmentálás idősorok indexeléséhez

e (t µ) 2 f (t) = 1 F (t) = 1 Normális eloszlás negyedik centrális momentuma:

Amortizációs költségelemzés

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Mesterséges Intelligencia MI

CHT& NSZT Hoeffding NET mom. stabilis november 9.

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

[Biomatematika 2] Orvosi biometria

A maximum likelihood becslésről

Mintavétel fogalmai STATISZTIKA, BIOMETRIA. Mintavételi hiba. Statisztikai adatgyűjtés. Nem véletlenen alapuló kiválasztás

Biomatematika 2 Orvosi biometria

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

Statisztikai módszerek a skálafüggetlen hálózatok

Matematika A3 Valószínűségszámítás, 6. gyakorlat 2013/14. tavaszi félév

Híradástechikai jelfeldolgozás

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

Matematika A2 vizsga mgeoldása június 4.

Regressziós vizsgálatok

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

i p i p 0 p 1 p 2... i p i

Online migrációs ütemezési modellek

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

KÖZELÍTŐ INFERENCIA II.

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

Statisztika elméleti összefoglaló

Informatikai Rendszerek Alapjai

Matematika A3 Valószínűségszámítás, 5. gyakorlat 2013/14. tavaszi félév

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

2008 II. 19. Internetes alkalmazások forgalmának mérése és osztályozása. Február 19

Statisztikai következtetések Nemlineáris regresszió Feladatok Vége

x, x R, x rögzített esetén esemény. : ( ) x Valószínűségi Változó: Feltételes valószínűség: Teljes valószínűség Tétele: Bayes Tétel:

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Nagyméretű Adathalmazok Kezelése

2. Elméleti összefoglaló

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

STATISZTIKA I. Mintavétel fogalmai. Mintavételi hiba. Statisztikai adatgyűjtés Nem véletlenen alapuló kiválasztás

Exponenciális kisimítás. Üzleti tervezés statisztikai alapjai

A valószínűségszámítás elemei

Általánosan, bármilyen mérés annyit jelent, mint meghatározni, hányszor van meg

BIOMATEMATIKA ELŐADÁS

Valószínűségszámítás összefoglaló

Idősorok elemzése előadás. Előadó: Dr. Balogh Péter

KÖZELÍTŐ INFERENCIA II.

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Gazdasági matematika II. vizsgadolgozat megoldása A csoport

Teljesen elosztott adatbányászat pletyka algoritmusokkal. Jelasity Márk Ormándi Róbert, Hegedűs István

biometria II. foglalkozás előadó: Prof. Dr. Rajkó Róbert Matematikai-statisztikai adatfeldolgozás

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Loss Distribution Approach

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Statisztika I. 13. előadás Idősorok elemzése. Előadó: Dr. Ertsey Imre

Számítógépes Hálózatok. 4. gyakorlat

STATISZTIKA I. Változékonyság (szóródás) A szóródás mutatószámai. Terjedelem. Forgalom terjedelem. Excel függvények. Függvénykategória: Statisztikai

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

Autoregresszív és mozgóátlag folyamatok. Géczi-Papp Renáta

Készítette: Fegyverneki Sándor

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Autoregresszív és mozgóátlag folyamatok

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

Emelt szintű érettségi feladatsorok és megoldásaik Összeállította: Pataki János; dátum: november. I. rész

A Markovi forgalomanalízis legújabb eredményei és ezek alkalmazása a távközlő hálózatok teljesítményvizsgálatában

Adatelemzési eljárások az idegrendszer kutatásban Somogyvári Zoltán

Számítógépes döntéstámogatás. Statisztikai elemzés

Hibadetektáló rendszer légtechnikai berendezések számára

Matematikai geodéziai számítások 6.

A Statisztika alapjai

STATISZTIKA. Mit nevezünk idősornak? Az idősorok elemzésének módszertana. Az idősorelemzés célja. Determinisztikus idősorelemzés

Analízis előadás és gyakorlat vázlat

Termelés- és szolgáltatásmenedzsment

Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

file:///d:/apa/okt/ad/jegyzet/ad1/b+fa.html

Diszkréten mintavételezett függvények

Képfeldolgozás jól párhuzamosítható

I. LABOR -Mesterséges neuron

Többváltozós lineáris regressziós modell feltételeinek

Diszkrét idejű felújítási paradoxon

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Matematikai geodéziai számítások 6.

Valószínűségi változók. Várható érték és szórás

Stream Processing. Big Data elemzési módszerek. Kocsis Imre

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Gépi tanulás a gyakorlatban. Lineáris regresszió

Anyagvizsgálati módszerek Mérési adatok feldolgozása. Anyagvizsgálati módszerek

[Biomatematika 2] Orvosi biometria

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Függvények növekedési korlátainak jellemzése

Rendezések. Összehasonlító rendezések

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók

4: Az IP Prefix Lookup Probléma Bináris keresés hosszosztályok alapján. HálózatokII, 2007

Átírás:

Nagyméretű adathalmazok kezelése Adatfolyamok

Mi az adatfolyam? A hagyományostól eltérő adattárolási forma Csak egyszer olvashatjuk az adatrekordokat Gyorsan kell lefutnia a lekérdezéseknek, mert jön a következő adatrekord Historikus adatokat is fel kell használni

Jellemzők: Folyamatos adatáramlás Az adatfolyam nyíltvégű (nyílt forrás/nyelő) Általában automatizált forrás Nagyon nagy mennyiségű adat (kis részét dolgozzuk fel) Korreláló adatok (akkumulatív adatmodell) (Általában!) Online/azonnali feldolgozást igényel

TCP/IP hálózatok Szenzorhálózatok GPU pipeline Filterezés (konvolúció) Elő- és utófeldolgozó algoritmusok (online/offline) Események naplózása Hibajelek aggregálása Report/kivonat készítése

Az adatelemek sorrendjére nincs kihatásunk és nem ismerjük az adathalmaz méretét. Bizonyos tendenciák felismerése lehetővé teszi a jövőbeli rekordok jóslását (CPU branch prediction) A becslések sosem pontosak, hibák merülnek fel (egy hibátlan és elég gyors algoritmus csupán elméleti síkon létezik, összehasonlítási alapul szolgálhat)

Pár egyszerű probléma Számoljuk meg egy bitfolyamban a legutóbbi N bit Hamming súlyát (1-esek száma)! Adjuk össze a legutolsó N számot, ami a [0..R] intervallumból van! Számoljuk meg, hány különböző szimbólum fordul elő a legutóbbi N rekordban! Ez mind egyszerű, ha a legutóbbi N elem befér a memóriába. De mi van, ha kevesebb, mint O(N) tárhellyel kell megoldani őket?

Közelítő algoritmusokat kell alkalmazni. Ezek elfogadhatóak, ha: Adott pozitív ε < 1 és δ < 1 mellett a becsült érték 1 δ valószínűséggel legfeljebb ε hibát tartalmaz. A szükséges tárhely és idő ezen paraméterek függvénye A hiba lehet abszolút és relatív: Abszolút hiba: Relatív hiba: X ε < E(X) < X + ε (1 ε) * X < E(X) < (1 + ε) * X

Valszám 1. Legyen X tetszőleges véletlen változó, és legyen c > 0 tetszőleges valós konstans. Ekkor teljesülnek az alábbi egyenlőtlenségek: Markov egyenlőtlenség: P X (δ = c E X ) E X δ = 1 c Csebisev egyenlőtlenség: P X E X (ε = c σ(x)) σ2 X ε 2 = 1 c 2

Valszám 2. Chernoff-korlát: Legyenek X 1, X 2,, X n független, Bernoulli próbák. Tételezzük fel, hogy P X i = 1 = p i. Legyen X s = n i=1 valószínűségi változó, melynek várható értéke E X s = n np i. Ekkor δ > 0 ra: i=1 P X s > 1 + δ E(X s ) Innen levezethető az abszolút hiba is: e δ E(X s ) (1 + δ) 1+δ X i ε 3E(X) ln( 2 n δ )

Valszám 3. Hoeffding-korlát: Legyenek X 1, X 2,.. X n független valószínűségi változók. Tegyük fel, hogy minden x i korlátos, azaz P(X i R = [a i, b i ]) = 1. Legyen S = 1 n i=1 n X i. Ekkor ε > 0 ra: Innen az abszolút hiba: P(S E S > ε) e 2n2 ε 2 R 2 ε R2 ln 2 δ 2n

Miért jó ez? Felső korlátot ad a közelítő algoritmusok hibájára A Chernoff- és a Hoeffding-korlát exponenciálisan csökkenő korlátok Utóbbi kettő független a változók eloszlásától, ezért jól használhatóak a gyakorlatban.

Timing windows Ha minden bejövő adatcsomagot ellátunk egy időbélyeggel (elosztott rendszerben ez sem triviális), beszélhetünk a csomagok frissességéről. Gyakori feladat az N legfrissebb tuple valami jellemzőjét mérni. Pl. Landmark window. A mérés eleje óta beérkezett csomagokat aggregálja minden lekérdezésnél. Nagyon tárhelyigényes, ezért nem túl praktikus.

Jumping window Ennél valamivel jobb a jumping window. Bizonyos checkpoint -oknál reseteli az összes tárolt értéket, egyébként minden lekérdezés a legutolsó checkpoint/landmark óta bejött csomagokat aggregálja. (Pl napi jelentések)

Sliding window A tolóablakos megoldás is gyakori. Egy fix méretű ablakban tároljuk a legutolsó N csomagot és ezeket aggregáljuk minden lekérdezésnél.

Tilted window Mi van ha a korábbi adatokra is szükség van az aggregációhoz? Az előző példák a landmark kivételével mind felejtő ablakok (a landmark pedig túl sok memóriát fogyaszt) Minden korábban látott adatot el kéne tárolni, de a régi adatok nem olyan fontosak, mint a frissek. Ezért a régi adatokat tömörítve, de megőrizzük az ablakban. Natural/Logarithmic tilted window

Példa

Mintavételezés Célja, hogy lelassítsuk a beáramló adatot Az adatoknak csak egy részét dolgozzuk fel Éppen ezért fontos, hogy releváncs mintákat vegyünk Pl természetes illesztés eredményének méretbeli csökkentése. Mintát veszünk külön-külön a két adafolyamból és azokat illesztjük. Ha reprezentatív volt a két minta, az eredmény is az lesz.

Frekvencia momentumok Adott nemnegatív k-ra, a k-dik frekvencia momentum: F k v = i=1 m k i, ahol m i az i-dik fajta elem gyakorisága és v a különböző elemek száma. F 0 : Hány különböző elem van? F 1 : Hány elem van? F 2 : Self-join size. Az egyes vödrök frekvenciáinak négyzetösszege. A második momentum logaritmikus időben közelíthető. Lekérdezés-optimalizáló motorok használják főleg.

Hash sketch Képezzük le az x 0,, N 1 értékeket egyenletesen a [0,, 2 L 1] ba, ha L = O(log N) egy h(x) hashfüggvénnyel. Jelölje lsb(x) az x bináris alakjában előforduló utolsó 1-es helyiértékét (utolsó~jobb szélső). Tároljunk egy L hosszú bitsorozatot, mely kezdetben csupa 0, majd egy x input hatására az lsb(h(x)) helyiértéken 1-esbe billentjük.

Így kb. a (különböző) értékek fele a L. bitre képződik le (utolsó bit paritásától függ) Az értékek negyede a L-1-ik bitre, nyolcada az L-2-ikre és így tovább Ha R jelöli a bitsorozatunkban az aktuálisan utolsó 1-es helyiértékét, akkor E R = log φd, ahol d a különböző értékek száma a folyamban és φ = 0.7735. A fenti képletből megbecsülhető a folyamban előforduló (avagy a t. pillanatig látott) különböző szimbolúmok száma. d = 2R φ

Exponenciális hisztogram A tilted window-hoz hasonlóan itt is exponenciálisan csökkenő granularitással tároljuk az elemeket, vödrökben. Segítségével megszámlálhatjuk a bináris folyamba érkező egyeseket. Tárolunk 2 változót: TOTAL és LAST TOTAL: az eddigi egyesek száma LAST: Az utolsó tárolt vödör mérete Az 1-esek száma: TOTAL LAST/2

Ha a bejövő bit 0, nem foglalkozunk vele. Ha 1-es, beletesszük egy újonnan létrehozott 1 méretű vödörbe (melyet a megfelelő időbélyeggel látunk el). Ezzel együtt inkrementáljuk TOTAL-t. Adott ε parameter. Ha létezik 1 + 2 egyforma méretű 2ε vödör, egyesítsük a legutolsó kettőt (az új időbélyeg a frissebb érték lesz)! Ha LAST által referált vödröt egyesítettük, frissítjük LAST értékét (duplájára nő).

Így minden lekérdezésnél kidobáljuk a memóriából a túl régi vödröket (az időbélyeg és a query window alapján). Egész pontosan meghatározunk egy N ablakméretet, azaz a legutolsó N elemben keressük az egyesek számát A maradékban TOTAL db 1-es van, de az utolsó vödör aggregált információt tartalmaz, átlagosan a fele esne bele ténylegesen az ablak által meghatározott időintervallumba. Ezért az 1-esek száma: TOTAL LAST/2

Példa

Haar wavelet Az eredeti jelet rekonstruáljuk primitív alapjelek súlyozott kompozíciójaként. Ha a bemenet egy n hosszú számsorozat, alkossunk belőlük párokat (egymás utániak egy párba) Egy vektorban első n/2 komponensében tároljuk el minden számpárra: a+b 2. Ugyanezen vektor további n/2 komponensében tároljuk el minden számpárra: a b 2. Ismételjük ezt addig, amíg csak egy összeg komponens marad.

Példa 1

Képekre Először a sorokra egyenként elvégezzük a Haar transzormációt, majd oszloponként.

Példa

Szenszorhálózatok A hálózat szenszorokból és útválasztó csomópnotokból áll.

Quantile digest Hisztogram-szerű, vödrökben tárolja az adatok gyakoriságát (frekvenicáját) Nem egyenlő nagyságú intervallumot fednek le a vödrök, de közel egyenlő sok elem van bennük Célja a kvantilisek meghatározása. Kvantilis: Adott egy q 0 és 1 közti szám. A kvantilis a q*nedik szám az adatok nagyság szerinti növekvő sorában.

Quantile-digest Építsünk egy bináris partíciót reprezentáló fagráfot a(z) (tolóablakban lévő aktuális) adatokból Ennek egy részhalmaza lesz a q-digest (kezdetben csak a levelek, majd ezt tömörítjük). Minden q-digestbeli (v) vödörre (ahol k a tömörítési tényező): count v n k count v + count v p + count v s > n k Járjuk be a fát alulról felfelé és ha nem teljesíti a második feltételt a 2 gyereket olvasszuk bele a szülőbe

Elosztott q-digest A routing tree levelei építenek egy q-digestet ezzel összegezve a náluk lévő adatokat. Csak ezt küldik tovább. A feljebb lévő node-ok a beérkező q-digestek unióját képzik (a megfelelő vödrök számlálóit összeadják). Mivel az aggregált összegzés már lehet, hogy sérti a q- digest tulajdonságait, alulról felfelé újraellenőrizzük. Az így kapott aggregált q-digestet küldi tovább a node a szülőnek, mely egész a routing root-ig elmegy.

Kvantilis lekérdezések Post-order bejárjuk a fát és render összegezzük a vödrök tartalmát (legyen ez c). Amint a c nagyobb (vagy egyenlő) lenne q*n-nél/nel, a legutoljára összegzett vödör felső korlátját választjuk a q- adik kvantilisnek. A túlcsorduló vödörben is lehetnek még olyan elemek, amik az igazi kvantilisnél előrébb vannak, ezért van hibája az algoritmusnak (ami felülbecsülhető). r qn < εn (ha k = 1 log n) ε

Esettanulmány Kinect zajszűrés (ízületek pozíciója, ami a mélységtérképből származtatott adat)

Esettanulmány A kis zajokat elsimítja (+) Késleltetve reagál a hirtelen változásokra (-) A maximumok és minimumok csökkennek (-)

ARMA filterek Auto Regressive Moving Average Az n-edik output a legutolsó N darab input és a legutolsó M output súlyozott átlaga: X n = N i=0 a i X n i + M i=0 b i X n i

Moving Average (MA) Hasonló, csak az outputok súlya mindenhol 0 (nemregresszív). X n = Centrális mozgó átlag: N i=0 a i X n i X n = N i= M a i X n i Utóbbinak szüksége van M darab jövőbeli mintára (inputra) is, ezért főként offline alkalmazásai vannak.

Számtani közép X n = 1 N N + 1 i=0 X n i Ez csak kevésbé mozgó ízületekre jó (konstans mintára kiválóan jósol, hiszen konstans minta átlaga önmaga). A mozgásokat nagy delay-jel követi (az állandó sebességűt is).

Double Moving Averaging Filter N (1) 1 MA n = N + 1 i=0 N (2) 1 MA n = N + 1 i=0 X n i MA n (1) Állandó sebességű mozgások lekövetésére alkalmas (tőzsdében is alkalmazzák, ahol kb lineáris az árfolyam változása). Lineáris inputra MA (1) kb egy fele akkora meredekségű egyenes mentén követi, MA (2) pedig negyedakkora. Így: X n = 2MA (1) -MA (2)

Köszönöm a figyelmet!