Vyhledávání v časových řadách

Slides:



Advertisements
Podobné prezentace
Analýza signálů - cvičení
Advertisements

Přednáška 10 Určitý integrál
Statistická indukce Teorie odhadu.
Paralelní výpočet SVD s aplikacemi pro vyhledávání informací
Dualita úloh lineárního programování a analýza citlivosti
Použité statistické metody
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
EDA pro časové řady.
Cvičení 6 – 25. října 2010 Heteroskedasticita
Ústav technologie, mechanizace a řízení staveb
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Metody řazení s lineární časovou složitostí
– základní matematické operace se signály (odečty, podíly...) – složitější operace se sadou datových souborů – tvorba maker pro automatizaci zpracování.
Statistika Vypracoval: Mgr. Lukáš Bičík
CHYBY MĚŘENÍ.
také Gaussovo rozdělení (normal or Gaussian distribution)
TMF045 letní semestr 2005/2006 II Časová propagace vlnové funkce na mřížce I. (práce s momentovou reprezentací) (Lekce II)
Algoritmy vyhledávání a řazení
Nechť (, , P) je pravděpodobnostní prostor:
Informatika pro ekonomy II přednáška 10
Diskrétní Fourierova transformace
ZPRACOVÁNÍ A ANALÝZA BIOSIGNÁLŮ
JavaScript Podmínky, cykly a pole.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
IGrid index Roman Krejčík. Obsah Motivace Prokletí dimenze Míry podobnosti IGrid, IGrid+ Experimentální porovnání.
Funkce více proměnných.
Tato prezentace byla vytvořena
Lineární regresní analýza
Jedno-indexový model a určení podílů cenných papírů v portfoliu
Reprezentace klasifikátoru pomocí „diskriminant“ funkce
Rozpoznávání v řetězcích
Databázové systémy Informatika pro ekonomy, př. 18.
Stabilita diskrétního regulačního obvodu
Základy ALgoritmizace 6. cvičení. Program cvičení Kontrolní bod 1 zakončení grafického zápisu algoritmů - vývojových diagramů –identifikátory a proměnné.
BLAST (basic local alignment search tool) Vyhledává podobné sekvence v databázích. Stal se nástrojem pro všechno. Určitou dobu kolektiv autorů držel krok.
2. Vybrané základní pojmy matematické statistiky
Základy matematické statistiky. Nechť je dána náhodná veličina X (“věk žadatele o hypotéku“) X je definována rozdělením pravděpodobností, s nimiž nastanou.
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK 4. Mapování a redukce dimenze 1. část – úvod + mapování vektorových sad.
Praktikum 4c: Tabulky, baterie otázek 16/5/08. Tabulky - metoda popisu dat.
© Institut biostatistiky a analýz ZPRACOVÁNÍ A ANALÝZA BIOSIGNÁL Ů FREKVENČNÍ SPEKTRUM SPOJITÝCH SIGNÁLŮ.
SIGNÁLY A LINEÁRNÍ SYSTÉMY
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK
Podobnost trajektorií Jiří Jakl Úvod - využití Rozpoznáváni ručně psaných textů GPS navigace Analýza pohybu pracovníku v budovách Predikce.
Vyhledávání vzorů (template matching)
SIGNÁLY A LINEÁRNÍ SYSTÉMY
Inferenční statistika - úvod
Náhodná veličina. Nechť (, , P) je pravděpodobnostní prostor:
1 Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Vladimír Mikulík. Slezské gymnázium, Opava, příspěvková organizace. Vzdělávací materiál.
Teorie portfolia Markowitzův model.
© Institut biostatistiky a analýz SPEKTRÁLNÍ ANALÝZA Č ASOVÝCH Ř AD prof. Ing. Jiří Holčík, CSc.
Úvod do databázových systémů
Induktivní statistika - úvod
Definiční obor a obor hodnot
Normální rozložení Intervalová/poměrová proměnná
- váhy jednotlivých studií
Induktivní statistika
Základy zpracování geologických dat Rozdělení pravděpodobnosti
ANALÝZA A KLASIFIKACE DAT
Informatika pro ekonomy přednáška 8
Regresní analýza výsledkem regresní analýzy je matematický model vztahu mezi dvěma nebo více proměnnými snažíme se z jedné proměnné nebo lineární kombinace.
Spojitá a kategoriální data Základní popisné statistiky
Typy proměnných Kvalitativní/kategorická binární - ano/ne
Kapitola 3: Centrální tendence a variabilita
ANALÝZA A KLASIFIKACE DAT
Induktivní statistika
Definiční obory. Množiny řešení. Intervaly.
SPEKTRÁLNÍ ANALÝZA ČASOVÝCH ŘAD
Základy statistiky.
Transkript prezentace:

Vyhledávání v časových řadách Martin Chrz

Časové řady a databáze Časová řada je posloupnost reálných čísel, které reprezentují měření reálné proměnné v určitých časových intervalech Vývoj kurzů akcií Záznam teploty v určitých intervalech Objem prodejů v čase Audio záznam Databáze časových řad obsahuje obrovské soubory dat Např. vývoj kurzů na New Yorkské burze

Podobnost časových řad Problém s definicí podobnosti Trend křivky Velikost fluktuací Hustota a frekvence fluktuací Absolutní hodnoty prvků časových řad U časových řad nás typicky zajímá „tvar křivky“ Např. : Najdi všechny akcie, které se chovají podobně jako akcie IBM

Jak definovat podobnost časových řad? Formální definice databáze časových řad DB = {X1, X2, ..., XN}, kde Xi = [x1i, ..., xni] je časová řada Dotaz je nějaký bod v tomto prostoru Q=[q1,q2,...,qn] Množina výsledků R = {X1, X2, ..., XM}, kde každý prvek R splňuje D(Xj, Q) < d D je Eukleidovská vzdálenost:

Zpracování dotazů – sekvenční algoritmus Jednoduchý algoritmus: porovnáme dotaz q s každým záznamem v databázi a do výsledku vložíme ty záznamy, které splňují uvedenou nerovnost Úplně přesné výsledky... ... ale za jakou cenu Pomalé – pro každý vektor se počítá drahá funkce pro podobnost

Matematické transformace - DFT Převádí signál do frekvenčního oboru Existuje rychlý algoritmus pro výpočet Fourierových koeficientů v čase O(n log n) Časová řada je Xi = [x1i, ..., xni] a koeficienty se spočtou následovně:

DFT – indexace Každou posloupnost rozděl na podposloupnosti stejné délky Normalizuj všechny podposloupnosti tak, aby všechny hodnoty spadaly do určitého rozmezí Pomocí DFT spočti Fourierovy koeficienty pro podposloupnosti Pro reprezentaci podposloupností použij pouze prvních k koeficientů Tyto koeficienty zaindexuj – např. do R - stromu

Dotazování Dotaz Q má stejnou délku jako všechny podposloupnosti v databázi Na dotaz aplikuj kroky 2 a 3 z indexační fáze Použij pouze prvních k koeficientů, stejně jako v kroku 4 v indexační fázi (máme transformovaný dotaz Q´) Prohledej R – strom a do R´ vlož všechny podposloupnosti, které mají od Q´ menší vzdálenost než d Zkontroluj každou podposloupnost v R´, zda její zkutečná vzdálenost od Q je menší než d

Vlastnosti vyhledávání Počítáním pouze s prvními k koeficienty držíme pouze přibližný tvar časové řady Z Parcevalovy rovnosti plyne, že vzdálenost mezi dotazem a podposloupností je v indexovaném prostoru vždy menší nebo rovná vzdálenosti skutečné V bodě 3 vyhodnocování dotazu proto můžeme zanést do výsledků false hits (množina R´ je vždy nadmnožina R)

Rozložení signálu algoritmem DFT Při návrhu je potřeba rozmyslet, kolik koeficientů ponechat Málo koeficientů → rychlé hledání, ale nepřesné Příliš mnoho koeficientů → pomalé, ale přesnější hledání

Reverzní DFT

Symetrie DFT koeficientů U reálných řad jsou koeficienty symetrické, t. j. posledních k koeficientů je komplexně sdružených k prvním k koeficientům Díky tomu lze zvýšit přesnost výpočtů, aniž by se zvýšil počet zaindexovaných koeficientů Pokud tedy máme prvních k koeficientů, můžeme počítat s 2k koeficienty Tato technika umožňuje podstatně snížit chyby ve výpočtech a počet false hitů

Symetrie DFT koeficientů

Diskrétní waveletová transformace - DWT Chová se podobně jako DFT, ale používá rekurzivní funkce místo sinusoid Každý signál v L2(R) lze rozložit pomocí matice koeficientů aj,k Množina těchto koeficientů se nazývá DWT

Rozložení signálu algoritmem DWT

Vlastnosti DWT Dekompozice původního signálu je podobná jako u DFT U DFT se jednotlivé složky liší frekvencí, zatímco u DWT se liší jak frekvencí, tak i pozicí (posunem) Elementární signály tedy u DWT nepřispívají svou hodnotou celému původnímu signálu, ale pouze jeho části DWT funkcí existuje spousta typů Stejně jako u DFT se pro indexaci používá pouze prvních k koeficientů

Reverzní DWT

Reverzní DFT x reverzní DWT Počty koeficientů u předchozího obrázku stejné, na stejné křivce Výsledky DWT jsou jednoznačně lepší Dáno způsobem rozkladu DWT umožňuje nejen rozklad na vyšší frekvence jako DFT, ale i zakomponování posunu, což značně zvyšuje přesnost Je tedy DWT lepší?

Porovnání DFT a DWT Experimentální výsledky ukazují, že DWT je skutečně lepší než DFT Dosud jsme ovšem neuvažovali symetrii DFT koeficientů! V tomto případě je DFS s využitím symetrie vždy lepší než DWT V následujících experimentech byl použit 360 denní záznam 100 akcií Každý záznam byl rozsekán na podposloupnosti délky 128 Po dosažení konce původního záznamu byl použit začátek sekvence Tím se pro každou akcii získalo 360 podposloupností, tedy 36000 vzorků pro vyhledávání Stejné dotazy byly zpracovávány algoritmem DFT, DWT a DFT s využitím symetrie

Míra napodobení původního signálu po reverzních transformacích

Míra napodobení původního signálu po reverzních transformacích - zvětšení

Experimentální výsledky - souhrn Experimentální výsledky hovoří pro použití DFT algoritmu s využitím symetrie koeficientů Dimenzionalita indexu je v praxi velmi důležitá, zejména pokud je použit R – strom, protože R – stromy degenerují už při relativně nízké dimenzi (kolem 10) Efektivita DFT algoritmu s využitím symetrie je mnohem vyšší než efektivita DWT právě v nízkých dimenzích

Matematické transformace Dosud jsme se zabývali indexací a vlastním vyhodnocením dotazu Vhodnými transformacemi lze však časové řady předzpracovat tak, že bude vyzdvižen celkový trend křivky bez ohledu na krátkodobé fluktuace Podobnost křivek je ve značné míře závislá na tazateli (např. dvě akcie jsou podobné, pokud mají stejné fluktuace v čase, i když jedna má třeba dvakrát větší hodnotu než druhá)

Základní transformace Normalizace Nechť µ je průměrná hodnota řady Xk a σ je její směrodatná odchylka. Pak xik´=(xjk- µ)/ σ je normální forma řady Xk Moment Vzniká vydělením hodnoty řady v čase t + 1 hodnotou řady v čase t (lze obecně brát hodnotu v čase t + n)

Základní transformace 2 Posunutí indexů xi´ = xi±n Moving average Moving average za n dní se pro hodnotu xi´ spočte jako průměr z hodnot xj-n/2, ..., xi, ..., xi+n/2

Význam základních transformací Normalizace vyrovnává rozdíly průměrných hodnot (například jedna akcie je dvakrát dražší než druhá) Moment vyjadřuje poměr, v jakém se hodnota řady mění během daného období Posunutí indexů se používá v případě, kdy jedna z řad kopíruje průběh té druhé s určitým zpožděním (například dvě různé akcie reagují jinak rychle na určitou událost na trhu) Moving average v podstatě „vyhlazuje“ křivku Na různé typy dotazů se hodí různé typy transformací

Příklad 1

Příklad 1 První řádek zobrazuje Dow Jones 65 akciový index (COMPV), NYSE akciový index a poté porovnání jejich normálních forem a 9 – ti denních moving average Druhý řádek zobrazuje Dow Jones 65 akciový index (COMPV), NYSE akciový index a poté porovnání jejich normálních forem a 19 – ti denních moving average

Příklad 2

Příklad 2 Dvě různé akcie a jejich momenty za 128 dní Transformace (vypočítání momentu) vyrovnala cenové rozdíly „špičky“ v grafech se liší o 5 dní Aplikací posunu indexů o 5 dní se výrazně sníží vzájemná vzdálenost těchto řad

Transformace – obecně a více formálně Každá lineární transformace lze provést jak na řadu, tak i na její index spočtený DFT algoritmem (linearita) Transformaci lze obecně zapsat jako pár reálných vektorů t = (a, b) Aplikací t na vektor x (dotaz nebo řada v k – rozměrném prostoru) dostaneme nový vektor x´ = a * x + b Všechny uvedené transfomace (moment, posunutí indexů, normalizace, moving average) jsou lineární

Transformace - skládání Chceme – li použít více transformací současně, je lepší použít transformaci složenou Například u akcií chceme provést s – denní posun (posun indexů) a zároveň moving average pro m dní Máme tedy t1 = (a1, b1) a t2 = (a2, b2), které chceme aplikovat na x

Transformace – skládání 2 Často je užitečné definovat množinu všech transformací, které se mají před vyhledáváním aplikovat Například s – denní posun (posun indexů) a zároveň moving average pro m dní pro s = 0, ..., 10 a m = 1, ..., 40; označme tyto množiny transformací jako T1 a T2 Složení transformací t2(t1) lze zapsat jako t3 = (a3,b3), kde a3 = a2 * a1 a b3 = a2 * b1 + b2

Vyhodnocování dotazů Demonstrační dotaz: Pro každý den máme kurzy akcie q a množinu transformací T. Najdi všechny akcie z DB a transformace z T, pro které je jejich Eukleidovská vzdálenost po transformaci menší než daná mez ε. Množinu T tvoří moving average pro m dní pro m = 1, ..., 40. Najděte všechny akcie, které mají po transformaci podobný průběh jako akcie IBM.

Algoritmy vyhodnocení Jednoduchý: Provést transformaci na každou řadu v databázi a vzniklé řady porovnat Příliš neefektivní Lepší: Provést na DFT index každé řady v databázi požadovanou transformaci a na tento index udělat rozsahový dotaz Výsledkem je sjednocení elementárních řešeních z předchozího kroku pro každou transformaci

Jak vyhodnocení vylepšit? Provést všechny požadované transformace najednou Transformaci t = (a, b) lze chápat jako bod v 2n dimenzionálním prostoru Pro všechny transformace zkonstruujeme minimální ohraničující obdélník (MBR) Protože tento obdélník je v 2n dimenzionálním prostoru, je potřeba ho rozložit do n dimenzionálního prostoru na dva obdélníky (jeden odpovídá a a druhý b) Takto upravené transformace lze pak aplikovat na datové obdélníky Předpokládá se existence DFT indexu uloženého v R – stromu s kořenem N

Transformace datového obdélníku

Algoritmus vyhodnocení – všechny transformace najednou Sestroj MBR r pro všecny „body“ v T a rozlož ho na odpovídající složky Sestroj „vyhledávací“ obdélník qrect kolem dotazu q. Šířka obdélníku je ε. Pokud N není list, aplikuj r na každý prvek (obdélník) N a zkontroluj, zda neprotíná qrect. Pokud ano, opakuj na tento prvek bod 3. Pokud N je list, aplikuj r na každý prvek (bod) N a zkontroluj, zda neprotíná qrect. Pokud ano, tento prvek je kandidát. Pro každého kandidáta použij plný databázový záznam, proveď požadované transformace a spočti, zda vzdálenost je menší než ε.

Slabá místa algoritmu Požadované transformace mohou být takové, že MBR, který je nad nimi postavený, pokrývá většinu daného prostoru V takovém případě ztratíme výhodu provedení více transformací zároveň V nejhorším případě se tento algoritmus chová stejně jako výše uvedený vylepšený algoritmus (procházíme celý prostor) Řešením je spočítat více MBR, které už pokryjí mnohem méně prostoru – potřeba najít kompromis

Čas, potřebný na 1 dotaz při různém počtu procházených sekvencí

Čas, potřebný na 1 dotaz při různém počtu provedených transformací

Zdroje Davood Rafiei, On Similarity-Based Queries for Time Series Data, University of Toronto Yi-Leh Wu, Divyakant Agrawal, Amr El Abbadi, A Comparison of DFT and DWT Based Similarity Search in Time-Series Databases Dimitrios Gunopulos, Finding Similar Time Series