120 likes | 249 Views
Idősor karaktersorozatként való vizsgálata – SAX algoritmus. Szabó Dániel Konzulens: dr. Dobrowiecki Tadeusz. Önálló Labor előadás 2011. december 12. Áttekintés. Adatbányászat (Data Mining) Orvosi adatbányászat (Data Mining in Clinical Medicine) Idősorok vizsgálata (Temporal Abstraction)
E N D
Idősor karaktersorozatként való vizsgálata – SAX algoritmus Szabó Dániel Konzulens: dr. Dobrowiecki Tadeusz Önálló Labor előadás 2011. december 12.
Áttekintés • Adatbányászat (Data Mining) • Orvosi adatbányászat (Data Mining in Clinical Medicine) • Idősorok vizsgálata (Temporal Abstraction) • Időkeretek összehasonlítása (Temporal Pattern Matching) • SAX algoritmus (Symbolic Aggregate ApproXimation)
Előrejelzés adatbányászattal az orvostudományban • Orvosi adatbányászat: olyan területeken alkalmazott, amelyek nagyméretű adathalmaz feldolgozását igénylik (molekuláris kutatások, genetikai adatok) • Egyik fontos területe az idősorok vizsgálata (Temporal Abstraction, TA) • Rendszeresen (akár folytonosan) mért adatok elemzésére szolgál (pl. vércukorszint változása, szívverés, ECG), ezek viselkedésére próbál magyarázatot találni
A tudásalapú időbeli absztrakció • Knowledge-Based Temporal Abstraction, KBTA: egy idősorra alkalmazott adatbányászati módszer, melynek során az adott feladat öt részfeladatra oszlik, ezek közül mindegyikre különböző tudástípusokat alkalmazva más-más módszerek használatosak • Az öt részfeladat közül az egyik az idősor mintázatait hasonlítja össze (Temporal-pattern matching) osztályozás segítségével (Classification knowledge)
Az idősor mintáinak hasonlósága „Poppet pulled significantly out of the solenoid before energizing” Brute Force Algorithm: quadratic in the length of the time series Symbolic Aggregate ApproXimation (SAX): 3 to 4 orders of magnitude Faster than brute force
Symbolic Aggregate ApproXimation (SAX) • Egy n hosszúságú C idősor w egyenlő méretű keretre osztása (PAA – Piecewise Aggregate Approximation) • Gauss-görbe a db egyenlő területre osztása alapján a ß értékek (Breakpoint) meghatározása
Symbolic Aggregate ApproXimation (SAX) • Az azonos breakpointok közé kerülő keretek ugyanazt a szimbólumot kapják Végül az idősor helyett egy karaktersorozatot kapunk: cbccbaab
SAX – fa (trie) építése • A külső és belső heurisztikához használt adatstruktúrák: • 1. Egy tömb készítése az egymást követő SAX szavakból. A szó hossza adott. Az utolsó oszlop a szó előfordulásának számát tartalmazza.
SAX – fa (trie) építése • 2. Egy fa (trie) építése a szókészlet alapján. A fa levelein az adott szavak táblázatban elfoglalt helye található. • A ritkán előforduló szavak ennek segítségével gyorsan megtalálhatók.
SAX algoritmus megvalósítása MATLAB-bal • Gauss.m – ‘a’ bemeneti értékre kiszámolja az a-1 db breakpoint (ß) értékét • Sax.m – a szimbólumok száma (=ß+1) és a keret méretének hossza alapján reprezentálja a kapott karaktersorozatot
Programfutás eredménye Szinuszgörbe -3*pi és 3*pi között, A=4 amplitúdóval
Felhasznált irodalom • Riccardo Bellazzi, Fulvia Ferrazzi, Lucia Sacchi: Predictive data mining in clinical medicine: a focus on selected methods and applications. WIREs: Data Mining and Knowledge Discovery, Volume 1, September/October 2011, p.416-430 • Yuval Shahar: A framework for knowledge-based temporal abstraction. Artif Intell 1997, 90:79-133 • Eamonn Keogh, Jessica Lin, Ada Fu: HOT SAX: Efficiently Finding the Most Unusual Time Series Subsequence. In proceedings of the 5th IEEE International Conference on Data Mining. Houston, TX. Nov 27-30, 2005. pp. 226-233 • J. Lin, E. J. Keogh, L. Wei, and S. Lonardi.Experiencing SAX: a novel symbolic representation oftime series. Data Min. Knowl. Discov., 15(2), 2007.