České vysoké učení technické v Praze Fakulta elektrotechnická
Diplomová práce
Neuronové sítě pro predikci časových řad Josef Bouška
Vedoucí práce: Kordík Pavel Ing., Ph.D.
Studijní program: Elektrotechnika a informatika, dobíhající, Magisterský Obor: Informatika a výpočetní technika Leden 2008
ii
Poděkování V první řadě děkuji Ing. Pavlu Kordíkovi, Ph.D. za odborné vedení, podnětné připomínky a návrhy a kolegiální přístup při tvorbě této práce. Díky patří též Dr. Richardovi Břzeznému z neurochirurgie v pražské univerzitní nemocnici Motol za poskytnutí biologických dat, Dr. Phil Prendergast ze zahradnického výzkumného ústavu, Kerikeri, Nový Zéland za poskytnutí dat o spotřebě vody mandarinkovníků a Ing. Radku Pincovi za jeho implementaci Analogues Complexing GMDH metody. Dále bych rád poděkoval svým rodičům, přítelkyni Monice a dalším lidem z mého blízkého okolí za psychickou podporu a trpělivost, kterou se mnou v tento čas měli.
iii
iv
Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne 12.1.2008
.............................................................
v
vi
Abstract The goal of this diploma thesis is to find the most appropriate method from computational intelligence domain for slow biological signals prediction. To achieve this goal we need to study the basics of time series analysis, prediction by means of inductive models, choose the proper representatives from parametric and nonparametric methods and perform experiments by means of selected methods on various types of real data sets, including biological data from Motol Hospital in Prague. The results from this work can contribute to treatment of patients with brain injury.
Abstrakt Cílem této diplomové práce je nalézt nejvhodnější metodu z oblasti neuronových sítí pro predikci pomalu se měnících biologických signálů. K dosažení tohoto cíle je třeba prostudovat základy analýzy časových řad a predikci prostřednictvím neuronových sítí, vybrat vhodné zástupce z parametrických a neparametrických metod a pomocí zvolených neuronových sítí provést experimenty s predikcí na různých typech reálných dat, včetně biologických dat dodaných univerzitní nemocnicí Motol. Výzvou je, že v budoucnu by výsledky této práce mohly přispět k rozhodování o zákrocích vedoucích k úspěšnému léčení pacientů po úrazu hlavy.
vii
viii
Obsah Seznam obrázků
xiii
Seznam tabulek
xvi
1 Motivace
1
2 Úvod
1
3 Teoretická část 3.1 Časové řady, jejich vlastnosti a základní metody analýzy . . . . . 3.1.1 Druhy časových řad . . . . . . . . . . . . . . . . . . . . . 3.1.2 Dekompozice časových řad . . . . . . . . . . . . . . . . . 3.1.3 Doplnění chybějících hodnot . . . . . . . . . . . . . . . . 3.1.4 Interpolace . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Extrapolace . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.6 Aproximace . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7 Predikce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7.1 Bodová předpověď a předpovědní interval . . . . 3.1.7.2 Kvalitativní a kvantitativní předpovědní metody 3.1.8 Chyby a metody pro hodnocení kvality predikce . . . . . 3.2 Predikce časových řad pomocí neuronových sítí . . . . . . . . . . 3.3 Parametrické metody a neuronové sítě . . . . . . . . . . . . . . . 3.3.1 GAME - Group of Adaptive Models Evolution . . . . . . 3.3.1.1 Heterogenní jednotky . . . . . . . . . . . . . . . 3.3.1.2 Rostoucí složitost modelu . . . . . . . . . . . . . 3.3.1.3 Propojení napříč vrstvami . . . . . . . . . . . . 3.3.1.4 Generování skupiny modelů . . . . . . . . . . . . 3.3.1.5 Použití genetického algoritmu . . . . . . . . . . . 3.3.1.6 Metoda niching . . . . . . . . . . . . . . . . . . 3.4 Neparametrické metody a neuronové sítě . . . . . . . . . . . . . . 3.4.1 GMDH Analogues Complexing . . . . . . . . . . . . . . . 3.4.1.1 Generování vzorků . . . . . . . . . . . . . . . . . 3.4.1.2 Transformace vzorků . . . . . . . . . . . . . . . 3.4.1.3 Výběr vzorků . . . . . . . . . . . . . . . . . . . . 3.4.1.4 Kombinování vzorků . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 11 11 11 12 12 13 13 13 14 14
4 Experimentální část 4.1 Návrh experimentů . . . . . . . . . . . . . . . . . . . . . . 4.2 Popis použitých datových vzorků . . . . . . . . . . . . . . 4.3 Srovnání neparametrické a parametrické metody predikce 4.3.1 Nastavení experimentu . . . . . . . . . . . . . . . . 4.3.2 Výsledky neparametrické metody . . . . . . . . . . 4.3.3 Výsledky parametrické metody . . . . . . . . . . . 4.3.4 Vyhodnocení experimentu . . . . . . . . . . . . . . 4.4 Zkoumání vlivu optimalizační metody na chybu predikce . 4.4.1 Nastavení experimentu . . . . . . . . . . . . . . . . 4.4.2 Výsledky experimentu . . . . . . . . . . . . . . . . 4.4.3 Vyhodnocení experimentu . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
17 17 18 19 19 20 23 25 27 27 28 28
ix
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
4.5
. . . . . . . . . . . .
31 31 32 32 36 36 37 37 40 40 41 42
. . . . . .
45 45 45 45 48 48 48
6 Závěr 6.1 Návrh na další práci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51 51
7 Literatura
53
4.6
4.7
Porovnání úspěšnosti krátkodobé predikce na různých typech dat . 4.5.1 Nastavení experimentu . . . . . . . . . . . . . . . . . . . . . 4.5.2 Výsledky experimentu . . . . . . . . . . . . . . . . . . . . . 4.5.3 Vyhodnocení experimentu . . . . . . . . . . . . . . . . . . . Porovnání úspěšnosti střednědobé predikce na různých typech dat 4.6.1 Nastavení experimentu . . . . . . . . . . . . . . . . . . . . . 4.6.2 Výsledky experimentu . . . . . . . . . . . . . . . . . . . . . 4.6.3 Vyhodnocení experimentu . . . . . . . . . . . . . . . . . . . Zkoumání vlivu doplňujících informací k časové řadě . . . . . . . . 4.7.1 Nastavení experimentu . . . . . . . . . . . . . . . . . . . . . 4.7.2 Výsledky experimentu . . . . . . . . . . . . . . . . . . . . . 4.7.3 Vyhodnocení experimentu . . . . . . . . . . . . . . . . . . .
5 Implementační část 5.1 Rozšíření GAME o zpracování časových řad pro predikci 5.1.1 Popis funkčnosti . . . . . . . . . . . . . . . . . . 5.1.2 Návod k použití . . . . . . . . . . . . . . . . . . 5.2 Rozšíření GAME o vizualizaci výsledků predikce . . . . 5.2.1 Popis funkčnosti . . . . . . . . . . . . . . . . . . 5.2.2 Návod k použití . . . . . . . . . . . . . . . . . .
A Použité datové vzorky A.1 Periodická data . . . . . . . . . . . . . . . . . . . . A.1.1 Spotřeba vody mandarinkovníku . . . . . . A.1.2 Koncentrace kyslíku v krvi . . . . . . . . . A.2 Aperiodická data . . . . . . . . . . . . . . . . . . . A.2.1 Hladina kysličníku uhličitého, pacient 1 . . A.2.2 Hladina kysličníku uhličitého, pacient 2 . . A.2.3 Kategorizace událostí . . . . . . . . . . . . A.2.4 Příklad vstupních dat s doplňující informací A.3 Náhodná data . . . . . . . . . . . . . . . . . . . . . A.3.1 Náhodný vzorek 1 . . . . . . . . . . . . . . A.3.2 Náhodný vzorek 2 . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
55 55 55 57 58 58 60 60 62 63 64 65
B Podrobné výsledky experimentů B.1 Srovnání neparametrické a parametrické metody predikce . . . . . B.2 Zkoumání vlivu optimalizační metody na chybu predikce . . . . . . B.3 Porovnání úspěšnosti krátkodobé predikce na různých typech dat . B.4 Porovnání úspěšnosti střednědobé predikce na různých typech dat B.5 Zkoumání vlivu doplňujících informací k časové řadě . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
67 67 69 71 74 80
C Obsah přiloženého CD
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
83
x
Seznam obrázků 3.1 3.2 3.3 3.4
Příklad časové řady: Vývoj kurzu Eura vůči české koruně . . . . . . . . . . . . Trendová, sezónní, cyklická a náhodná složka časové řady . . . . . . . . . . . . Průběh chyb předpovědi: a) vliv reziduální složky, b) vliv trendové složky . . . Příklad GAME modelu složeného z heterogenních jednotek propojených do dopředné sítě . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Porovnání originální MIA GMDH sítě a sítě GAME . . . . . . . . . . . . . . . 3.6 Přístup časového okna k predikci časových řad . . . . . . . . . . . . . . . . . . 3.7 Využití informace genetickými algoritmy (GA) pro výběr jedinců . . . . . . . . 3.8 GMDH Analogues Complexing: Transformace vzorků . . . . . . . . . . . . . . . 3.9 GMDH Analogues Complexing: Výběr vzorků . . . . . . . . . . . . . . . . . . . 3.10 GMDH Analogues Complexing: Výhled vzorků . . . . . . . . . . . . . . . . . . 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 5.1 5.2
Vztahy mezi jednotlivými experimenty . . . . . . . . . . . . . . . . . . . . . . . Výstup z metody Analogues Complexing: predikce na periodických datech prováděná v okamžiku t = 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Výstup z metody Analogues Complexing: predikce na neperiodických datech prováděná v okamžiku t = 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . GAME: predikce na periodických datech prováděná v okamžiku t = 30 . . . . . GAME: predikce na neperiodických datech prováděná v okamžiku t = 30 . . . . RMS error’s box plot: predikce prostřednictvím GAME a Analogues Complexing (AC) ve dvaceti různých okamžicích predikce . . . . . . . . . . . . . . . . . . . Vztah průměrné a maximální chyby k různé vzdálenosti predikce . . . . . . . . Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na periodických datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na neperiodických datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Predikce správného směru příští hodnoty u neperiodického vzorku (CO2 , pacient 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Predikce správného směru příští hodnoty u periodického vzorku (kyslík) . . . . Predikce správného směru příští hodnoty u periodického vzorku (mandarinky) . Predikce správného směru příští hodnoty u náhodných dat (vzorek 1) . . . . . RMS error’s box plot: určení správného směru příští hodnoty na 10-ti modelech Predikce stoupajícího trendu do vzdálenosti t + 20 na periodických datech (spotřeba vody mandarinkovníku) . . . . . . . . . . . . . . . . . . . . . . . . . Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech (CO2 , pacient 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Predikce stoupajícího trendu do vzdálenosti t+20 na náhodných datech (vzorek 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Průběh hladiny CO2 (pacient 1) společně s vygenerovanými impulsy manipulace Průběh hladiny CO2 (pacient 2) společně s vygenerovanými impulsy manipulace Box plot: Porovnání úspěšnosti GAME modelů při určování trendu dat s doplňující informací (A) a obyčejných dat (B) . . . . . . . . . . . . . . . . . . . . . a) Klasifikace s kombinováním modelů, b) Mapování n-dimenzionálních dat do dvou rozměrů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aplikace pro předzpracování časových řad . . . . . . . . . . . . . . . . . . . . . Aplikace pro vizualizaci výsledků predikce . . . . . . . . . . . . . . . . . . . . . xi
3 5 7 10 11 11 12 14 15 15 17 21 21 23 24 25 26 30 30 33 33 34 34 35 38 38 39 41 41 43 44 46 49
A.1 Trénovací množina periodických dat (spotřeba vody mandarinkovníku) o velikosti 500 hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Testovací množina periodických dat (spotřeba vody mandarinkovníku) o velikosti 120 hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Trénovací množina periodických dat (mandarinky) o velikosti 1500 hodnot . . . A.4 Testovací množina periodických dat (mandarinky) o velikosti 500 hodnot . . . A.5 Trénovací množina periodických dat (kyslík) o velikosti 1500 hodnot . . . . . . A.6 Testovací množina periodických dat (kyslík) o velikosti 500 hodnot . . . . . . . A.7 Trénovací množina neperiodických dat (průběh CO2 ) o velikosti 900 hodnot . . A.8 Testovací množina neperiodických dat (průběh CO2 ) o velikosti 900 hodnot . . A.9 Trénovací množina neperiodických dat (průběh CO2 , pacient 1) o velikosti 1500 hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.10 Testovací množina neperiodických dat (průběh CO2 , pacient 1) o velikosti 500 hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.11 Trénovací množina neperiodických dat (průběh CO2 , pacient 2) o velikosti 1500 hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.12 Testovací množina neperiodických dat (průběh CO2 , pacient 2) o velikosti 500 hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.13 Trénovací množina náhodných dat (vzorek 1) o velikosti 1500 hodnot . . . . . . A.14 Testovací množina náhodných dat (vzorek 1) o velikosti 500 hodnot . . . . . . A.15 Trénovací množina náhodných dat (vzorek 2) o velikosti 1500 hodnot . . . . . . A.16 Testovací množina náhodných dat (vzorek 2) o velikosti 500 hodnot . . . . . . B.1 Predikce správného směru příští hodnoty u periodického vzorku (spotřeba vody mandarinkovníku) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Predikce správného směru příští hodnoty u periodického vzorku (koncentrace kyslíku v krvi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3 Predikce správného směru příští hodnoty u neperiodického vzorku (hladina CO2 , pacient 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.4 Predikce správného směru příští hodnoty u neperiodického vzorku (hladina CO2 , pacient 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.5 Predikce správného směru příští hodnoty u náhodných dat (vzorek 1) . . . . . B.6 Predikce správného směru příští hodnoty u náhodných dat (vzorek 2) . . . . . B.7 Predikce stoupajícího trendu do vzdálenosti t + 20 na periodických datech (spotřeba vody mandarinkovníku) . . . . . . . . . . . . . . . . . . . . . . . . . B.8 Predikce klesajícího trendu do vzdálenosti t + 20 na periodických datech (spotřeba vody mandarinkovníku) . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.9 Predikce stoupajícího trendu do vzdálenosti t + 20 na periodických datech (koncentrace kyslíku v krvi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.10 Predikce klesajícího trendu do vzdálenosti t + 20 na periodických datech (koncentrace kyslíku v krvi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.11 Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.12 Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.13 Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.14 Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
55 55 56 56 57 57 58 58 59 59 60 60 64 64 65 65 71 72 72 72 73 73 75 75 76 76 76 77 77 77
B.15 Predikce stoupajícího trendu do vzdálenosti t+20 na náhodných datech (vzorek 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.16 Predikce klesajícího trendu do vzdálenosti t + 20 na náhodných datech (vzorek 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.17 Predikce stoupajícího trendu do vzdálenosti t+20 na náhodných datech (vzorek 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.18 Predikce klesajícího trendu do vzdálenosti t + 20 na náhodných datech (vzorek 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.19 Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 1) . . . . . . . . . . . . . . . . . . . . B.20 Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 1) . . . . . . . . . . . . . . . . . . . . B.21 Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 2) . . . . . . . . . . . . . . . . . . . . B.22 Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 2) . . . . . . . . . . . . . . . . . . . . C.1 Obsah přiloženého CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
78 78 78 79 80 81 81 81 83
xiv
Seznam tabulek 3.1
Příklad časové řady: Vývoj kurzu Eura vůči české koruně . . . . . . . . . . . .
4.1
Analogues Complexing: Výpočet přesnosti predikce na periodických datech (mandarinky) prováděné v okamžiku t = 30 . . . . . . . . . . . . . . . . . . . . Analogues Complexing: Výpočet přesnosti predikce prováděné v okamžiku t = 30 na neperiodických datech (CO2 ) . . . . . . . . . . . . . . . . . . . . . . . . . . GAME: Výpočet přesnosti predikce na periodických datech (spotřeba vody mandarinkovníku) prováděné v okamžiku t = 30 . . . . . . . . . . . . . . . . . . . . GAME: Výpočet přesnosti predikce prováděné v okamžiku t = 30 na neperiodických datech (CO2 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Porovnání RMS chyby predikce prostřednictvím metod GAME a Analogues Complexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Přehled optimalizačních metod použitých v GAME . . . . . . . . . . . . . . . . Průměrná RMS chyba predikce do vzdálenosti 5 a 10 hodnot na modelech trénovaných pomocí různých optimalizačních metod . . . . . . . . . . . . . . . . . Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na periodických datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na neperiodických datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transformace dat za účelem porovnání výsledků krátkodobé predikce na různých datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RMS chyby určení správného směru příští hodnoty na 10-ti modelech . . . . . . Transformace dat za účelem porovnání výsledků střednědobé predikce na různých datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procentuální přesnost určení stoupajícího trendu do vzdálenosti t + 20 na 10-ti modelech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procentuální přesnost určení klesajícího trendu do vzdálenosti t + 20 na 10-ti modelech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Záznam několika událostí manipulace s pacientem . . . . . . . . . . . . . . . . Procentuální přesnost určení budoucího trendu hladiny CO2 s doplňujícími údaji, do vzdálenosti t + 20 na 10-ti modelech . . . . . . . . . . . . . . . . . . . . . . Porovnání procentuální přesnosti určení trendu dat s doplňující informací a obyčejných dat pomocí odpovědí z ensemble modelů . . . . . . . . . . . . . . . . . Porovnání procentuální přesnosti určení trendu dat s doplňující informací a obyčejných dat pomocí průměru úspěšnosti jednotlivých modelů . . . . . . . . . .
4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 5.1 5.2
2 21 22 23 24 25 27 29 29 30 31 32 36 37 37 40 42 42 42
Předzpracování dat: Příklad vstupního souboru s pěti časovými řadami . . . . Předzpracování dat: Příklad výstupního souboru s oknem velikosti 4 a jednou predikovanou hodnotou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
A.1 Doba akutního efektu na ICP v sekundách . . . . . . . . . . . . . . . . . . . . . A.2 Příklad části trénovací množiny aperiodických dat s doplňující informací . . . .
61 62
B.1 Analogues Complexing: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině periodických dat (mandarinky) . . . . . . . . . . . B.2 Analogues Complexing: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině neperiodických dat (CO2 ) . . . . . . . . . . . . . . B.3 GAME: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině periodických dat (mandarinky) . . . . . . . . . . . . . . . . . . . . . . xv
46
67 67 67
B.4 GAME: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině neperiodických dat (CO2 ) . . . . . . . . . . . . . . . . . . . . . . . . . B.5 RMS chyba predikce periodických dat do vzdálenosti 5 hodnot na modelech trénovaných pomocí různých optimalizačních metod . . . . . . . . . . . . . . . B.6 RMS chyba predikce periodických dat do vzdálenosti 10 hodnot na modelech trénovaných pomocí různých optimalizačních metod . . . . . . . . . . . . . . . B.7 RMS chyba predikce neperiodických dat do vzdálenosti 5 hodnot na modelech trénovaných pomocí různých optimalizačních metod . . . . . . . . . . . . . . . B.8 RMS chyba predikce periodických dat do vzdálenosti 10 hodnot na modelech trénovaných pomocí různých optimalizačních metod . . . . . . . . . . . . . . . B.9 RMS chyba určení správného směru příští hodnoty . . . . . . . . . . . . . . . . B.10 Procentuální přesnost určení správného směru trendu do vzdálenosti t + 20 na periodických datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.11 Procentuální přesnost určení správného směru trendu do vzdálenosti t + 20 na neperiodických datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.12 Procentuální přesnost určení správného směru trendu do vzdálenosti t + 20 na náhodných datech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.13 Procentuální úspěšnosti určení budoucího trendu hladiny CO2 s doplňujícími údaji, do vzdálenosti t + 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.14 Průměrné významnosti vstupů na 10 modelech . . . . . . . . . . . . . . . . . .
xvi
68 69 69 70 70 71 74 74 75 80 82
KAPITOLA 2. ÚVOD
1
1 Motivace Je přirozenou touhou člověka dozvědět se o tom co ho teprve čeká. To se může týkat osudu jeho samotného, či dějů v jeho okolí, což může být například vývoj různých ekonomických ukazatelů či přírodních jevů. Třeba burzovní makléř by měl mít určitou představu o vývoji ceny akcií, stejně jako snad každého z nás někdy zajímá jaké bude v následujících dnech počasí. Jedním z cílů této práce je predikce biologických signálů ve spolupráci s pražskou nemocnicí v Motole, konkrétně pak průběh tlaku uvnitř hlavy pacienta po úrazu. Znalost budoucího vývoje tohoto průběhu je z medicínského hlediska zajímavá při rozhodování zda je vhodné začít s operací pacienta. V momentě kdy tlak uvnitř hlavy dosáhne kritické hodnoty, mozek spustí obranou reakci, která však v tomto případě vede k jeho sebedestrukci. Kdyby se podařilo tuto hodnotu alespoň trochu úspěšně predikovat, mohlo by to v některých případech napomoci při záchraně pacientova zdraví.
2 Úvod Svět kolem nás je plný jevů, jejichž průběh lze popsat časovými řadami, jakožto souborem hodnot uspořádaných v přirozené posloupnosti. Tato statistická data mají základní význam jak pro analýzu příčin, které na tyto jevy působily a ovlivňovaly jejich chování v minulosti, tak pro předvídání jejich budoucího vývoje. Právě předvídáním časových řad se zabývá tato práce, ve které bude tento proces dále označován pojmem predikce. Predikce časové řady tedy určuje budoucí hodnoty této řady na základě hodnot již naměřených. Obecně platí, že čím více těchto naměřených hodnot máme, tím může být větší naděje na určení budoucích hodnot. To však není jediná podmínka úspěchu, schopnost predikce je z velké části závislá na povaze dat. Je zřejmé že predikce jistě bude úspěšná na datech s periodickým průběhem. Nás však zajímá predikce na datech s obecným průběhem, které na první pohled neumožní určit jak se budou dále vyvíjet, ale ve skutečnosti mohou obsahovat skryté závislosti, které predikci umožní. Existuje mnoho metod pro predikci časových řad, počínaje algebraickými metodami, přes fyzikální modely, statistické metody až po metody využívající umělé neuronové sítě, kterými se tato práce zabývá. Metody využívající neuronové sítě se dají dále rozdělit na parametrické, které nad daty vytváří či přizpůsobují modely a nastavují koeficienty (parametry) neuronů tak aby model co nejlépe odpovídal požadovanému chování a neparametrické, což jsou spíše algoritmy, které využívají princip selekce nejlepšího modelu (v konkrétnějším případě se snaží vyhledávat v datech nejpodobnější vzorky, které použijí pro odhad budoucích hodnot). Práce se skládá ze tří hlavních celků. První část této této je teoretická a zabývá a úvodem do analýzy časových řad, dále popisem metod pro hodnocení úspěšnosti predikce a nakonec popisem parametrických a neparametrických metod. Praktická část je stěžejní částí této práce a obsahuje experimenty provedené na vybraných metodách aplikovaných na reálných datech různé povahy, srovnání výsledků těchto metod a zhodnocení použitelnosti pro predikci pomalu se měnících biologických dat. Implementační část obsahuje rozšíření programu GAME o předzpracování časových řad pro predikci pomocí přístupu posuvného okna a vizualizaci výsledků predikce.
2
KAPITOLA 3. TEORETICKÁ ČÁST
3 Teoretická část 3.1
Časové řady, jejich vlastnosti a základní metody analýzy
Časová řada [8, 13] je chronologicky uspořádaná posloupnost hodnot určitého statistického ukazatele. Tento ukazatel musí být v čase vymezen věcně a prostorově shodně. Prakticky to znamená, že časová řada je řada čísel, kterou tvoří hodnoty nějaké (např. biologické) veličiny. Tyto hodnoty jsou uspořádány od nejstarších po nejmladší nebo naopak a časová vzdálenost mezi jednotlivými hodnotami je ve většině případů konstantní, což není ovšem podmínkou. Z formálního hlediska je časová řada realizací náhodného procesu. Pojem časová řada je možno z matematického hlediska zapsat jako posloupnost: x1 , x2 , ..., xn
(3.1)
xt , t = 1, 2, ..., n
(3.2)
resp. kde n je počet hodnot časové řady a každý prvek xt odpovídá hodnotou pozorování veličiny v čase t. Jako typický příklad časové řady je možno uvést třeba vývoj kurzu Eura vůči české koruně, viz. tabulka 3.1. Tento příklad je samozřejmě jen ilustrativní. Pokud bychom se chtěli pokusit seriózně predikovat budoucí vývoj kurzu, potřebovali bychom dat řádově více. Navíc tato data neobsahují kurzy měny o víkendu, což by se jinými slovy by se dalo říci, že tato časová řada nemá pevnou délku kroku. Přestože časové řady z povahy posloupnosti obsahují diskrétní hodnoty, pro jejich zobrazení se většinou používají spojnicové grafy, viz. obrázek 3.1. Samozřejmě lze použít i diskrétní zobrazení, ale to nevystihuje tak názorně vývoj hodnot časové řady. Datum 10.10.2007 11.10.2007 12.10.2007 15.10.2007 16.10.2007 17.10.2007 18.10.2007 19.10.2007 22.10.2007 23.10.2007 24.10.2007 25.10.2007 26.10.2007 ...
Kč/1 EUR 27.480 27.470 27.480 27.520 27.525 27.450 27.455 27.240 27.210 27.190 27.185 27.115 26.960 ...
Tabulka 3.1: Příklad časové řady: Vývoj kurzu Eura vůči české koruně Cílem analýzy časové řady je snaha porozumět principům, na jejichž základě byly generovány hodnoty řady. S porozuměním tomuto mechanismu přichází šance, že budeme schopni předpovídat budoucí vývoj řady. Za pomoci neuronových sítí však nutnost podrobněji řadu analyzovat
KŁ / 1 EUR
KAPITOLA 3. TEORETICKÁ ČÁST
3
27.6 kurz Eura 27.5 27.4 27.3 27.2 27.1 27 26.9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 den
Obrázek 3.1: Příklad časové řady: Vývoj kurzu Eura vůči české koruně
odpadá, zjednodušeně řečeno neuronové sítě dělají tuto práci za nás, postačí když dodáme pouze dostatečné množství vstupních dat. 3.1.1
Druhy časových řad
Jak bylo zmíněno výše, časové řady většinou mají konstantní časové vzdálenosti mezi hodnotami (mají pevnou délku kroku), takové řady nazýváme ekvidistantní, nebo mohou mít proměnlivou délkou kroku a takové řady nazýváme neekvidistantní. Při práci s neekvidistantními řadami je situace komplikovanější o to, že musíme provádět korekce hodnot kvůli proměnlivému kroku, ale v praxi se naštěstí většinou setkáváme s řadami ekvidistantními. Další důležité dělení je na řady deterministické a stochastické. Časové řady deterministické jsou generovány podle určitého modelu a lze je vždy stejným způsobem přesně rekonstruovat, neobsahují tedy prvek náhody. Příkladem takové řady může být diskrétní obor hodnot nějaké funkce. Pokud takovou funkci známe, pak není samozřejmě žádný problém dokonale a bez chyby určit budoucí hodnoty této řady. Tomu však neříkáme predikce. Naproti tomu stochastické časové řady v sobě prvek náhody obsahují. Naprostá většina jevů v reálném světě, jejichž průběh lze nějakým způsobem zaznamenat a popsat časovou řadou je stochastických. Podle doby sledovaného je možno časové řady dělit na krátkodobé a dlouhodobé. Příkladem krátkodobé časové řady může být sledování tělesných parametrů u člověka v nemocnici, nebo měsíční produkce v továrně. Zatímco u těchto řad sledujeme zde spíše sezónní vlivy u dlouhodobé časové řady nás zajímá spíše dlouhodobý trend nějaké veličiny, třeba její vývoj za dlouhá léta. Dostatek hodnot pro predikci lze získat u obou druhů, záleží na tom, jak velký je krok mezi zaznamenávanými hodnotami. Ze statistického hlediska může chování časové řady buď podléhat změnám v aritmetickém průměru či variabilitě, pak mluvíme o řadě nestacionární, nebo se může chovat stále stejně a takovou řadu nazýváme stacionární. Jinými slovy to znamená, že hodnoty ze začátku nestacionární časové řady mohou mít jiný průměr než hodnoty na jejím konci, řada tedy vykazuje určitý trend, nebo mohou mít například jiný rozptyl. U takové řady jsme schopni ze zjištěných aritmetických parametrů odlišit jeden úsek řady od druhého. Naproti tomu řada stacionární se chová stále stejně, příkladem může být třeba šum.
4
KAPITOLA 3. TEORETICKÁ ČÁST
Podle charakteru měřených hodnot máme řady okamžikové, u kterých se hodnota vztahuje k určitému okamžiku (např. odběr elektřiny v domácnosti v daný okamžik) a intervalové, kde velikost sledované hodnoty závisí na délce intervalu, po který je sledována (např. měsíční náklady na elektřinu této domácnosti). Podle druhu měřených hodnot rozlišujeme časové řady na řady s absolutními ukazateli a s odvozenými ukazateli. První z uvedených obsahuje hodnoty tak jak jsme je v okamžiku měření zaznamenali (např. zmíněná spotřeba elektřiny jedné domácnosti), druhý případ jsou řady nějakým způsobem transformované (např. průměr spotřeby domácností v rámci jednoho města). Pro účely predikce se budeme dále soustředit na časové řady, které jsou ekvidistantní a stochastické, zatímco ostatní parametry mohou být různé. 3.1.2
Dekompozice časových řad
Analýza časových řad [7] je velmi důležitou oblastí statistiky. Cílem této analýzy je většinou konstrukce odpovídajícího modelu z důvodu porozumění mechanismu, kterým jsou generovány sledované údaje. Porozumění tomuto modelu umožňuje předpovídat budoucí vývoj systému. Dekompozice časových řad patří mezi základní přístupy k analýze. Cílem dekompozice je rozložit časovou řadu na tři systematické složky a jednu složku nesystematickou, jelikož se předpokládá, že je snažší analyzovat jednotlivé složky odděleně než celou řadu naráz. Jedná se o následující složky: • Trendová složka. Trend odpovídá dlouhodobým změnám v chování časové řady. Zachycuje tedy dlouhodobý pokles či růst hodnot a vzniká působením vnějších sil stejným směrem. Lze jej popsat matematickou funkcí, ve které se neberou v úvahu krátkodobé nárůsty či poklesy, zachycuje se pouze pohyb v rámci celé časové řady. • Sezónní složka. Sezónní složka je pravidelně opakující se odchylka od trendové složky. Perioda je menší než délka celé řady a přestože se tato složka pravidelně opakuje, může měnit svůj charakter. • Cyklická složka. Cyklická složka charakterizuje dlouhodobé kolísání kolem trendu s proměnlivou periodou (která je delší než u sezónní složky) a proměnlivou amplitudou. Protože působí dlouhodobě, bývá složité ji vysledovat a často bývá zahrnuta do trendu. • Reziduální složka. Reziduální složka (Jinak také náhodná, zbytková) je narozdíl od třech předchozích nesystematická. Je tvořena náhodnými výkyvy časové řady a můžeme pod ní zařadit všechny vlivy, které na časovou řadu působí a nedokážeme je systematicky popsat. Typickým příkladem mohou být šum či chyby měření. Jednotlivé složky zobrazuje obrázek 3.2. Je zřejmé, že časová řada nemusí obsahovat všechny uvedené složky najednou. 3.1.3
Doplnění chybějících hodnot
V případě že v časové řadě některé hodnoty chybí (tak jak tomu bylo v příkladě s vývojem kurzu Eura), bývá občas nutné nutné před zahájením výpočtů chybějící hodnoty doplnit. Je zřejmé, že tyto doplněné hodnoty nejsou plnohodnotné a rovněž mohou snížit kvalitu výsledků, ale u některých metod se bez nich prostě neobejdeme. Dle povahy časové řady a účelu této transformace pro budoucí výpočet existuje několik možností, jak chybějící data doplnit:
KAPITOLA 3. TEORETICKÁ ČÁST
5
Obrázek 3.2: Trendová, sezónní, cyklická a náhodná složka časové řady
• Náhrada chybějících hodnot nulami. Toto je nejjednodušší způsob a pro predikci se příliš nehodí. Používá se tehdy, když chybějící hodnoty musí být alespoň do počtu a nebo když o řadě nevíme nic bližšího, než že její průměrný člen by měl být nulový. • Náhrada chybějících hodnot aritmetickým průměrem či mediánem. Toto je zobecněný případ předchozí transformace a hodí se například pro analýzu stacionárních řad. Lze ještě vylepšit tak, že místo průměru celé řady bereme průměry pouze okolních hodnot, pak lze použít i pro řady nestacionární. • Náhrada chybějících hodnot trendem celé časové řady. Hodí se pro nestacionární řady. • Náhrada chybějících hodnot lineární aproximací okolních bodů. Tato transformace je vhodná pro predikci, protože nezkresluje chování řady zbytečnými výkyvy a hodí se též pro řady které vykazují setrvačnost. 3.1.4
Interpolace
Výsledků analýzy časových řad je možno využít také k nalezení historických hodnot, pro které není k dispozici výsledek měření. Interpolací se rozumí doplňování hodnot doprostřed časových řad, přesněji řečeno nalezení chybějícího údaje závislé veličiny y pro některou hodnotu x uvnitř intervalu známých hodnot. Interpolace tedy není úloha jednoznačná a má smysl jen v jistých mezích přesnosti, která je tím větší, čím hustší a přesnější jsou dané body. Nevíme-li o hledané funkci nic obecnějšího, spojujeme jednoduše dva sousední body úsečkami, čemuž říkáme interpolace lineární. Pro tři známé sousední body můžeme zpřesnění dosáhnout interpolací kvadratickou. Při znalosti více bodů v okolí je možno proložit řadu polynomem, tak aby křivka procházela známými body.
6
KAPITOLA 3. TEORETICKÁ ČÁST
3.1.5
Extrapolace
Zatímco u interpolace hledáme hodnoty uvnitř řady, u extrapolace se jedná o nalezení hodnot na koncích té řady, resp. vně intervalu známých hodnot. V tomto případě je nutno být opatrný, neboť matematické prostředky použité pro určení charakteru závislosti nemohou zpravidla zodpovědně odhadnout budoucí nebo minulý vývoj. Extrapolace je v podstatě jednodušším případem predikce. Je zřejmé, že extrapolace je ze matematického hlediska mnohem méně přesnou a složitější metodou než interpolace. 3.1.6
Aproximace
Pojmem aproximace označujeme v matematice přibližnou hodnotu čísla, nebo jednu z jeho možných hodnot. Aproximace může také znamenat nahrazení čísla vhodným číslem blízkým. Například Ludolfovo číslo lze za určitých okolností nahradit (aproximovat) hodnotou 22 7 . Apro. V geometrii se jedná o proložení několika bodů křivkou, přičemž ximace čísla π je tedy 22 7 narozdíl od interpolace není nutné, aby tato křivka přesně procházela zadanými body. Ve statistice je často třeba aproximovat naměřená data, zatížená náhodnými chybami měření nebo náhodným šumem funkční závislostí. 3.1.7
Predikce
Konstrukce předpovědí (jinak také predikce) je jedním z nejdůležitějších úkolů analýzy časových řad. Výběr příslušné předpovědní techniky, závisí na dané situaci a řadě dalších okolností. Hrají zde roli zejména následující faktory: • Horizont předpovědi, což je časová vzdálenost předpovídané hodnoty od okamžiku provádění předpovědi. • Požadovaná forma předpovědi. Například bodová předpověď, nebo předpovědní interval, viz. níže. • Náklady spojené s konstrukcí předpovědi, tzn. časové i finanční prostředky spojené s vyvinutím metody, či s vlastní předpovědí. • Požadovaná přesnost předpovědi • Druh dat, která jsou k dispozici. Výchozími daty může být např. pouze jednoduchá časová řada, řada s doplňujícími informacemi (průběh derivace, interferenční proměnné), či několik časových řad, které jsou spolu nějakým způsobem příbuzné. • Dostupnost dat, jejich kvalita (např. chybějící údaje), či objem. 3.1.7.1
Bodová předpověď a předpovědní interval
Bodová předpověď je hodnota, která představuje odhad hodnoty zkoumané časové řady ve stanoveném budoucím okamžiku. Bodová předpověď je vždy zatížena určitou chybou, takže konkrétní číslo, které poskytuje, je nutné brát s určitou rezervou. Proto je často užitečné počítat s takzvaným předpovědním intervalem, který je analogický intervalu spolehlivosti z matematické statistiky. Někdy se požaduje pouze znalost trendu, tzn. informace o tom zda bude ve stanoveném budoucím okamžiku sledovaná veličina růst, či klesat, bez ohledu na velikost změny. V praktické části této práce se budeme zabývat právě Bodovou předpovědí.
KAPITOLA 3. TEORETICKÁ ČÁST 3.1.7.2
7
Kvalitativní a kvantitativní předpovědní metody
Kvalitativní předpovědní metody (též nazývané expertní metody) jsou obvykle založeny na názoru odborníků a mají proto dosti subjektivní charakter. Tyto metody nacházejí uplatnění v případě, když není k dispozici dostatečné množství historických dat, pro předpovědi za pomoci analýzy. To může nastat například při plánování výrobního procesu v továrně při zavádění nových výrobních technologií. Technologické srovnávání je metoda založená na tom, že pro předpovídanou veličinu existuje nějaká primární veličina, která její vývoj úzce ovlivňuje. Tudíž z vývoje primární veličiny lze vývoj neznámé veličiny odhadnout. Přístup této metody taktéž subjektivní v tom, že odpovědnost za vyhodnocení vztahu mezi oběma oblastmi se přenechává expertovi. Kvantitativní metody se snaží předpovídat na základě statistické analýzy naměřených dat. Kvantitativní metody jsou tedy konstruovány na základě objektivních metod, ale na druhou stranu jejich úspěch silně závisí na předpokladu, že se v budoucím vývoji nemění charakter řady (tzn. že zůstává v platnosti model zkonstruovaný na základě předchozích hodnot). 3.1.8
Chyby a metody pro hodnocení kvality predikce
Vyšetřování chyb predikce je nezbytný úkol pro zhodnocení kvality použitých metod. Hlavním zdrojem chyby predikce je přítomnost reziduální složky v časové řadě, jelikož tato složka představuje nepředopvěditelné chování řady. Je-li v datech velký podíl této složky, pak je možnost podat přesnou předpověď značně omezena. Na velikosti chyby predikce má ale také vliv, jak úspěšně zvládneme predikci systematických složek řady. Proto velké chyby v předpovědi mohou znamenat buď značný podíl reziduální složky řadě, nebo také použití nevhodné předpovědní techniky. Pokud se použitá technika pro predikci vyrovnala s předpovědí všech systematických složek řady, pak chyby předpovědi odráží pouze vliv reziduální složky, viz. obrázek 3.3 a). Na obrázku 3.3 b) je naopak vidět situace kdy příslušná technika predikce špatně vystihla vývoj trendové složky.
Obrázek 3.3: Průběh chyb předpovědi: a) vliv reziduální složky, b) vliv trendové složky Chyba predikce je definována jako: et = yt − yˆt ,
(3.3)
kde yt je skutečná hodnota a yˆt je predikovaná hodnota. Velikost chyby se samozřejmě zjistí až tehdy, když poznáme skutečnou hodnotu yt , kterou jsme při konstrukci predikce neznali. Často se však pro posouzení kvality navržené metody predikce konstruují předpovědi známých
8
KAPITOLA 3. TEORETICKÁ ČÁST
hodnot časové řady (tzv. testovací množina dat) a provádí se porovnání těchto předpovědí s daty z testovací množiny. Nejčastěji používané míry pro zhodnocení kvality navržené predikce posuzují vývoj předpovědi v čase. Používá se například odmocnina ze střední čtvercové chyby (Root Mean Square Error) v v u n u1 X
RM S = t
n
·
u n 2 uX et ,
(yt − yˆt )2 = t
t=1
t=1
n
(3.4)
střední čtvercová chyba (Mean Squared Error) M SE =
n n X 1 X e2t · (yt − yˆt )2 = , n t=1 n t=1
(3.5)
součet čtvercových chyb (Sum of Squared Errors) SSE =
n X t=1
(yt − yˆt )2 =
n X
e2t ,
(3.6)
t=1
a střední absolutní odchylka (Mean Absolute Deviation) n n X |et | 1 X |yt − yˆt | = , M AD = · n t=1 n t=1
(3.7)
kde n ve všech rovnicích znamená počet předpovídaných hodnot. Všechny tyto míry jsou dobře použitelné při porovnávání různých metod predikce na stejných datech. Pro který ukazatel se rozhodneme záleží na tom, které chyby chceme odhalit. Například ukazatel MSE na rozdíl od MAD penalizuje mnohem důrazněji větší chyby předpovědi než chyby malé. Pokud se však dostaneme do situace, kdy potřebujeme porovnat úspěšnost jedné metody predikce na různých datech, pak tyto ukazatele selhávají a to z důvodu že jejich výsledek je závislý na rozsahu oboru hodnot dané časové řady. V tomto případě je vhodné například porovnávat úspěšnost predikce trendu zkoumaných časových řad.
3.2
Predikce časových řad pomocí neuronových sítí
Oproti klasické analýze spočívá výhoda neuronových sítí [15] ve schopnosti učit se z naměřených dat a schopnosti objevit skryté nelineární závislosti. Nevýhoda naopak spočívá v tom, že většinou nelze předem odhadnout velikost chyby předpovědi, či stanovit interval spolehlivosti. Obecně je naším úkolem najít optimální model systému. Při jeho hledání se dá postupovat dvěma způsoby: • dedukcí - Na počátku vybereme obecný model a ten se pak během učící přizpůsobuje požadovanému chování, což znamená že se nastavením koeficientů vytvoří model systému, který hledáme. Na tomto principu je založena většina neuronových sítí. • indukcí - Na počátku máme pouze několik základních stavebních jednotek a až během učící fáze se snažíme vhodný model vytvořit, který nejlépe odpovídá požadovanému chování. Pro většinu typů predikcí se hodí neuronové sítě, které jsou univerzálními aproximátory funkcí, mezi něž patří sítě typu back-propagation, nebo neuronová síť GMDH (Group method of Data Handling) a z ní odvozené sítě, kterými se blíže zabývá další část této práce. Tyto sítě jsou založeny na principu induktivního modelování a lze je dále rozdělit na parametrické sítě a neparametrické sítě.
KAPITOLA 3. TEORETICKÁ ČÁST
3.3
9
Parametrické metody a neuronové sítě
Tento typ GMDH sítí se nazývá parametrickým proto, že během učení nastavuje koeficienty (parametry) neuronů. Je dokázáno, že parametrické GMDH algoritmy jsou vysoce účinné v případě modelování objektů s určitými (non-fuzzy) charakteristikami. První verzi algoritmu GMDH, síť MIA (Multilayered Iterative algorithm) [5], je založena na částečné indukci. Poprvé ji navrhl a v roce 1968 zveřejnil ukrajinský vědec A. G. Ivachněnko. Neurony sítě mají ve všech vrstvách stejné polynomy. Tento algoritmus je v praxi nejpoužívanější. Další typ sítě je založen na úplné indukci a kombinatorickém algoritmu COMBI (Combinatorial Algorithm). Podle tohoto algoritmu se během učení mění nejen struktura sítě, ale navíc se vyvíjí polynomy v neuronech v různých vrstvách. Třetí typ sítě je dvojnásobně vrstvený algoritmus TMNN (Twice Multilayered Neural Network), který pokrývá oblast GMDH sítí s vice než jedním výstupem. Obecně totiž GMDH neuronová síť má pouze jeden výstup. V případě, že chceme mít výstupů více, je nutné vytvořit pro každý jednu síť. Jejich učení probíhá nezávisle. Protože se však výstupy mohou vzájemně ovlivňovat, není vhodné nechat tyto výstupy odděleně. Tento problém se snaží vyřešit TMNN síť tím, že v prvním kroku naučí samostatné sítě, v druhém kroku pak označí každou síť za jeden neuron a z nich se pak snaží postavit celou výslednou síť. Poslední typ sítě je založen opět na úplné indukci a vychází ze sítě GMDH MIA. Její název je GAME (Group of Adaptive Models Evolution) a bude blíže popsána v následující podkapitole, jelikož byla vybrána jako zástupce parametrických metod pro predikci a tvoří nástroj pro značnou část experimentů této práce. 3.3.1
GAME - Group of Adaptive Models Evolution
Z výše zmíněné verze algoritmu MIA GMDH byla vyvinuta síť ModGMDH s některými vylepšeními (např. heterogenní jednotky, propojení mezi vrstvami atd.). Dalším vývojem vznikla ještě důmyslnější metoda GAME [6, 11]. Tato metoda generuje skupiny samoadaptujících se modelů podle charakteru a komplexnosti zadaných dat. Induktivní model roste z minimální formy během učící fáze do takové velikosti, aby byl schopen vyřešit zadanou úlohu s požadovanou přesností. Konečný model (viz. obrázek 3.4) se skládá z jednotek (neuronů), které nejlépe vystihují vnitřní vztahy v datech. Z obrázku 3.5 je vidět že GAME má více stupňů volnosti než základní metoda MIA GMDH (neurony nemusí být jen polynomy a mohou mít více vstupů, propojení mezi neurony se může realizovat i napříč různými vrstvami). V následujících podkapitolách jsou vylepšení GAME podrobněji rozebrána. V případě vícerozměrných dat je nemožné bez dalších heuristik vyhledat v obrovském stavovém prostoru všech modelů odpovídající topologii. Proto v sobě metoda GAME zahrnuje genetický algoritmus, který napomáhá vyvinout optimální strukturu. Metoda GAME je primárně navržena pro regresní a klasifikační úlohy, použití pro predikci není tak přímočaré. Data na kterých chceme predikci provést musí být patřičným způsobem připravena, například pomocí přístupu časového okna, viz. obrázek 3.6. Tento přístup spočívá v tom, že na vstupy sítě přivedeme více historických hodnot časové řady, vtažených k okamžiku predikce. Síť tak získává přehled o tom co se v datech dělo za zvolený časový úsek minulých hodnot. Jak bylo zmíněno výše, síť má pouze jeden výstup. Pokud tedy chceme předpovídat
10
KAPITOLA 3. TEORETICKÁ ČÁST
Obrázek 3.4: Příklad GAME modelu složeného z heterogenních jednotek propojených do dopředné sítě
více budoucích hodnot, musíme na takto připravených trénovacích datech vyvinout pro každý výstup jeden model.
3.3.1.1
Heterogenní jednotky
Jednotky ze kterých se skládá výsledný model mohou být různých typů, lišících se ve své přenosové funkce. Typy jednotek mohou být lineární, polynomiální, sigmoidní, exponenciální, či například samotná perceptronová síť. Každý typ má svůj vlastní učící algoritmus pro stanovení koeficientů (Back-propagation algoritmus, SADE genetický algoritmus, Gauss-Jordanova metoda atd.). Které typy jednotek budou vybrány při vytváření sítě závisí přirozeně na povaze zkoumaných dat. Hlavní výhoda používání různých typů jednotek v jednom modelu spočívá v tom, že model se automaticky přizpůsobí modelovanému systému. Hybridní modely jsou přesnější než homogenní, dokonce i když homogenní metoda má přenosovou funkci odpovídající modelovanému systému.
3.3.1.2
Rostoucí složitost modelu
Jednotky v GAME síti musí mít minimálně jeden vstup a maximální počet vstupů nesmí překročit počet jednotek skryté vrstvy, ke které daná jednotka patří. Počet vstupů do jednotky roste společně s hloubkou jednotky v modelu. Přenosová funkce odráží rostoucí počet vstupů. Vlastnost rostoucího počtu vstupů do jednotek je zásadní pro induktivní sítě, pomáhá překonat problém s dimenzionalitou. V souvislosti s induktivním principem je jednoduché dekomponovat problém na jedno-dimenzionální interpolační problém a kombinovat řešení do dvou a více dimenzí.
KAPITOLA 3. TEORETICKÁ ČÁST
11
Obrázek 3.5: Porovnání originální MIA GMDH sítě a sítě GAME
Obrázek 3.6: Přístup časového okna k predikci časových řad
3.3.1.3
Propojení napříč vrstvami
Jednotky už nemají pouze vstupy pouze z předchozích vrstev. Vstupy mohou být připojeny na výstup jakékoliv jednotky z předcházející vrstvy. 3.3.1.4
Generování skupiny modelů
Metoda GAME generuje na množině učících dat modely s podobnou přesností. Modely jsou stavěny a testovány na náhodných podmnožinách množiny učících dat. Modely mají také podobné typy jednotek a podobnou složitost. Potom je těžké vybrat nejlepší model, protože mnoho modelů má stejnou, či velmi podobnou přesnost na testovaných datech. Proto není vybrán jeden nejlepší model, ale skupina modelů, tzv. ensemble. Tato technika je založena na myšlence, že skupina modelů neuronových sítí je naučena pro řešení stejné úlohy a odezvy jednotlivých modelů se kombinují. 3.3.1.5
Použití genetického algoritmu
Jedinec v genetickém algoritmu reprezentuje jednu určitou jednotku v GAME sítí. Vstup do jednotky je zakódován do binárního řetězce chromozómu. Délka chromozómu se rovná počtu vstupních proměnných plus počtu jednotek předcházející vrstvy, na kterou může být daná jednotka připojena. Vhodnost (fitness funkce) jedince je nepřímo úměrná chybě jednotky na
12
KAPITOLA 3. TEORETICKÁ ČÁST
testovací množině. Po několika epochách genetického algoritmu, jedinec s nejvyšší hodnotou fitness funkce se stane hlavní složkou populace a je nalezeno nejlepší řešení. 3.3.1.6
Metoda niching
Tato metoda [12] je jedním z hlavních vylepšení GAME oproti ModGMDH. Rozšiřuje genetické algoritmy a umožňuje zachování méně přesných jedinců, které však mohou nést zajímavou informaci pro výsledný model. Je založena na principu nalezení většího počtu extrémů. Běží-li totiž klasický genetický algoritmus dostatečně dlouhou dobu, všichni jedinci se budou nakonec nalézat v okolí globálního extrému. Pokud však chceme nalézt větší počet řešení, genetický algoritmus by měl udržovat stabilní populace na okolí několika extrémů. K tomu nám právě dopomůže technika niching, která v populaci zachová i jedince z okolí méně dobrých extrémů pomocí určité normalizace kvality těchto jedinců. V podstatě se populace rozdělí na několik samostatně vyvíjejících se částí s upraveným životním prostředím (proto niching, odvozeno od niche - útočiště) v okolí různých extrémů.
Obrázek 3.7: Využití informace genetickými algoritmy (GA) pro výběr jedinců
3.4
Neparametrické metody a neuronové sítě
V případě kdy modelování zahrnuje objekty s neurčitými (fuzzy) charakteristikami (např. když je v datech příliš velký rozptyl šumu), je více účinné použít neparametrické GMDH algoritmy, ve kterých jsou polynomiální modely nahrazeny vzorky dat rozdělenými do intervalů či shluků. Zde nelze mluvit o neuronové síti v původním významu, jako spíše o algoritmech, které využívají princip selekce nejlepšího modelu. Objev první neparametrické techniky [16] se datuje ke konci 19. století, kdy Karl Pearson představil techniku zvanou histogram. Sice zdaleka nejde o neuronovou síť, ale tento objev položil základ dalším výzkumům. Z dalších objevů lze jmenovat například Kernel Smoothing, populární neparametrickou metodu pro odhad hustoty, představenou pány M. Rosenblatt1 a E. Parzen. Rostoucí vývoj a praktické aplikace neparametrických metod přichází společně s rapidním vývojem výpočetní techniky. Mezi představitele GMDH sítí patří například algoritmus pro shlukovou analýzu nazývaný Objective Cluster Analysis (OCA) [1], který umí automaticky a objektivně stanovit množství shluků a vyhledat optimální schéma shlukování. Jinými slovy je jeho účelem automaticky rozdělit data do skupin s podobnými vlastnostmi. Dále se k těmto sítím řadí algoritmus pro hledání fuzzy modelů (FUZZY-GMDH), jinak také nazývaný Fuzzy Rule Induction using GMDH [3]. Je to přístup formování modelů za použití 1
Pozor na záměnu s F. Rosenblattem, vynálezcem perceptronu.
KAPITOLA 3. TEORETICKÁ ČÁST
13
popisujícího jazyka založeného na fuzzy logice s fuzzy predikáty. Je schopný kvalitativně popsat vícenásobný vstupní/výstupní systém prostřednictvím systému fuzzy pravidel. Algoritmus probíhá ve třech krocích: fuzzyfikace, identifikace struktury (generování pravidel) a defuzzyfikace. A konečně mezi neparametrické neuronové GMDH sítě patří také algoritmus Analogues Complexing (AC), což je vícerozměrný vyhledávací nástroj, který vybírá nejpodobnější vzorky z dat v minulosti vztažené k aktuálnímu referenčnímu vzorku. Tento algoritmus byl vybrán za zástupce neparametrických metod pro své přímočaré nasazení pro predikci a dostupnosti vhodné aplikace implementující tento algoritmus. Zabývá se jím praktická část této práce a proto je mu blíže věnována následující podkapitola. Neparametrické metody mohou být rovněž využity při analýze sekvencí DNA. Konkrétně se jedná o EST analýzu (Expressed Sequence Tags), viz. [19]. Ta zkoumá malé kousky sekvencí, ke kterým obvykle neexistují téměř žádné doplňující informace a byly získány pomocí jednodušších metod. Zde se pro predikci, zkoumání a identifikaci dají nasadit Bayesovské neparametrické metody (Bayesian nonparametric methods), viz. [14].
3.4.1
GMDH Analogues Complexing
Metoda Analogues Complexing [17, 6, 4] je určena pro shlukování, klasifikaci a především predikci časových řad, kde nalézá asi největší využití. Je založena na předpokladu, že časový průběh zkoumaného děje se nějakým způsobem opakuje. Jinými slovy to znamená, že k současnému stavu systému existuje v minulosti jeden či více stavů podobných, ze kterých lze usuzovat jak se chování systému bude vyvíjet v budoucnosti. Dalším předpokladem je dostatečný počet vzorků, které vystihují charakteristické stavy a chování systému. Metoda je často nasazovaná na neúplná a zašuměná data s neurčitými vlastnostmi, na kterých mít přesnější výsledky než parametrické metody. Algoritmus této metody se dá shrnout do čtyřech kroků, které budou blíže popsány v následujících podkapitolách. V prvních dvou krocích probíhá učící fáze, kdy se na základě trénovací množiny vytvoří paměť vzorků, ve které každý vzorek obsahuje posloupnost vektorů z trénovací množiny a odkaz na další vývoj posloupnosti. V dalších dvou krocích probíhá vybavovací fáze. V paměti vzorků se vyhledávají nejpodobnější vzorky výchozí posloupnosti vektorů a jejich kombinací se usuzuje na budoucí vývoj posloupnosti. Algoritmus může probíhat iterativně, kdy nově získané hodnoty mohou být použity jako výchozí vektor posloupnosti do další iterace. 3.4.1.1
Generování vzorků
Generování vzorků spočívá ve vytvoření všech možných vzorků z trénovací množiny. Protože vstupní data do této metody nemusí mít pouze jeden rozměr, předpokládejme že trénovací množina se skládá z jednotlivých vektorů. Jeden vzorek potom představuje určitý počet vektorů. Tento počet je označován jako velikost okna. Obvykle se nastavuje rozmezí v jakém se velikost okna může při generování vzorků pohybovat. Tento parametr se do značné míry ztotožňuje s velikostí posuvného okna použitého při predikci pomocí parametrických metod. 3.4.1.2
Transformace vzorků
Jednotlivé vzorky uložené v paměti slouží k vyhledávání podobných vzorků k výchozí posloupnosti vektorů. Protože ale může dojít k tomu, že vhodné vzorky v paměti mohou být posunuty, či dokonce mít jiné měřítko, je vhodné vzorky v paměti transformovat. Algoritmus potom
14
KAPITOLA 3. TEORETICKÁ ČÁST
nehodnotí podobnost vzorků pouze podle absolutní shody, ale také podle podobnosti tvaru průběhu.
Obrázek 3.8: GMDH Analogues Complexing: Transformace vzorků
3.4.1.3
Výběr vzorků
Jak bylo již zmíněno výše, úkolem tohoto kroku je nalezení takových vzorků v paměti, které se nejvíce podobají referenčnímu vzorku, tedy posloupnosti výchozích vektorů z testovací množiny. Pro rozhodování o tom, které vzorky jsou nejvíce podobné, je nutno použít vhodnou metriku, která tuto podobnost vyjadřuje číselně. Například lze využít hammingovu či euklidovskou vzdálenost pro vyjádření podobnosti dvou vzorků. Algoritmus pro výběr nejpodobnějších vzorků může buď vybírat pevný počet nejpodobnějších vzorků, či stanovit mezní hodnotu metriky.
3.4.1.4
Kombinování vzorků
Každý ze vzorků, získaných v předchozím kroku, má svojí vlastní posloupnost vektorů, které po něm následují v trénovací množině. Této posloupnosti se říká výhled, viz. obrázek 3.10. Jednotlivé výhledy je pak potřeba zkombinovat a tím vytvořit výslednou předpověď budoucího vývoje posloupnosti, tedy výhled referenčního vzorku. Způsobů jak kombinovat výhledy je poměrně mnoho. Z jednodušších způsobů lze uvést například použití aritmetického či geometrického průměru. Vylepšením může být zohlednění jednotlivých vzorků podle míry jejich podobnosti.
KAPITOLA 3. TEORETICKÁ ČÁST
Obrázek 3.9: GMDH Analogues Complexing: Výběr vzorků
Obrázek 3.10: GMDH Analogues Complexing: Výhled vzorků
15
16
KAPITOLA 3. TEORETICKÁ ČÁST
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
17
4 Experimentální část 4.1
Návrh experimentů
Experimentální část se v první řadě zabývá porovnáním dvou rozdílných přístupů k algoritmu GMDH, konkrétně parametrickou metodou GAME a neparametrickou metodou Analogues Complexing. Porovnání je provedeno na dvou typech dat. Prvním jsou data s opakujícím se charakterem, druhý typ dat je striktně aperiodický. Protože predikce pomocí parametrické metody se ukázala jako přesnější, věnují se další experimenty podrobněji síti GAME. Vztah mezi jednotlivými experimenty znázorňuje obrázek 4.1. Na obrázku jsou také zachyceny náměty na další experimenty, které se v průběhu práce ukázaly jako zajímavé, bohužel však již překračují prostor této práce.
Obrázek 4.1: Vztahy mezi jednotlivými experimenty
První experiment se týká vlivu optimalizační metody při trénování (a stavění) sítě a měl by odpovědět na otázku, zda použitá optimalizační metoda ovlivní chybu výsledného modelu při predikci. V případě kladné odpovědi by zároveň měly být určeny nejúspěšnější optimalizační metody pro účel predikce. Další dva experimenty se týkají porovnání úspěšnosti predikce na různých typech dat, včetně pokusu o ”predikci” na náhodně vygenerovaných časových řadách, pro ověření validity predikce na reálných datech. První z těchto experimentů se věnuje krátkodobé predikci a to hned následující hodnoty za koncem časového okna (tedy v čase t + 1). Aby bylo možno porovnat úspěšnost predikce na různých datech (s různým měřítkem), nepředpovídá se absolutní hod-
18
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
nota, ale informace o tom zda je budoucí hodnota menší, či větší, než hodnota v čase t. Další experiment se týká střednědobé predikce, konkrétně v čase t + 20. Zde se místo absolutní hodnoty předpovídá směr trendu časové řady do vzdálenosti predikce. Poslední experiment je již konkrétnější a zabývá se přidáním doplňující informace k časové řadě s biologickým signálem. Měl by odpovědět na otázku, jakou měrou ovlivní přidaná informace, související s časovou řadou, schopnost predikce. Vychází se přitom z předchozího experimentu se střednědobou predikcí, aby bylo možno porovnat výsledky. Předpoklad je samozřejmě takový že doplňující informace schopnost predikce zvýší. Jak bylo uvedeno výše, v průběhu provádění experimentů se objevily náměty na další otázky. Tyto náměty budou přiblíženy v závěru jako návrhy na další práci.
4.2
Popis použitých datových vzorků
V této podkapitole budou blíže představeny použité datové vzorky v experimentální části. Data jsou vždy rozdělena na trénovací a testovací množinu a grafy s průběhy příslušných časových řad lze nalézt v příloze. Data z testovací množiny vždy přesně navazují na konec časové řady v datech z trénovací množiny. Bližší popis nastavení trénovací a testovací množiny se nachází vždy až u příslušného experimentu. • Periodická data1 - Za prvé se jedná o časovou řadu zaznamenávající spotřebu vody mandarinkového stromu. Chování řady má opakující se charakter díky vyšší spotřebě vody přes den. Kromě dne a noci má však na spotřebu vody vliv mimo jiné například počasí v daný den, takže objem spotřeby se může každý den lišit. Data jsou poskytnuta zahradnickým výzkumným ústavem na Novém Zélandu. Za druhé jde o průběh koncentrace kyslíku v krvi u spícího člověka. Tyto data pocházejí z laboratoře v Beth Israel Hospital, Boston, Massachusetts. • Aperiodická data - Tento typ dat je striktně aperiodický, ne však čistě náhodný. Jedná se o dva vzorky dat snímaných u pacientů v nemocnici po úrazu hlavy, konkrétně vývoj hladiny kysličníku uhličitého. Původní záměr byl zkoumat vývoj pacientova vnitrolebečního tlaku, což by mohlo mít v případě úspěšné predikce i jistý klinický význam, data však v současné době stále nejsou k dispozici, z důvodu technických komplikací digitálního záznamu těchto dat. • Náhodná data - Jedná se o data, generovaná pseudonáhodně s jistými zákonitostmi na základě dvou zadaných parametrů. Nejedná se tedy pouze o bílý šum. První parametr určuje maximální počet přírůstků, resp. úbytků v jednom směru. Počet je při každé změně směru rovněž generován náhodně, ale je parametrem shora omezen. Druhý parametr určuje maximální velikost každého přírůstku, resp. úbytku. I tato velikost je v každém kroku generována náhodně, ale shora omezeně. Algoritmus je znám také jako ”Random walk”, jeho implementaci přikládám v příloze.
1
pro upřesnění: v pravém významu slova je periodicita přesně matematicky definována. Zkoumaná data sice této definici neodpovídají (jinak by totiž šlo o deterministickou časovou řadu a nejednalo by se pak o predikci), ale jelikož mají pravidelně se opakující charakter, dovolil jsem si toto označení použít
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
4.3
19
Srovnání neparametrické a parametrické metody predikce
Jako zástupce neparametrických metod byl vybrán algoritmus Analogues Complexing díky jeho přímočarému nasazení na predikci časových řad. Existují dvě známé implementace tohoto algoritmu. Prvním je software KnowledgeMiner [2], který je však napsaný pro platformu Macintosh. Dá se pomocí emulátoru spustit i pod jinými platformami, ale existuje ještě druhá možnost v podobě implementace Analogues Complexing [17] od Radka Pince, jakožto výsledek jeho diplomová práce. Výhoda této aplikace je, že běží na webovém serveru, takže je použitelná na všech platformách přes okno webového prohlížeče. Další její výhodou je příjemné a intuitivní ovládání. Obě výhody rozhodly o použití právě této aplikace. Z parametrických metod byl vybrán algoritmus GAME, protože je vyvíjen na katedře počítačů a pro porovnání s dalšími parametrickými metodami již není v práci prostor. Pro prováděný experiment je použito open source prostředí FAKE GAME podporující automatizované vytváření GAME modelů. Tento software je výsledkem disertační práce [10] Pavla Kordíka.
4.3.1
Nastavení experimentu
Tento experiment je navržen tak, aby odpověděl na otázku jestli je metoda Analogues Complexing schopna dát přesnější výsledky predikce než metoda GAME. Jak bylo uvedeno výše, experiment je proveden na dvou zcela odlišných typech dat. Nejdříve si blíže popíšeme podobu trénovací a testovací množiny obou vzorků. Trénovací množina periodických dat (obrázek A.1) obsahuje 500 hodnot a časový rozestup mezi jednotlivými hodnotami je půl hodiny. To znamená že v trénovací množině je zaznamenána spotřeba vody přibližně za 10 dní. Testovací množina (obrázek A.2) přímo navazuje na trénovací data a obsahuje 120 hodnot. Pro přehlednost stojí za zmínku, že graf zobrazující testovací data má na vodorovné ose jiné měřítko než graf s daty trénovacími. Trénovací množina aperiodických dat (obrázek A.7) obsahuje 900 hodnot a časový rozestup mezi hodnotami je 2 minuty, což znamená, že trénovací množina obsahuje sledování vývoje CO2 po dobu 30 hodin. Testovací množina (obrázek A.8) obsahuje 100 hodnot a rovněž přímo navazuje na trénovací data. Ze zobrazení to nemusí být na první pohled patrné, jelikož z důvodu lepší představu o testovacích datech bylo upraveno i měřítko svislé osy. Oba popisované vzorky dat budou použity ve stejné podobě u obou porovnávaných metod. Jediný rozdíl spočívá ve zpracování vstupního souboru dat pro vstup do metod. Zatímco jako vstup pro Analogues Complexing je brána přímo časová řada, jako jeden sloupec hodnot v souboru, pro metodu GAME je nutné data předzpracovat k použití v posuvném časovém okně. K tomu slouží aplikace, která je součástí této práce. Při předzpracování dat pro GAME byla zvolena velikost časového okna 30 hodnot, z důvodu aby v okně vždy byla přítomna změna v periodě v podobě sestupné, resp. vzestupné hrany. Ve skutečnosti však není použito všech 30 hodnot jako vstupy do modelu, ale bere se každá druhá hodnota. Tímto zmenšením počtu vstupů je dosaženo snížení výpočetní náročnosti při zachování informace o tvaru průběhu v okně, které má stále velikost 30-ti hodnot do minulosti. Predikce byla provedena do vzdálenosti 20-ti budoucích hodnot, přičemž je opět predikována každá druhá hodnota. Zde je časová úspora ještě důležitější, neboť každá predikovaná budoucí hodnota představuje vytvoření jednoho GAME modelu. Při trénování výsledných modelů bylo nastaveno použití lineárních a polynomiálních jednotek a perceptronových sítí. Jako metoda tré-
20
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
nování byla zvolena Quasi Newton Method. Toto nastavení bylo použito pro oba datové vzorky. Nastavení predikce Analogues Complexing je založeno na použití historického průběhu do vzdálenosti 15 až 30 hodnot (u této metody se nastavuje rozsah hodnot). Toto nastavení by mělo odpovídat použití informace z minulosti jako u časového okna metody GAME. Metoda Analogues Complexing automaticky předpovídá průběh řady až do konce testovací množiny (je tedy vhodná i pro dlouhodobější predikci). Pro účely porovnání však stačí 20 budoucích hodnot. V nastavení metody se dá určit zda se jako referenční hodnoty pro každý další krok budou brát data z původní testovací množiny a nebo již nové, predikované hodnoty. Pro naše účely tedy samozřejmě volíme jako výchozí hodnoty ty nově predikované, jinak by se jednalo vždy pouze o predikci jedné budoucí hodnoty. Dalších nastavení metody bylo stanoveno experimentálně, aby byl výstup z metody co nejlepší a se liší podle předpovídaného vzorku dat. U periodických dat bylo nastaveno použití volby Bez transformací, Hammingova vzdálenost jako použitá metrika, výběr 5-ti nejlepších vzorků včetně odstraňování duplicit, Dolní výhled 1, Horní výhled 5, Vážený průměr podle pořadí jako volbu kombinování predikce a Predikční krok 1. Nastavení metody pro predikci aperiodických dat se liší výběrem parametru transformace Normalizace vzorků, zvolenou metrikou Euklidovská vzdálenost a výběrem 10-ti nejlepších vzorků. Je jasné, že nelze dělat závěry z jednoho měření, proto bylo provedeno celkem 20 predikcí s různým počátečním okamžikem prostřednictvím obou metod. Porovnání těchto výsledků bylo provedeno na základě odmocniny ze střední čtvercové chyby, viz. rovnice 3.4. 4.3.2
Výsledky neparametrické metody
Z nastavení metody plyne, že je potřeba z testovacích dat vyhradit prvních 30 hodnot jako referenčních a první okamžik provádění předpovědi tedy bude v čase t = 30. V tento okamžik začne algoritmus vyhledávat v paměti vzorků nejpodobnější průběhy časové řady referenčnímu vzorku. Na základě vybraných historických vzorků stanoví následující budoucí hodnotu a posune referenční vzorek (okno) tak že v příštím kroku zohlední i novou hodnotu jako referenční. Takto pokračuje až do konce testovací množiny a zhotoví tak celou predikci k výchozímu okamžiku provádění předpovědi. Nás však bude zajímat pouze predikce do vzdálenosti 20 hodnot. Tabulky 4.1 a 4.2 zobrazují podrobně výpočet přesnosti predikce prováděné v okamžiku t = 30 pro oba vzorky dat, obrázky 4.2 a 4.3 zobrazují celý výstup z aplikace Analogues Complexing. V obrázcích je vidět predikce na celé testovací množině, zatímco v tabulkách jsou zaznamenány pouze hodnoty, které nás zajímají pro porovnání s parametrickou metodou. Souhrnné výsledky ze všech 20-ti okamžiků predikce metodou Analogues Complexing na obou vzorcích dat zobrazují tabulky B.1 a B.2 v příloze.
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
Vzdálenost predikce (t)
21
Periodická data Skutečná Predikovaná hodnota (yt ) hodnota (ˆ yt ) (yt − yˆt )2
31 33 35 37 39 41 43 45 47 49
0.100500 0.049000 0.067000 0.088000 0.074000 0.074500 0.072500 0.062500 0.138000 0.116000
0.088700 0.094656 0.082180 0.066313 0.077407 0.083387 0.074640 0.089340 0.087113 0.099693 RMS error =
0.000139 0.002084 0.000230 0.000470 0.000012 0.000079 0.000005 0.000720 0.002589 0.000266 0.025682
Tabulka 4.1: Analogues Complexing: Výpočet přesnosti predikce na periodických datech (mandarinky) prováděné v okamžiku t = 30 1 Rozmezi Predikce Vychozi Skutecnost
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
10
20
30
40
50
60
70
80
90
100
110
120
130
Obrázek 4.2: Výstup z metody Analogues Complexing: predikce na periodických datech prováděná v okamžiku t = 30
6.8 Rozmezi Predikce Vychozi Skutecnost
6.75
6.7
6.65
6.6
6.55 0
10
20
30
40
50
60
70
80
90
100
110
Obrázek 4.3: Výstup z metody Analogues Complexing: predikce na neperiodických datech prováděná v okamžiku t = 30
22
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
Vzdálenost predikce (t) 31 33 35 37 39 41 43 45 47 49
Aperiodická data Skutečná Predikovaná hodnota (yt ) hodnota (ˆ yt ) (yt − yˆt )2 6.570000 6.670000 6.630000 6.670000 6.660000 6.660000 6.680000 6.670000 6.660000 6.730000
6.572412 6.577136 6.579599 6.575049 6.577511 6.581311 6.583325 6.582753 6.584594 6.589713 RMS error =
0.000006 0.008624 0.002540 0.009016 0.006804 0.006192 0.009346 0.007612 0.005686 0.019680 0.086894
Tabulka 4.2: Analogues Complexing: Výpočet přesnosti predikce prováděné v okamžiku t = 30 na neperiodických datech (CO2 )
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST 4.3.3
23
Výsledky parametrické metody
Stejně jako u neparametrické metody je potřeba vyhradit přibližně 30 počátečních hodnot z testovací množiny pro referenční vzorek vstupující do posuvného časového okna. Zde je však výstup metody trochu jiný. Jelikož v síti GAME připadá právě jedna budoucí hodnota na jeden model, nedostaneme predikci do konce testovací množiny ale pouze jednorázově všechny budoucí hodnoty, pro které máme vytvořené modely. Tabulky 4.3 a 4.4 opět zobrazují výpočty přesnosti predikce v okamžiku t = 30 pro oba vzorky dat a obrázky 4.4 a 4.5 znázorňují narozdíl od předchozí metody pouze predikované hodnoty z tabulek. Souhrnné výsledky ze všech 20-ti okamžiků predikce metodou GAME na obou vzorcích dat zobrazují tabulky B.3 a B.4 v příloze.
Vzdálenost predikce (t)
Periodická data Skutečná Predikovaná hodnota (yt ) hodnota (ˆ yt ) (yt − yˆt )2
31 33 35 37 39 41 43 45 47 49
0.100500 0.049000 0.067000 0.088000 0.074000 0.074500 0.072500 0.062500 0.138000 0.116000
0.085186 0.068058 0.100033 0.110852 0.091311 0.060248 0.094239 0.091378 0.221281 0.157848 RMS error =
0.000235 0.000363 0.001091 0.000522 0.000300 0.000203 0.000473 0.000834 0.006936 0.001751 0.035647
Tabulka 4.3: GAME: Výpočet přesnosti predikce na periodických datech (spotřeba vody mandarinkovníku) prováděné v okamžiku t = 30
1 Predikce Vychozi data Realna data
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
10
20
30
40
50
60
70
80
90
100
110
120
Obrázek 4.4: GAME: predikce na periodických datech prováděná v okamžiku t = 30
24
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
Aperiodická data Skutečná Predikovaná hodnota (yt ) hodnota (ˆ yt ) (yt − yˆt )2
Vzdálenost predikce (t) 31 33 35 37 39 41 43 45 47 49
6.570000 6.670000 6.630000 6.670000 6.660000 6.660000 6.680000 6.670000 6.660000 6.730000
6.576261 6.634246 6.636372 6.655722 6.652575 6.671002 6.670103 6.674665 6.675592 6.690916 RMS error =
0.000039 0.001278 0.000041 0.000204 0.000055 0.000121 0.000098 0.000022 0.000243 0.001528 0.019049
Tabulka 4.4: GAME: Výpočet přesnosti predikce prováděné v okamžiku t = 30 na neperiodických datech (CO2 )
6.8 Predikce Vychozi data Realna data
6.75
6.7
6.65
6.6
6.55 0
10
20
30
40
50
60
70
80
90
100
Obrázek 4.5: GAME: predikce na neperiodických datech prováděná v okamžiku t = 30
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST 4.3.4
25
Vyhodnocení experimentu
Tabulka 4.5 ukazuje průměrné chyby predikce prostřednictvím metod Analogues Complexing na obou vzorcích dat. Jde o souhrn predikce 10-ti budoucích hodnot ve 20-ti různých okamžicích predikce na testovacích množinách zkoumaných dat. Obrázek 4.6 přehledně zobrazuje stejné výsledky včetně rozptylů chyb. RMS error GMDH AC GAME
Periodická data 0.158162 0.073994
Aperiodická data 0.070403 0.038623
Tabulka 4.5: Porovnání RMS chyby predikce prostřednictvím metod GAME a Analogues Complexing
Obrázek 4.6: RMS error’s box plot: predikce prostřednictvím GAME a Analogues Complexing (AC) ve dvaceti různých okamžicích predikce
Rozdíly v přesnosti predikce jsou patrné, metoda GAME dosáhla v tomto experimentu přibližně dvakrát větší přesnosti než metoda Analogues Complexing. Velká RMS chyba u AC je pravděpodobně částečně způsobena posunem predikovaných od reálných hodnot ve směru časové osy (viz. obrázek 4.2). Podle obrázku 4.6 ze zdá že predikce neperiodických dat je výrazně úspěšnější (pozor na rozdílné měřítko svislé osy!), ale ve skutečnosti tyto dva výsledky nelze porovnávat, protože každý z obou vzorků dat má jiný charakter a hlavně jiný rozsah hodnot časové řady. Další oblast zájmu se dotýká vztahu mezi časovým horizontem (vzdáleností) predikce a její
26
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
chyby. Obrázek 4.7 ukazuje, že u metody Analogues Complexing chyba přirozeně roste se vzdáleností predikce, stejně tak jako rozptyl chyby, což se dalo předpokládat. O dost překvapivější je však vývoj chyby u metody GAME. S rostoucí vzdáleností predikce zůstává chyba přibližně na stejné úrovni a velikost rozptylu dokonce klesá. Toto se projevilo především u neperiodických dat, což je druhý úkaz, který stojí za pozornost. Kolísání rozptylu a chyby u predikce periodických dat může také souviset s velikostí periody. Na základě těchto úkazů by bylo vhodné navrhnout další experimenty týkající se vztahu chyby ke vzdálenosti predikce.
Mandarin data set (periodic)
GAME
0.01 0.008 0.006
RMS error
RMS error
Brain injury data set (aperiodic) 0.012
0.25
0.15 0.1
0.002
0.05
0
GAME
0.2
0.004
Prediction t + 1
0 2
3
4
5
6
7
8
9
10
0.05
AC
0.04
Prediction t + 1
RMS error
RMS error
0.3
0.03
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
0.35 0.3
AC
0.25 0.2 0.15
0.02
0.1 0.01
0.05
0
Prediction t + 1
0 2
3
4
5
6
7
8
9
10
Prediction t + 1
Obrázek 4.7: Vztah průměrné a maximální chyby k různé vzdálenosti predikce Z výsledků tohoto experimentu vychází lépe parametrická metoda GAME s přibližně dvakrát větší přesností predikce na obou typech dat než neparametrická metoda Analogues Complexing. Nevýhoda metody GAME však spočívá v nutnosti předzpracování dat pro predikci. Tento problém u metody Analogues Complexing odpadá a navíc je metoda přirozeně schopna predikovat libovolně dlouhý časový úsek dopředu, zatímco u GAME je pro každou budoucí hodnotu potřeba vytvořit jeden samostatný model. Pokud by tedy šlo pouze o přibližný vývoj průběhu časové řady, je vhodnější nasadit testovanou neparametrickou metodu. Pokud však jde o přesnější určení budoucí hodnoty ve stanovený okamžik, vyplatí se použít parametrickou metodu. Další experimenty budou zaměřeny na průzkum a možnosti zpřesnění predikce časových řad prostřednictvím neuronové sítě GAME.
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
4.4
27
Zkoumání vlivu optimalizační metody na chybu predikce
K vybudování úspěšných modelů je nezbytné nastavit odpovídajícím způsobem jejich parametry. Účelem optimalizace při trénování GAME modelu je minimalizace chyby sítě (většinou měřená jako RMS) s cílem nalezení globálního minima. Použité optimalizační metody tedy mají vliv na podobu výsledného modelu. Algoritmus GAME využívá optimalizačních (trénovacích) metod k nastavení vah a koeficientů jednotek. Optimalizační metody použité v implementaci se dělí do dvou základních skupin: Gradientní metody, což jsou matematické metody, využívající hodnoty gradientu k určení vektoru největšího spádu a Evoluční metody, což jsou výpočetní techniky inspirované evolucí v přírodě, používané především k prohledávání určitého stavového prostoru. Všechny optimalizační metody použité v implementaci GAME jsou uvedeny v tabulce 4.6 [11] . V tabulce je také označení metod, kterým budou dále v tomto experimentu reprezentovány. Bližší popis metod lze nalézt například v diplomové práci Algoritmy pro optimalizaci sítí GAME [9]. Optimalizační metoda Quasi-Newton method SADE genetic method Particle Swarm Optimization Hybrid of GA and PSO PAL: Differential Evolution (version 1) Differential Evolution (version 2) Stochastic Orthogonal Search Orthogonal Search PAL: Conjugate Gradient Adaptive Ant Colony Algorithm Ant Colony Optimization API (podle Pachycondyla apicalis) Continuous Ant Colony Optimization Direct Ant Colony Algorithm Random Search Algorithm
Zkratka QN SADE PSO HGAPSO PALDE DE SOS OS PALCG AACA ACO API CACO DACO RSA
Druh Gradientní Evoluční Hejna Hybridní Evoluční Evoluční Náhodný Gradientní Gradientní Evoluční Hejna Hejna Hejna Hejna Náhodný
Tabulka 4.6: Přehled optimalizačních metod použitých v GAME Výběr správné optimalizační metody pro daný problém není jednoduchý úkol. Neexistuje totiž univerzální metoda pro všechny možné optimalizační úkoly. Výběr závisí ve velké míře na charakteru dat a také povaze řešeného úkolu (v tomto případě predikce). V tomto experimentu se tedy pokusím zjistit jaký má výběr trénovací metody vliv na chybu predikce výsledného modelu a nalézt optimální trénovací metodu pro predikci časových řad, opět na datech s periodickým i neperiodickým charakterem.
4.4.1
Nastavení experimentu
Experiment by měl odpovědět na otázku, jakou měrou ovlivní výběr trénovací metody přesnost predikce výsledného modelu a nalézt nejlepší metodu pro data s periodickým a neperiodickým průběhem. Pro trénovací množinu je u obou datových vzorků použito shodně 1500 hodnot, pro testovací množinu 500 hodnot. Data v testovací množině opět přímo navazují na trénovací data. V peri-
28
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
odických datech představujících spotřebu vody mandarinkovníku je opět půlhodinový rozestup mezi hodnotami, což znamená, že trénovací množina reprezentuje přibližně 31 denní záznam a testovací množina záznam 10 dní. Neperiodická data představující průběh CO2 v mozku mají v tomto datovém vzorku rozestup minutu a půl. Záznam trénovací množiny je tedy dlouhý 37.5 hodiny a záznam trénovací množiny trvá 12.5 hodiny. Průběhy obou vzorků znázorňují grafy A.3, A.4, A.9 a A.10. Nastavení časového okna pro předzpracování dat bylo zvoleno jako 10 historických hodnot s rozestupem 2. Předpověď je bodová a představuje odhad hodnoty ve dvou budoucích okamžicích, a to +5 hodnot a +10 hodnot. Vztaženo přímo na zkoumaná data to znamená, že historická informace obsažená v okně v případě periodických dat je záznam z 10 hodin (2 · 10 · 0.5) a předpovídat se budou dvě hodnoty ve vzdálenosti 2.5 hodiny a 5 hodin. V případě neperiodických dat se jedná o informaci obsahující 30 minut záznamu (2 · 10 · 1.5) a předpovídat se budou hodnoty vzdálené 7.5 minut a 15 minut. V simulátoru GAME je pro výstavbu modelů povoleno použití jednotek perceptronové sítě a neurony ze skupiny Other (Exponential, Sigmoid, Sine, Gaussian, MultiGaussian, Gaussian PDF, Gauss a Rational). Samotný experiment pak představuje vystavění jednotlivých modelů za použití každé trénovací metody. Jelikož je však nutno vzít v úvahu značný vliv pseudonáhodného faktoru při trénování sítě je potřeba vystavět více modelů pro každou trénovací metodu. Bylo tedy provedeno 5 nezávislých trénování sítí pro každý vzorek dat i obě vzdálenosti predikce, což ve výsledku představuje 10 modelů pro každou trénovací metodu na obou vzorcích dat. Chyby predikce pomocí těchto modelů budou zprůměrovány.
4.4.2
Výsledky experimentu
Tabulka 4.7 průměrné chyby predikce pěti modelů pro každou optimalizační metodu, oba vzorky dat a dvě různé vzdálenosti predikce. Kompletní výsledky tohoto experimentu jsou přehledně zobrazeny v tabulkách v příloze. Tabulky B.5 a B.6 obsahují RMS chyby predikce periodických dat pěti modelů pro každou trénovací metodu při dvou různých vzdálenostech budoucí hodnoty. Tabulky B.7 a B.8 obsahují RMS chyby predikce neperiodických dat.
4.4.3
Vyhodnocení experimentu
Ze všech modelů na periodických i neperiodických datech byla pro každou optimalizační metodu stanovena průměrná RMS chyba. Jedná se o průměrnou hodnotu 10 chyb na každý model. V tabulkách 4.8, resp. 4.9 jsou seřazené tyto chyby od nejmenší po největší pro periodická, resp. neperiodická data. Ještě přehledněji tyto výsledky zobrazují grafy 4.8 a 4.9. Výsledné rozdíly chyb predikce modelů natrénovaných pomocí různých optimalizačních metod jsou sice poměrně malé, ale přesto o něčem vypovídají. V obou případech se na přední místa dostaly metody Quasi-Newton method a PAL: Differential Evolution (version 1), což pravděpodobně není pouze dílem náhody. Další metody na předních pozicích, které si jistě také zaslouží pozornost jsou SADE genetic method, která vynikla hlavně na periodických datech a Direct Ant Colony Algorithm, která naopak měla lepší výsledky na datech neperiodic-
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST Optimalizační metoda QN SADE PSO HGAPSO PALDE DE SOS OS PALCG AACA ACO API CACO DACO RSA
Periodická data t+5 t + 10 0.1646 0.1822 0.1613 0.1835 0.1629 0.1893 0.1608 0.1878 0.1637 0.1820 0.1627 0.1843 0.1631 0.1850 0.1648 0.1900 0.1680 0.1859 0.1642 0.1848 0.1656 0.1897 0.1643 0.1855 0.1635 0.1837 0.1677 0.1836 0.1703 0.1877
29 Aperiodická data t+5 t + 10 0.0598 0.0865 0.0595 0.0896 0.0608 0.0883 0.0614 0.0872 0.0572 0.0907 0.0617 0.0873 0.0601 0.0884 0.0629 0.0901 0.0609 0.0928 0.0620 0.0865 0.0604 0.0883 0.0603 0.0879 0.0589 0.0909 0.0597 0.0877 0.0615 0.0889
Tabulka 4.7: Průměrná RMS chyba predikce do vzdálenosti 5 a 10 hodnot na modelech trénovaných pomocí různých optimalizačních metod Pořadí 1 2 3 4 5
Opt. metoda SADE PALDE QN DE CACO
RMS Error 0.1724 0.1728 0.1734 0.1735 0.1736
Pořadí 6 7 8 9 10
Opt. metoda SOS HGAPSO AACA API DACO
RMS Error 0.1740 0.1743 0.1745 0.1749 0.1757
Pořadí 11 12 13 14 15
Opt. metoda PSO PALCG OS ACO RSA
RMS Error 0.1761 0.1769 0.1774 0.1776 0.1790
Tabulka 4.8: Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na periodických datech kých. Jelikož v GAME lze vybrat pro trénování jednoho modelu i více optimalizačních metod najednou, je pravděpodobné že zvolením těchto 4 metod se přesnost výsledného modelu ještě zlepší. Naopak s největší chybou predikce skončily metody Random Search Algorithm (což se dalo předpokládat), Orthogonal Search a PAL: Conjugate Gradient. Tyto optimalizační metody vykázaly nejhorší výsledky na obou vzorcích dat. Jak bylo zmíněno výše, rozdíl chyb predikce pomocí jednotlivých metod není příliš velký, ale je také nutno připomenout, že velikost RMS chyby je závislá na rozsahu oboru hodnot zkoumané časové řady. Proto na datech s jiným měřítkem by se rozdíly chyb mohly pohybovat v řádově jiných hodnotách. Z výsledků tohoto experimentu tedy vyplývá, že volbou vhodné optimalizační metody pro trénování GAME sítě pro predikci časových řad se vyplatí zabývat.
30
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
0.18 0.179 0.178
RMS error
0.177 0.176 0.175 0.174 0.173 0.172 0.171 RSA
ACO
OS
PALCG
PSO
DACO
API
AACA
HGAPSO
SOS
CACO
DE
QN
PALDE
SADE
0.17
Obrázek 4.8: Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na periodických datech
Pořadí
Opt. metoda QN DACO PALDE API SOS
1 2 3 4 5
RMS Error 0.0732 0.0737 0.0739 0.0741 0.0742
Pořadí
Opt. metoda AACA HGAPSO ACO DE SADE
6 7 8 9 10
RMS Error 0.0742 0.0743 0.0744 0.0745 0.0746
Pořadí
Opt. metoda PSO CACO RSA OS PALCG
11 12 13 14 15
RMS Error 0.0746 0.0749 0.0752 0.0765 0.0769
Tabulka 4.9: Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na neperiodických datech
0.0775 0.077 0.0765
RMS error
0.076 0.0755 0.075 0.0745 0.074 0.0735 0.073 PALCG
OS
RSA
CACO
PSO
SADE
DE
ACO
HGAPSO
AACA
SOS
API
PALDE
DACO
QN
0.0725
Obrázek 4.9: Vzestupně seřazené průměrné RMS chyby jednotlivých modelů na neperiodických datech
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
4.5
31
Porovnání úspěšnosti krátkodobé predikce na různých typech dat
V tomto experimentu se pokusím dokázat schopnost krátkodobé predikce příští hodnoty pomocí neuronové sítě GAME ve spojení s předzpracováním časových řad přístupem časového okna. Experiment je založen na porovnání úspěšnosti predikce několika různých vzorků proti náhodně vygenerované časové řadě. Aby toto bylo možno provést, je nutno zvolit nějaký způsob porovnání úspěšnosti. Každá data mají totiž jiné měřítko a tudíž nelze jednoduše porovnat RMS chybu predikce. Je sice možno data transformovat například do intervalu (0,1), ale zvolil jsem trochu jiný přístup. Hodnotit se bude úspěšnost trefy do správného směru. To znamená, že se bude predikovat zda je budoucí hodnota vyšší, či nižší než hodnota v okamžiku predikce. Detailní popis této transformace dat je v následující sekci.
4.5.1
Nastavení experimentu
Předpoklad experimentu je takový, že úspěšnost trefy do správného směru příští hodnoty bude u reálných dat (u kterých se předpokládají nějaké skryté závislosti) vyšší než u náhodně vygenerovaných dat. Experiment se tedy snaží dokázat, že metoda predikce je schopna odhalit skryté závislosti u reálných dat, což by se u náhodných dat povést nemělo. Za účelem porovnání úspěšnosti predikce na různých datech bylo nutno data určitým způsobem transformovat. Nepředpovídá se zde přímo hodnotu v určitém bodě budoucího vývoje, ale pouze informace o tom zda je tato hodnota vyšší nebo nižší než hodnota v okamžiku předpovědi. Tuto informaci je třeba nějak číselně zakódovat, například tak, že vyšší hodnotu bude představovat číslo 1 a nižší hodnotu číslo -1. V případě rovnosti se bude na výstup generovat 0. V podstatě tedy predikce převádíme na klasifikační úlohu se třemi kategoriemi. S touto modifikací výstupu lze potom pracovat stejně jako při predikci skutečných dat a srovnávat výsledky opět pomocí RMS chyby. Rozsah oboru hodnot časové řady přitom zůstane zachován, ale již nebude mít na porovnávané výsledky vliv. Příklad této transformace je v tabulce 4.10. První sloupec obsahuje hodnoty řady (definované jako zobrazení f ) v okamžiku predikce, druhý sloupec obsahuje hodnoty této řady v okamžiku posunutém o 10 časových jednotek do budoucnosti a třetí sloupec hodnoty generované výše popsanou transformací, pro účel tohoto příkladu nazvané jako zobrazení g. f (t) 27.480 27.480 27.480
f (t + 1) 28.110 27.480 26.520
g(f (t), f (t + 1)) 1 0 -1
Tabulka 4.10: Transformace dat za účelem porovnání výsledků krátkodobé predikce na různých datech Datové vzorky použité v experimentu jsou rozšířeny zaprvé o další periodické i aperiodické průběhy a za druhé o náhodně vygenerovaná data. Data zaznamenávající spotřebu vody mandarinkovníku i data s průběhem CO2 jsou zde použity ve stejné podobě jako v předcházejícím experimentu. Z dalších vzorků představuje jeden pseudo periodický průběh koncentrace kyslíku v krvi u spícího člověka (viz. grafy na obrázcích A.5 a A.6), s rozestupem půl sekundy mezi hodnotami. Druhý vzorek je neperiodický a jedná se opět o záznam CO2 , tentokrát však u jiného pacienta a rozestup mezi hodnotami je půl
32
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
minuty. Průběh trénovací a testovací množiny těchto dat zobrazují grafy A.11 a A.12. Pro ověření předpokladu jsou použity dva náhodně vygenerované vzorky pomocí skriptu, který uvádím v příloze společně s průběhy těchto vzorků. Pro zajištění stejných podmínek pro ”predikci”, mají všechny vzorky shodný počet hodnot, 1500 hodnot pro trénovací množinu a 500 hodnot pro množinu testovací. Průběhy testovacích a trénovacích množin obou vzorků znázorňují grafy A.13 až A.16. Nastavení časového okna je zvoleno jako 20 hodnot s rozestupem 1. S tímto nastavením sice časové okno neobsáhne delší historickou informaci, ale rozestup 1 je volen z důvodu, že se zde předpovídá hned následující hodnota (t+1) a nikoliv hodnota ve vzdálenější budoucnosti. Pokud tedy data obsahují určitý šum je nutné sledovat všechny hodnoty za sebou, aby se i s tímto šumem počítalo při určování hodnoty následující, respektive jejího směru. Více než 20 hodnot v časovém okně by již znamenalo značně náročnou výpočetní operaci. Pro zajištění věrohodnosti výsledků bylo pro každý vzorek dat vygenerováno 10 modelů.
4.5.2
Výsledky experimentu
Tabulka 4.11 ukazuje průměrné hodnoty RMS chyby predikce na 10-ti modelech pro různé datové vzorky. Zároveň tabulka obsahuje chyby odpovědí z ensemble těchto modelů. Ensemble je skupina různých modelů trénovaných na stejných datech. Jednotlivé naměřené chyby predikce od všech modelů jsou podrobně uvedeny v tabulce B.9 v příloze. 10 Modelů Ensemble Průměr
Periodická Mandarinky 0.8719 0.9160
data Kyslík 0.8110 0.8319
Aperiodická data CO2 , pacient 1 CO2 , pacient 2 0.8945 0.8497 0.9139 0.8891
Náhodná data Vzorek 1 Vzorek 2 0.9854 0.9583 0.9950 0.9759
Tabulka 4.11: RMS chyby určení správného směru příští hodnoty na 10-ti modelech Následující obrázky (4.10 až 4.13) zachycují odpovědi nejlepších modelů na celé testovací množině několika datových vzorků. Graficky znázorněné odpovědi modelů na všech datových vzorcích jsou opět v příloze. Modrá čára představuje správnou hodnotu z testovací množiny v čase t + 1 od okamžiku předpovědi, červená čára znázorňuje výstup neuronové sítě.
4.5.3
Vyhodnocení experimentu
Na výsledcích experimentu je možno pozorovat několik zajímavých úkazů. Za prvé se jedná o potvrzení předpokladu neschopnosti predikce náhodného signálu. Dokazuje to RMS chyba na náhodných datech blížící hodnotě 1 a s tím související červená čára stále okolo nulové hodnoty na posledním obrázku 4.13. V porovnání s ostatními obrázky se může zdát, že je to do velké míry způsobeno šumem (nahuštěné modré čáry blízko u sebe), ale při porovnání s obrázkem 4.12 lze toto tvrzení popřít. Na něm je jasně znát perioda měnícího se signálu i při značném ovlivnění průběhu šumem. Za druhé je to malý rozdíl ve schopnosti předpovědět příští hodnotu na neperiodických datech (obrázek 4.10) a periodických datech (obrázky 4.11 a 4.12). Tento jev je pravděpodobně způsoben zašuměním dat společně s tím že se nepředpovídá trend, ale hodnota v čase t+1. Přesnost
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
33
1.5 originalni vystup CO2CMP(t+1) predikovany vystup CO2CMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek 4.10: Predikce správného směru příští hodnoty u neperiodického vzorku (CO2 , pacient 2)
1.5 originalni vystup kyslikCMP(t+1) predikovany vystup kyslikCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek 4.11: Predikce správného směru příští hodnoty u periodického vzorku (kyslík)
u periodických dat je o něco větší, neboť závislosti v datech jsou patrné již na první pohled. Potěšující jsou však výsledky na neperiodických datech, kde je rovněž vidět, že síť se snaží generovat správný směr následující hodnoty, v porovnání například s náhodnými daty. Za třetí se jedná o úkaz, který je nejpatrnější na periodických datech (konkrétně obrázek 4.11). Predikovaná hodnota začne měnit směr svého průběhu ještě dříve než přijde změna směru v průběhu originálního signálu. Dobře patrné je to například kolem náběžné hrany v čase t = 300, kdy přijde změna klesajícího trendu na stoupající. Ještě před tímto zlomem, začne narůstat predikovaný signál na výstupu ze sítě. Tento úkaz se v menší míře projevuje i na neperiodických datech. Pravděpodobně to znamená, že se síť naučila závislosti v průběhu natolik, aby dovedla tyto změny v trendu odhadnout, přesto že nepředpovídáme samotný trend, ale pouze následující hodnotu za koncem časového okna. Výsledky experimentu se dají shrnout tvrzením, že metoda GAME je schopna krátkodobé predikce směru na periodických i neperiodických datech, i přesto že obsahují šum. Je zřejmé že přesnost predikce bude do značné míry záviset na nastavení časového okna, především tedy na velikosti časového okna. S rostoucím počtem vstupů však bude stoupat výpočetní náročnost, naopak při zvětšování rozestupu mezi vstupními hodnotami (pro zvětšení okna) síť nebude tak dobře reagovat na šum. Jelikož tento experiment přinesl celkem zajímavé výsledky, bude pro-
34
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
1.5 originalni vystup waterCMP(t+1) predikovany vystup waterCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek 4.12: Predikce správného směru příští hodnoty u periodického vzorku (mandarinky)
1.5 originalni vystup randCMP(t+1) predikovany vystup randCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek 4.13: Predikce správného směru příští hodnoty u náhodných dat (vzorek 1)
veden další experiment s předpovědí samotného trendu, tedy se střednědobou predikcí. Další změna se bude týkat transformace vstupních dat, z toho důvodu, aby šlo výsledky vyhodnotit jako procentuální úspěšnost trefy do správného směru, což bude jistě srozumitelnější než RMS chyba.
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
35
Obrázek 4.14: RMS error’s box plot: určení správného směru příští hodnoty na 10-ti modelech
36
4.6
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
Porovnání úspěšnosti střednědobé predikce na různých typech dat
Jelikož předchozí experiment vykázal zajímavé výsledky s predikcí směru následující hodnoty, bylo vhodné navrhnout další experiment, který se bude zabývat střednědobou predikcí směru (bude tedy odhadován trend vývoje). Porovnání úspěšnosti bude provedeno na stejných datových vzorcích jako v předchozím experimentu. Transformace dat je zde však navržena odlišně, aby bylo možno srozumitelněji interpretovat výsledky pomocí procentuálního vyjádření úspěšnosti trefy do správného směru.
4.6.1
Nastavení experimentu
Experiment je navržen tak, aby rozšířil tvrzení předcházejícího pokusu a nalezl odpověď na to, jak se liší úspěšnost střednědobé predikce trendu na datech s různou povahou. Datové vzorky představují opět periodická, aperiodická a náhodná data ve stejném nastavení jako u předchozího experimentu. Jedná se tedy ve všech případech o trénovací množinu o velikosti 1500 hodnot a testovací množinu o velikosti 500 hodnot. Předpoklad je takový, že schopnost odhadnout trend by měla být relativně velká na periodických datech, zatímco na náhodných by se úspěšnost měla pohybovat kolem 50%. Otázkou je, zda se povede natrénovat síť tak, aby byla schopna predikovat trend úspěšněji než u náhodných dat. Pro porovnání úspěšnosti predikce na různých datech je potřeba opět provést jistou transformaci dat. Rovněž se zde tedy nebude předpovídat absolutní hodnota v určité vzdálenosti od okamžiku predikce, ale informace o tom zda trend vzhledem k této vzdálenosti má stoupající, či klesající tendenci. Tato informace bude zakódována do dvou výstupů. Jeden výstup bude označen UP a v případě stoupajícího trendu bude obsahovat hodnotu 1. Druhý výstup bude označen DOWN a bude obsahovat hodnotu 1 v případě klesajícího trendu. Pro určení zda je trend klesající či stoupající se bude porovnávat hodnota v okamžiku predikce s průměrem všech hodnot do vzdáleností predikce. V případě že budou obě porovnávané hodnoty stejné, bude na obou výstupech 0. Porovnávání průměru místo jedné hodnoty ve vzdálenosti predikce je vhodné z toho důvodu, že průměr podává objektivnější informaci o průběhu než výkyv jedné hodnoty v predikční vzdálenosti a navíc také omezí vliv šumu. Příklad této transformace dat uvádí tabulka 4.12. Jedná se tedy o klasifikaci do dvou kategorií pro oba výstupy. Výhodou této transformace je, že implementace GAME pak automaticky spočítá procentuální úspěšnost trefy do správného směru jako přesnost klasifikace všech predikovaných hodnot v testovací množině, kde GAME výstup < 0.5 = 0 a >= 0.5 = 1. CO2 (t) 6.6 6.7 6.8
P20
n=1
CO2 (t+n) 20
6.83 6.7 6.48
CO2 U P (t + 20) 1 0 0
CO2 DOW N (t + 20) 0 0 1
Tabulka 4.12: Transformace dat za účelem porovnání výsledků střednědobé predikce na různých datech Protože vzdálenost predikce je v tomto experimentu větší, dá se zanedbat šum a zvětšit rozestupy mezi hodnotami v časovém okně. Z toho plyne výhoda ve zvětšení časového okna, čímž bude zahrnovat obsáhlejší informaci o průběhu časové řady pro predikci trendu. Samotný rozestup tedy byl zvolen jako 5 hodnot a počet vstupů do GAME byl zvolen jako 20 hodnot. Z toho
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
37
vyplývá že v časovém okně je obsažena informace až do vzdálenosti 100 hodnot do minulosti. Predikovat se bude trend ve vzdálenosti 20 hodnot. Pro ověření věrohodnosti výsledků bude opět vygenerováno 10 různých modelů, pro každý vzorek dat. V nastavení trénování GAME modelů je zvoleno použití všech jednotek a jako optimalizační metoda je zvolena Quasi Newton Method. Všechny ostatní volby jsou ponechány ve výchozím nastavení, z čehož považuji asi za nejdůležitější zmínit použití normalizace vstupních a výstupních dat do intervalu < 0, 1 >.
4.6.2
Výsledky experimentu
Tabulky 4.13 a 4.14 ukazují procentuální úspěšnost klasifikace stoupajícího a klesajícího trendu do vzdálenosti 20-ti hodnot na testovacích množinách různých dat. Odpovědi jsou brány jednak z ensemble 10-ti modelů a za druhé jako průměr přesnosti klasifikace všech modelů. Procentuální úspěšnosti všech modelů jednotlivě jsou zobrazeny v tabulkách B.10 až B.12 v příloze. 10 Modelů Ensemble Průměr
Periodická Mandarinky 92.21% 91.35%
data Kyslík 71.69% 70.75%
Aperiodická data CO2 , pacient 1 CO2 , pacient 2 63.12% 78.70% 59.66% 66.42%
Náhodná data Vzorek 1 Vzorek 2 55.06% 47.53% 49.45% 47.40%
Tabulka 4.13: Procentuální přesnost určení stoupajícího trendu do vzdálenosti t + 20 na 10-ti modelech 10 Modelů Ensemble Průměr
Periodická Mandarinky 93.51% 91.71%
data Kyslík 72.73% 71.22%
Aperiodická data CO2 , pacient 1 CO2 , pacient 2 65.19% 59.09% 61.12% 57.19%
Náhodná data Vzorek 1 Vzorek 2 53.77% 50.65% 47.48% 47.09%
Tabulka 4.14: Procentuální přesnost určení klesajícího trendu do vzdálenosti t + 20 na 10-ti modelech Grafy na obrázcích 4.15, 4.16 a 4.17 zobrazují odpovědi několika vybraných modelů na celých testovacích množinách. Záznamy odpovědí nejúspěšnějších modelů na všech datových vzorcích jsou rovněž v příloze (obrázky B.7 až B.18).
4.6.3
Vyhodnocení experimentu
Z předchozích výsledků je patrné, že metoda je schopna úspěšně predikovat trend na periodických datech a to i v případech, kdy se v nich vyskytnou nepravidelnosti v podobě kratších impulsů před trvalejším stoupajícím trendem, jak je patrné na obrázku 4.15. Na neperiodických datech je již úspěšnost klasifikace správného směru nižší, ale v porovnání s predikcí trendu na náhodných datech stále vede. Na několika modelech trénovaných na náhodných datech to vypadá, že síť je schopna predikovat trend (viz. obrázek 4.17). Může to být způsobeno tím, že i v náhodně vygenerovaných datech se mohou objevit navzájem podobné části průběhu. Na obrázku B.16 je naopak vidět že se model na náhodných datech pravděpodobně vůbec nezvládl
38
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
originalni vystup water_UP(t+20) predikovany vystup water_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek 4.15: Predikce stoupajícího trendu do vzdálenosti t + 20 na periodických datech (spotřeba vody mandarinkovníku)
originalni vystup output CO2_DOWN(t+20) predikovany vystup CO2_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek 4.16: Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech (CO2 , pacient 1)
správně vygenerovat. Dále je možno na několika grafech ve výsledcích v příloze vidět, jak odpovědi modelů utečou mimo rozsah < 0, 1 >, což ale klasifikaci do odpovídajícího směru nijak nevadí. V tomto experimentu se ještě více projevil jev, kdy neostré změny směru v průběhu predikovaného signálu nastávají dříve než přijde změna směru v originálním průběhu. Tento jev se výrazněji projevil na reálných datech (viz. obrázek 4.16), zatímco u náhodných dat jsou v predikovaném signálu pouze ostré zlomy v nepatřičnou chvíli (viz. obrázek 4.17). Toto potvrzuje fakt, že narozdíl od reálných dat nejsou v náhodných datech skryté závislosti, ze kterých by se dala změna trendu předpovídat. Tento experiment tedy potvrdil očekávání, že lze predikovat trend do určité vzdálenosti jak na periodických datech tak na datech aperiodických, přičemž predikce trendu na datech s periodickým charakterem je značně přesnější. Naopak na náhodných datech se úspěšnost klasifikace pohybuje kolem 50%, což rovněž potvrdilo předpoklady. Další experimenty by mohly vést k nalezení odpovědi na otázky do jaké vzdálenosti je metoda schopna rozumně predikovat trend, či jak velké okno je třeba nastavit při předzpracování dat, aby byla predikce co nejpřesnější.
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
39
originalni vystup rand_UP(t+20) predikovany vystup rand_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek 4.17: Predikce stoupajícího trendu do vzdálenosti t+20 na náhodných datech (vzorek 1)
40
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
4.7
Zkoumání vlivu doplňujících informací k časové řadě
Jedním z cílů této práce je predikce biologických signálů. V předchozích experimentech bylo dokázáno, že neuronová síť GAME je poměrně dobře schopna predikovat trend budoucího vývoje jak na periodických, tak ne neperiodických datech. Tento experiment bude zaměřen již pouze na neperiodická data. Ve spolupráci s nemocnicí Motol byly k časovým průběhům hladiny CO2 u pacientů po nehodě dodány také dokumenty popisující manipulaci s pacientem (různé stimulace a podávání léků). Tento experiment si klade za cíl odpovědět na otázku, zda tyto informace souvisí se sledovaným průběhem CO2 a zda přidání těchto informací ovlivní přesnost predikce trendu.
4.7.1
Nastavení experimentu
Aby bylo možno objektivně porovnat, zda přidání doplňujících informací ovlivní přesnost predikce v porovnání s výsledky předchozího experimentu, předzpracování dat s časovými řadami i způsob trénování GAME modelů bylo nastaveno naprosto stejným způsobem. Jsou tedy použity dva datové vzorky s neperiodickými daty, posuvné okno o velikosti 20 hodnot s rozestupem 5 hodnot a predikce trendu do vzdálenosti 20 hodnot. Transformace výstupních hodnot je rovněž stejná, tzn. dva výstupy nabývající hodnot 0 nebo 1 pro určení stoupajícího i klesajícího trendu. Rozdíl zde činí dva nové vstupy představující manipulaci s pacientem v době záznamu hladiny CO2 . Datum 22.11.04
Čas 12:35
22.11.04
13:45
22.11.04
14:10
...
...
Stav/Manipulace THP 150mg i.v., převaz CŽK, jug.oxymetrie, převaz operačních ran na hlavě, čidla ICP a Neurotrendu Snížení ventilace o 1 dech, při pTiO2 1, Okpa Zvýšen Noradrenalin na 2,2ml/h, odsávání, toal.d.ú., Manitol 100ml i.v. ...
Tabulka 4.15: Záznam několika událostí manipulace s pacientem V dokumentech souvisejících s časovou řadou jsou podrobně rozepsány informace co se v daný čas s pacientem dělo. Ukázku několika událostí z tohoto dokumentu uvádí tabulka 4.15. Každá událost je srovnána s tabulkou A.1, dodanou společně s těmito dokumenty2 . Pokud se událost v této tabulce nachází, je na vstup vygenerován impuls, trvající patřičnou dobu než vliv události odezní. Jednotlivé události jsem rozdělil do dvou hlavních kategorií: podání léku (typ 6 až 8 v tab. A.1) a manipulace (všechny ostatní). Obě kategorie tedy představují samostatný vstup do sítě. K tomuto rozdělení jsem se rozhodl ze dvou důvodů. Prvním je, že události z obou kategorií mohou mít zcela odlišný vliv na průběh časové řady a druhým je, že vstup s léky by měl 2
Události popsané v tabulce A.1 primárně popisují vliv na pacientův vnitrolebeční tlak (ICP), jehož průběh však nebyl k dispozici, z důvodu jeho dosavadní nemožnosti digitálního záznamu. Nicméně po konzultaci s autory této kategorizace je zde předpoklad, že vliv těchto událostí by se měl jistou měrou promítnout rovněž na hladinu CO2 .
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
41
být o něco posunut v čase zpět, jelikož reakce pacienta může mít na podání léku určité zpoždění, zatímco na přímou manipulaci reaguje pacientovo tělo bezprostředně. Tento předpoklad jsem experimentálně ověřil na několika vygenerovaných modelech, kdy oba vstupy byly bez zpoždění, potom oba se zpožděním a nakonec byl se zpožděním pouze vstup s léky. Poslední varianta vykazovala nejlepší přesnost při určování trendu. Délku zpoždění jsem určil srovnáním s vygenerovaných impulsů s výraznějšími změnami průběhu v reálných datech. Průběhy obou vzorků společně s vygenerovanými impulsy demonstrují obrázky 4.18 a 4.19. Tabulka A.2 zobrazuje malou část trénovací množiny (pacient 1, počínaje indexem 40) s doplňující informací o manipulaci s pacientem. Velikost impulsů ani jejich posunutí po svislé ose nemá na trénování modelů vliv, vzhledem k normalizaci vstupů a výstupů přímo v GAME. Důležitá je jejich délka a správné umístění na vodorovné ose. V druhém vzorku jsou delší impulsy jelikož záznam trvá kratší dobu (půlminutové rozestupy mezi hodnotami oproti minutě a půl u prvního vzorku).
8.5 originalni vystup CO2(t+20) vstup leky(t-25) vstup manip(t-0)
8 7.5 7 6.5 6 0
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900
Obrázek 4.18: Průběh hladiny CO2 (pacient 1) společně s vygenerovanými impulsy manipulace
9 originalni vystup CO2(t+20) vstup leky(t-25) vstup manip(t-0)
8.5 8 7.5 7 6.5 6 5.5 0
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900
Obrázek 4.19: Průběh hladiny CO2 (pacient 2) společně s vygenerovanými impulsy manipulace
4.7.2
Výsledky experimentu
Tabulka 4.16 ukazuje procentuální úspěšnost klasifikace stoupajícího a klesajícího trendu do vzdálenosti 20-ti hodnot na testovacích množinách obou vzorků neperiodických dat společně s
42
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
vygenerovanými impulsy manipulace. Odpovědi jsou brány jednak z ensemble 10-ti modelů a za druhé jako průměr přesnosti klasifikace všech modelů. Procentuální úspěšnosti všech modelů jednotlivě jsou zobrazeny v tabulce B.13 v příloze. 10 Modelů Ensemble Průměr
CO2 , pacient 1 Stoupající trend Klesající trend 66.05% 64.47% 63.76% 59.60%
CO2 , pacient 2 Stoupající trend Klesající trend 71.84% 71.84% 62.42% 63.08%
Tabulka 4.16: Procentuální přesnost určení budoucího trendu hladiny CO2 s doplňujícími údaji, do vzdálenosti t + 20 na 10-ti modelech
4.7.3
Vyhodnocení experimentu
Porovnání výsledků předchozího experimentu, kde byl na neperiodických datech predikován trend do vzdálenosti 20 hodnot jako trefa do správného směru a tohoto experimentu, kde se predikuje trend do stejné vzdálenosti na stejných datech s doplňujícími informacemi, bylo provedeno jednak pomocí procentuální úspěšnosti klasifikace ensemble modelů a za druhé pomocí průměrné úspěšnosti klasifikace všech modelů. Každý z těchto ukazatelů nese jinou informaci. Zatímco ensemble kombinuje výstupy jednotlivých modelů, tak aby bylo dosaženo co největší přesnosti, průměrná hodnota nese informaci o všech modelech dohromady. Jednotlivá porovnání ukazují tabulky 4.17 a 4.18. Obrázek 4.20 obsahuje porovnání úspěšnosti klasifikace jednotlivých modelů, jejichž podrobné výsledky jsou uvedeny v tabulce B.13 v příloze. Vzorek Pacient 1 Pacient 2
Trend Stoupající Klesající Stoupající Klesající
Data s doplňující informací 66.05% 64.47% 71.84% 71.84%
Obyčejná data 63.12% 65.19% 78.70% 59.09%
Zlepšení 2.93% -0.72% -6.86% 12.75%
Tabulka 4.17: Porovnání procentuální přesnosti určení trendu dat s doplňující informací a obyčejných dat pomocí odpovědí z ensemble modelů Vzorek Pacient 1 Pacient 2
Trend Stoupající Klesající Stoupající Klesající
Data s doplňující informací 63.76% 59.60% 62.42% 63.08%
Obyčejná data 59.66% 61.12% 66.42% 57.19%
Zlepšení 4.10% -1.52% -4.0% 5.89%
Tabulka 4.18: Porovnání procentuální přesnosti určení trendu dat s doplňující informací a obyčejných dat pomocí průměru úspěšnosti jednotlivých modelů Jak je možno vidět z tabulek, přidání informace o manipulaci s pacientem ovlivnilo úspěšnost predikce trendu. Bohužel ne zcela podle očekávání. V některých případech došlo ke zpřesnění, ale společně s tím došlo v jiných případech ke zhoršení přesnosti. Je zajímavé, že vždy se zlepšila přesnost určování trendu v jednom směru, ale zároveň ve druhém směru došlo ke zhoršení.
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
43
Pokud se však sečte procentuální zlepšení (resp. zhoršení, v případě záporné hodnoty), je patrné, že k jistému zpřesnění predikce došlo. Řečeno v číslech to znamená, že u prvního pacienta se odpověď z ensemble modelů zpřesnila o 2.21% a průměr přesnosti jednotlivých modelů se zvýšil o 2.58%. U druhého pacienta je změna ještě patrnější: zlepšení o 5.89% u ensemble a 1.89% u průměru. U tohoto datového vzorku je nejvíce zajímavý jev výrazného zvýšení přesnosti predikce klesajícího trendu. Rovněž stojí za povšimnutí, že se ve všech 4 případech zvýšila maximální úspěšnosti klasifikace, jak je patrné z obrázku 4.20.
Obrázek 4.20: Box plot: Porovnání úspěšnosti GAME modelů při určování trendu dat s doplňující informací (A) a obyčejných dat (B)
V tabulce B.14 v příloze jsou uvedeny významnosti jednotlivých vstupů do GAME. Jedná se o průměrné hodnoty z 10-ti modelů pro každou výstupní hodnotu. Z tabulky je patrné že vstupy s manipulací a léky mají v síti nezanedbatelný vliv. Například pro určení stoupajícího trendu u vzorku 1 je významnost 7.92% pro léky a 3.02% pro manipulaci, zatímco průměrná významnost vstupu CO2 v celém posuvném okně je 4.45%. U druhého vzorku je již významnost doplňujících informací menší, což je možná způsobeno tím, že popis událostí u tohoto pacienta nebyl zpracován tak důkladně jako u prvního pacienta (jak je patrné i z grafů 4.18 a 4.19). V tabulce je zajímavá ještě jedna skutečnost. Nejvýznamnější vstup v časovém okně je vždy blízko polovině okna. Obrázek 4.21 a) znázorňuje vliv vstupů manipulace a léky na klasifikaci 5 ensemble modelů pro každý výstup. Z tohoto obrázku je možno vyčíst, že pokud se pacientovi podají léky (vstup na svislé ose), hladina CO2 by mohla začít klesat (modrá plocha představuje třídu výstupu CO2 DOWN, křížky jsou naměřená data). Při větším množství léků však již jejich vliv není moc jasný. Pokud se pacientem fyzicky manipuluje (vstup na vodorovné ose) hladina CO2
44
KAPITOLA 4. EXPERIMENTÁLNÍ ČÁST
Obrázek 4.21: a) Klasifikace s kombinováním modelů, b) Mapování n-dimenzionálních dat do dvou rozměrů
stoupá (červená plocha představuje třídu výstupu CO2 UP). Tato pozorování však slouží spíše jako dodatečné informace k vyhodnocení experimentu a jejich obecnou platnost by bylo třeba podložit dalšími experimenty, které již přesahují rámec této práce a mohou posloužit jako návrh pro další výzkum. Obrázek 4.21 b) ukazuje, že není snadné oddělit třídy CO2 UP a CO2 DOWN pomocí vstupů, které jsou k dispozici. Dá se předpokládat že výsledky tohoto experimentu jsou ovlivněny tím, že popisované události nejsou původně určeny přímo k průběhu CO2 . Pokud by byl k dispozici skutečně záznam vnitrolebečního tlaku (ICP), byly by výsledky pravděpodobně mnohem zajímavější.
KAPITOLA 5. IMPLEMENTAČNÍ ČÁST
45
5 Implementační část Při provádění experimentů se sítí GAME často vznikala potřeba na automatizaci určitých procesů, především pak předzpracování dat a vizualizace výsledků. V důsledku těchto potřeb vzniklo několik skriptů, které jsou k dispozici v příloze a dvě ucelenější aplikace napsané v Javě, které se vzhledem k jejich obecnější možnosti použití staly součástí implementace GAME.
5.1
Rozšíření GAME o zpracování časových řad pro predikci
Pro predikci časových řad pomocí neuronové sítě GAME s využitím přístupu časového okna je potřeba data s časovými řadami předzpracovat. V rámci této diplomové práce byl vytvořen nástroj pro automatické předzpracování dat pomocí zvolených parametrů.
5.1.1
Popis funkčnosti
Aplikace Time Series Preprocessing umožňuje zpracování souboru s jednou či více časovými řadami pro predikci použitím simulátoru GAME. Pracuje s přístupem časového okna tak, že dovoluje pro každou z časových řad definovat kolik historických hodnot a s jakým rozestupem půjde na vstup modelu a kolik budoucích hodnot z vybraných časových řad se bude predikovat. Další funkcí je možnost zpracovat data tak, že se bude předpovídat trend budoucího vývoje, místo skutečné predikované hodnoty. Výstup z aplikace je soubor, který pak lze načíst v GAME, či lze z aplikace exportovat předzpracovaná data rovnou do GAME. Všechny dále zadávané parametry se po ukončení aplikace ukládají do konfiguračního souboru, takže při příštím spuštění je není třeba zadávat znovu.
5.1.2
Návod k použití
Návod k použití je ilustrován v postupných krocích na předzpracování neperiodických dat použitých v experimentech (jsou součástí přílohy). Pro lepší orientaci v návodu je přiložen screenshot aplikace, viz. obrázek 5.1. Formát vstupního souboru Jedná se o textový soubor, ve kterém každý sloupec v souboru představuje jednu časovou řadu. Každý řádek tedy obsahuje jednu hodnotu od každé časové řady a tyto hodnoty jsou odděleny mezerou či tabulátorem. První řádek by měl obsahovat místo čísel názvy časových řad (v opačném případě se čísla z prvního řádku použijí jako názvy). Počet hodnot jednotlivých časových řad v souboru musí být stejný. Formát vstupního souboru je vidět názorně na příkladu v tabulce 5.1. Otevření souboru ke zpracování Soubor lze vybrat pomocí tlačítka Browse. . ., nebo přímo zadat do pole File name. Stisknutím tlačítka Open se tento soubor načte a níže se zobrazí základní statistiky načtených dat (počet hodnot, minimální, maximální a průměrná hodnota v časové řadě) a současně se zpřístupní možnost výběru časové řady. V tuto chvíli také dojde k obnově naposledy použitých parametrů pro zpracování jednotlivých časových řad.
46
KAPITOLA 5. IMPLEMENTAČNÍ ČÁST
Obrázek 5.1: Aplikace pro předzpracování časových řad pH 6.72 6.72 6.71 6.71 6.71 6.71 6.71 6.71 ...
O2 6.7 6.6 6.6 6.6 6.5 6.5 6.4 6.4 ...
T 37.4 37.4 37.4 37.4 37.4 37.4 37.4 37.4 ...
HCO3− 7.8 7.7 7.7 7.7 7.7 7.7 7.7 7.7 ...
CO2 8.62 8.61 8.60 8.59 8.60 8.59 8.59 8.58 ...
Tabulka 5.1: Předzpracování dat: Příklad vstupního souboru s pěti časovými řadami Nastavení parametrů pro zpracování časových řad Výběr časové řady pro nastavení parametrů se provádí pomocí volby Choose the time series for process. Pro každou časovou řadu lze zvolit, zda mají být její hodnoty použity na vstupu (Use input values for prediction) a výstupu predikce (Use output - predicted values). Význam předvoleb pro vstupní hodnoty:
KAPITOLA 5. IMPLEMENTAČNÍ ČÁST
47
• Number of values in sliding window - počet historických hodnot které budou použity v časovém okně v jednom kroku predikce. • Spacing between values in time series - rozestup mezi použitými hodnotami, tj. bude použita každá n-tá hodnota z časové řady. Tímto parametrem se zvětšuje délka časového okna při zachování počtu vstupů (a tím časové náročnosti trénování modelu) a přitom zvýšení historické informace v okně. Výsledná velikost okna tedy bude součin tohoto a předcházejícího parametru. Význam předvoleb pro výstupní hodnoty: • Number of predicted values - počet predikovaných hodnot v různých časových horizontech. Jinými slovy také počet GAME modelů. • Spacing between predicted values - rozestup mezi predikovanými hodnotami. Udává vzdálenost první a za ní následujících hodnot, tj. nejzazší predikovaná hodnota bude ve vzdálenosti součinu tohoto a předcházejícího parametru. • Generate direction of trend - v případě zaškrtnutí této volby se na výstup bude generovat trend budoucího vývoje. Jinými slovy to znamená, že se provede porovnání průměru referenčních hodnot od okamžiku predikce do vzdálenosti predikce s hodnotou v okamžiku predikce (tzn. v čase t = 0, na konci časového okna). Způsob generování výstupu závisí na nastavení 1 output / 2 outputs. • only - jedná se o dodatečné nastavení k předcházejícímu parametru. V případě zaškrtnutí se na výstup bude generovat pouze trend časové řady, v opačném případě společně s budoucí hodnotou. • 1 output - Bude se generovat 1 výstup nabývající hodnot -1, 0, 1. V případě že průměr budoucích hodnot bude větší než výchozí hodnota, na výstup se bude generovat hodnota 1 (představuje stoupající trend), v případě rovnosti hodnota 0, jinak hodnota −1 (představuje klesající trend). • 2 outputs - Na výstup se budou generovat 2 hodnoty, obě buď 0 nebo 1. První hodnota představuje pouze stoupající trend, v tom případě bude výstup 1, jinak 0. Druhá hodnota představuje klesající trend a generuje se stejným způsobem. V případě rovnosti průměru budoucích hodnot s výchozí hodnotou tedy budou oba výstupy rovny 0. Rovněž nemohou oba výstupy nabývat hodnoty 1 současně. Jednotlivé parametry lze zvolit pro každou časovou řadu zvlášť. Výstup do souboru V okamžiku otevírání souboru se do pole Output file name vygeneroval název výstupního souboru doplněný prefixem out . Tento název lze samozřejmě změnit. Stiskem tlačítka Process se provede samotné předzpracování a výsledek se zapíše do zvoleného souboru. Tlačítkem Load to GAME lze potom tato data nahrát rovnou do GAME. Tabulka 5.2 uvádí výstup předzpracování při vstupních datech uvedených výše, ze kterých byla vybrána pouze řada s CO2 , velikost posuvného okna 4 s rozestupem 2 a jedna predikovaná hodnota ve vzdálenosti 5.
48
KAPITOLA 5. IMPLEMENTAČNÍ ČÁST CO2(t-6) 6.66 6.66 6.65 6.64 6.64 6.63 ...
CO2(t-4) 6.65 6.64 6.64 6.63 6.64 6.65 ...
CO2(t-2) 6.64 6.63 6.64 6.65 6.65 6.65 ...
CO2(t-0) 6.64 6.65 6.65 6.65 6.67 6.65 ...
!CO2(t+5) 6.65 6.67 6.67 6.67 6.66 6.66 ...
Tabulka 5.2: Předzpracování dat: Příklad výstupního souboru s oknem velikosti 4 a jednou predikovanou hodnotou
5.2
Rozšíření GAME o vizualizaci výsledků predikce
Jelikož grafické znázornění výsledků je většinou srozumitelnější než čísla v tabulce, bylo často potřeba výsledky predikce vizualizovat. Zatímco implementace Analogues Complexing toto prováděla automaticky, výsledky predikce z GAME bylo potřeba vždy ručně zpracovat a připravit pro vykreslení do grafu. Tato aplikace vizualizaci značně usnadňuje. 5.2.1
Popis funkčnosti
Jako vstup do aplikace slouží soubor vyprodukovaný GAME uložením modelů včetně jejich odpovědí. Dovoluje vykreslit průběh časové řady v libovolném historickém okamžiku v rámci časového okna, průběh libovolné predikované hodnoty (že jich je více) z libovolného modelu (v případě že je na jednu predikovanou hodnotu natrénovaných více modelů) a k predikované hodnotě dovoluje pro porovnání vykreslit její originální hodnotu z testovací množiny. Výstup z aplikace je soubor který poslouží jako vstup do programu Gnuplot, pomocí kterého je provedeno samotné vykreslení grafu. Dále aplikace dovoluje nastavit pomocí parametrů základní vzhled výsledného grafu. Všechny dále zadávané parametry se po ukončení aplikace ukládají do konfiguračního souboru, takže při příštím spuštění je není třeba zadávat znovu.
5.2.2
Návod k použití
Návod k použití je ilustrován v postupných krocích na vizualizaci predikce neperiodických dat. Pro lepší orientaci v návodu je přiložen screenshot aplikace, viz. obrázek 5.2. Formát vstupního souboru Jako vstup do aplikace slouží soubor uložený z GAME volbou File/Save. Předtím je však nutné se ujistit, že je zaškrtnuta volba File/Save responses, která zajistí uložení odpovědí modelu, tedy vlastní predikované hodnoty, společně s modelem. Otevření souboru ke zpracování Soubor lze vybrat pomocí tlačítka Browse. . ., nebo přímo zadat do pole File name. Stisknutím tlačítka Open se tento soubor načte a níže se zobrazí počet vstupních a výstupních proměnných a počet modelů na každou výstupní proměnnou. Výběr vstupních a výstupních proměnných
KAPITOLA 5. IMPLEMENTAČNÍ ČÁST
49
Obrázek 5.2: Aplikace pro vizualizaci výsledků predikce
V sekci Display time series in graph lze zvolit zda se v grafu zobrazí vstupní a výstupní proměnné, případně referenční (originální) hodnoty z testovací množiny pro srovnání s predikovanými hodnotami. Rovněž lze nastavit které hodnoty budou zobrazeny, tzn. v jakém čase posuvného okna pro vstupní proměnnou a v jaké vzdálenosti predikce výstupní proměnnou (v případě, že jich je více). Nastavení vstupní proměnné má logicky největší smysl na konci posuvného okna, v čase t = 0. Dále lze v případě více modelů na jednu výstupní proměnnou zvolit ze kterého modelu se budou hodnoty zobrazovat. Nastavení grafu Jak bylo zmíněno výše, pro vlastní vykreslení grafu je použit volně šiřitelný program Gnuplot. Soubor generovaný v této aplikaci slouží jako vstup do Gnuplot-u, který nabízí nepřeberné možnosti nastavení vzhledu grafu. Zde popisovaná aplikace umožňuje přímo nastavit několik základních vlastností grafu, přičemž samozřejmě není problém výstupní soubor se zdrojovým kódem grafu editovat a použít pro Gnuplot externě. Lze nastavit rozlišení obrázku s grafem (zvolený formát obrázku je Portable Network Graphics - přípona png), zobrazení mřížky na ose x a y, rozestupy této mřížky a barvy obrázku zapsané v hexadecimálním kódu (xRRGGBB). Do pole Name of file for gnu-plot je nutno napsat název výstupního souboru pro zdrojový kód grafu a do pole Name of output picture název výstupního souboru s grafem. Pro usnadnění se oba názvy doplňují automaticky při otevírání vstupního souboru. V případě zaškrtnutí volby Draw with gnu-plot right away je nutno vyplnit do pole
50
KAPITOLA 5. IMPLEMENTAČNÍ ČÁST
Location of gnu-plot cestou k programu Gnuplot i s názvem spustitelného souboru. Dá sa zadat pomocí tlačítka Browse. . .. Vygenerování zdrojového souboru s grafem a jeho případným vykreslení se uskuteční tlačítkem Process.
KAPITOLA 6. ZÁVĚR
51
6 Závěr V experimentální části byly nalezeny odpovědi na stanovené úkoly této práce a několik dalších zajímavých objevů. První experiment ukázal, že pro predikci časových řad je parametrická metoda GAME přibližně dvakrát přesnější než neparametrická metoda Analogues Complexing. Naopak v případě požadavku na rychlý a hrubý odhad budoucího vývoje časové řady je vhodnější zvolit neparametrickou metodu. Další experimenty se již týkají pouze parametrické metody GAME. Bylo zjištěno, že při vytváření modelu pro predikci má jistý vliv na přesnost optimalizační metoda zvolená pro trénování sítě. Jako nejúspěšnější optimalizační metody se ukázaly metody Quasi-Newton method a PAL: Differential Evolution (version 1). Následující experimenty se týkaly klasifikace správného směru budoucí hodnoty, či trendu na reálných datech v porovnání s náhodně vygenerovanými vzorky. Bylo dokázáno, že úspěšnost klasifikace správného směru příští hodnoty je u reálných dat vyšší než u dat náhodných. Dále bylo vypozorováno, že neostré změny směru v průběhu predikovaného signálu nastávají dříve než přijde změna směru v originálním průběhu. Tento jev se výrazně projevil hlavně na reálných datech, zatímco u náhodných dat jsou v predikovaném signálu pouze ostré zlomy v nepatřičnou chvíli. Toto potvrzuje fakt, že narozdíl od reálných dat nejsou v náhodných datech skryté závislosti, ze kterých by se dala změna trendu předpovídat. Poslední experiment byl věnován výzkumu predikce biologických dat s doplňující informací o manipulaci s pacienty. Vyšlo najevo, že přidáním těchto informací došlo ke zpřesnění predikce. Toto zpřesnění je v řádu jednotek procent, což sice nepředčilo původní očekávání, ale je třeba brát v potaz fakt, že dodané informace o manipulaci nesouvisejí primárně se sledovaným průběhem CO2 , ale s vnitrolebečním tlakem (ICP), který bohužel doposud nebylo možno zaznamenat v digitální podobě jako časovou řadu. Mezi ICP a CO2 existuje určitá korelace. V souvislosti s prováděnými experimenty byly vyvinuty dvě menší aplikace za účelem automatizace předzpracování dat pro predikci pomocí parametrické metody a vizualizace výsledků. Jelikož se ukázalo, že obě aplikace by mohly najít širší uplatnění, byly implementovány v Javě a staly se součástí nástroje GAME. Výsledky této práce jsem prezentoval na mezinárodní konferenci IWIM 2007 pořádané v Praze.
6.1
Návrh na další práci
Jelikož se v průběhu experimentů objevila řada otázek a návrhů na další experimenty, na jejichž provedení již v této práci není prostor, mohou posloužit jako inspirace pro další výzkum. Z těch zajímavějších se jedná například o zkoumání vztahu chyby a vzdálenosti (horizontu) predikce. Tento návrh vychází ze zajímavých výsledků v prvním experimentu, kde se ukázalo že ve střednědobém horizontu neplatí přímá úměra mezi chybou a vzdáleností (viz. obrázek 4.7). Další parametr, který stojí za bližší průzkum je nastavení velikosti časového okna. Je zřejmé že čím více informace v časovém okně bude, tím by měla být predikce přesnější. Časové okno může obsahovat hodnoty s různými rozestupy, čímž lze dosáhnout i poměrně obsáhlé historické informace, ale na druhou stranu čím více hodnot bude okno obsahovat, tím náročnější výpočet bude představovat trénování sítě. Cílem by tedy mělo být najít určitý kompromis mezi těmito volbami, tak aby byla predikce co nejpřesnější v rozumném výpočetním čase. Poslední návrh, možná však nejvíce důležitý, je predikce ICP (až bude k dispozici v digitální podobě) s doplňujícími informacemi jako predikce CO2 v posledním experimentu. Zde se nachází velký prostor pro nové experimenty, například podrobnější rozdělení manipulace (dokumentovaný popis obsahuje 11 kategorií), či experimentování s posunem různých kategorií manipulace v časové ose (např. zpožděný vliv léků).
52
KAPITOLA 6. ZÁVĚR
KAPITOLA 7. LITERATURA
53
7 Literatura [1] The GMDH Cluster Analysis Model. http://www.gmdh.net/articles/iwim/IWIM_16.pdf. [2] KnowledgeMiner - Software that extracts knowledge from data. http://www.knowledgeminer.com/aboutkm.htm. [3] Self-organizing data mining based on GMDH principle. http://www.erudit.de/erudit/events/esit99/12522_p.pdf. [4] The short description of the Analoques Complexing algorithm. http://www.gmdh.net/GMDH_ana.htm. [5] The short description of the Multi-layered Iterative Algorithm. http://www.gmdh.net/GMDH_mia.htm. [6] J. Bouška and P. Kordík. Time series prediction by means of GMDH Analogues Complexing and GAME. In IWIM 2007 - International Workshop on Inductive Modelling [CD-ROM], pages 278–287. Czech Technical University in Prague, September 2007. [7] T. Cipra. Analýza časových řad s aplikacemi v ekonomii. SNTL, 1986. [8] J. Hančlová and L. Tvrdý. Úvod do analýzy časových řad . 2003. http://gis.vsb.cz/PAN/Skoleni_Texty/TextySkoleni/AnalyzaCasRad.pdf. [9] M. Janošík. Algoritmy pro optimalizaci sítí GAME. 2006. [10] P. Kordík. The FAKE GAME environment for the automatic knowledge extraction. http://neuron.felk.cvut.cz/game. [11] P. Kordík. GAME - Group of Adaptive Models Evolution. Technical Report DCSEDTP-2005-07, Czech Technical University in Prague, FEE, CTU Prague, Czech Republic, 2005. [12] P. Kordík and Šnorek Miroslav. Progress in inductive modeling, 2004. [13] M. Kvasnička and O. Vašíček. Úvod do analýzy časových řad. 2001. [14] R. H. Mena. Bayesian nonparametric methods for prediction and testing in ESTs analysis, 2007. 131.111.145.118/webseminars/pg+ws/2007/bnr/bnrw01/0810/mena/all.pdf. [15] M. Šnorek. Neuronové sítě a neuropočítače. Vydavatelství ČVUT, 2004. [16] V. Panchenko. Nonparametric Methods in Economics and Finance: Dependence, Causality and Prediction, 2007. http://dare.uva.nl/document/30844. [17] R. Pinc. Implementace GMDH Analog Complexing. 2005. [18] D. Rigney and A. Goldberger. Data set: Physiological data. http://www-psych.stanford.edu/~andreas/Time-Series/SantaFe.html. [19] I. Rudolfová. Databáze biologických dat, 2005. www.fit.vutbr.cz/study/courses/VPD/public/0405VPD-Rudolfova.pdf.
54
KAPITOLA 7. LITERATURA
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
55
A Použité datové vzorky V této kapitole jsou podrobně představeny všechny datové vzorky použité v experimentech.
A.1
Periodická data
Jak bylo uvedeno výše, nejedná se data s periodickým průběhem v pravém slova smyslu, spíše o data s jakýmsi pseudo periodickým průběhem. Důležité je to že jejich hodnoty vykazují více či méně opakující se charakter. A.1.1
Spotřeba vody mandarinkovníku
Jedná se o data zaznamenávající spotřebu vody mandarinkového stromu. Chování řady má opakující se charakter díky vyšší spotřebě vody přes den. Kromě dne a noci má však na spotřebu vody vliv mimo jiné například počasí v daný den, takže objem spotřeby se může každý den lišit. Data jsou poskytnuta zahradnickým výzkumným ústavem na Novém Zélandu. Vzorek použitý v prvním experimentu obsahuje 500 hodnot pro trénovací množinu a 120 hodnot pro testovací množinu. Časový rozestup mezi jednotlivými hodnotami je půl hodiny. To znamená že v trénovací množině je zaznamenána spotřeba vody přibližně za 10 dní a záznam testovací množiny je dlouhý 2 a půl dne.
1.4 water
1.2 1 0.8 0.6 0.4 0.2 0 0
100
200
300
400
500
Obrázek A.1: Trénovací množina periodických dat (spotřeba vody mandarinkovníku) o velikosti 500 hodnot
1.4 water
1.2 1 0.8 0.6 0.4 0.2 0 500
600
700
Obrázek A.2: Testovací množina periodických dat (spotřeba vody mandarinkovníku) o velikosti 120 hodnot
56
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
V dalších experimentech je pro zvýšení přesnosti použit delší časový průběh. Trénovací množiny obsahuje 1500 hodnot (cca 31 dní) a testovací množina obsahuje 500 hodnot (cca 10 dní).
1.4 water
1.2 1 0.8 0.6 0.4 0.2 0 0
100
200
300
400
500
600
700
800
900
1000 1100 1200 1300 1400 1500
Obrázek A.3: Trénovací množina periodických dat (mandarinky) o velikosti 1500 hodnot
1.4 water
1.2 1 0.8 0.6 0.4 0.2 0 1500
1600
1700
1800
1900
2000
Obrázek A.4: Testovací množina periodických dat (mandarinky) o velikosti 500 hodnot
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY A.1.2
57
Koncentrace kyslíku v krvi
Za druhé jde o průběh koncentrace kyslíku v krvi u spícího člověka. Tyto data pocházejí z laboratoře v Beth Israel Hospital, Boston, Massachusetts [18]. Trénovací množiny obsahuje 1500 hodnot a testovací množina obsahuje 500 hodnot. Rozestup mezi hodnotami je půl sekundy, což znamená že trénovací množina obsahuje záznam dlouhý 12 a půl minuty a testovací přibližně 4 minuty. 7500 7000 6500 6000 5500 5000 4500 4000 3500
Koncentrace kysliku v krvi
0
100
200
300
400
500
600
700
800
900
1000 1100 1200 1300 1400 1500
Obrázek A.5: Trénovací množina periodických dat (kyslík) o velikosti 1500 hodnot
7500 7000 6500 6000 5500 5000 4500 4000 3500 1500
Koncentrace kysliku v krvi
1600
1700
1800
1900
2000
Obrázek A.6: Testovací množina periodických dat (kyslík) o velikosti 500 hodnot
58
A.2
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
Aperiodická data
Tento typ dat je striktně aperiodický, ne však čistě náhodný. Jedná se o dva vzorky dat snímaných u pacientů v nemocnici po úrazu hlavy, konkrétně vývoj hladiny kysličníku uhličitého. Původní záměr byl zkoumat vývoj pacientova vnitrolebečního tlaku, což by mohlo mít v případě úspěšné predikce i jistý klinický význam, data však v současné době stále nejsou k dispozici, z důvodu technických komplikací digitálního záznamu těchto dat. A.2.1
Hladina kysličníku uhličitého, pacient 1
U vzorku z prvního experimentu obsahuje trénovací množina 900 hodnot a testovací množina obsahuje 100 hodnot a přímo navazuje na trénovací data. Časový rozestup mezi hodnotami je 2 minuty, což znamená, že trénovací množina obsahuje sledování vývoje CO2 po dobu 30 hodin a testovací přibližně 3 hodiny.
7 co2 6.5 6 5.5 5 4.5 0
100
200
300
400
500
600
700
800
900
Obrázek A.7: Trénovací množina neperiodických dat (průběh CO2 ) o velikosti 900 hodnot
7 co2
6.5 900
1000
Obrázek A.8: Testovací množina neperiodických dat (průběh CO2 ) o velikosti 900 hodnot
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
59
Stejně jako u periodických dat byla tato data pro další experimenty rozšířena na 1500 a 500 hodnot, aby byly zajištěny stejné podmínky pro predikce. V tomto vzorku mají hodnoty rozestup minutu a půl. Záznam trénovací množiny je tedy dlouhý 37.5 hodiny a záznam trénovací množiny trvá 12.5 hodiny. 8 7.8 7.6 7.4 7.2 7 6.8 6.6 6.4 6.2
CO2, pacient 1
0
100
200
300
400
500
600
700
800
900
1000 1100 1200 1300 1400 1500
Obrázek A.9: Trénovací množina neperiodických dat (průběh CO2 , pacient 1) o velikosti 1500 hodnot
8 7.8 7.6 7.4 7.2 7 6.8 6.6 6.4 6.2 1500
CO2, pacient 1
1600
1700
1800
1900
2000
Obrázek A.10: Testovací množina neperiodických dat (průběh CO2 , pacient 1) o velikosti 500 hodnot
60
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
A.2.2
Hladina kysličníku uhličitého, pacient 2
Počet hodnot je stejný jako u předchozího vzorku, ale rozestup mezi hodnotami je tentokrát půl minuty. Trénovací množina je tedy záznam trvající 12 a půl hodiny, testovací přibližně 4 hodiny. 8.5 CO2, pacient 2
8 7.5 7 6.5 6 5.5 0
100
200
300
400
500
600
700
800
900
1000 1100 1200 1300 1400 1500
Obrázek A.11: Trénovací množina neperiodických dat (průběh CO2 , pacient 2) o velikosti 1500 hodnot
8.5 CO2, pacient 2
8 7.5 7 6.5 6 5.5 1500
1600
1700
1800
1900
2000
Obrázek A.12: Testovací množina neperiodických dat (průběh CO2 , pacient 2) o velikosti 500 hodnot
A.2.3
Kategorizace událostí
V posledním experimentu (Zkoumání vlivu doplňujících informací k časové řadě) jsou k časové řadě doplněny informace o manipulaci s pacientem. Tabulka A.1 uvádí dobu vlivu jednotlivých událostí na stav pacientova vnitrolebečního tlaku.
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
0
Typ Manipulace s čidlem
1
Manipulace s polohou pacienta
2
Malá stimulace
3
Střední stimulace
4
Velká stimulace
5 6
Operace Léky s malým efektem
7
Léky se středním efektem
8 9
Léky s velkým efektem Změna ventilačního režimu
10
Ostatní (bez významu)
Popis povytažení čidla zavedení čidla zrušení čidla výměna čidla polohování převoz stlaní úprava lůžka neklid pacienta holení strava do NGS hygiena dutiny ústní vyšetření zornic stěry na mikrobiologii vyšetření lékařem převazy zrušení Redonu mytí po stolici odsávání zavedení vstupu (do těla) celotělová hygiena malé výkony (punkce, drenáž) Extubace
61
Doba efektu v sec. 10 60 10000 60 60 1000 300 200 500 200 100 100 50 50 200 200 100 200 100 60 500 200 100
Dormicum bolus Arduan Inzulin Atropin Diprivan bolus Manitol Ebrantil Dormicum Diprivan Thiopental CPAP změna dechu Kalibrace jugulárního čidla náběry ASTRUP NOVA SVM
Tabulka A.1: Doba akutního efektu na ICP v sekundách
200 200 1000 200 200 1000 1000 1000 1000 500 500 60 60 60 60 60
62
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
A.2.4
Příklad vstupních dat s doplňující informací
Tabulka A.2 zobrazuje malou část trénovací množiny aperiodických dat (vzorek 1, 1500 hodnot, počínaje indexem 40) s doplňující informací o manipulaci s pacientem. První tři sloupce představují hodnoty v časovém okně, přičemž v tabulce je z úsporných důvodů zobrazena pouze první a poslední hodnota a tečky mezi nimi zastupují dalších 18 sloupců, kde by jinak každý byl posunut o pět časových kroků. Další sloupec představuje fyzickou manipulaci s pacientem, potom následuje podání léku a nakonec dvě výstupní hodnoty, informující budoucím trendu. Vykřičníky před názvy výstupních hodnot informují GAME o tom, že se jedná právě o výstup. CO2(t-95) 6.810000 6.800000 6.780000 6.770000 6.740000 6.730000 6.710000 6.700000 6.690000 6.680000 6.690000 6.710000 6.700000 6.710000
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
CO2(t-0) 7.040000 7.050000 7.050000 7.040000 7.060000 7.070000 7.060000 7.070000 7.060000 7.070000 7.070000 7.080000 7.100000 7.100000
manip(t-0) 5.000000 5.000000 5.110000 5.219999 5.129999 5.039999 5.000000 5.000000 5.000000 5.000000 5.000000 5.000000 5.000000 5.000000
leky(t-25) 5.919998 5.829998 5.739998 5.649998 5.559998 5.469997 5.379997 5.289997 5.199997 5.109997 5.019997 5.000000 5.000000 5.000000
!CO2 UP(t+20) 1 1 1 1 1 1 1 1 1 1 1 0 0 0
!CO2 DOWN(t+20) 0 0 0 0 0 0 0 0 0 0 0 1 1 1
Tabulka A.2: Příklad části trénovací množiny aperiodických dat s doplňující informací
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
A.3
63
Náhodná data
Jedná se náhodně vygenerovaná data pomocí jednoduchého skriptu napsaného v jazyce C, jež dovede generovat různé průběhy pomocí nastavení několika parametrů, které jsou rozepsány níže jako popis konstant algoritmu. Hlavní část skriptu uvádím zde: while (count<=POCET) { r = (int)((float)rand()/RAND_MAX*SMERVZD); //rozhodovani o smeru, <5 nahoru / >=5 dolu s = (int)((float)rand()/RAND_MAX*10); for (ii=0;ii
POCET) ii=r; } } Význam jednotlivých konstant: • SMERVZD - maximální počet přírůstků, resp. úbytků v jednom směru (nahoru, resp. dolů). • PRIRUSTEK - maximální velikost jednoho přírůstku, resp. úbytku (v setinách). • POCET - počet generovaných hodnot. • NEPRAVIDELNOST - 1/NEPRAVIDELNOST je pravděpodobnost náhodného impulsu, pro zvýšení náhodnosti průběhu. • NEPRAV NASOB - konstanta, kterou se v případě impulsu znásobí vygenerovaná hodnota. Trénovací i testovací množiny obou náhodně vygenerovaných vzorků obsahují taktéž 1500 a 500 hodnot.
64
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
A.3.1
Náhodný vzorek 1
Nastavení konstant pro generování tohoto vzorku: SMERVZD=2, PRIRUSTEK=10, POCET=2000, NEPRAVIDELNOST=10, NEPRAV NASOB=10.
10 5 0 -5 -10 -15 -20 -25 -30
Nahodna data 1
0
100
200
300
400
500
600
700
800
900
1000 1100 1200 1300 1400 1500
Obrázek A.13: Trénovací množina náhodných dat (vzorek 1) o velikosti 1500 hodnot
10 5 0 -5 -10 -15 -20 -25 -30 1500
Nahodna data 1
1600
1700
1800
1900
2000
Obrázek A.14: Testovací množina náhodných dat (vzorek 1) o velikosti 500 hodnot
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY A.3.2
65
Náhodný vzorek 2
Nastavení konstant pro generování tohoto vzorku: SMERVZD=1, PRIRUSTEK=10, POCET=2000, NEPRAVIDELNOST=10, NEPRAV NASOB=1.
6
Nahodna data 2
5 4 3 2 1 0 0
100
200
300
400
500
600
700
800
900
1000 1100 1200 1300 1400 1500
Obrázek A.15: Trénovací množina náhodných dat (vzorek 2) o velikosti 1500 hodnot
6
Nahodna data 2
5 4 3 2 1 0 1500
1600
1700
1800
1900
2000
Obrázek A.16: Testovací množina náhodných dat (vzorek 2) o velikosti 500 hodnot
66
PŘÍLOHA A. POUŽITÉ DATOVÉ VZORKY
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
67
B Podrobné výsledky experimentů Jelikož při experimentech bylo naměřeno velké množství zajímavých výsledků, které se nevešly do popisu experimentů, uvádím je zde v příloze.
B.1
Srovnání neparametrické a parametrické metody predikce
Tabulky B.1 a B.2 zobrazují souhrnné výsledky ze všech 20-ti okamžiků predikce pomocí neparametrické metody Analogues Complexing na obou vzorcích dat. Predikce v čase 29 30 31 32 33
RMS error 0.011505 0.025681 0.020209 0.050123 0.106184
Predikce v čase 34 35 36 37 38
RMS error 0.101299 0.194780 0.143390 0.160390 0.161246
Predikce v čase 39 40 41 42 43
RMS error 0.214907 0.155292 0.259301 0.227813 0.266072
Predikce v čase 44 45 46 47 48
RMS error 0.234362 0.206810 0.154754 0.286079 0.183044
Tabulka B.1: Analogues Complexing: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině periodických dat (mandarinky) Predikce v čase 29 30 31 32 33
RMS error 0.085942 0.086894 0.092741 0.059087 0.046834
Predikce v čase 34 35 36 37 38
RMS error 0.036002 0.040463 0.063818 0.066700 0.084683
Predikce v čase 39 40 41 42 43
RMS error 0.086323 0.094238 0.107712 0.069546 0.069512
Predikce v čase 44 45 46 47 48
RMS error 0.054567 0.043496 0.038889 0.126019 0.054591
Tabulka B.2: Analogues Complexing: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině neperiodických dat (CO2 ) Tabulky B.3 a B.4 zobrazují souhrnné výsledky ze všech 20-ti okamžiků predikce pomocí parametrické sítě GAME na obou vzorcích dat. Predikce v čase 29 30 31 32 33
RMS error 0.025592 0.035648 0.019094 0.024835 0.016300
Predikce v čase 34 35 36 37 38
RMS error 0.033170 0.070659 0.044341 0.168873 0.064071
Predikce v čase 39 40 41 42 43
RMS error 0.082866 0.063923 0.166319 0.040734 0.132750
Predikce v čase 44 45 46 47 48
RMS error 0.053565 0.051999 0.111084 0.086440 0.187609
Tabulka B.3: GAME: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině periodických dat (mandarinky)
68
Predikce v čase 29 30 31 32 33
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
RMS error 0.013679 0.019049 0.037827 0.042741 0.065426
Predikce v čase 34 35 36 37 38
RMS error 0.074093 0.032786 0.029167 0.024387 0.047465
Predikce v čase 39 40 41 42 43
RMS error 0.024853 0.035798 0.033669 0.041227 0.031977
Predikce v čase 44 45 46 47 48
RMS error 0.038822 0.040529 0.045316 0.037680 0.055976
Tabulka B.4: GAME: RMS error 20-ti predikcí prováděných v různém okamžiku na testovací množině neperiodických dat (CO2 )
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
B.2
69
Zkoumání vlivu optimalizační metody na chybu predikce
Tabulky B.5 a B.6 obsahují RMS chyby predikce periodických dat pěti modelů pro každou trénovací metodu při dvou různých vzdálenostech budoucí hodnoty. Tabulky B.7 a B.8 obsahují RMS chyby predikce neperiodických dat. Optimalizační metoda QN SADE PSO HGAPSO PALDE DE SOS OS PALCG AACA ACO API CACO DACO RSA
1 0.1679 0.1669 0.1638 0.1611 0.1587 0.1612 0.1657 0.1672 0.1676 0.1642 0.1690 0.1562 0.1555 0.1659 0.1754
RMS / model 2 3 4 0.1615 0.1667 0.1675 0.1616 0.1554 0.1654 0.1602 0.1678 0.1563 0.1659 0.1600 0.1543 0.1749 0.1613 0.1636 0.1668 0.1613 0.1592 0.1687 0.1614 0.1624 0.1669 0.1597 0.1626 0.1686 0.1639 0.1661 0.1626 0.1615 0.1665 0.1662 0.1605 0.1654 0.1574 0.1743 0.1683 0.1655 0.1574 0.1635 0.1759 0.1625 0.1694 0.1741 0.1706 0.1696
5 0.1594 0.1573 0.1664 0.1627 0.1599 0.1651 0.1570 0.1677 0.1738 0.1661 0.1671 0.1655 0.1758 0.1650 0.1618
Průměr RMS 0.1646 0.1613 0.1629 0.1608 0.1637 0.1627 0.1631 0.1648 0.1680 0.1642 0.1656 0.1643 0.1635 0.1677 0.1703
Tabulka B.5: RMS chyba predikce periodických dat do vzdálenosti 5 hodnot na modelech trénovaných pomocí různých optimalizačních metod Optimalizační metoda QN SADE PSO HGAPSO PALDE DE SOS OS PALCG AACA ACO API CACO DACO RSA
1 0.1892 0.1799 0.1980 0.1900 0.1953 0.1858 0.1946 0.1888 0.1960 0.1737 0.1939 0.1878 0.1821 0.1759 0.1773
RMS / model 2 3 4 0.1737 0.1814 0.1822 0.1933 0.1787 0.1922 0.1944 0.1818 0.1929 0.1996 0.1879 0.1843 0.1792 0.1857 0.1716 0.1826 0.1891 0.1942 0.1762 0.1881 0.1840 0.1999 0.1934 0.1811 0.1927 0.1710 0.1856 0.1796 0.1909 0.1878 0.1785 0.1928 0.1953 0.1854 0.1981 0.1814 0.1794 0.1747 0.1975 0.1807 0.1811 0.1898 0.1801 0.1827 0.1917
5 0.1845 0.1736 0.1796 0.1774 0.1780 0.1700 0.1822 0.1868 0.1839 0.1918 0.1878 0.1748 0.1848 0.1905 0.2066
Průměr RMS 0.1822 0.1835 0.1893 0.1878 0.1820 0.1843 0.1850 0.1900 0.1859 0.1848 0.1897 0.1855 0.1837 0.1836 0.1877
Tabulka B.6: RMS chyba predikce periodických dat do vzdálenosti 10 hodnot na modelech trénovaných pomocí různých optimalizačních metod
70
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ Optimalizační metoda QN SADE PSO HGAPSO PALDE DE SOS OS PALCG AACA ACO API CACO DACO RSA
1 0.0640 0.0616 0.0570 0.0634 0.0548 0.0661 0.0571 0.0640 0.0588 0.0600 0.0591 0.0607 0.0598 0.0633 0.0584
RMS / model 2 3 4 0.0568 0.0553 0.0616 0.0589 0.0593 0.0622 0.0652 0.0585 0.0600 0.0597 0.0617 0.0620 0.0577 0.0604 0.0552 0.0619 0.0625 0.0578 0.0587 0.0610 0.0574 0.0594 0.0640 0.0606 0.0606 0.0578 0.0668 0.0625 0.0622 0.0639 0.0587 0.0596 0.0630 0.0610 0.0580 0.0597 0.0576 0.0614 0.0566 0.0615 0.0597 0.0561 0.0576 0.0634 0.0610
5 0.0614 0.0557 0.0634 0.0604 0.0578 0.0600 0.0661 0.0666 0.0605 0.0612 0.0617 0.0621 0.0592 0.0581 0.0669
Průměr RMS 0.0598 0.0595 0.0608 0.0614 0.0572 0.0617 0.0601 0.0629 0.0609 0.0620 0.0604 0.0603 0.0589 0.0597 0.0615
Tabulka B.7: RMS chyba predikce neperiodických dat do vzdálenosti 5 hodnot na modelech trénovaných pomocí různých optimalizačních metod Optimalizační metoda QN SADE PSO HGAPSO PALDE DE SOS OS PALCG AACA ACO API CACO DACO RSA
1 0.0875 0.0913 0.0866 0.0880 0.0926 0.0873 0.0901 0.0914 0.0875 0.0905 0.0869 0.0892 0.0914 0.0874 0.0901
RMS / model 2 3 4 0.0851 0.0928 0.0845 0.0866 0.0883 0.0960 0.0902 0.0829 0.0884 0.0860 0.0877 0.0864 0.0836 0.0869 0.0915 0.0844 0.0902 0.0887 0.0882 0.0887 0.0879 0.0887 0.0927 0.0868 0.0874 0.1121 0.0875 0.0882 0.0821 0.0845 0.0950 0.0823 0.0900 0.0902 0.0871 0.0840 0.0874 0.0890 0.0888 0.0852 0.0856 0.0898 0.0895 0.0857 0.0898
5 0.0828 0.0857 0.0937 0.0879 0.0988 0.0857 0.0870 0.0907 0.0898 0.0873 0.0872 0.0890 0.0979 0.0906 0.0895
Průměr RMS 0.0865 0.0896 0.0883 0.0872 0.0907 0.0873 0.0884 0.0901 0.0928 0.0865 0.0883 0.0879 0.0909 0.0877 0.0889
Tabulka B.8: RMS chyba predikce periodických dat do vzdálenosti 10 hodnot na modelech trénovaných pomocí různých optimalizačních metod
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
B.3
71
Porovnání úspěšnosti krátkodobé predikce na různých typech dat
Tabulka B.9 ukazuje jednotlivé naměřené chyby predikce od všech modelů na různých datech, průměrné chyby a chyby odpovědí z ensemble modelů. Obrázky B.3 až B.6 zobrazují odpovědi nejlepších modelů na celé testovací množině jednotlivých vzorků.
Model 1 2 3 4 5 6 7 8 9 10 Ensemble Průměr
Periodická Mandarinky 0.8860 0.8927 0.9225 0.9346 0.8632 0.9654 0.9194 0.9395 0.9124 0.9241 0.8719 0.9160
data Kyslík 0.8174 0.8265 0.8412 0.8032 0.8444 0.8672 0.8380 0.8258 0.8286 0.8266 0.8110 0.8319
Aperiodická data CO2 , pacient 1 CO2 , pacient 2 0.8876 0.8809 0.9633 0.9276 0.9253 0.8489 0.9103 0.8487 0.9013 0.9086 0.9051 0.8579 0.9061 0.9269 0.9179 0.8403 0.9224 0.8644 0.9000 0.9864 0.8945 0.8497 0.9139 0.8891
Náhodná data Vzorek 1 Vzorek 2 0.9936 0.9968 0.9978 0.9508 0.9890 0.9673 0.9834 0.9508 0.9906 0.9831 0.9833 0.9845 1.0363 0.9669 1.0034 0.9496 0.9842 1.0279 0.9879 0.9809 0.9854 0.9583 0.9950 0.9759
Tabulka B.9: RMS chyba určení správného směru příští hodnoty
1.5 originalni vystup waterCMP(t+1) predikovany vystup waterCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek B.1: Predikce správného směru příští hodnoty u periodického vzorku (spotřeba vody mandarinkovníku)
72
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
1.5 originalni vystup kyslikCMP(t+1) predikovany vystup kyslikCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek B.2: Predikce správného směru příští hodnoty u periodického vzorku (koncentrace kyslíku v krvi)
1.5 originalni vystup CO2CMP(t+1) predikovany vystup CO2CMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek B.3: Predikce správného směru příští hodnoty u neperiodického vzorku (hladina CO2 , pacient 1)
1.5 originalni vystup CO2CMP(t+1) predikovany vystup CO2CMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek B.4: Predikce správného směru příští hodnoty u neperiodického vzorku (hladina CO2 , pacient 2)
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
73
1.5 originalni vystup randCMP(t+1) predikovany vystup randCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek B.5: Predikce správného směru příští hodnoty u náhodných dat (vzorek 1)
1.5 originalni vystup randCMP(t+1) predikovany vystup randCMP(t+1)
1 0.5 0 -0.5 -1 0
50
100
150
200
250
300
350
400
450
500
Obrázek B.6: Predikce správného směru příští hodnoty u náhodných dat (vzorek 2)
74
B.4
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
Porovnání úspěšnosti střednědobé predikce na různých typech dat
Tabulky B.10 až B.12 obsahují kompletní seznam procentuální úspěšnosti predikce trendu do vzdálenosti t + 20 (resp. klasifikace správného směru) na jednotlivých modelech pro všechny datové vzorky. Obrázky B.7 až B.18 zachycují tuto predikci vždy pro nejúspěšnější z 10-ti modelů (v tabulce zvýrazněných tučným písmem).
Model 1 2 3 4 5 6 7 8 9 10 Ensemble Průměr
Periodická data Mandarinky Kyslík Nahoru Dolů Nahoru Dolů 91.69% 93.51% 70.39% 69.09% 91.17% 92.21% 65.71% 71.95% 91.17% 87.79% 71.17% 69.87% 92.73% 91.95% 73.25% 72.99% 91.43% 91.95% 73.51% 68.83% 91.43% 90.39% 70.65% 74.03% 90.91% 91.69% 71.43% 69.35% 92.73% 92.47% 70.65% 73.77% 89.09% 93.25% 71.95% 71.43% 91.17% 91.95% 68.83% 70.91% 92.21% 93.51% 71.69% 72.73% 91.35% 91.71% 70.75% 71.22%
Tabulka B.10: Procentuální přesnost určení správného směru trendu do vzdálenosti t + 20 na periodických datech
Model 1 2 3 4 5 6 7 8 9 10 Ensemble Průměr
Aperiodická data CO2 , pacient 1 CO2 , pacient 2 Nahoru Dolů Nahoru Dolů 49.35% 57.14% 68.31% 56.62% 67.79% 58.18% 67.01% 56.10% 56.88% 62.08% 65.45% 58.70% 63.38% 64.68% 79.48% 66.49% 60.78% 59.48% 55.32% 56.88% 63.38% 68.05% 58.44% 45.71% 68.05% 60.78% 69.35% 55.58% 49.35% 54.29% 66.23% 61.56% 63.90% 60.78% 75.58% 60.26% 53.77% 65.71% 58.96% 54.03% 63.12% 65.19% 78.70% 59.09% 59.66% 61.12% 66.42% 57.19%
Tabulka B.11: Procentuální přesnost určení správného směru trendu do vzdálenosti t + 20 na neperiodických datech
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
Model 1 2 3 4 5 6 7 8 9 10 Ensemble Průměr
75
Náhodná data Vzorek 1 Vzorek 2 Nahoru Dolů Nahoru Dolů 45.71% 51.17% 39.22% 44.68% 53.51% 44.42% 50.13% 42.60% 57.92% 50.65% 42.08% 51.43% 40.00% 35.84% 43.90% 44.16% 50.39% 42.08% 49.09% 50.91% 45.71% 61.30% 45.19% 50.65% 55.84% 45.97% 49.09% 43.64% 48.57% 51.17% 55.32% 50.39% 59.22% 50.39% 52.99% 45.19% 37.66% 41.82% 47.01% 47.27% 55.06% 53.77% 47.53% 50.65% 49.45% 47.48% 47.40% 47.09%
Tabulka B.12: Procentuální přesnost určení správného směru trendu do vzdálenosti t + 20 na náhodných datech originalni vystup water_UP(t+20) predikovany vystup water_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.7: Predikce stoupajícího trendu do vzdálenosti t + 20 na periodických datech (spotřeba vody mandarinkovníku)
originalni vystup water_DOWN(t+20) predikovany vystup water_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.8: Predikce klesajícího trendu do vzdálenosti t + 20 na periodických datech (spotřeba vody mandarinkovníku)
76
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
originalni vystup kyslik_UP(t+20) predikovany vystup kyslik_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.9: Predikce stoupajícího trendu do vzdálenosti t + 20 na periodických datech (koncentrace kyslíku v krvi)
originalni vystup kyslik_DOWN(t+20) predikovany vystup kyslik_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.10: Predikce klesajícího trendu do vzdálenosti t + 20 na periodických datech (koncentrace kyslíku v krvi)
originalni vystup output CO2_UP(t+20) predikovany vystup CO2_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.11: Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 1)
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
77
originalni vystup output CO2_DOWN(t+20) predikovany vystup CO2_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.12: Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 1)
originalni vystup CO2_UP(t+20) predikovany vystup CO2_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.13: Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 2)
originalni vystup CO2_DOWN(t+20) predikovany vystup CO2_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.14: Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech (hladina CO2 , pacient 2)
78
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
originalni vystup rand_UP(t+20) predikovany vystup rand_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.15: Predikce stoupajícího trendu do vzdálenosti t+20 na náhodných datech (vzorek 1)
originalni vystup rand_DOWN(t+20) predikovany vystup rand_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.16: Predikce klesajícího trendu do vzdálenosti t + 20 na náhodných datech (vzorek 1)
originalni vystup rand_UP(t+20) predikovany vystup rand_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.17: Predikce stoupajícího trendu do vzdálenosti t+20 na náhodných datech (vzorek 2)
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
79
originalni vystup rand_DOWN(t+20) predikovany vystup rand_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.18: Predikce klesajícího trendu do vzdálenosti t + 20 na náhodných datech (vzorek 2)
80
B.5
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
Zkoumání vlivu doplňujících informací k časové řadě
Tabulka B.13 zobrazuje kompletní seznam procentuálních úspěšností klasifikace stoupajícího a klesajícího trendu do vzdálenosti 20-ti hodnot na testovacích množinách obou vzorků neperiodických dat společně s vygenerovanými impulsy manipulace. 10 Modelů 1 2 3 4 5 6 7 8 9 10 Ensemble Průměr
CO2 , pacient 1 Stoupající trend Klesající trend 67.89% 69.47% 67.11% 43.95% 63.42% 64.47% 55.79% 60.53% 70.53% 52.11% 66.84% 60.53% 58.42% 72.11% 66.32% 57.63% 63.42% 58.16% 57.89% 57.11% 66.05% 64.47% 63.76% 59.60%
CO2 , pacient 2 Stoupající trend Klesající trend 70.79% 52.63% 58.42% 53.95% 61.84% 75.79% 44.47% 69.74% 51.32% 61.58% 57.37% 59.74% 60.79% 68.16% 70.53% 50.79% 67.37% 65.26% 81.32% 73.16% 71.84% 71.84% 62.42% 63.08%
Tabulka B.13: Procentuální úspěšnosti určení budoucího trendu hladiny CO2 s doplňujícími údaji, do vzdálenosti t + 20
originalni vystup CO2_UP(t+20) predikovany vystup CO2_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.19: Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 1)
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
81
originalni vystup CO2_DOWN(t+20) predikovany vystup CO2_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.20: Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 1)
originalni vystup CO2_UP(t+20) predikovany vystup CO2_UP(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.21: Predikce stoupajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 2)
originalni vystup CO2_DOWN(t+20) predikovany vystup CO2_DOWN(t+20) 1
0.5
0 0
50
100
150
200
250
300
350
400
Obrázek B.22: Predikce klesajícího trendu do vzdálenosti t + 20 na neperiodických datech s doplňujícími údaji (hladina CO2 , pacient 2)
82
PŘÍLOHA B. PODROBNÉ VÝSLEDKY EXPERIMENTŮ
Informace o významnosti jednotlivých vstupů do GAME uvádí tabulka B.14. Jedná se o průměrné hodnoty významnosti vstupů ze všech 10 modelů pro každou výstupní hodnotu. Tučným písmem jsou zvýrazněny nejvýznamnější vstupy CO2 . Řádek začínající CO2-průměr uvádí průměrnou významnost vstupu CO2 v celém posuvném okně.
Vstup CO2(t-95) CO2(t-90) CO2(t-85) CO2(t-80) CO2(t-75) CO2(t-70) CO2(t-65) CO2(t-60) CO2(t-55) CO2(t-50) CO2(t-45) CO2(t-40) CO2(t-35) CO2(t-30) CO2(t-25) CO2(t-20) CO2(t-15) CO2(t-10) CO2(t-5) CO2(t-0) CO2-průměr manip(t-0) leky(t-25)
Pacient 1 Stoupající trend Klesající trend 3.61% 2.61% 3.81% 4.22% 5.53% 6.79% 2.48% 8.17% 3.39% 4.09% 4.48% 3.14% 3.91% 2.69% 4.80% 3.80% 5.52% 2.52% 2.04% 4.39% 8.01% 9.64% 5.91% 4.28% 3.03% 3.90% 4.02% 5.03% 4.39% 2.69% 4.57% 3.59% 7.05% 3.46% 5.39% 3.11% 4.91% 3.17% 2.11% 6.11% 4.45% 4.37% 3.02% 4.86% 7.92% 7.65%
Pacient 2 Stoupající trend Klesající trend 4.72% 6.00% 4.71% 5.32% 2.66% 4.69% 3.56% 3.19% 3.53% 2.77% 5.88% 3.74% 5.13% 5.59% 7.21% 6.52% 8.03% 6.50% 7.25% 9.70% 5.99% 7.45% 4.66% 5.24% 5.79% 4.30% 3.31% 2.95% 4.04% 4.13% 3.30% 3.24% 2.61% 3.24% 3.16% 2.60% 3.47% 4.07% 6.80% 3.45% 4.79% 4.74% 2.36% 2.75% 1.73% 2.44%
Tabulka B.14: Průměrné významnosti vstupů na 10 modelech
PŘÍLOHA C. OBSAH PŘILOŽENÉHO CD
83
C Obsah přiloženého CD
Obrázek C.1: Obsah přiloženého CD Adresář data obsahuje všechny použité vzorky periodických (Kyslik, Mandarinky), neperiodických (Motol) a náhodných dat. V jednotlivých podadresářích se nacházejí data v originální podobě, předzpracovaná a rozdělená na trénovací a testovací množiny. Dále se zde nacházejí skripty na zpracování dat a na generování dat náhodných. Adresář experimenty obsahuje všechna data a výsledky z provedených experimentů. Názvy podadresářů se shodují s příslušnými kapitolami experimentů v této práci: • 4.3 (clanek-IWIM) - Srovnání neparametrické a parametrické metody predikce. Tento experiment vychází z článku na konferenci IWIM 2007, takže adresář obsahuje včetně výsledků experimentu také podklady pro příspěvek na konferenci. • 4.4 - Zkoumání vlivu optimalizační metody na chybu predikce • 4.5 - Porovnání úspěšnosti krátkodobé predikce na různých typech dat • 4.6 - Porovnání úspěšnosti střednědobé predikce na různých typech dat • 4.7 - Zkoumání vlivu doplňujících informací k časové řadě Adresář software+implementace obsahuje simulátor GAME, na kterém byly provedeny výpočty pro většinu experimentů. Součástí této verze GAME jsou aplikace pro předzpracování časových řad a vizualizaci výsledků predikce, které vznikly v rámci implementační části této
84
PŘÍLOHA C. OBSAH PŘILOŽENÉHO CD
práce. Simulátor se spouští z adresáře game\bin souborem game.bat. Obě nově implementované aplikace se nalézají v menu Data, jako volby Time series preprocessing a Plot model responses. Adresář se zdrojovými kódy obsahuje kompletní balík GAME v zabaleném souboru fakegame.zip, jehož součástí jsou i zdrojové kódy aplikace pro předzpracování dat a vizualizaci a nacházejí se v adresářích fakegame\src\game\tspp a fakegame\src\game\tsvis. Adresář text obsahuje tuto diplomovou práci v elektronické podobě ve formátu PDF a dále všechny zdrojové texty, obrázky a další potřebné soubory pro zpracování sázecím systémem LATEX.