ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ Katedra ekonomiky a řízení ve stavebnictví
DIPLOMOVÁ PRÁCE
2014
David DUDÁŠ
Prohlašuji, že jsem tuto diplomovou práci vypracoval samostatně, pouze za odborného vedení vedoucího diplomové práce Doc. Ing. Petra Dlaska Ph.D. Dále prohlašuji, že veškeré podklady, ze kterých jsem čerpal, jsou uvedeny v seznamu použité literatury.
Dne Bc. David Dudáš
Vztah vývoje stavební produkce a HDP
Anotace Existence vztahu mezi vývojem ekonomického situace státu a jeho vlivem na stavební produkci je všeobecně známa. Díky právním a ekonomickým specifikům oblasti stavebnictví lze kvalitativně předpovědět další vývoj na základě aktuálních makroekonomických ukazatelů. Za hlavního nositele výkonu ekonomiky uvádíme makroekonomický indikátor změny hrubého domácího produktu. Z dosavadního výzkumu je zřejmé, že ekonomický vývoj ovlivňuje stavební produkci a ne naopak. Cílem této práce je na základě statistických dat všech států EU stanovit a kvantifikovat obecné, případně specifické vztahy mezi těmito veličinami a na základě aplikace matematicko-logických funkcí časových řad odvodit aparát popisující tyto vztahy. Výstupem je metoda pro predikci dalšího vývoje ve stavebnictví na základě současného ukazatele HDP pro jednotlivé státy.
Práce je objektivní technickou
analýzou vývoje indexu stavební produkce států EU s možností předpovědí dalšího vývoje. Klíčová slova: index stavební produkce, předpovědi, HDP, korelační koeficient, neuronové sítě Abstract The existence of correlation between economic situation of a state and its effects on construction production is generally known. Thanks to economical and law specification of construction field, it is possible to qualitatively forecast next development based on macroeconomic indicators. In this thesis, there is used one of major macroeconomics indicators - gross domestic product. It is obvious from previous research that economic development represented by GDP is a cause of change in index of construction production and not vice versa. Primary goal of this theisis is to deduce and quantify general or specific relations between these values: GDP and construction production. For this purpose, there is used a method of mathematical-logical functions of time series based on statistical data of every state in European Union. The output contains mathematical transformation which is used in forecasting development of construction production based on indicator of GDP in individual European country. The work is an objective technical analysis of the index of construction production in states of EU with the forecast of further development.
Key words: Construction production index, predictions, GDP, correlation coefficient, neural networks 5
Obsah Anotace ..................................................................................................................... 5 Abstract ..................................................................................................................... 5 Seznam zkratek ............................................................................................................. 7 1.
Úvodní část .............................................................................................................. 8 1.1.
Úvod ................................................................................................................. 8
1.1.1. Cíle a otázky práce ....................................................................................... 9 1.2.
Současný stav řešené problematiky .................................................................. 9
1.2.1 Předpovědi HDP .............................................................................................. 9 1.2.2 Předpovědi stavební produkce ....................................................................... 10 1.2.3. Předpovědi časových řad .............................................................................. 10 1.3.
Zdroje dat ........................................................................................................ 11
1.3.1. Terminologie .............................................................................................. 11 1.3.2. Datová základna ......................................................................................... 14 2.
Obsahová část ........................................................................................................ 18 2.1.
Analýza časových řad ..................................................................................... 18
2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.2.
Periodicita ve vývoji stavební produkce .................................................... 18 Autokorelace časové řády .......................................................................... 23 Posun časových řad .................................................................................... 32 Korelace časových řad a její interpretace................................................... 37
Predikce budoucího vývoje ............................................................................ 45
2.2.1. Predikce na základě korelačního koeficientu ............................................. 46 2.2.2. Predikce na základě neuronových sítí ........................................................ 58 2.2.3. Porovnání metod ........................................................................................ 68 2.3.
Vytvořené programové prostředky ................................................................. 73
2.3.1. Algoritmus - frekvenční analýza ................................................................ 73 2.3.2. Algoritmus - test autokorelačního koeficientu ........................................... 76 2.3.3. Algoritmus na testování posunu časových řad pomocí korelace ............... 78 2.3.4. Algoritmus na zjištění korelace časových řad s pomocí spektrální filtrace 80 2.3.5 Predikční algoritmus na základě korelačního koeficientu ............................. 88 2.3.6 Predikční algoritmus na základě neuronových sítí ........................................ 93 3.
Závěrečná část ...................................................................................................... 100 3.1. Odpovědi na otázky a cíle práce ................................................................... 100 3.2. Závěr ............................................................................................................. 101 Citovaná literatura..................................................................................................... 103 Seznam tabulek ......................................................................................................... 106 Seznam obrázků ........................................................................................................ 106 Příloha č. 1 - Změna indexu stavební produkce pro státy Evropské unie ................. 108 Příloha č. 2 - Roční změna hrubého domácího produktu pro státy Evropské unie... 109 Příloha č. 3 – Vývoje indexu stavební produkce prezentované spojnicovými grafy 110 Příloha č. 4 – Frekvenční analýza časové řady vývoje stavební produkce ............... 124 Příloha č. 5 – Test autokorelace časové řady indexu stavební produkce .................. 129 6
Příloha č. 6 – Vývoj časové řady stavební produkce při aplikaci různých úrovní frekvenčního filtru .................................................................................................... 135 Příloha č. 7 – Neutrální scénáře vývoje pro roky 2012, 2013 a 2014 pro státy s R>0,67 .................................................................................................................... 138 Příloha č. 8 – Neutrální scénáře vývoje ISP pro roky 2012, 2013 a 2014 pro státy s R>0,67 po aplikaci frekvenčního filtru .................................................................. 141 Příloha č. 9 – změny HDP a ISP pro rok 2012 ......................................................... 145 Příloha č. 10 – Predikovaný vývoj ISP pro státy EU pro roky 2012, 2013 a 2014 .. 146
Seznam zkratek ISP HDP MATLAB EU NN PHP EMF CEEC
index stavební produkce hrubý domácí produkt matrix laboratory (software) Evropská unie Neural Network (překlad: Neuronové sítě) Hypertextový preprocesor (pozn.: programovací jazyk) Enhanced Metafile (grafický formát souborů) Conseil European des Economistes de la Construction (překlad: Sdružení evropských ekonomů ve stavebnictví)
7
1. Úvodní část 1.1.
Úvod
Lidé se neustále snaží předpovídat vývoj své budoucnosti. V některých oblastech jim to jde lépe než v jiných. K úspěšnějším odvětvím, co se předpovídání budoucího vývoje týče, patří krátkodobé až střednědobé předpovědi ekonomického a hospodářského vývoje [1]. Samozřejmě s jistým stupněm nejistoty. Tato práce si dává za cíl zkoumat ukazatele stavební produkce ve státech Evropské unie za účelem předpovědi budoucího vývoje. Po získání dostatečných dat se práce věnuje analýze a logické souvislosti časových řad jednotlivých ukazatelů. Bude provedena pečlivá analýza vývoje časové řady stavební produkce v jednotlivých státech s cílem zjistit její charakteristiky, které pomohou v dalším výzkumu. V rámci této práce se budeme snažit odpovědět na otázky, zda existuje prokazatelná závislost mezi vývojem HDP [2], reprezentující výkon celé ekonomiky, a stavební produkcí a zda je tato závislost u všech zkoumaných států stejná. Ať už dojde k prokázání závislosti či nikoliv, proběhne diskuze nad průběžnými výsledky a bude snaha vysvětlit příčiny tohoto stavu. V případě prokázání závislosti budou na řadě otázky týkající se možnosti předpovědi stavební produkce na základě vývoje HDP. Je možné předpovědět vývoj stavební produkce pouze s využitím HDP? Na tuto otázku se budeme snažit odpovědět použitím dvou metod a to metody na základě vypočtených korelačních koeficientů spolu s predikčním algoritmem vytvořeným autorem této práce a s užitím predikce pomocí algoritmu neuronových sítí, který bude představovat principiálně odlišný přístup k řešení problému. Obě metody budou porovnány s cílem zjistit jejich shody či případné odlišnosti. V dostatečné míře bude popsána také možná neschopnost předpovědi dalšího vývoje na základě případného nezávislého vztahu veličin stavební produkce a HDP. Základním cílem práce je zodpovědět výše zmíněné otázky a prozkoumat oblast predikce stavební produkce na základě HDP. K vedlejším cílům budou patřit výsledky analýzy časových řad stavební produkce v jednotlivých státech. K dosažení cílů práce budou použité metody statistické analýzy [3], logické implikace a výpočetní algoritmy za pomoci matematického výpočetního softwaru MATLAB [4]. Práce je psána s cílem maximální transparentnosti výpočtů a logických závěrů, a proto veškeré výsledky a algoritmy budou k dispozici v kapitole 2.3. Vytvořené programové 8
prostředky. Dílčí závěry a principy z analýzy časových řad budou prezentovány na síti Internet, kde budou sloužit jako volně přístupný podklad pro další výzkum [5]. 1.1.1. Cíle a otázky práce 1) Vědecká otázka: Obsahuje vývoj stavební produkce za posledních 20 let statisticky významné charakteristické rysy? 2) Vědecká otázka: Existuje podobnost mezi vývojem stavební produkce a HDP ve státech EU? Pokud ano, je všude stejná? 3) Vědecká otázka: Je možné vytvořit predikční model pro předpověď stavební produkce ve státech EU? 4) Cíl: Vytvořit predikce budoucího vývoje indexu stavební produkce na základě technické analýzy pro další výzkum.
1.2.
Současný stav řešené problematiky
V kapitole bude shrnuto, kde se nachází stav řešené problematiky z hlediska předpovědí stavební produkce na základě HDP. Kromě tohoto hlediska, které je shodné s obsahem této práce, je třeba zjistit, jaké jsou možnosti analýzy časových řad a jaká pozornost se věnuje předpovídání důležitých veličin v oblasti stavebnictví (dlouhodobé vývoje, ceny apod.). 1.2.1 Předpovědi HDP V současné době se věnuje značné množství pozornosti předpovědi a přesnému určení hrubého domácího produktu jako hlavnímu nositeli informace o vývoji ekonomiky v daných státech. Hlavní tvůrci předpovědí HDP spadají především do veřejného sektoru. Zde můžeme jmenovat například Mezinárodní měnový fond, který tvoří předpovědi HDP pro většinu zemí světa s výhledem až 5 let [6]. Když se zaměříme blíže na celek Evropské unie, tak zjistíme, že důležité předpovědi HDP jsou formulovány jednotlivými vládami členských států a následně shromažďovány do evropské statistické databáze Eurostat [7]. Na příkladu České republiky je možné ukázat, že výhledy HDP do budoucích let jsou tvořeny několika organizacemi a to Ministerstvem financí [8], Ministerstvem práce a sociálních věcí a Českou národní bankou [9]. Ostatní státy Evropské unie jsou na tom v tomto směru obdobně. Je tedy možné tvrdit, že předpovědím HDP je věnována velká pozornost a tedy, že metodika těchto předpovědí je pod dohledem řady odborníků. To je důvod, proč se tato práce nebude soustředit na řešení problematiky předpovědí a zpětného ověřování hodnot HDP. 9
Metodika získávání předpovědí HDP nebude v této práci zpochybňována a práce se zaměří pouze na získání co nejlepších vstupních dat z těchto zdrojů. K hlavním kritériím volby bude patřit např. rozsah datových řad a jejich přesnost, jejíž hodnocení bude vycházet z dosavadních výzkumů [10]. O faktorech ovlivňujících výběr zdroje vstupních dat bude pojednávat kapitola 1.3 Zdroje dat. 1.2.2 Předpovědi stavební produkce Bez nadsázky je možné konstatovat, že předpovědi stavební produkce nejsou v tak velkém zájmu pozornosti jako predikce pro HDP. Zatímco předpovědi HDP je věnována velká energie ze stran nadnárodních organizací především veřejného sektoru, jako je mezinárodní měnový fond nebo organizace OECD, stavebnictví se věnují převážně společnosti a sdružení soukromého sektoru. Podle přístupných zdrojů informací [11] [12] je možné tvrdit, že předpovědi týkající se stavební produkce pro trhy jednotlivých států jsou tvořeny na základě převážně subjektivních názorů odborníků, podnikatelů a manažerů v oboru stavebnictví. Takovéto předpovědi jsou často prezentovány pod záštitou soukromých společností a organizací. Jako takové můžeme jmenovat např. CEEC Research, EUROCONSTRUCT nebo mezinárodní konzultační společnosti např. KPMG. Mezi subjektivní analýzy budoucího vývoje jmenujme CEEC Research poskytující predikce pro země východní Evropy s podrobnými analýzami pro Českou republiku [13], Polsko, Maďarsko a Slovensko. Další jmenované organizace (např. KPMG) svojí metodiku veřejně nepublikují, přesto z veřejně přístupných zdrojů lze zjistit, že studie určité procento subjektivního hodnocení obsahují. Organizace veřejného sektoru jako jsou vlády jednotlivých zemí, nadnárodní organizace apod. žádné vlastní analýzy budoucího vývoje nepublikují anebo nepropagují. Toto tvrzení je možné podložit faktem, že ani Evropské statistické centrum Eurostat žádné takovéto informace neshromažďuje a nearchivuje [14]. 1.2.3. Předpovědi časových řad Matematická a statistická analýza a další vědní obory nám dávají mnoho prostředků pro určení predikcí budoucích hodnot libovolných časových posloupností. Dle indicií [11], [12] tyto prostředky však nejsou využívány pro předpovědi objemů stavební produkce. V těchto zdrojích najdeme jen velice málo zmínek o snahách používat analytický přístup nezatížený o subjektivní hodnocení v případě předpovídání objemů stavebnictví. Nejblíže tématu předpovědí na základě časových řad ve stavebnictví mají práce Time Series Analysis for 10
Construction Productivity Experiments [15] a Time Series Models for Forecasting Construction Costs Using Time Series Indexes [16], které se však nevěnují přímo předpovědi stavební produkce ale stavební produktivitě, respektive předpovědi stavebních nákladů na základě časových řad. Vědecké postupy, které se problematice věnují, jsou citované v této práci a tato práce z nich vychází nebo na nich staví. Je dán velký důraz na to, aby nedocházelo k duplicitní vědecké práci a šlo o originální nový přístup k dříve neřešené problematice.
1.3.
Zdroje dat
Před zahájením analýzy časových řad stavební produkce a HDP v jednotlivých státech Evropské unie je třeba ujasnit používanou terminologii a obhájit zdroj potřebných dat pro samotnou analýzu. 1.3.1. Terminologie V práci bude opakovaně používána ustálená terminologie z oblasti statistického zpracování dat, matematické analýzy a jiných vědních oborů. Aby bylo zaručeno, že nedojde k záměně či desinterpretaci pojmů v této kapitole bude poskytnut výčet pojmů s definicí, která nejlépe odpovídá jejich použití v této práci. HDP (hrubý domácí produkt) Je definován dle odborné literatury následujícím způsobem: „HDP je peněžním vyjádřením celkové hodnoty statků a služeb nově vytvořených v daném období na určitém území; používá se pro stanovení výkonnosti ekonomiky“ [17]. V této práci je HDP používáno jako vyjádření výkonnosti ekonomiky jednotlivých států Evropské unie přesně dle definice. Je třeba poukázat na to, že v našem případě nepůjde ani tak o nominální hodnotu ukazatele, ale o změnu ukazatele k předchozímu roku. Index stavební produkce Dle českého statistického úřadu definovaný takto:
11
„Index stavební produkce (ISP) je základní ukazatel konjunkturální statistiky stavebnictví. Při jeho výpočtu se vychází z vývoje stavebních prací přeceněných do stálých cen. Index je primárně počítán jako měsíční bazický index, v současné době k průměrnému měsíci roku 2010. Od bazických indexů jsou dále odvozeny indexy meziroční a případné kumulace v čase (čtvrtletní, pololetní, roční kumulace)“ [18]. Jinými slovy ISP ukazuje výkon průmyslového oboru stavebnictví. Dle metodiky obsahuje daný index výkon pozemního i inženýrského stavitelství. V našem případě budeme zkoumat změny indexů v čase k předchozímu roku v jednotlivých státech Evropské unie. Časové řady V práci se mluví o datech ve formě časových řad, které je možné si představit na základě následující definice: „Časová řada je chápána jako posloupnost hodnot určitého statistického znaku (ukazatele) uspořádaných z hlediska času ve směru od minulosti k přítomnosti, kde tento ukazatel je věcně a prostorově vymezen po celé sledované období.“ [19] Námi požadovaná data tuto definici splňují. Data HDP a indexu stavební produkce jsou časově seřazena a jsou prostorově vymezena územím daného státu Evropské unie. Země Evropské unie Práce se věnuje zemím Evropské unie. Označení v práci reprezentuje země, kterými jsou členské státy Evropské unie k 1. 1. 2013. Jejich seznam je uveden v tabulce 1 a jsou vyznačeny na obrázku 1.
12
Tabulka 1 Členské státy Evropské unie k 1. 1. 2013
Belgie
Kypr
Portugalsko
Bulharsko
Litva
Rakousko
Česko
Lotyšsko
Rumunsko
Dánsko
Lucembursko
Řecko
Estonsko
Malta
Slovensko
Finsko
Maďarsko
Slovinsko
Francie
Německo
Spojené království
Irsko
Nizozemsko
Španělsko
Itálie
Polsko
Švédsko
Obrázek 1 Členské státy Evropské unie k 1. 1. 2013 (zdroj: http://commons.wikimedia.org; autor: Ssolbergj)
13
1.3.2. Datová základna Před tím než se naše pozornost plně obrátí k analýze časových řad, je třeba získat potřebné datové sady stavební produkce a HDP ze států Evropské unie. Jak již bylo řečeno v předchozích kapitolách, existuje řada zdrojů, které poskytují tyto údaje. Na časové řady stavební produkce a HDP jsou pro cíle této práce kladeny následující nároky: 1. maximální délka časové řady (tzn. největší možný počet hodnot), 2. vizuálně zřetelný trend (vývoj) časových řad, 3. zdroj musí obsahovat data pro všechny země EU, 4. metodika získávání dat musí být sjednocená. Ve statistických analýzách je přesnost výsledků úměrná velikosti vstupního datového setu, a proto je nutné hledat co možná nejdelší a nejpřesnější datové řady. Z tohoto pohledu jsou na výběr datové řady, u kterých je časová jednotka jeden rok a nebo jeden měsíc. Vizuální ohodnocení trendu je důležité z důvodu volby správné analytické metody. V případě že bychom nedokázali alespoň rámcově předpovědět, jak by se výsledky měly vyvíjet nelze metody přesně aplikovat. Samozřejmostí by měl být i předpoklad, že budeme mít k dispozici datové sety pro všechny zkoumané země a že tato data budou vytvořena na základě sjednocené metodiky. V opačném případě by samozřejmě nebylo možné z analytických testů vyvodit patřičné závěry. Jako hlavního kandidáta na zdroj potřebných dat lze jednoznačně označit volně přístupnou databázi Eurostat. Tato databáze zřízená Evropskou komisí se věnuje shromažďování dat z jednotlivých států EU a nebo Unie jako celku. Eurostat obsahuje potřebné datové řady HDP i Indexu stavební produkce, v obou případech jako procentuální změny k předchozímu období. Volbu této databáze lze podložit také tím, že se soustředí primárně na země Evropské unie a že obsahuje sjednocenou metodiku získávání dat. Data jsou snadno dostupná přes webové rozhraní a přizpůsobená k úpravám a exportu. Toto jsou hlavní důvody, proč byla databáze Eurostat zvolena jako primární zdroj dat pro tuto práci. Databáze poskytuje index stavební produkce a HDP v měsíčních nebo ročních úhrnech. V této chvíli je třeba rozhodnout, jaké časové rozlišení zvolit pro další analýzy. Dlouhé datové řady s měsíčním rozlišením nahrávají přesnějším statistickým výsledkům, ale jsou náchylnější k náhodnému šumu. U ročních je tomu naopak. To, jak jsou data silně zašuměna
14
bez názorného trendu, je vidět na příkladu měsíčních dat stavební produkce Německa na obrázku 2. 25,0
20,0 15,0
Změna [%]
10,0 5,0 0,0 2000M01 2001M01 2002M01 2003M01 2004M01 2005M01 2006M01 2007M01 2008M01 2009M01 2010M01 2011M01 -5,0
-10,0 -15,0
čas [měsíc]
Obrázek 2 Změna indexu stavební produkce - měsíční data - Německo
Náhodné zašumění dat vyvolané krátkodobými výkyvy průmyslového odvětví je klíčový problém při volbě datové sady. Proti zvolení měsíční datové sady je i fakt, že některé státy neprovádějí měsíční výpočty, a proto jsou data pouze odhadem Eurostatu. To by byl další negativní prvek při volbě měsíčních dat, a proto zvolíme roční datové sady i přes negativní fakt menšího počtu naměřených hodnot. Tato datová sada vykazuje určitý trend, a proto se hodí k dalším analýzám. Roční obdobu grafu z obrázku 2 můžeme vidět na obrázku 3. 15,0
Změna [%]
10,0
5,0
0,0 2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
-5,0
-10,0
čas [rok]
Obrázek 3 Změna indexu stavební produkce - roční data - Německo
15
Výběr dat pro HDP vychází ze stejné logiky s malým rozdílem, že pro volbu ročních dat z databáze Eurostat mluví už volba ročních dat stavební produkce. Bude tím dosaženo maximální shody metodiky časových řad. Z předložených argumentů vyplývá závěr, že budou zvoleny časové řady s ročními daty z databáze Eurostat. Pro hlavní analýzy byly vybrány datové řady Construction production index - annual data - percentage change [14] (viz příloha 1) a Real GDP per capita, growth rate and totals [20] (viz příloha 2). Obě tabulky byly upravené tak, aby znázorňovaly změnu indexu k předchozímu období, tedy roku, viz tabulka 2. Metodika získávaní dat je v kompetenci organizace Eurostat a je popsána u zdrojů jednotlivých dat (viz reference). Tabulka 2 Ukázka použitých dat (celé EU) změna indexu HDP a stavební produkce k předchozímu roku
GDP Const. Index
1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 1,7 2,6 2,8 2,8 3,6 1,9 1 1 2,1 1,6 2,9 2,8 -0,1 -4,6 1,8 1,4 -0,5 -2,6
-0,6
0,5
3,1
2,8
0,9
0,6
2,0
0,9
2,5
3,3
2,6
-2,9
-7,8
-3,5
1,3
4 2 GDP
0
1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 -2
Stavební produkce
-4 -6 -8
Obrázek 4 Časové řady vývoje HDP a stavební produkce – data z celé Evropské unie
Na obrázku 4 je vidět příklad dvou časových řad získaných z databáze a prezentovaných ve spojnicovém grafu. Na první pohled je zřejmá vizuální podobnost ve vývoji obou řad. Cílem zůstává závislost obou řad analyzovat pomocí matematických metod, více k této problematice v kapitole 2.2. Predikce budoucího vývoje. Dále je třeba poznamenat, že datové řady vycházejí z informací známých k 1. 1. 2013 a tedy neobsahují nejaktuálnější data. U indexu stavební produkce i u HDP jsou k dispozici data do roku 2011. U HDP jsou data navíc rozšířená o výhledy do roku 2014. V průběhu přípravy této práce nebude docházet k aktualizaci datových sad o aktuální údaje, protože to z principu práce není nutné. Práce se zaměřuje na obecnou analýzu vývoje a na principy předpovědi,
16
které budou fungovat i bez nejaktuálnějších hodnot. Nicméně aktuální hodnoty mohou být použity pro potvrzení nebo vyvrácení predikčních modelů. Časové řady stavební produkce byly pro větší přehlednost a pro zpětnou kontrolu vygenerovány ve formě spojnicových grafů a pro všechny státy Evropské unie jsou k dispozici v příloze 3.
17
2. Obsahová část 2.1.
Analýza časových řad
Před tím, než začne práce na prediktivních modelech a předpovědích budoucího hodnot stavební produkce, je třeba provést analýzu těchto časových řad. Je třeba zjistit, jestli vývoj indexu stavební produkce nemá vlastnosti, které by mohli pomoci při predikčních výpočtech. Jako takové vlastnosti můžeme jmenovat například: periodicitu v časové řadě, autokorelaci časové řady, časový posun apod. K určení těchto vlastnosti bude využito statistických a matematických metod, které budou nejdříve demonstrovány na vzorových datech a následně použity na reprezentativním vzorku dat reálných. Důvodem, proč je použit ve výpočtech pouze reprezentativní vzorek reálných dat, je fakt, že určité operace jsou časově a výpočetně náročné a reprezentativní vzorek nám dává stejnou odpověď jako v případě použití všech dat. V případě, že závěry z analýzy reprezentativního vzorku nebudou průkazné, bude metoda aplikována na celý datový set. 2.1.1. Periodicita ve vývoji stavební produkce Před začátkem dalších prací na analýze časových řad indexu stavební produkce je dobré si položit otázku: dochází ve vývoji stavební produkce k cyklickému opakování? Budeme zkoumat, zda nemají trendy hodnot indexu stavební produkce tendenci se s časem opakovat a to jak v kratším, tak i dlouhodobém měřítku. Zjištění by pomohlo v předpovědi budoucího vývoje této veličiny, stejně tak jako k dalším analýzám. Časová řada, bez závislosti na tom o jakou veličinu jde, se může skládat z několika dílčích částí. Model časové řady je možné dekomponovat dle následujícího vzorce (1) [21]: (1)
kde
hodnota veličiny časové řady v čase t,
sezónní složka časové řady,
trendová složka časové řady,
cyklická složka časové řady a
náhodná složka časové
řady. Trendová složka časové řady je to, co nás zajímá nejvíce. Ukazuje nám, jakým směrem se budou veličiny vyvíjet. Trendová složka neboli trend, může mít tendenci růst, klesat nebo 18
zůstávat na stejné úrovni. Tato oblast bude předmětem zkoumání v kapitole 2.2. Predikce budoucího vývoje. Sezónní složka časové řady je tvořena opakováním vlivů na pozorovanou časovou řadu s periodou menší než jeden rok. V našem případě by byla tvořena nerovnoměrnou stavební produkcí v kalendářním roce z důvodu sezónních vlivů. Stavebnictví zažívá největší oživení na jaře a největší útlum v zimních měsících a tato skutečnost by se do sezónní složky promítla. Jelikož používáme roční data, tato složka časové řady se nás netýká. V případě že bychom chtěli použít měsíční data získaná z databáze Eurostat, víme, že tato data byla již od sezónního vlivu očištěna dle metodiky databáze Eurostat (viz metodika Eurostatu v kapitole 1.3.2 Datová základna) a tudíž se touto složkou není třeba zabývat. Náhodná složka časové řady je prvek, který je nemožné popsat pomocí funkce času. Jedná se například o možnou chybu měření, náhodné vlivy apod., které nelze předpovídat. Tuto složku je možné filtrovat a to se pokusíme v následujících kapitolách. Cyklická složka časové řady je předmětem zájmu této kapitoly. Jedná se o opakující se odchylku v časové řadě s periodou delší než je jeden rok. Tímto se liší od sezónní složky. Její vznik může mít příčinu v hospodářském cyklu, charakteristikách průmyslového odvětví, inovačním cyklu apod. Příčinu je možné hledat až v případě, že bude odhalena samotná cyklická složka. V této kapitole se budeme zabývat hledáním cyklické složky s konstantní periodou. V případě, že by časová řada obsahovala cyklickou složku s proměnnou neznámou periodou, bude se na takovouto složku pohlížet jako na součást složky trendové [21]. Test cyklické složky - kontrolní výpočet Pro ověření, zda časová řada stavební produkce obsahuje cyklickou složku, bude použitý matematický algoritmus nazvaný Diskrétní Fourierova transformace. Díky této transformaci naší časové řady zjistíme, jaké frekvenční složky jsou v řadě obsažené a jestli některé z nich převažují nad ostatními. Matematický aparát stojící za touto transformací je složitý, ale princip a užití je jednouchý a bude vysvětlen na následujícím příkladu.
19
Funkční hodnota testovací veličiny
1,50
1,00
0,50
0,00 1
6
11
16
21
26
31
36
41
46
51
Testovací veličina
-0,50
-1,00
-1,50
Čas [rok] Obrázek 5 Testovací hodnoty pro Fourierovu transformaci
Na obrázku 5 jsou vidět uměle vytvořené testovací hodnoty, na kterých bude demonstrován přístup zjišťování cyklické složky v časové řadě. Na první pohled je patrné, že zobrazené hodnoty obsahují určitý cyklus (periodu) opakování, přibližně 21 let. Abychom tento předpoklad dokázali, použijeme algoritmus Diskrétní Fourierovy transformace s použitím programu MATLAB [4] na testovací vektor časové řady znázorněný na obrázku 5. Tento vektor má následující hodnoty:
.
Na tento vektor použijeme algoritmus v programu MATLAB, který je uvedený v kapitole 2.3.1 Algoritmus - frekvenční analýza této práce. Jádrem výpočtu je použití funkce fft(x), která provede matematickou transformaci vektoru pomocí takzvané Rychlé Fourierovy transformace (v originále Fast Fourier transform) [22]. Algoritmus provede výpočet podle následujícího vzorce, který používá funkce fft:
20
( )
∑
()
(
) (
)
,
(2)
kde (
)
,
(3)
kde N je délka zkoumaného vektoru, x zkoumaný vektor (ve vzorci (1) uvedený jako
,
k je pořadí složky vektoru a i je imaginární jednotka komplexního čísla. Původním výsledkem výpočtu algoritmu je graf znázorňující závislost funkční hodnoty na frekvenci. Protože platí jednoduchý vztah: ,
(4)
kde f je frekvence a T perioda, je možné horizontální osu upravit v grafu přehledněji pro naše účely. Výsledkem výpočtu je opět vektor ( ), který je zobrazen spojnicovým grafem na obrázku 6.
50,00 40,00 30,00 20,00 10,00 0,00 63,0 31,5 21,0 15,8 12,6 10,5 9,0 7,9 7,0 6,3 5,7 5,3 4,8 4,5 4,2 3,9 3,7 3,5 3,3 3,2 3,0 2,9 2,7 2,6 2,5 2,4 2,3 2,3 2,2 2,1 2,0
Funkční hodnota trasformace
60,00
Perioda [rok]
Obrázek 6 Výsledek výpočtu algoritmu - frekvenční analýza
21
Z grafu na obrázku 6 je možné interpretovat následující výsledky. V místech, kde má funkce svá maxima, jsou frekvence (periody) typické pro analyzovanou časovou řadu. Maximum se nachází v periodě přibližně 21 let, která odpovídá vizuálnímu posouzení testované veličiny na obrázku 5. Dále je možné vidět maximum v oblasti periody 3,3 roku. Toto je další harmonická (cyklická) složka v testované veličině. Její vizuální identifika není jednoduchá, a to z důvodu, že tato složka má pětinásobně menší amplitudu neboli vliv na chování původní testované veličiny. Toto zjištění je patrné z obrázku 6, kde maximum v oblasti periody 21 let má funkční hodnotu pětinásobně větší než je maximum v oblasti 3,3 leté periody. Test cyklické složky - výpočet na reálných datech Stejný výpočet provedeme na náhodném vzorku 10 států EU, abychom zjistili, jestli se za posledních přibližně dvacet let objevila ve vývoji stavební produkce statisticky významná cyklická složka. Náhodně vybrané země jsou: Belgie, Německo, Velká Británie, Česká republika, Polsko, Španělsko, Švédsko, Finsko, Slovensko, Portugalsko. Na obrázku 7 je znázorněna frekvenční analýza časové řady stavební produkce na příkladu Německa. Na průběhu frekvenčního spektra je patrné, že žádný z extrémů výrazně nevybočuje od průměru, a tedy že časová řada neobsahuje žádnou výraznou cyklickou složku. Stejný výpočet byl proveden i u zbylých devíti zemí, a to s obdobným výsledkem. Všechna vypočtená data jsou v příloze 4. 40,00
35,00
Funkční hodnoty
30,00
25,00
20,00
15,00
10,00
5,00
0,00 Ø
16,00
8,00
5,33
4,00
3,20
2,67
2,29
2,00
Perioda [rok]
Obrázek 7 Frekvenční analýza stavební produkce pro Německo
22
Ze všech vypočtených vzorků vykazují absenci výrazné cyklické složky data zemí: Belgie, Finsko, Německo, Portugalsko, Švédsko a Velká Británie. Ve zbylých zemích jako je Česká republika, Polsko, Slovensko, Španělsko je možné vidět lokální maximum v oblasti frekvence 0,05, která odpovídá periodě 20 let. Takto dlouhá perioda nemá reálný význam, neboť časové řady mají délku do 20 let. Toto je důvod proč není třeba tyto maxima v analýze brát v potaz. Závěr testu cyklické složky Na zkoumaných datech nebyla výrazná cyklická složka prokázána. Tohoto závěru bylo dosaženo frekvenční analýzou časových řad, kde žádná frekvence výrazně nepřevyšovala ostatní. Zjištění se bude brát v úvahu v dalších kapitolách práce. K prokazování cyklických vlastností byl použit algoritmus v aplikaci MATLAB, který je s komentářem uveden v příloze 4. Pro lepší názornost a zpětnou ověřitelnost vypočtených výsledků byla vytvořena ekvivalentní aplikace ve webovém rozhraní za použití programovacího jazyka PHP [23], která je dispozici na adrese: http://www.daviddudas.cz/fft/ [24]. 2.1.2. Autokorelace časové řady V předchozí kapitole bylo ukázáno, že časové řady stavební produkce s největší pravděpodobností neobsahují cyklickou složku, tedy že nedochází k tendenci cyklického opakování po určitém časovém úseku. Dalším významným ukazatelem vlastností časové řady je autokorelace. Pod tímto pojmem je skryta řada výpočtů, které ukážou, jak velkou setrvačnost časové řady vykazují [25]. Pojem setrvačnosti časové řady určuje, jak moc předchozí hodnoty časové řady ovlivňují hodnoty následující. Zjištění, že časová řada obsahuje silnou setrvačnost, by mělo velký význam pro předpovědi budoucích hodnot tedy pro stěžejní část práce. V první části analýzy autokorelace časové řady se soustředíme na autokorelaci prvního řádu, která ukazuje vztah dvou sousedních hodnot tedy hodnot
a
, kde t reprezentuje
čas (v našem případě v jednotkách roků). Výpočet bude proveden na vzorovém příkladu pro prezentaci funkčnosti výpočtu a metody. Výpočet bude probíhat dle vzorce [21]: ( √[(
)∑
)∑ (∑
∑ ) ][(
∑ )∑
(∑
) ]
,
(5)
23
je koeficient autokorelace prvního řádu, n počet členů časové řady, t časová
kde
složka časové řady a
hodnota časová řady v čase t.
V případě výsledků
blížící se hodnotě 1 se jedná o vysokou autokorelaci (o vysokou
setrvačnost hodnot). U výsledků okolo hodnoty 0 se jedná o nízkou či žádnou autokorelaci a u hodnot blízko -1 jde o autokorelaci zápornou. Kontrolní výpočet – autokorelace prvního řádu Pro kontrolní výpočet byla zvolena náhodná datová sada se silnou trendovou složkou reprezentovaná spojnicovým grafem na obrázku 8.
yt - funkční hodnota časové řady
4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
t - čas [rok]
Obrázek 8 Vzorová data pro výpočet autokorelace – s trendem
Kontrolní výpočet byl proveden podle vzorce (5) s výsledkem
= 0,985. Toto je velmi
vysoká hodnota autokorelace tedy setrvačnosti hodnot, tak jak je zřetelně vidět na obrázku 8. Opakem může být autokorelace téměř nulová, kterou můžeme pozorovat u datového setu složeného čistě z náhodných čísel. Takový datový set je pro lepší představu zobrazen na obrázku 9.
24
yt - funkční hodnota časové řady
1 0,9 0,8 0,7
0,6 0,5 0,4 0,3
0,2 0,1 0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
t - čas [rok]
Obrázek 9 Vzorová data pro výpočet autokorelace – náhodné hodnoty
U této datové řady je autokorelační koeficient prvního řádu
= -0,047 reprezentující
žádnou autokorelaci neboli žádnou setrvačnost vývoje hodnot. Poslední krajní situací je autokorelační koeficient blízký hodnotě -1, který reprezentuje zápornou autokorelaci. Vlastnost takovéto časové řady je zřetelná z obrázku 10. U této časové řady byl vypočten autokorelační koeficient prvního řádu
= -0,997.
yt - funkční hodnota časové řady
5
4 3 2
1 0 -1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-2 -3 -4
-5
t - čas [rok]
Obrázek 10 Vzorová data pro výpočet autokorelace - záporná autokorelace
25
Výpočet na reálných datech – autokorelace prvního řádu Tento výpočet byl proveden na náhodně vybraných 10 zemích EU. Jako v celé práci jimi jsou: Belgie, Německo, Velká Británie, Česká republika, Polsko, Španělsko, Švédsko, Finsko, Slovensko, Portugalsko. Výsledky jsou uvedeny v tabulce 3.
Tabulka 3 Autokorelační koeficienty prvního řádu pro deset zemí EU
Země Belgie
-0.1097
Německo
0.2699
Velká Británie
-0.0936
Česká republika
0.5341
Polsko
0.7175
Španělsko
0.6831
Švédsko
0.0947
Finsko
0.0124
Slovensko
0.3066
Portugalsko
0.2299
Průměr
0.2644
Uvedené výsledky se značně rozcházejí. Je možné tvrdit, že v průměru země vykazují nízkou autokorelaci prvního řádu podloženou průměrnou hodnotou 0,2644. Avšak některé země z toho průměru značně vybočují. Jde o Českou republiku, Polsko, Španělsko s průměrnou hodnotou 0,6449, kterou můžeme označit za vyšší autokorelaci. Z toho vyplývá závěr, že v těchto státech je velká setrvačnost ve vývoji stavební produkce za posledních cca 20 let. To, že se hodnoty na vzorku 10 zemí takto rozcházejí, vede k nutnosti výpočtu autokorelačních koeficientů u všech zemí EU, aby byla možná přesnější analýza zjištěných rozdílů ve výsledcích. Než však proběhne výpočet pro všechny země EU, je třeba odpovědět na otázku, zda autokorelace prvního řádu je tou nejvýraznější autokorelační složkou vývoje časové řady.
26
Autokorelace vyšších řádů Autokorelace vyšších řádů se zabývá setrvačností časových řad, kde sleduje vztah mezi dvěma členy řady s rozestupem k-1, kde k je řádem autokorelačního koeficientu. Vychází ze vzorce obecné obdoby (5) [21]: ( √(
kde
)∑
)∑ (∑
∑ )
(
∑ )∑
(∑
)
(6)
je koeficient autokorelace k-tého řádu, n počet členů časové řady, t časová složka
časové řady a
hodnota časová řady v čase t.
Tento výpočet může také sloužit pro ověření výsledků z kapitoly 2.1.1 Periodicita ve vývoji stavební produkce. Je díky němu možné také zjistit náznaky cyklických složek časových řad. V případě časových řad použitých v této práci o délce maximálně 20 let má smysl provést výpočet do 20. řádu. Vizuálním posouzením zjistíme, jaká korelace má největší význam. Kontrolní výpočet – autokorelace vyšších řádů Kontrolní výpočet pro ověření správnosti výpočtu provedeme na datech používaných v kapitole 2.1.1. znázorněných na obrázku 5 (strana 20). K výpočtu použijeme výpočetní program MATLAB a algoritmus, který je k dispozici v příloze 6. Vypočtené autokorelační koeficienty jsou znázorněné na obrázku 11. Z obrázku 11 je zřetelně vidět, že k nejvyšší vlastní korelaci dochází přibližně s rozestupem k-1 = 19 let tedy se potvrzuje cyklická složka s periodou přibližně 20 let, která byla na testovacích datech prokázána v kapitole 2.1.1. Je třeba však poznamenat, že tato metoda neodhalila slabší cyklickou složku s přibližnou periodou tří let, tak jako metoda frekvenční analýzy (viz obrázek 6), a proto není náhradou této metody. Je pouze jejím částečným potvrzením. Na grafu (obrázek 11) můžeme také vidět oblast vyznačenou modrými úsečkami. Ta udává oblast statistické významnosti 90%. V případě, že se hodnoty autokorelačního koeficientu nacházejí mimo tuto oblast (nad nebo pod modrými úsečkami), s 90% pravděpodobností platí, že se jedná o statisticky významnou autokorelaci. Na vzorovém obrázku 11 se jedná o oblasti okolo k =10 a k =20. 27
Vzorová data
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
5
10 15 20 řád autokorelačího koeficientu k
25
30
Obrázek 11 Autokorelační koeficenty - vzorová časová řada
Výpočet na reálných datech – autokorelace vyšších řádů Nyní je na řadě výpočet pro korelaci vyšších řádů na vzorku deseti států EU. Snažíme se zjistit, jestli existuje silnější autokorelace než prvního řádu. Na obrázku 12 můžeme vidět vypočtené autokorelační koeficienty jednotlivých řádů pro příklad Německa, kde žádný z nich neprokazuje statisticky významnou autokorelaci (žádná z hodnot se nenachází mimo modrou oblast). Vypočtená data všech 10 zemí jsou uvedena v příloze 5. Nebyl odhalen žádný další významný autokorelační koeficient k-tého řádu, kromě již zjištěného k=1 u zmíněných 3 států (Česká republika, Polsko a Španělsko). Jako příklad státu, kde došlo k prokázání autokorelačního koeficientu je například Polsko, viz obrázek 11. Zde je vidět právě koeficient kde k=1, který je mimo modrou oblast a tedy statisticky prokázanou autokorelací na hladině statistické významnosti 90%.
28
Germany (including former GDR from 1991)
hodnota autokorelačního koeficientu k-tého řádu
1
0.5
0
-0.5
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
14
16
Obrázek 12 Výpočet autokorelace vyšších řádů pro stavební produkci Německo
Poland
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6
0
5 10 řád autokorelačího koeficientu k
15
Obrázek 13 Autokorelační koeficienty stavební produkce – Polsko
29
Výpočet autokorelace prvního řádu u všech zemí EU V předchozí části bylo dokázáno, že u některých zemí existuje statisticky významná autokorelace prvního řádu. Zatím byl proveden test na 10 zemích EU a tento fakt byl zjištěn u 3 z nich. Protože není zatím jasné, z jakého důvodu se tento fakt objevuje jen u části sledovaných států, je třeba provést výpočet pro všechny státy EU. Díky zjištěným datům budeme moci určit, u kterých zemí se objevuje významná setrvačnost u vývoje stavební produkce a u kterých je vývoj ovlivněn jinými faktory, a zda jde z hlediska samotné časové řady vývoje o náhodné hodnoty. Vypočtené hodnoty autokorelačních koeficientů prvního řádu, na základě algoritmů a vzorců prezentovaných v předchozí části, jsou uvedeny v tabulce 4. Tabulka 4 Tabulka autokorelačních koeficientů stavební produkce pro země EU Belgie
-0,1097
Francie
0,4561
Rakousko
0,3525
Bulharsko
0,6109
Itálie
0,4746
Polsko
0,6794
Česká republika
0,5341
Kypr
0,6070
Portugalsko
0,2299
Dánsko
-0,1433
Lotyšsko
0,5172
Rumunsko
0,3993
Německo
0,2699
Litva
0,2334
Slovinsko
0,3354
Estonsko
0,1059
Lucembursko
0,1321
Slovensko
0,3066
Irsko
0,7882
Maďarsko
0,5292
Finsko
0,0124
Řecko
0,3227
Malta
-0,2375
Švédsko
0,0947
Španělsko
0,6831
Nizozemsko
0,1474
Velká Británie
-0,0936
V tabulce jsou šedě vyznačené státy, u kterých byla prokázána statisticky významná autokorelace na hladině 90%. Pro větší přehlednost jsou data vyznačená barevné mapě dle barevného měřítka na obrázku 14. Závěr k testování autokorelace Při výpočtu bylo objeveno 7 zemí, u kterých vývoj stavební produkce je řízen významnou setrvačností. Těmi zeměmi jsou: Česká republika, Irsko, Španělsko, Francie, Lotyšsko, Maďarsko a Polsko. Na obrázku 14 jsou tyto státy označeny modrou značkou. U ostatních nebyla autokorelace výpočtem potvrzena. Interpretace takového zjištění je následující: u států s prokázanou vysokou autokorelací je vývoj velmi setrvačný a nedochází k častým změnám trendů. V případě, že dojde k propadu stavební produkce je pravděpodobné, že propad bude následovat i další roky. Stejný vývoj by měla produkce i v případě růstu. 30
Obrázek 14 Autokorelační koeficienty prvního řádu u zemí EU
Existují státy, které dosahují vysokého autokorelačního koeficientu, který ovšem není označen za statisticky významný. Důvodem tohoto faktu je, že pro dané státy je k dispozici pouze omezený počet pozorování, tedy let, v časové řadě. Velikost intervalu spolehlivosti vyznačeného na grafech modrými úsečkami je úměrný počtu údajů v časové řadě. Příčina toho, proč určité státy vykazují větší setrvačnost ve vývoji stavební produkce než ostatní, by měla být předmětem dalšího zkoumání. Analýza prezentovaná v této části práce předkládá technickou analýzu s minimálním množstvím subjektivního hodnocení výsledků. Pro určení příčin chování a vývojů jednotlivých veličin je pravděpodobně nutné pochopení jednotlivých trhů individuálních zemí Evropské unie a hlubší prozkoumání všech aspektů. Nicméně i přes veškerou snahu bude velmi komplikované určit objektivní důvody. Příčiny a důvody chování jednotlivých veličin budou pravděpodobně vždy zabarveny osobním názorem odborníků, a proto je jejich vypovídající schopnost omezená. 31
2.1.3. Posun časových řad Pro aplikaci analýzy pomocí korelačního koeficientu, která bude provedena v následující kapitole 2.1.4 Korelace časových řad a její interpretace a která je nezbytná před prací na predikčních modelech, je třeba ověřit, zda časové řady stavební produkce a HDP neobsahují vzájemný časový posun. Analýzu pomocí korelačního koeficientu lze provést pouze na datech bez časového posunu [26]. Původní pracovní hypotéza byla, že používaná data časový posun obsahují (na základě posouzení odborníků). Předpoklad byl, že stavebnictví bude posunuto o určitý počet časových jednotek (let) vůči vývoji HDP. To by znamenalo, že stavebnictví sice kopíruje vývoj HDP, ale s určitým, například ročním, zpožděním. K tomuto předběžnému závěru se došlo logickým uvážením typických znaků stavebnictví, které by časový posun podporovaly. Těmito typickými znaky jsou například:
dlouhodobý charakter realizace stavebních projektů,
dlouhodobé plánovaní stavebních projektů,
zásoba práce a dlouhodobé kontrakty stavebních firem,
a další.
Situace s časovým posunem je znázorněná na obrázku 15 a 16. Pro vizuální zhodnocení reprezentovaných dat je dobré se zaměřit na lokální extrémy vývoje časových řad. Lokální maxima jsou vyznačena zelenými šipkami a lokální minima modrými šipkami. Po vizuálním zhodnocení je zřejmé, že trendy časových řad si lépe odpovídají s umělou kompenzací časového posunu (obrázek 16). Toto tvrzení je však pouze subjektivním zhodnocením zobrazených dat pro jednu zemi z datového setu (data České republiky). 12,0 10,0 8,0 6,0 4,0 2,0 0,0 -2,0 -4,0 -6,0 -8,0 -10,0
HDP Stavební produkce
Obrázek 15 Časové řady HDP a ISP s viditelným časovým posunem (originální data)
32
12,0 10,0 8,0 6,0 4,0 2,0 0,0 -2,0 -4,0 -6,0 -8,0 -10,0
HDP
Stavební produkce
Obrázek 16 Časové řady HDP a ISP s uměle kompenzovaným časovým posunem (upravená data)
To, zda je tento úkaz pravidlem u všech zemí států Evropské unie, bude testováno pomocí výpočtu korelačního koeficientu. Korelační koeficient zkoumá sílu lineární závislosti vývoje veličin [21]. V našem případě budeme zkoumat sílu vztahu mezi vývojem HDP a stavební produkcí. V případě, že trend jednotlivých řad si bude vzájemně odpovídat, korelační koeficient bude vyšší (s maximem 1). V případě, že vztah obou časových řad bude náhodný, korelační koeficient se bude blížit nule. Dle obecných zvyků posuzujeme hodnoty korelačního koeficientu R z hlediska velikosti závislosti pozorovaných veličin následovně [27]: R ≤ 0.36
– malá závislost až nezávislost,
R
– střední závislost,
(0,36; 0,67)
R ≥ 0,67
– silná závislost.
Výpočet korelačního koeficientu bude proveden podle vzorců pro výpočet korelace (7) a kovariance (8): (
(
)
)
(
)
√ ( ) (
()
(7)
)
() ,
(8)
kde i a j jsou vektory časových řad, E je střední hodnota, R(i,j) je korelace vektorů i a j, C(i,j) je kovariance vektorů i a j.
33
Test posunu časových řad - kontrolní výpočet Aby bylo možné dokázat, že výpočtem korelačního koeficientu se dá potvrdit nebo vyvrátit fakt, že časové řady obsahují časový posun, byl proveden tento výpočet na vzorových datech. Vzorová testovací data jsou znázorněná na obrázku 17.
7 6 5 4 3 2 1 0
1
2
3
4
5
6
7
8
9
10
Obrázek 17 Vzorová data s posunem 2 časové jednotky
Tato data obsahují vzájemný časový posun o dvě časové jednotky. Cílem výpočtu je zjistit, jestli při kompenzaci časového posunu dojde ke zvýšení shody vývoje časových řad a tedy ke zvýšení korelačního koeficientu. Z matematického hlediska se jedná o snahu potvrdit platnost následující nerovnice: ( , )
( ,
),
(9)
kde R je korelační koeficient, i a j vektory časových řad a t je časové určení časové řady. 7
Funkční hodnota
6
5 4 3
2 1 0 1
2
3
4
5
6
7
8
9
t - čas [rok]
Obrázek 18 Vzorová data s kompenzací posunu o 2 časové jednotky
Po provedení výpočtu s použitím původních dat (viz obrázek 17) a dat s umělou kompenzací posunu (viz obrázek 18) docházíme k výsledku R = 0,3535 respektive R = 1. 34
Kompenzace posunu v tomto případě skutečně zvětšuje shodu mezi vývoji časových řad, jak tomu napovídá vizuální porovnání (viz obrázek 17 a obrázek 18). Existenci posunu je tedy možné zjistit využitím výpočtu korelačního koeficientu na původních datech a datech s umělou kompenzací posunu. Test existence posunu časových řad – reálná data Pro test existence časového posunu v časových řadách HDP a indexu stavební produkce byl proveden výpočet na 10 vybraných zemích Evropské unie. Výpočet byl proveden na původních datech bez časového posunu a na datech s umělou kompenzací ročního posunu. Výsledky jsou znázorněny v tabulce 5. Z průměrných hodnot je zřejmé, že původní data dosahují výšší korelace bez jakékoli kompenzace posunu oproti hodnotám upraveným. Otázkou zůstává, zda výsledek je možné aplikovat na údaje všech ostatních států. Aby bylo možné používat zjištěné závěry k práci se všemi údaji, podrobíme výsledky párovému t-testu [28]. Ten potvrdí, zda zjištěná data v tabulce 5 nejsou tvořena statistickou chybou. Pro výpočet je použit vzorec (10). Tabulka 5 Korelační koeficienty HDP a indexu stavební produkce bez posunu a s ročním kompenzačním posunem Korelační koeficient Bez posunu
S ročním posunem
Belgie
0,1176
-0,0007
Německo
0,3546
0,2696
Velká Británie
0,7207
0,0686
Česká republika
0,5449
0,7105
Polsko
0,7309
0,5554
španělsko
0,7460
0,7131
Švédsko
0,6159
0,3319
Finsko
0,8743
-0,0049
Slovensko
0,6915
0,3550
Portugalsko
0,3760
0,3579
0,5772
0,3356
Průměr
| ̅|
kde
√
,
(10)
̅ je průměr hodnot rozdílů hodnot korelačního koeficientu bez posunu a
s posunem, S je směrodatná odchylka, n je počet hodnot souboru a
kritické hodnoty
t rozdělení na hladině významnosti . 35
Po dosazení: .
(11)
Z výsledku vyplývá, že alternativní hypotéza je statisticky potvrzena na hladině významnosti 5% a že platí, že veličiny časových řad dosahují větší závislosti (korelace) bez časového posunu. Test posunu časových řad – reálná data a víceletý posun Aby bylo potvrzeno, že je správné používat data bez kompenzací časových posunů, je třeba vyvrátit možnost, že se v datech neobjevuje více než jednoletý posun. Toho je možné dosáhnout stejným výpočtem jako v případě ročního posunu. U dat je prováděno umělé vzájemné posunutí a je následně vypočten korelační koeficient určující jejich vzájemný vztah. Průměrné hodnoty korelačních koeficientů s testovanými posuny jsou uvedeny v tabulce 6. Průměrné hodnoty korelačního koeficientu pro víceleté posuny jsou blízké nule, a proto je existence víceletého posunu vyvrácena. Tabulka 6 Testování víceletého posunu časových řad HDP a indexu stavební produkce Posun Belgie Německo Velká Británie Česká republika Polsko Španělsko Švédsko Finsko Slovensko Portugalsko Průměr
bez 0,117563 0,35463 0,720691 0,544917 0,730867 0,745984 0,61591 0,874266 0,691546 0,376019 0,577239
1 rok -0,00073 0,269635 0,068551 0,742909 0,555417 0,713052 0,331918 0,00339 0,355041 0,592256 0,363144
2 roky 0,053597 -0,54323 -0,21371 0,301302 0,171992 0,628586 -0,49375 -0,34876 0,037454 0,663804 0,025729
3 roky -0,05313 -0,17397 0,225665 -0,39698 -0,01385 0,566257 -0,41924 -0,13582 -0,42084 0,474568 -0,03473
4 roky 0,314548 0,05531 0,309482 -0,73989 -0,36956 0,503912 -0,20103 -0,0592 -0,50717 0,325779 -0,03678
5 let -0,75286 0,280348 0,016559 -0,60794 -0,64939 0,754497 -0,31138 -0,29894 -0,54826 0,134323 -0,1983
Závěr k časovým posunům časových řad V této kapitole bylo dokázáno, že původní pracovní hypotéza, že stavební produkce by měla vykazovat oproti vývoji HDP časové zpoždění neboli posun, byla u většiny zemí vyvrácena. Některé země ovšem vykazují roční posun časových řad, ale toto zjištění je z celkového hlediska statisticky nevýznamné. Pro další výpočty bude použit postup bez časového posunu i přes fakt, že některé prvky mohou vykazovat lepší výsledky s časovým posunem (např. Česká republika).
36
Víc než jednoletý posun byl v této kapitole zcela vyvrácen. Průměrné korelační koeficienty u víceletých posunů dosahují hodnot blízkých nule, a tedy zde není žádný prokazatelný trend závislosti. K výpočtům byl použit algoritmus, který je popsán v kapitole 2.3.3 Algoritmus na testování posunu časových řad pomocí korelace.
2.1.4. Korelace časových řad a její interpretace Tato kapitola je zaměřena na vlastní analýzu vztahu vývoje HDP a indexu stavební produkce pomocí korelačního koeficientu. Z definice korelačního koeficientu budeme očekávat hodnotu v intervalu od nuly do jedné, přičemž hodnoty blízké nule znamenají nezávislost obou jevů a hodnoty blízké hodnotě jedna znamenají přímou závislost. Hodnoty v intervalu od mínus jedné do nuly, tedy nepřímou závislost, neočekáváme. Bude provedeno několik sérií výpočtů korelace časových řad s různými úpravami vstupních dat. Cílem je zjistit, jaké složky časových řad budou nejlépe vykazovat vzájemnou závislost, a proto se budou nejlépe hodit pro aplikaci v predikčních modelech, kterým se bude věnovat kapitola 2.2 Predikce budoucího vývoje. Budou provedeny výpočty v těchto alternativách: 1. Výpočet na neupravených původních vstupních datech, 2. Výpočet na upravených vstupních datech vysokofrekvenčními filtry. 2.1.4.1.
Výpočet na neupravených původních vstupních datech
Pro výpočty byla použita data z přílohy 1 a přílohy 2 reprezentované vždy dvojicí vektorů časových řad stavební produkce a HDP z jedné země EU. Před výpočtem nejsou data nijak upravena. Zjištěné korelační koeficienty na základě použití vzorců (7) a (8) jsou prezentované v tabulce 7. Tabulka 7 Korelační koeficienty vztahu vývoje HDP a objemu stavební produkce zemí EU
Belgie
0,1176 Francie
0,5618 Rakousko
0,2550
Bulharsko
0,7427 Itálie
0,7223 Polsko
0,7309
Česká republika
0,5449 Kypr
0,9084 Portugalsko
0,3760
Dánsko
0,3501 Lotyšsko
0,8779 Rumunsko
0,7029
Německo
0,3546 Litva
0,9104 Slovinsko
0,7200
Estonsko
0,8244 Lucembursko
0,2504 Slovensko
0,6915
Irsko
0,8102 Maďarsko
0,5897 Finsko
0,8743
Řecko
0,5083 Malta
0,5346 Švédsko
0,6159
Španělsko
0,7460 Nizozemsko
0,5236 Velká Británie
0,7207
37
Z tabulky 7 je možné zjistit, jak velký mají jednotlivé země vztah mezi změnou HDP a změnou stavební produkce. Je možné usuzovat, že podle jedné veličiny u zemí s vysokým korelačním koeficientem by bylo možné předpovídat chování druhé. Otázkou zůstává, která z veličin je příčina a která následek v jejich vzájemném stavu. Touto otázkou se zabývali Raymond Tse and Sivaguru Ganesan ve své práci a došli k závěru že: „HDP má tendenci vést stavební produkci, ne naopak“ (originální znění: „GDP tends to lead the construction flow, not vice versa“) [29]. V kombinaci s našimi závěry je možné usuzovat, že by mělo být možné předpovídat budoucí vývoj stavební produkce na základě vývoje nebo předpovědi HDP ve státech se silnou závislostí mezi těmito veličinami. Rozpracování této myšlenky se věnuje kapitola 2.2.1 Predikce na základě korelačního koeficientu. Pro další práci s daty byla vytvořena přehledná analytická mapa znázorňující velikost korelace v jednotlivých zemích. Míra závislosti je daná dle barevného měřítka na obrázku 19.
Obrázek 19 Mapa Evropy s mírou korelace mezi ISP a HDP
38
O státech s nízkým korelačním koeficientem lze říci, že jejich vývoj stavebnictví je ovlivněn jinými faktory, než je hospodářský růst nebo pokles. Těmi můžou být: politické zásahy do průmyslových odvětví, vliv mezinárodního obchodu nebo atypické vlastnosti odvětví stavebnictví v dané zemi. Jedná se pouze o domněnky a jejich potvrzení bude předmětem dalšího výzkumu.
2.1.4.2.
Výpočet na upravených vstupních datech vysokofrekvenčními filtry
Časové řady se skládají s několika složek, jak již bylo řečeno v kapitole 2.1.1 Periodicita ve vývoji stavební produkce. Hlavním nositelem informace o střednědobém a dlouhodobém vývoji časové řady je trendová složka, případně složka cyklická (v určitých případech chápána jako součást trendové složky). V této kapitole bude řešeno očištění původních časových řad o výkyvy, reprezentované náhodnou a případnou sezónní složkou, aby pro další použití zůstala pouze trendová část. Na očištěných datech bude provedena analýza pomocí korelačního koeficientu a výsledky budou porovnány oproti výsledkům z předchozí části (viz tabulka 7). Otázkou je, zda dojde ke zlepšení vzájemné podobnosti časových řad. Očištění trendové řady je možné provést několika způsoby:
stanovení parametrů trendových funkcí a generování těchto funkcí [21],
vyhlazování trendové složky klouzavými průměry [30],
frekvenční filtrování s pomocí spektrální analýzy [31],
a další.
Z důvodu zachování kontinuity práce bude zvolen pro očištění trendové složky frekvenční filtrování. Pro tuto volbu mluví také fakt, že jde o relativně inovativní přístup řešení této problematiky a výpočet bude navazovat na výsledky z kapitoly 2.1.1 Periodicita ve vývoji stavební produkce, které byly získány na obdobném principu. Frekvenční filtrování vychází z výsledků frekvenční analýzy (viz kapitola 2.1.1) a jde o odstranění určitých frekvenčních oblastí z celkového spektra časové řady. V našem případě půjde o odstranění vysokých frekvencí (krátkých period), které mohou zkreslovat trendovou složku. Získaná data (očištěné řady stavební produkce a HDP) budou vzájemně posouzena pomocí výpočtu korelačního koeficientu. 39
Vystupni casova rada 0.8 0.6 0.4 0.2
y(t)
0 Kontrolní výpočet -0.2
Frekvenční filtr, který bude na data aplikován je IRR filtrační algoritmus [32] napsaný -0.4
v programovacím jazyku MATLAB, který je popsán v kapitole 2.3.4 Algoritmus na zjištění -0.6 -0.8 korelace časových řad s pomocí spektrální filtrace. Vstupem tohoto algoritmu je původní -1
0 řady (v 20 40 80 100 120výstupem je vektor časové našem případě HDP a60index stavební produkce) a jeho t [s]
upravený vektor bez odstraněné frekvenční složky. Frekvencni charakteristika IIR filtru 1 filtr odfiltrovana oblast ponechana oblast
0.9 0.8
0.6 0.5 0.4 0.3 0.2 0.1 0
0
0.05
0.1
0.15
0.2
0.25 f [Hz]
0.3
0.35
0.4
0.45
0.5
Obrázek 20 Znázornění použití frekvenčního filtru na frekvenční spektrum časové řady
Funkční hodnota testovací veličiny
1,50 1,00 0,50 0,00 1
6
11
16
21
26
31
36
41
46
51
Původní časová řada
-0,50 -1,00
Aplikace filtru -1,50 1,50
Funkční hodnota testovací veličiny
|X(f)|,|Y(f)|
0.7
Čas [rok]
1,00 0,50
0,00 1
6
11
16
21
26
31
36
41
46
51
Očištěná časová řada
-0,50 -1,00 -1,50
Čas [rok]
Obrázek 21 Aplikace filtru na vzorových datech
40
Filtr je funkcí (transformací), která provede úpravu jedné časové řady na druhou očištěnou o odfiltrované složky. Žádné další úpravy dat nejsou potřeba. Funkčnost tohoto přístupu je možné prezentovat na vzorových datech použitých v kapitole 2.1.1 zobrazených na obrázku 20 (viz strana 20). Data obsahovala skrytou vizuálně těžko zjistitelnou složku o periodě 3,3 roku neboli frekvenci 0,3 (viz obrázek 6). Pomocí filtru je tuto frekvenci možné odfiltrovat a zachovat pouze hlavní trend testovací časové řady. Filtr ve vzorovém příkladu je nastaven na odfiltrování frekvencí vyšších než 0,2. Grafické znázornění aplikace filtru na frekvenční spektrum časové řady je možné vidět na obrázku 20. Všechny funkční hodnoty, které se nacházejí nad funkčními hodnotami filtru vyznačené modrou barvou, jsou odstraněny. Výstupem je pak očištěná časová řada, tedy čistá trendová složka viz obrázek 21, která vznikne aplikací filtru (filtrační funkce). Úprava reálných časových řad vysokofrekvenčními filtry a výpočet korelačních koeficientů Jak bylo ukázáno na vzorovém příkladu, pomocí filtrace frekvenčního spektra časové řady je možné vyhladit trend díky odstranění vysokofrekvenčních složek. Vysokofrekvenční rušivé složky jsou tvořeny krátkodobými výkyvy hodnot nebo náhodnou chybovou složkou v měřítku jednotlivých let. Očištěná trendová složka ukazuje směr vývoje s velikostí a přesností výhledu dle vlastností aplikovaného filtru. Očištěný trend bude mít z principu nižší rozlišovací schopnost ale vizuálně znatelnější vývoj. Půjde o prostředek k lepším kvalitativním předpovědím na úkor kvantitativního hlediska. Před aplikací filtru je třeba zjistit spektrální oblast, která bude určena k odfiltrování. Aby byla zachována proporcionalita mezi časovými řadami z jednotlivých zemí, není možné nastavit frekvenci pevnou hodnotou, protože oblast signálu, která se bude nad touto hranicí nacházet je u každé země jinak velká.
Množství filtrované informace by se v takovém
případě značně lišilo. Z tohoto důvodu je zvolen přístup zjištěním hraniční frekvence pomocí požadavku na množství filtrovaných informací zadané v procentních bodech. Tohoto je dosaženo integrací diskrétní spektrální funkce, získané z Diskrétní Fourierovy transformace časové řady a zpětným kumulativním odčítáním požadované části určení k odfiltrování. Zvolení požadavku na odfiltrování oblasti je vysvětlen na obrázku 22.
41
40 35
amplituda
30
25 20 15 10 5
20%
0 0,00
0,06
0,11
0,17
0,22
0,28
0,33
0,39
0,44
0,50
frekvence
Obrázek 22 Princip požadavku na filtrovanou oblast vyjádřenou procenty (příklad 20%)
Protože není jasné, jak velkou oblast je třeba odfiltrovat, aby došlo ke zlepšení vypovídací schopnosti trendu, byl nastaven algoritmus na výpočet korelace mezi časovými řadami stavební produkce a HDP s nastavením filtru po deseti procentech až po hodnotu 90%. V případě, že dochází ke zvýšení korelace, znamená to, že v trendech byla odhalena vyšší podobnost a tedy, že jejich vypovídací schopnost se zlepšuje. Je jasné, že krátkodobé a náhodné prvky vypovídací schopnost snižují. Logickým uvážením zjišťujeme, že korelační koeficient je ideálním ukazatelem, zda aplikace filtru má pozitivní přínos. V prvním výpočtu je algoritmus aplikován na časové řady stavební produkce deseti vzorových zemí, které jsou následně porovnány s neupravenými časovými řadami HDP. To, co se děje s časovou řadou stavební produkce při aplikaci filtru s filtrací nastavenou na 20% a na 60%, je zřejmé na obrázku 23, respektive na obrázku 24. Všechny případy postupné aplikace filtru na příkladu Německa jsou uložené v příloze 6. Výsledné korelační koeficienty vypočtené pro všechny velikosti filtrované oblasti jsou k nahlédnutí v tabulce 8. Je vidět, že průměrná hodnota korelačního koeficientu se buď udržuje na stejné úrovni, nebo při větší filtraci, klesá výrazně směrem k nulové hodnotě. Z toho vychází závěr, že aplikace filtru pouze na časovou řadu indexu stavební produkce, nevede ke zlepšení vzájemné podobnosti trendu s časovou řadou HDP. To, jak se obě časové řady rozcházejí, je vidět na grafu (viz obrázek 25) znázorňující vývoj průměrů korelačních koeficientů ve vztahu k velikosti filtrované oblasti. 42
Index stavebni produkce proNěmecko s filtraci20%
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 čas [rok]
12
14
16
18
Obrázek 23 Frekvenční filtrace časové řady stavební produkce s filtrováním 20% vysokých frekvencí
Index stavebni produkce proNěmecko s filtraci60%
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 čas [rok]
12
14
16
18
Obrázek 24 Frekvenční filtrace časové řady stavební produkce s filtrováním 60% vysokých frekvencí Tabulka 8 Korelační koeficienty mezi ISP a HDP s různou procentuální filtrací vysokých frekvencí. Filtrace provedena na ISP
Belgie Německo Velká Británie Česká republika Polsko Španělsko Švédsko Finsko Slovensko Portugalsko Průměr
bez filtru 0,117563 0,35463 0,720691 0,544917 0,730867 0,745984 0,61591 0,874266 0,691546 0,376019 0,577239
10% 0,112197 0,336029 0,737798 0,630226 0,73597 0,77943 0,617526 0,861698 0,680283 0,342853 0,583401
20% 0,112197 0,390158 0,75737 0,630226 0,709167 0,789291 0,614519 0,858116 0,657692 0,31203 0,583076
30% 0,112197 0,456074 0,764423 0,643841 0,671585 0,80624 0,519189 0,78763 0,691293 0,31203 0,57645
40% 0,145537 0,454439 0,748669 0,65793 0,414201 0,809487 0,519189 0,78763 0,725931 0,295227 0,555824
50% 0,158675 0,454439 0,748669 0,626781 0,414201 0,746081 0,425095 0,682528 0,660725 0,295227 0,521242
60% 0,158675 0,406961 0,701387 0,573558 0,414201 0,746081 0,425095 0,657248 0,660725 0,295227 0,503916
70% 0,14516 0,406961 0,671604 0,573558 0,144887 0,747044 0,435597 0,41246 0,496859 0,315119 0,434925
80% 0,031007 0,09745 0,555112 0,573558 0,144887 0,747044 0,435597 0,41246 0,496859 0,315119 0,380909
90% 0,031007 0,09745 0,407396 0,573558 0,144887 0,747044 0,435597 -0,10677 0,388249 0,315119 0,303354
V případě druhé série výpočtů je filtr aplikován na obě časové řady (na index stavební produkce i na HDP), aby obě časové řady byly očištěny stejným způsobem o rušivé krátkodobé výkyvy (vysokofrekvenční složky). V algoritmu je na obě řady aplikován filtr se
43
stejným nastavením filtrované oblasti. Stejně jako v předchozím případě je sledován vývoj korelačního koeficientu mezi těmito časovými řadami. Výpočetní algoritmus dochází ke stejné struktuře výsledků jako v předchozím případě a tyto výsledky jsou k dispozici v tabulce 9.
Korelační koeficient mezi ISP a HDP
0,7 0,6
0,5 0,4 0,3 0,2 0,1
0 bez filtru
10%
20%
30%
40%
50%
60%
70%
80%
90%
Velikost filtrované oblasti (ze směru vysokých frekvencí)
Obrázek 25 Průměrný korelační koeficient s filtrováním oblastí od nejvyšší frekvence. Filtrace ISP.
Z prezentovaných výsledků je vidět, že průměrný korelační koeficient s úrovní filtrace plynule narůstá až do velikosti filtrované oblasti 60%. Tento vývoj je nejlépe vidět na grafickém znázornění výsledků, viz obrázek 26. Je průkazné, že podobnost obou časových řad narůstá při aplikaci filtru na obě časové řady a že vyhlazení trendové složky (viz obrázek 24) pomocí aplikace frekvenčních filtrů by mohl být funkční nástroj pro práci s časovými řadami v predikčních filtrech. Tomuto tématu se dále věnuje kapitola 2.2 Predikce budoucího vývoje.
Tabulka 9 Korelační koeficienty mezi ISP a HDP s různou procentuální filtrací vysokých frekvencí. Filtrace provedena na ISP a HDP.
Belgie Německo Velká Británie Česká republika Polsko Španělsko Švédsko Finsko Slovensko Portugalsko Průměr
bez filtru 0,117563 0,35463 0,720691 0,544917 0,730867 0,745984 0,61591 0,874266 0,691546 0,376019 0,577239
10% 0,109335 0,346406 0,735511 0,649892 0,744618 0,780273 0,628901 0,86791 0,681574 0,364967 0,590939
20% 0,105726 0,406362 0,674498 0,695098 0,74465 0,813063 0,627823 0,853642 0,723486 0,371053 0,60154
30% 0,143699 0,497531 0,61314 0,742312 0,748951 0,858577 0,547697 0,794873 0,81015 0,371053 0,612798
40% 0,134612 0,545072 0,627439 0,806164 0,451689 0,857551 0,525809 0,794873 0,873096 0,481149 0,609745
50% 0,119225 0,545072 0,611636 0,781005 0,520063 0,81888 0,424757 0,803454 0,86043 0,897661 0,638218
60% 0,094126 0,459115 0,770867 0,725038 0,707914 0,827463 0,390361 0,816066 0,86043 0,897661 0,654904
70% 0,135315 0,513013 0,788616 0,884068 0,467038 0,838673 0,386224 0,551511 0,812516 0,889382 0,626636
80% 0,130552 0,049923 0,545971 0,884068 0,467038 0,807623 0,142215 0,551511 0,812516 0,705412 0,509683
90% 0,051636 0,706895 0,515647 -0,22346 0,509965 0,807623 -0,05491 0,011127 -0,16062 0,705412 0,286932
44
Korelační koeficient mezi ISP a HDP
0,7
0,6 0,5 0,4 0,3 0,2
0,1 0 bez filtru
10%
20%
30%
40%
50%
60%
70%
80%
90%
Velikost filtrované oblasti (ze směru vysokých frekvencí)
Obrázek 26 Průměrný korelační koeficient s filtrováním oblastí od nejvyšší frekvence. Filtrace ISP a HDP.
Závěr k výpočtu korelačních koeficientů časových řad ISP a HDP s použitím vysokofrekvenčních filtrů. Je prokázáno, že při aplikaci vysokofrekvenčního filtru na datech časových řad indexu stavební produkce a HDP došlo ke zvýšení podobnosti trendů časových řad. Tento fakt by mohl být použit při vytváření predikčních algoritmů pro předpověď stavební produkce. Nejlepších výsledků je dosaženo s nastavením filtrované oblasti na 60% u obou časových řad. Při tomto nastavení samozřejmě klesá krátkodobá přesnost časových řad, ale naopak dochází k lepšímu vykreslení dlouhodobého trendu. Tento fakt se také musí brát v úvahu při vytváření predikčních algoritmů. Aplikace pouze na časovou řadu indexu stavební produkce nepřineslo žádné pozitivní výsledky, a proto data získaná z tohoto výpočtu nemají pro další práci žádný význam. Pro výpočty prováděné v této kapitole byly využity programové prostředky vypsané a okomentované v kapitole 2.3.4 Algoritmus na zjištění korelace časových řad s pomocí spektrální filtrace.
2.2.
Predikce budoucího vývoje
Na základě zjištěné podobnosti mezi vývoji časových řad indexu stavební produkce a HDP v zemích Evropské unie, je předmětem další práce zkoumání možnosti předpovědět budoucí vývoj indexu stavební produkce v horizontu několika let. K určení předpovědí budou sloužit dva principiálně odlišné přístupy.
45
První přístup bude vycházet z podobnosti obou zkoumaných časových řad. Bude se jednat o algoritmus generující hodnoty budoucího vývoje na základě korelačních koeficientů vypočítaných v kapitole 2.1.4 Korelace časových řad a její interpretace. Druhý přístup bude vycházet z využití specifických vlastností časových řad zjištěných v předchozích kapitolách. Vlastní algoritmus bude fungovat na principu predikce na základě neuronových sítí. Tento princip využívá specifických vlastností jako je cykličnost, setrvačnost, vzájemná podoba nebo případný vzájemný časový posun časových řad. Tyto vlastnosti byly testované v první části práce v kapitole 2.1 Analýza časových řad. V závěru kapitoly dojde k porovnání těchto dvou přístupů, algoritmů a hlavně sad výsledků. Otázkou je, zda bude docházet ke shodným výsledkům za použití rozdílných metod, na základě rozdílných informací (výsledků předešlých kapitol), ale při použití stejných vstupních dat.
2.2.1.
Predikce na základě korelačního koeficientu
Predikce na základě korelačního koeficientu mezi indexem stavební produkce a hrubým domácím produktem vychází z předpokladu, že korelační koeficient popisuje závislost vývoje indexu stavební produkce na HDP. To bylo potvrzeno v kapitole 2.1.4 Korelace časových řad a její interpretace. Předpovědi budou postaveny na budoucích hodnotách HDP pro jednotlivé státy pro příští období (roky). Jak bylo poznamenáno v úvodu, předpovědi HDP je obecně věnováno mnohem více pozornosti než předpovědi indexu stavební produkce, a proto se dá předpokládat, že budou takovéto predikce přesnější. Z tohoto vychází filozofie predikčního algoritmu založeného na korelačních koeficientech: v případě, že se bude vyvíjet index stavební produkce ve stejném vtahu k HDP jako v minulých letech a vyjdou předpovědi HDP pro příští roky, algoritmus vypočte, jak se bude chovat produkce stavební výroby. Takovéto předpovědi na základě korelačního koeficientu jsou samozřejmě možné pouze v případě, že korelační koeficient dosahuje určité výše, tedy dostatečného stupně závislosti. V této kapitole se bude pracovat pouze se zeměmi Evropské unie, které vykazují korelační koeficient mezi HDP a ISP alespoň 0,67 představující silnou závislost (viz obrázek 19 na straně 38). V první fázi výpočtů jsou používány hodnoty korelačních koeficientů bez časového posunu a bez očištění krátkodobých výkyvů pomocí frekvenčního filtru (viz tabulka 7 na straně 37). 46
Princip predikčního algoritmu Predikční algoritmus využívá data z tabulek v příloze 1 a 2. Dochází k načtení časových řad stavební produkce a HDP. Vektor HDP je o jednu hodnotu delší než vektor ISP. Tato jedna hodnota je budoucí hodnota HDP pro rok, pro který už hodnotu ISP nemáme. K této hodnotě se algoritmus pokusí dosadit hodnotu ISP pomocí generování náhodných čísel (použití metody Monte Carlo [33]). Po dosazení náhodné hodnoty je vypočten korelační koeficient a porovnán s původním korelačním koeficientem. V případě, že vypočtená hodnota zapadá do intervalu spolehlivosti původního korelačního koeficientu, tak je tato hodnota zaznamenána jako možný vývoj ISP. Celý princip je zobrazen na obrázku 27. Algoritmus ve své naprogramované podobě jazyce MATLAB je prezentován v kapitole 2.3.5 Predikční algoritmus na základě korelačního koeficientu.
Obrázek 27 Princip predikčního algoritmu na základě korelačního koeficientu
Interval spolehlivosti korelačního koeficientu Interval spolehlivosti původně vypočítaného korelačního koeficientu z tabulky 7 je počítán na základě Fisherovy transformace, protože distribuce korelačního koeficientu není normálního rozdělení, a proto není možné interval spolehlivosti spočítat bez této transformace [34]. Interval spolehlivosti se v algoritmu počítá dle vzorců [35]:
(
(
)
√
)
(12)
47
(
(
)
√
),
(13)
kde Rmax je horní mezí intervalu spolehlivosti korelačního koeficientu, Rmin je dolní mezí intervalu spolehlivosti korelačního koeficientu, R je korelační koeficient, je kritická hodnota normálního normovaného rozdělení na hladině významnosti α, n je počet prvků časových řad ISP a HDP (počet prvků obou řad je schodný). Tím, že je použito Fisherovy transformace při výpočtu intervalu, je dosaženo nesymetričnosti intervalu spolehlivosti podle hodnoty korelačního koeficientu. Tento fakt je vyjádřen v rovnici (14). Použití symetrického intervalu by bylo v případě korelačního koeficientu chybné. (14) Hladina významnosti α byla stanovena na 45%. Hodnota byla vybrána z důvodu malého vzorku, který znesnadňuje predikční schopnosti algoritmu. Názorné zobrazení zvolené hladiny významnosti je vidět při využití predikčních scénářů vývoje (viz obrázek 28). Predikční scénáře vývoje Vzhledem k faktu, že je generováno velké množství náhodných čísel, je velká pravděpodobnost, že bude dosaženo více než jedné zaznamenané hodnoty (výpočty ukazují, že těchto hodnot jsou desítky až stovky při tisíci násobném generování náhodných čísel). Proto pro další práci jsou zaznamenány pouze tři možné scénáře vývoje a to:
optimistický vývoj – představuje maximum zaznamenaných hodnot,
neutrální vývoj – reprezentovaný střední hodnotou zaznamenaných hodnot,
pesimistický vývoj – představuje minimum zaznamenaných hodnot.
Pravděpodobnostní rozdělení jednotlivých scénářů je vidět na obrázku 28.
48
Obrázek 28 Interpretace scénářů vývoje pomocí pravděpodobnosti jejich realizace
Pro každý predikovaný rok jsou výsledkem tři možné scénáře vývoje. Pro další výpočty je důležité posoudit, jaké scénáře jsou zvoleny pro předchozí predikované roky. Například scénáře pro druhý predikovaný rok nemají stejný směrový vektor v případě, že vycházejí z pesimistické nebo optimistické varianty (viz obrázek 29). Z tohoto důvodu dochází k stromovému dělení alternativních vývojů ve všech kombinacích scénářů (až dvacet sedm alternativ ve třetím predikčním roce – 3 v prvním roce krát 3 ve druhém roce krát 3 ve třetím roce).
Obrázek 29 Rozdílné vektory predikčních scénářů ve dvou následujících letech Testování predikčního algoritmu na vzorových datech
Před použitím algoritmu na reálná data je třeba ověřit, zda algoritmus funguje podle představ. Toho je možné dosáhnout vizuálním ověřením predikovaných dat u jednoduchých trendů testovacího vzorku. 49
Jsou vytvořeny dvě časové řady, které mají podobný trend s tím, že jedna z časových řad, reprezentující HDP, je o tři hodnoty delší než druhá, která reprezentuje index stavební produkce. Řady jsou znázorněné na spojnicovém grafu na obrázku 30. Tyto časové řady dosahují korelačního koeficientu R: .
(15)
Obrázek 30 Časové řady testovací sady dat
Hodnota korelačního koeficientu (15) je ideální pro aplikace predikčního algoritmu (je velmi vysoká). Z důvodu vizuální přehlednosti bude algoritmus nastaven tak, aby predikoval stejný scénář pro celé tři predikční období. Optimistická a pesimistická varianta je vidět na obrázku 31, respektive na obrázku 32. Testovací sada 3 Roční změna [%]
2.5 2
HDP ISP předpovědi ISP
1.5 1 0.5 0 -0.5 0
2
4
6
8
10 Roky
12
14
16
18
20
Obrázek 31 Optimistický scénář vývoje pro tři budoucí období
50
Testovací sada 3 HDP ISP předpovědi ISP
Roční změna [%]
2.5 2 1.5 1 0.5 0 -0.5 0
2
4
6
8
10 Roky
12
14
16
18
20
Obrázek 32 Pesimistický scénář vývoje pro tři budoucí období
Jak je zřetelně vidět predikované budoucí vývoje opisují trend, který bychom od nich intuitivně na základě předchozího vývoje očekávali. Z důvodu vysokého korelačního koeficientu těchto časových řad není rozdíl mezi oběma variantami scénářů příliš markantní. Tato skutečnost se změní v případě použití skutečných vstupních dat. Predikce na základě reálných vstupních dat Predikční algoritmus bude nejdříve aplikován na stát Finsko (stát s vysokým R). Na příkladu bude ukázána možnost kombinace predikčních scénářů v grafickém znázornění pomocí spojnicových grafů. Na obrázku 33 vidíme předpověď možného vývoje změny indexu stavební produkce pro Finsko pro rok 2012. 15,0
10,0 Stavební produkce
5,0
HDP 0,0
Pesimistická předpověď 2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
-5,0
Optimistická předpověď Neutrální předpověď
-10,0 -15,0
Obrázek 33 Předpověď změny indexu stavební produkce pro Finsko pro rok 2012
Na předpovědi pro rok 2012 navazují možné scénáře roku 2013 na obrázcích 34, 35 a 36. Číselné hodnoty výpočtů jsou dostupné v tabulce 10. (V případě, že by v budoucnosti byla snaha výsledky ověřit na základě předložených dat a algoritmů je třeba brát v úvahu fakt, že se číselné výsledky při použití metody Monte Carlo mohou lišit [33].) 51
změna oproti minulému období [%]
15,0 10,0 5,0
Stavební produkce HDP
0,0 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
Pesimistická předpověď Optimistická předpověď
-5,0
Neutrální předpověď -10,0
-15,0
čas [rok]
Obrázek 34 Predikce změny indexu stavební produkce pro Finsko založené na neutrální předpovědi 2012
změna oproti minulému období [%]
15,0 10,0 5,0
Stavební produkce HDP
0,0 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
Pesimistická předpověď Optimistická předpověď
-5,0
Neutrální předpověď -10,0
-15,0
čas [rok]
Obrázek 35 Predikce změny indexu stavební produkce pro Finsko založené na optimistické předpovědi 2012
změna oproti minulému období [%]
15,0 10,0
Stavební produkce
5,0
HDP 0,0 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 -5,0
Optimistická předpověď Neutrální předpověď
-10,0 -15,0
Pesimistická předpověď
čas [rok]
Obrázek 36 Predikce změny indexu stavební produkce pro Finsko založené na pesimistické předpovědi 2012
52
Tabulka 10 Číselné hodnoty předpovědí pro změnu ISP pro Finsko pro roky 2012 a 2013
Scénář pro rok 2012
Rok 2013
HDP
ISP
Neutrální Neutrální Neutrální Optimistický Optimistický Optimistický Pesimistický Pesimistický Pesimistický
Neutrální Optimistický Pesimistický Neutrální Optimistický Pesimistický Neutrální Optimistický Pesimistický
2012
2013
-0,4 -0,6237 -0,6237 -0,6237 3,6075 3,6075 3,6075 -5,3363 -5,3363 -5,3363
0,4 1,4499 6,2343 -3,9578 1,4366 4,3001 -1,4932 0,3769 2,5434 -1,8353
Na obrázcích 34, 35 a 36 je znázorněno použití kombinace scénářů, a to že predikce je třeba chápat jako kombinaci vývojových scénářů a ne pouze jako jeden budoucí vývoj (trend vývoje). Toto je třeba brát v úvahu při práci s predikčními modely na základě korelačních koeficientů. Příprava dat pro porovnání predikčních modelů Pro porovnání predikčních algoritmů, které bude předmětem závěru kapitoly, je třeba připravit statistický vzorek. Vzorek bude vybrán ze států s korelačním koeficientem vyšším než 0,67. Aby nedošlo k vygenerování nepřehledně velkého množství dat, bude pro tyto státy generovaná pouze neutrální předpověď pro roky 2012, 2013 a 2014. Toto je hodnota, která má největší pravděpodobnost (viz obrázek 28). To, že mají predikce normální rozdělení, je patrné z definice normálního rozdělení: „Normální rozdělení je použito tam, kde náhodná veličina vzniká jako součet velikého množství nezávislých jevů“ [3]. A tato definice pro vývoj změny indexu stavební produkce platí. Vývoje změny indexu stavební produkce byly vygenerovány pro neutrální scénář vývoje pro roky 2012, 2013 a 2014. Grafické zpracování predikce pro všechny státy s korelačními koeficienty mezi HDP a ISP nad 0,67 jsou uloženy v příloze číslo 7. Číselné střední hodnoty možných vývojů jsou uloženy do tabulky 11. Tyto hodnoty budou použity v kapitole 2.2.3 Porovnání metod pro zjištění, jak shodné výsledky bude přinášet metoda predikce na základě korelačního koeficientu a predikce na základě 53
neuronových sítí. Tabulka obsahuje hodnoty na dvě desetinná místa, ale pro další výpočty jsou výsledky uložené v nezaokrouhlené podobě. Tabulka 11 Neutrální scénáře vývoje změny ISP pro vybrané státy EU s R>0,67 (14 států)
Bulharsko Estonsko Irsko Španělsko Itálie Kypr Lotyšsko Litva Polsko Rumunsko Slovinsko Slovensko Finsko Velká Británie
Změna ISP v letech [%] 2012 2013 2014 1,87 2,34 -0,04 -0,50 0,02 0,31 -6,62 -6,41 -3,79 -6,61 -6,66 -3,35 -1,64 -2,37 2,13 -6,32 -4,87 -5,05 3,95 1,64 2,40 -0,78 -1,29 0,26 1,00 0,50 -1,89 1,44 0,08 -0,12 -7,06 -5,85 -1,52 -3,56 -0,50 -2,56 -0,72 1,01 1,89 -0,77 -2,52 0,77
Funkce predikčního algoritmu na data po použití frekvenčního filtru V této podkapitole budeme vycházet ze znalostí zjištěných v kapitole 2.1.4.2 Výpočet na upravených vstupních datech vysokofrekvenčními filtry. Pracovními otázkami této podkapitoly jsou: Bude mít vliv aplikace frekvenčního filtru na predikované výsledky? Případně bude tento vliv na tolik značný, aby bylo nezbytné zařadit výsledky do porovnání metod jako samostatnou metodu predikce? Ve zmíněné kapitole jsme došli k závěru, že korelační koeficient časových řad HDP a ISP v průměru stoupá až do filtrování 60% vysokých frekvencí spektra časové řady. Použijeme tuto hodnotu na nastavení filtru a poté spustíme predikční algoritmus na upravené časové řady se záznamem požadovaných výsledků. K výpočtu je použita kombinace algoritmů 2.3.4 Algoritmus na zjištění korelace časových řad s pomocí spektrální filtrace a 2.3.5 Predikční algoritmus na základě korelačního koeficientu. Po použití filtrace a spočtení korelačního koeficientu splňuje podmínku R > 0,67 šestnáct zemí (z toho třináct splňovalo podmínku i před použitím frekvenčního filtru). Zjištěné predikční hodnoty ISP pro všech šestnáct zemí jsou uložené v tabulce 12 (grafické znázornění predikcí je uloženo v příloze 8).
U třinácti států, které splňovaly podmínku
velikosti korelačního koeficientu před i po aplikaci filtru (R>0,67), zjistíme rozdíly mezi jejich předpovědí. Jsou vypočítány velikosti jednotlivých diferencí a jsou uloženy v tabulce 13. Hodnoty diferencí mají střední hodnotu -0,22 se směrodatnou odchylkou 2,01. 54
V některých případech se jedná o odchylky v rozsahu několika procentních bodů. To je důvod, proč by mělo být s těmito výsledky počítáno v porovnání jednotlivých predikčních metod v dalších kapitolách. Tabulka 12 Neutrální scénáře vývoje změny ISP pro vybrané státy EU po aplikaci frekvenčního filtru s R>0,67 (16 států)
Bulharsko Česká republika Estonsko Irsko Španělsko Itálie Kypr Lotyšsko Litva Maďarsko Nizozemsko Polsko Slovinsko Slovensko Finsko Velká Británie
Změna ISP v letech [%] 2012 2013 2014 5,15 6,77 0,13 -2,95 -3,01 0,17 0,61 1,98 4,25 -9,61 -9,50 -5,65 -8,23 -7,99 -4,50 -0,87 -1,60 2,45 -5,66 -4,28 -4,53 5,07 2,91 3,51 -0,64 -1,42 0,40 -5,10 -4,45 -0,58 -4,56 -4,20 0,43 -0,37 -1,11 1,17 -9,75 -8,85 -4,94 -5,15 -1,79 -3,43 -0,47 1,14 1,95 -5,95 -3,35 0,28
Z tabulky 13 je patrné, že až na dva případy (Litva, Polsko) jsou diference pro všechny tři predikované roky buď kladné, nebo záporné. To je jistě následkem použití filtru a dokázáním toho že filtr aplikovaný na časové řady dlouhodobý trend zvýrazňuje směrem k vyšším nebo nižším budoucím hodnotám. Tento fakt byl očekáván už v kapitole 2.1.4.2 Výpočet na upravených vstupních datech vysokofrekvenčními filtry a byl důvodem proč filtry na časové řady použít. To, jestli tímto postupem dojde ke zlepšení výsledků, je však jiná otázka, která bude zodpovězena v dalších částech práce. Předpověď s nízkým korelačním koeficientem Pro predikci na základě korelačních koeficientů byly vybrány pouze země, u kterých dosahoval korelační koeficient mezi HDP a ISP alespoň 0,67. Tato hranice byla stanovena dle literatury [27], s pomocí subjektivního posouzení. Co se stane s výsledky v případě, že bude algoritmus použit na země s nižším korelačním koeficientem, je ukázáno na státu Rakousko pro rok 2012. Země Rakousko má korelační koeficient s hodnotou R=0,2250. Tři predikční scénáře jsou vidět na obrázku 37. Je patrné, že scénáře předpovědi téměř nekopírují data vývoje HDP a výsledky jsou velice široké. 55
Tabulka 13 Diference predikovaných vývojů ISP před a po aplikaci frekvenčního filtru Diference [procentní bod] 2012 2013 2014 3,29 4,43 0,17 1,11 1,97 3,94 -2,99 -3,09 -1,86 -1,62 -1,33 -1,15 0,77 0,77 0,32 0,66 0,60 0,52 1,13 1,27 1,10 0,14 -0,13 0,14 -1,37 -1,61 3,06 -2,69 -3,01 -3,42 -1,59 -1,29 -0,87 0,25 0,13 0,06 -5,18 -0,83 -0,49
Bulharsko Estonsko Irsko Španělsko Itálie Kypr Lotyšsko Litva Polsko Slovinsko Slovensko Finsko Velká Británie
8,0
6,0 4,0
Stavební produkce HDP
2,0
Pesimistická předpověď 0,0 2005
2006
2007
2008
2009
2010
2011
2012
-2,0
Optimictická předpověď Neutrální předpověď
-4,0 -6,0
Obrázek 37 Předpověď stavební produkce pro Rakousko pro rok 2012 založená na nízkém korelačním koeficientu
Používat predikční algoritmus na základě nízkých korelačních koeficientů je chybné ze dvou důvodů. První důvod byl demonstrován v odstavci výše. Dosažené výsledky nejsou nijak průkazné a bylo by velice komplikované je dále interpretovat. Za druhé: u zemí s nízkým korelačním koeficientem je z definice korelačního koeficientu zřejmé, že hrubý domácí produkt a index stavební produkce spolu nejsou spjaty silnou měřitelnou závislostí a tudíž se vyvíjejí nezávisle. Není tedy možné předpovídat chování jedné časové řady na základě chování druhé. Porovnání přesnosti výsledků s reálnými daty Tvorba této práce začala na začátku roku 2013, a jak bylo uvedeno v úvodu data používaná pro výpočty, časové řady HDP a indexu stavební produkce, byly staženy 56
z databáze Eurostat a v té době obsahovaly naměřené hodnoty pouze do roku 2011. V době tvorby této práce průběhu roku 2013 byly zpřístupněny data HDP a ISP pro rok 2012 [36] [37]. Do těchto dat je možné nahlédnout v příloze 9. V předchozích částech kapitoly došlo k vytvoření scénářů možného vývoje i pro rok 2012, a proto je logická snaha zjistit, jak se tato predikovaná data shodují s realitou naměřenou statistickou institucí Eurostat. Pro výpočet byl zvolen algoritmus, viz kapitola 2.3.5 Predikční algoritmus na základě korelačního koeficientu, upravený tak, aby zaznamenával, jak se liší predikované scénáře pro rok 2012 od skutečně naměřených hodnot ISP pro rok 2012. Algoritmus zaznamenával tři možné stavy (dle interpretace obrázku 28): 1) Skutečná hodnota je v intervalu mezi optimistickým a pesimistickým scénářem. 2) Skutečná hodnota je vyšší než optimistický scénář. 3) Skutečná hodnota je nižší než pesimistický scénář. Je dosaženo následujících výsledku (tabulka 14): Tabulka 14 Porovnání reálných a predikovaných hodnot pro ISP 2012
Belgie Bulharsko Česká republika Dánsko Německo Estonsko Irsko Řecko Španělsko Francie Itálie Kypr Lotyšsko Litva Lucembursko Maďarsko Malta Nizozemsko Rakousko Polsko Portugalsko Rumunsko Slovinsko Slovensko Finsko Švédsko Velká Británie
R 0,12 0,74 0,54 0,35 0,35 0,82 0,81 0,51 0,75 0,56 0,72 0,91 0,88 0,91 0,25 0,59 0,53 0,52 0,25 0,73 0,38 0,70 0,72 0,69 0,87 0,62 0,72
Predikční algoritmus 1 Vyřazeno Predikce Vyřazeno Vyřazeno Vyřazeno Predikce Predikce Vyřazeno Predikce Vyřazeno Predikce Predikce Predikce Predikce Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno Predikce Vyřazeno Predikce Predikce Predikce Predikce Vyřazeno Predikce
Reálné hodnoty ISP 2012 Potvrzeno
Nad optimistickou variantou Potvrzeno Nad optimistickou variantou Potvrzeno Pod pesimistickou variantou Nad optimistickou variantou Potvrzeno
Pod pesimistickou variantou Potvrzeno Pod pesimistickou variantou Potvrzeno Potvrzeno Potvrzeno
57
V tabulce (v prvních dvou sloupcích) je možné vidět jednotlivé země a jejich korelační koeficienty mezi ISP a HDP do roku 2011. V případě, že země má nižší korelační koeficient než je 0,67, tak je stát vyřazen (podmínka nastavená v předchozí kapitole). U ostatních zemí je určeno, kde jsou jejich hodnoty ISP v porovnání s predikovanými scénáři. Hodnota „Potvrzeno“ znamená, že se reálná hodnota nachází uvnitř predikčního intervalu. Procentuální zastoupení výsledků porovnání je vidět na obrázku 38. Výsledky jsou téměř totožné s teoretickým nastavením predikčního algoritmu (viz obrázek 28 na straně 49). Můžeme tedy tvrdit, že minimálně pro rok 2012 predikční algoritmus funguje dle zadání. pod pesimistickou variantou
nad optimistickou variantou
Potvrzeno
21,33%
57,35%
21,33%
Obrázek 38 Zastoupení výsledků při porovnání reálných a predikovaných hodnot ISP 2012
Závěr ke kapitole predikce na základě korelačního koeficientu V rámci kapitoly byl navržen algoritmus pro predikci budoucích hodnot časové řady na základě druhé časové řady a vzájemném korelačním koeficientu. Z kapitoly získáváme řadu výsledků možných vývojů pro roky 2012, 2013 a 2014 pro státy EU s R>0,67. Tyto výsledky budou posouzeny v rámci kapitoly 2.2.3 Porovnání metod. Bylo provedeno porovnání reálných a predikovaných dat pro index stavební produkce pro rok 2012 a došlo k potvrzení funkce predikčního algoritmu na tomto příkladu.
2.2.2.
Predikce na základě neuronových sítí
Většinu práce tvoří kapitoly věnované statistické analýze v tradičním slova smyslu. Byly provedeny analýzy časových řad změny indexu stavební produkce a hrubého domácího produktu z hlediska korelačního koeficientu, autokorelace a frekvenční analýzy. Byl 58
představen predikční algoritmus na základě vypočtených korelačních koeficientů mezi časovými řadami. K výpočtům byly použity algoritmy napsané v programovacím jazyce MATLAB. Algoritmy používané pro statistické výpočty v předešlých kapitolách se vyznačují tím, že veškeré výpočetní postupy byly „natvrdo“ zadané. Kalibrace a nastavení výpočetních modelů je prováděno ručně, na základě vlastní zkušenosti nebo literatury, před samotným spuštěním programu. Po spuštění algoritmu jsou načteny vstupní hodnoty, následně provedena úprava a výpočet a výsledek jsou uložené nebo zobrazené výstupy. V případě, že výstupy nesplňují očekávání uživatele je třeba algoritmus ručně přenastavit. Pohybujeme se v oblasti nejjednodušších počítačových algoritmů. V této kapitole je však cílem představit principiálně odlišný přístup k predikci časových řad, který má jiné vlastnosti. Tímto přístupem je predikce na základě modelu neuronových sítí. Tento přístup by měl být v rámci práce konkurenčním predikčním modelem k predikci na základě korelačního koeficientu a na konci kapitoly pak budou obě metody porovnány a zhodnoceny. Popis modelu neuronových sítí Princip modelu neuronových sítí vychází z lidské představy o fungování lidského mozku a jeho základních částech, neuronech, ze kterých je tvořen. Neurony v lidském mozku mají schopnost vytvářet vzájemná propojení (synapse) a tím se přizpůsobovat potřebám pro řešení aktuálních problémů. Tomuto se říká proces učení. Vzájemné propojení a přenášení signálu (vzruchů) mezi velkým počtem neuronů vede k vyřešení problému [38]. V případě že se nepovede vyřešit zadaný úkol, síť neuronů se přenastaví (sama kalibruje), aby v budoucnu dosahovala lepších výsledků. Tento biologický princip byl vzorem pro vytvoření modelu umělých neuronových sítí (zkráceně: model neuronových sítí). Model neuronových sítí má velké množství modifikací a struktur. Všechny tyto varianty vykazují vlastnosti typické pro neuronové sítě (a tím se liší od klasických algoritmů, viz kapitoly výše): model se sám kalibruje, testuje a optimalizuje. Modely mají schopnost se učit na ukázkových příkladech a naučené vlastnosti použít při řešení následujících problémů. Model neuronových sítí je možné využít v řadě odvětví (např. rozpoznávání obrazu nebo řeči, predikce, třídění dat apod.), kde dochází k řešení analyticky složitých problémů. Použití neuronových sítí v oblasti predikcí časový řad je možné v případě nelineárních trendů (případ HDP i ISP v této práci) [39] a v určitých případech může
59
vykazovat lepších výsledků než standardní analytické metody [40], [41]. Toto je dobrá motivace pro použití modelu neuronových sítí. Princip modelu neuronových sítí Model neuronové sítě je tak jako lidský mozek složen z individuálních jednotek neuronů. V případě našeho modelu se jedná o jednotku umělý neuron. Taková jednotka je graficky znázorněna schématem na obrázku 39.
Obrázek 39 Umělý neuron dle vzoru McCulloch-Pitts (zdroj: http://commons.wikimedia.org; autor: Chrislb)
Na obrázku je vidět tělo umělého neuronu se vstupními hodnotami x1 až xn kde n je počet vstupů. Zde může jít například o známá data časové řady HDP a stavební produkce. V dalším kroku dojde k násobení jednotlivých hodnot x s váhami wj a dojde k jejich sečtení. Celá suma v případě, že přesáhne prahovou hodnotu θj, je provedena transformace hodnoty přes přenosovou funkci φ do výstupní hodnoty oj, kterou může být například předpověď budoucích let stavební produkce. Hodnota J je pořadí neuronu v síti. Matematické vyjádření umělého neuronu je v rovnici (16) [38]. (∑
)
Hodnoty vstupů xi jsou dány zadáním řešeného problému. Hodnoty
(16)
a funkce
je
dána strukturou (topologií) neuronové sítě. Nejdůležitějším prvkem neuronových sítí je nastavení jednotlivých vah wi. Nastavení vah se nazývá procesem učení neuronových sítí (bude vysvětleno níže). Samotný jeden neuron nemůže sám o sobě splnit úkoly, které jsou na něj kladeny. Síla neuronových sítí je právě ve velkém počtu těchto jednotek, jejich vzájemném propojení a 60
nastavení vah jednotlivých propojení. Klasické grafické znázornění neuronové sítě je vidět na obrázku 40, kde kružnice znázorňují jednotlivé neurony a šipky znázorňují přenos vstupních hodnot přes váhy wi. Tato ukázková struktura obsahuje jednu vrstvu vstupních neuronů (vlevo), jednu skrytou vrstvu neuronů se třemi neurony (uprostřed) a jednu výstupní vrstvu (vpravo).
Obrázek 40 Grafické znázornění struktury neuronové sítě
Aby neuronová síť dokázala vstupy transformovat na požadované výstupy, je třeba nastavit parametry vah wi. Toto je nesložitější část postupu při aplikaci neuronových sítí. Proces nastavování vah, kterému se říká v terminologii neuronových sítí proces učení, vyžaduje správná vstupní data a učící algoritmus. Vzorová vstupní data pro učení neuronové sítě jsou zobrazena na obrázku 41. Časová řada je rozdělena do třech oblastí: minulá data, učící část a testovací část. Velikosti jednotlivých oblastí jsou dány topologií neuronové sítě a učícím algoritmem (bude vysvětleno níže). Minulá data Učící část Testovaci část
6 4
Změna %
2 0 -2 -4 -6 5
10
15
20
25 30 Čas [roky]
35
40
45
50
Obrázek 41 Vzor časové řady rozdělený na úseky pro učení neuronové sítě
61
Učící algoritmus nastavuje hodnoty vah následujícím způsobem: Je načten určitý počet hodnot z minulosti časové řady dané modrou barvou. Tyto hodnoty jsou brány jako vstupy do neuronové sítě. Na základě primárně nastavených vah jsou spočítány výstupy a porovnány s učící částí dané červenou barvou, kterou se neuronová síť snaží předpovědět. Na základě odchylky od těchto hodnot se hodnoty vah mění a celý cyklu se opakuje. Učící algoritmus je formou optimalizace nastavení vah, aby bylo dosaženo požadovaného výsledku v učící části. V případě, že učící algoritmus dosáhne určité úrovně spolehlivosti v učící části časové řady, je učící proces hotov a nastavená neuronová síť je otestována v testovací části. Zde je vygenerováno několik výsledků na základě předchozích hodnot a porovnáno s testovacími daty. Velikost odchylek je ukázkou funkčnosti neuronové sítě. Učících algoritmů neuronových sítí je celá řada s různými způsoby použití [38]. Výše popsaný princip je zjednodušená podstata nastavení neuronové sítě pro účely této práce. Je třeba poznamenat, že práce nemá za cíl seznámit čtenáře s přesným fungováním neuronových sítí. Cílem je aplikace principu neuronových sítí na časové řady HDP a indexu stavební produkce pro predikci hodnot budoucího vývoje, a proto je pozornost soustředěna na použití již existujících učících algoritmů a jejich aplikaci v predikcích. To jaká struktura (topologie) sítě je použita, jak vypadá výstupní funkce
, nastavení
prahů jednotlivých neuronů a výběr učícího algoritmu je vysoce složitá záležitost přesahující ambice práce. V této části budou použity nastavení dané předešlým výzkumem v oblasti neuronových sítí, která se nejlépe hodí pro predikci časových řad následována ručním doladěním, jak je doporučeno [42]. Požadavky na předpovědi pomocí neuronové sítě Aby bylo dosaženo co nejlepších výsledků predikce, je třeba určit, z jakých hodnot bude predikce vycházet a na jakých hodnotách bude neuronová síť nastavena (naučena). K dispozici jsou časové řady změny ISP a HDP za posledních cca 20 let pro jednotlivé státy EU dle přílohy 1 a přílohy 2. Algoritmus bude mít za cíl předpovědět budoucí hodnotu změny ISP pro rok 2012, 2013 a 2014. Protože se tato práce věnuje právě vztahu mezi HDP a ISP budou vstupem do neuronové sítě bezpochyby data HDP. V předchozích kapitolách bylo dokázáno, že existuje jistý vztah mezi ISP a HDP a tudíž by neuronová síť měla tyto spojitosti najít a využít je pro předpověď. 62
V kapitole 2.1.2 Autokorelace časové řady bylo dokázáno, že v případě některých zemí jsou budoucí hodnoty ISP závislé na hodnotách své vlastní časové řady ISP – je zde velký vliv autokorelace. Vývoj ISP v minulosti ovlivňuje budoucí hodnoty. Tudíž i časová řada změn ISP bude vstupem do neuronové sítě. Neuronová síť hledá při učícím procesu charakteristiky vstupů, aby bylo dosaženo požadovaného výstupu. Nemůžeme předem určit, zda bude mít na předpověď větší dopad vliv časové řady ISP nebo HDP. Indicie nasbírané v předchozích kapitolách mluví pro to, že obě časové řady by mohly být jako vstupy přínosné. To jakým způsobem nakonec výsledek ovlivní, není však zřejmé. V dalším kroku je třeba zvážit rozsah učící části časové řady ISP pro učící algoritmus neuronové sítě. Literatura zde dává uživateli velkou volnost. Doporučené hodnoty se volí v rozsahu přibližně 10-50 % dat [39]. V případě této práce byla zvolena učící oblast o rozsahu šesti hodnot (jednotlivých let), což představuje 34-54 % dat (hodnoty se liší podle rozsahu dostupných dat dle přílohy č. 1). To z jakých hodnot bude neuronová síť vycházet a jaké hodnoty bude předpovídat je komplikované, a bude vysvětleno na následující grafice. Nejprve se neuronová síť nastaví (naučí) na dostupných hodnotách, viz obrázek 42. Nákres ukazuje princip vstupů a výstupů požadované neuronové sítě. V reálném provedení bude počet vstupů časové řady HDP osm a z časové řady ISP sedm. Po tom co se tímto způsobem neuronová síť nastaví (naučí), tak ji bude možné použít pro zjištění neznámých hodnot tak, jak vidět na grafice, viz obrázek 43. Nastavení neuronové sítě Predikční algoritmus na základě umělých neuronových sítí je třeba nakonfigurovat a postavit v programovém prostředí MATLAB na základě následujících parametrů: Jako základní struktura neuronové sítě je zvolen model Feedforward NN [43] (NN zkratka: neural network – překlad: neuronové sítě) jako model nejužívanější a nejvšeobecnější nejen pro predikční modely [44]. Jako učící model měl být původně zvolen princip Back-propagation [45] (překlad: algoritmus zpětného šíření) jako nejužívanější učící algoritmus v neuronových sítích [38].
63
Obrázek 42 Učení neuronové sítě pro predikci ISP
Obrázek 43 Požadované fungování neuronové sítě pro predikci ISP
Avšak po prvních testech algoritmu se ukázal jako nevhodný – algoritmus není schopný nastavit neuronovou síť tak, aby dokázala znovu vytvořit časovou řadu v učící oblasti pro ověření. Tento fakt je dobře vidět na obrázku 44. Učící oblast neuronové sítě začíná v časové řadě změny ISP v roce 2006. Učící algoritmus by měl přizpůsobit koeficienty neuronové sítě tak, aby z hodnot celé časové řady změny HDP a změny ISP do roku 2006 uměl vyvolat hodnoty změny ISP od roku 2006 (dle nákresu na obrázku 42.) Pro ověření byly tyto hodnoty vygenerovány přes neuronovou síť (jsou vyznačeny černou barvou na grafu obrázku 44) a měly by souhlasit (překrývat se) s původními hodnotami ISP. K tomu ale nedošlo. Důvod 64
selhání tohoto učícího algoritmu na takto nastavenou neuronovou síť není zřejmý. Pro další práci je třeba vybrat jiný učící algoritmus. Německo 15 Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
10
změna [%]
5
0
-5
-10 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
Obrázek 44 Ukázka selhání učícího algoritmu Back-propagation (MATLAB funkce traingdx)
Podle publikovaného návodu [42] jsou vyzkoušeny všechny učící algoritmy [46], které obsahuje program MATLAB a je vybrán ten, který nejlépe replikuje výsledky učící oblasti. Je vybrán algoritmus trains programu MATLAB (Sequential order incremental training w/learning functions), který přináší požadované výsledky, viz obrázek 45. Zde je vidět, že replikovaná data pomocí neuronové sítě v učící oblasti přesně odpovídají původním hodnotám. Německo 15 Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
10
5
0
-5
-10 1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
čas [rok]
Obrázek 45 Ukázka dobře fungujícího učícího algoritmus (MATLAB funkce trains)
Dalším nastavením je počet vrstev neuronové sítě. Tak jak je vidět na nákresu obrázku 40 (na straně 61) model obsahuje několik vrstev neuronů, jejichž nastavení má velký
65
vliv na funkci neuronové sítě. Zde použitá struktura neuronové sítě bude obsahovat dvě skryté vrstvy jako standardní nastavení s výše uvedenými modely. Takto nastavenou síť je třeba otestovat jako v případě výpočtů v předchozích kapitolách. Celý algoritmus je k dispozici v kapitole 2.3.6 Predikční algoritmus na základě neuronových sítí. Testování predikce na základě neuronové sítě Jako u každého algoritmu i zde je třeba alespoň vizuálně ověřit, zda algoritmus funguje správně. Použijeme data z testování predikčního algoritmu na základě korelačního koeficientu znázorněné na obrázku 30 (strana 50). Po nastavení vstupních dat časových řad změny HDP a ISP algoritmus provede učení neuronové sítě. Výsledek učící fáze je graficky zobrazen, aby došlo k vizuálnímu potvrzení, zda byl učící proces úspěšný. Výsledek učícího procesu je vidět na obrázku 46 (úspěch či neúspěch učícího procesu určíme v analogii předchozího příkladu, viz obrázek 45, respektive 44). Tento výsledek učícího procesu je velmi uspokojivý (červený a černý spojnicový graf se překrývá). Testovací sada 3 Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
2.5
změna [%]
2
1.5 1
0.5
0
-0.5 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
Obrázek 46 Úspěšný učící proces pro vzorová data
V dalším kroku vložíme data ISP a HDP do naučené neuronové sítě a požadujeme předpověď změny ISP pro rok 2012. Vypočtený výsledek má hodnotu 0,2358 a je graficky ztvárněný na grafu černou barvou, viz obrázek 47.
66
Testovací sada 3 Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
2.5
změna [%]
2 1.5 1 0.5 0 -0.5 1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
čas [rok]
Obrázek 47 Předpověď změny ISP pro rok 2012 prezentovaný na vzorových datech
Vizuálním posouzením prezentovaného grafu (obrázek 47) můžeme potvrdit, že predikční algoritmus funguje správně dle očekávání. Predikované hodnoty pro rok 2012 pokračují intuitivně v pozorovaném trendu. Předpověď algoritmu na základě neuronových sítí – skutečná data Po tom, co byl algoritmus předpovědi na základě neuronových sítí navržen, vytvořen a otestován, se v této kapitole představí výsledky predikcí ISP na reálných datech zemí EU. Z dat, která jsou k dispozici v příloze 1, se dají použít pro predikci časové řady pouze některých zemí. Některé země (počtem: 9. Konkrétně: Bulharsko, Irsko, Řecko, Kypr, Lucembursko, Malta, Nizozemsko, Portugalsko, Rumunsku) z celkového počtu 27 nemají k dispozici dostatečné množství vstupních dat – jejich časové řady změny ISP začínají až rokem 2001 a tudíž obsahují pouze 11 ročních hodnot. Takováto datová řada je příliš krátká na správné fungování prezentovaného algoritmu. Pro zbylé státy (počtem: 18) jsou predikovány budoucí hodnoty změn indexu stavební produkce s použitím predikčního algoritmu na základě neuronových sítí (algoritmus je uložen v kapitole 2.3.6 Predikční algoritmus na základě neuronových sítí). Predikované hodnoty pro roky 2012, 2013 a 2014 jsou k dispozici v tabulce 15.
67
Tabulka 15 Predikce změny ISP pro roky 2012, 2013 a 2014
Belgie Bulharsko Česká republika Dánsko Německo Estonsko Irsko Řecko Španělsko Francie Itálie Kypr Lotyšsko Litva
Změna ISP v letech [%] 2012 2013 2014 6,56 3,75 3,15 Vyřazeno 2,50 8,36 8,40 8,40 -6,14 9,11 7,05 3,60 0,00 22,25 -10,48 -14,76 Vyřazeno Vyřazeno -9,06 -4,43 -9,11 -2,63 -0,35 -1,94 -8,67 -10,51 3,38 Vyřazeno 9,75 15,04 -0,90 21,61 19,35 -8,31
Lucembursko Maďarsko Malta Nizozemsko Rakousko Polsko Portugalsko Rumunsko Slovinsko Slovensko Finsko Švédsko Velká Británie
Změna ISP v letech [%] 2012 2013 2014 Vyřazeno 1,65 11,61 14,15 Vyřazeno Vyřazeno -3,86 -3,86 -3,09 14,91 6,48 2,27 Vyřazeno Vyřazeno -25,58 -20,76 14,61 -17,81 5,76 35,74 -13,51 7,62 -5,91 3,33 26,45 25,05 1,60 4,45 -0,01
Závěr ke kapitole predikování na základě neuronových sítí V této kapitole byl navržen algoritmus pro predikci budoucích hodnot změn indexu stavební produkce na základě neuronové sítě. Byly zde vysvětleny základní principy fungování neuronových sítí, aby bylo ukázáno, že jde principiálně jiný způsob výpočtu, než bylo v případě algoritmu predikce na základě korelačního koeficientu. Neuronová síť obsažená v algoritmu byla navržena a konfigurována podle dostupných zdrojů a doladěna podle vizuálního a odborného posouzení funkčnosti, tak jak bylo v literatuře doporučeno [42]. Správné nastavení fungování algoritmu a neuronové sítě bylo otestováno na vzorových datech, u kterých je člověk schopný vizuálně odhadnout požadovaný výsledek. Algoritmus prokázal dobrou funkci. Následně byl algoritmus použit s reálnými vstupními daty časových řad HDP a ISP s cílem předpovědět hodnoty ISP pro jednotlivé země pro rok 2012, 2013 a 2014. Tato data budou vyhodnocena, tak jako celý algoritmus, v kapitole 2.1.3 Porovnání metod.
2.2.3.
Porovnání metod
Po vytvoření velké řady dat a výsledků je na místě vyhodnotit a porovnat oba předložené postupy. Kapitola bude rozdělena do dvou částí. V první půjde o porovnání a analýzu numerických výsledků a o snahu zjistit, který algoritmus vede k lepším výsledkům. Ve druhé části půjde o slovní posouzení funkčnosti jednotlivých algoritmů z hlediska
68
použitelnosti, přesnosti, programové a časové náročnosti. Snahou bude zjistit, který z algoritmů je uživatelsky „přátelštější“ a použitelnější. Vyhodnocení numerických výsledků V případě obou algoritmů (predikce na základě korelačního koeficientu a predikce na základě neuronových sítí) byly vytvořeny sady predikcí pro ISP pro roky 2012, 2013 a 2014. Vzájemné porovnání těchto dat by bylo pravděpodobně zbytečné, protože všechny hodnoty obsahují predikční nejistotu. Avšak pro hodnoty roku 2012 v současné době existuje relevantní porovnání ve formě statisticky zaznamenaných hodnot z produkce Eurostatu. Tyto hodnoty jsou k dispozici v příloze 9. Porovnáním s hodnotami vytvořenými oběma algoritmy zjistíme, u kterého je prokázána větší přesnost, co se týče absolutní odchylky a trendu. V následující tabulce (tabulka 16) jsou hodnoty vytvořené algoritmem na základě korelačního koeficientu před a po použití frekvenčního filtru a hodnoty na základě algoritmu neuronové sítě. V tabulce některé hodnoty chybí, protože jednotlivé státy byly vyřazeny na základě důvodů uvedených v příslušných kapitolách. Tabulka je doplněna o reálné hodnoty ze změny ISP z databáze Eurostat a také o zcela náhodné hodnoty, které budou sloužit jako porovnání k vypočítaným predikcím (hodnoty jsou normálního rozdělení s konstantní hodnotou pravděpodobnosti v intervalu od minimálních po maximální hodnoty vývoje dle Eurostatu). V následující tabulce 17 jsou zjištěny absolutní odchylky predikovaných výsledků a výsledků zcela náhodných od přesně naměřených hodnot daných Eurostatem. Z pohledu na tabulku je možné říci pouze, že rozdíly pro určité metody a státy jsou velmi výrazné (např. Dánsko, Kypr) a naopak jiné dosahují až zanedbatelně nízkých hodnot (např. Francie, Švédsko). To jaký vliv v těchto výsledcích hraje náhoda, je třeba určit až dalšími výpočty. Pro ověření, jak dobrých hodnot dosahují predikční algoritmy v porovnání se zcela náhodným odhadem, je třeba zjistit střední hodnotu absolutních hodnot rozdílů a jejich směrodatnou odchylku. Dále bude vypočten korelační koeficient, aby bylo možné zjistit shodu trendu predikcí s reálnými údaji. Výsledky jsou prezentované v tabulce 18. Zeleně jsou vyznačené nejlepší hodnoty a červeně ty nejhorší.
69
Tabulka 16 Výsledky predikčních algoritmů a skutečné hodnoty Eurostatu pro změnu ISP pro rok 2012
ISP 2012 Belgie Bulharsko Česká republika Dánsko Německo Estonsko Irsko Řecko Španělsko Francie Itálie Kypr Lotyšsko Litva Lucembursko Maďarsko Malta Nizozemsko Rakousko Polsko Portugalsko Rumunsko Slovinsko Slovensko Finsko Švédsko Velká Británie
Vypočtená data [%] Korelační koeficient Neuronové sítě Po filtru Před filtrem 6,56 Vyřazeno Vyřazeno Vyřazeno 5,15 1,87 2,50 Vyřazeno Vyřazeno 8,40 Vyřazeno Vyřazeno 7,05 Vyřazeno Vyřazeno 22,25 0,61 -0,50 Vyřazeno -9,61 -6,62 Vyřazeno Vyřazeno Vyřazeno -9,06 -8,23 -6,61 -2,63 Vyřazeno Vyřazeno -8,67 -0,87 -1,64 Vyřazeno -5,66 -6,32 9,75 5,07 3,95 21,61 -0,64 -0,78 Vyřazeno Vyřazeno Vyřazeno 1,65 Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno -3,86 Vyřazeno Vyřazeno 14,91 -0,37 1,00 Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno Vyřazeno -25,58 -9,75 -7,06 -17,81 -5,15 -3,56 -13,51 -0,47 -0,72 3,33 Vyřazeno Vyřazeno 1,60 -5,95 -0,77
EUROSTAT -0,60 -0,50 -7,40 -6,70 -1,20 18,40 -5,40 -26,10 -5,40 -2,90 -13,90 -22,10 14,10 -7,20 -5,30 -6,70 -1,80 -8,10 2,00 -4,70 -17,00 1,30 -16,90 -12,20 -1,50 3,50 -7,70
Náhodné hodnoty 17,03 -24,96 -23,20 2,11 4,70 -10,22 -0,24 -10,25 -18,11 10,02 12,81 -23,79 -23,24 -24,00 9,23 -22,53 12,50 -18,30 12,17 -17,92 -12,91 -21,84 -7,27 -7,85 -12,81 1,08 -20,46
Je zřejmé, že čím nižší střední hodnoty chyb, tím lepší je daný predikční algoritmus. V tomto ohledu se ukázal jako nejlepší algoritmus na základě korelačního koeficientu, který dosahuje nejnižších hodnot a to s malým vlivem toho, zda je na časové řady použita frekvenční filtrace. Tyto hodnoty jsou přibližně dvakrát nižší než hodnoty zcela náhodné předpovědi. Směrodatná odchylka, která ukazuje šíři chyb, také vychází nejnižší u téže metody. Nejvyšší je tato hodnota opět u predikcí zcela náhodných. Korelační koeficient, který ukazuje, jak trend predikcí odpovídá trendu skutečných hodnot, vykazuje silnou závislost u všech predikčních algoritmů až na předpověď zcela náhodnou. U zcela náhodných hodnot dle předpokladu vychází hodnota blízká nule. Na výpočtech je ukázáno, že predikční algoritmy mají zcela bez pochyby vyšší vypovídací schopnost než je predikce čistě náhodná. 70
Tabulka 17 Rozdíly predikcí s reálnými hodnotami ISP pro 2012 dle Eurostatu
Rozdíly [procentní bod] Korelační koeficient Neuronové sítě Po filtru Před filtrem Belgie -7,16 Vyřazeno Vyřazeno Bulharsko Vyřazeno -5,65 -2,37 Česká republika -9,90 Vyřazeno Vyřazeno Dánsko -15,10 Vyřazeno Vyřazeno Německo -8,25 Vyřazeno Vyřazeno Estonsko -3,85 17,79 18,90 Irsko Vyřazeno 4,21 1,22 Řecko Vyřazeno Vyřazeno Vyřazeno Španělsko 3,66 2,83 1,21 Francie -0,27 Vyřazeno Vyřazeno Itálie -5,23 -13,03 -12,26 Kypr Vyřazeno -16,44 -15,78 Lotyšsko 4,35 9,03 10,15 Litva -28,81 -6,56 -6,42 Lucembursko Vyřazeno Vyřazeno Vyřazeno Maďarsko -8,35 Vyřazeno Vyřazeno Malta Vyřazeno Vyřazeno Vyřazeno Nizozemsko Vyřazeno Vyřazeno Vyřazeno Rakousko 5,86 Vyřazeno Vyřazeno Polsko -19,61 -4,33 -5,70 Portugalsko Vyřazeno Vyřazeno Vyřazeno Rumunsko Vyřazeno Vyřazeno Vyřazeno Slovinsko 8,68 -7,15 -9,84 Slovensko 5,61 -7,05 -8,64 Finsko 12,01 -1,03 -0,78 Švédsko 0,17 Vyřazeno Vyřazeno Velká Británie -9,30 -1,75 -6,93 ISP 2012
Náhodné hodnoty -17,63 24,46 15,80 -8,81 -5,90 28,62 -5,16 -15,85 12,71 -12,92 -26,71 1,69 37,34 16,80 -14,53 15,83 -14,30 10,20 -10,17 13,22 -4,09 23,14 -9,63 -4,35 11,31 2,42 12,76
Tabulka 18 Analýza výsledků tabulky 17
Střední hodnota chyb Směrodnatná odchylka chyb Korelační koeficient výsledků
Neuronové sítě 8,68 6,75 0,58
Korelační koeficient Po filtru Před filtrem 7,45 7,71 5,12 5,47 0,61 0,64
Náhodné hodnoty 14,13 7,37 0,08
Závěr k vyhodnocení numerických výsledků Přestože predikční algoritmy nedosahují přesných výsledků, je na příkladu roku 2012 dokázáno, že toto je do budoucna možná cesta předpovědí indexu stavební produkce. Tato čistě technická analýza s použitím dvou rozdílných algoritmů vykazuje o polovinu přesnější
71
výsledky než predikce zcela náhodné. I hodnoty korelačních koeficientů mezi výsledky optimisticky ukazují na možnosti dalšího rozvoje těchto metod. Predikční algoritmy bylo možné v současné době (pozn. 10. listopadu 2013) ověřit pouze na reálných datech z roku 2012. Pro přesnější určení, zda jsou algoritmy schopné generování relevantních výsledků, je třeba větší statistický vzorek. Do budoucna je předpokládáno porovnání s reálnými daty roku 2013 a 2014. Slovní posouzení predikčních metod V této části kapitoly je prezentováno slovní ohodnocení práce s výše prezentovanými predikčními algoritmy. Predikční algoritmy byly vytvořeny na základě odlišných výpočetních principů, a proto každý z nich má individuální výhody a nevýhody. Cílem této podkapitoly je ukázat na tyto vlastnosti, které by bylo možné využít v případě navázání na tuto práci. Výhody a nevýhody budou strukturované do přehledného výčtu: Predikční algoritmus na základě korelačního koeficientu + Možná práce s různou délkou časových řad. + Možné odvození procentuální přesnosti predikovaných výsledků. + Vytváření scénářů předpovědí (viz obrázek 28 na straně 49). + Kompenzování vývojů v případě mnohaleté předpovědi (viz obrázek 29 na straně 49). - Velké množství výsledků (dané metodou Monte Carlo). - Očekávání správné funkce pouze v případě vysokého korelačního koeficientu.
Predikční algoritmus na základě neuronových sítí + Automatická adaptace na vkládaná data. + Algoritmus odvozený od lidského myšlení. + Pouze jeden výsledek. - Absence procentuální přesnosti výsledku. - Velká časová náročnost výpočtu. - Složité nastavení a konfigurace neuronové sítě.
72
Tyto informace by měly sloužit jako podklad pro další práci na obdobných projektech a jsou subjektivním názorem a zkušeností autora s prací s těmito nástroji.
2.3.
Vytvořené programové prostředky
Cílem této kapitoly je představit vytvořené programové prostředky zaměřené na řešení analýzy časových řad stavební produkce a HDP a předpovědi budoucího vývoje těchto veličin. V kapitole budou představeny vytvořené zdrojové kódy pro aplikaci MATLAB s jejich komentáři. Tyto programové prostředky byly vytvořeny primárně za účelem výpočtů charakteristik a transformace časových řad stavební produkce a HDP. Nicméně je zcela přípustné je použít i pro jiné účely pokud tomu odpovídá zadání problému. Většina funkcí zde prezentovaných vychází z veřejně dostupných statistických výpočtů a algoritmů. Jejich užití je možné směřovat k oborům aplikované ekonomie, plánování a předpovědí. Algoritmy jsou vytvořené jako knihovna funkcí dle syntaxe programovacího jazyku MATLAB [4]. Funkce pracují se vstupními daty načítanými z aplikace Excel. Struktury tabulek Excel jsou vidět v příloze 1 a v příloze 2. Data jsou jednoznačně identifikována souřadnicovým systémem typickým pro aplikace Excel (viz výše zmíněné přílohy). Některé funkce vyžadují vstupy, které budou výrazně ovlivňovat jejich chování. Ve většině případů jde o identifikaci vstupních dat z tabulek Excel. U každého algoritmu budou vstupy a požadavky na ně vyjmenovány. Výstupy z algoritmů mohou mít několik podob: vypsané hodnoty v command window, hodnoty ukládané do datových souborů (textový soubor s příponou .txt nebo tabulka aplikace Excel s příponou .xls případně .xlsx), vykreslení grafických znázornění dat nebo uložení grafického zobrazení dat do datového souboru (nejčastěji do grafického formátu Enhanced Metafile s příponou .emf). Všechny výstupy jsou popsané u jednotlivých algoritmů.
2.3.1.
Algoritmus - frekvenční analýza
Vstupy radek – požadovaný řádek z tabulky k analýze, pocet_sloupec – sloupec ze vstupní tabulky s hodnotou, kterou začíná vstupní vektor, konec_sloupec – sloupec ze vstupní tabulky s hodnotou, kterou končí vstupní vektor, 73
excel_tabulka – adresa tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 1 a 2). Výstupy Grafické zobrazení frekvenční analýzy datové řady a její následné uložení do grafického bezztrátového souboru Enhanced Metafile s příponou .emf.
Popis funkce Funkce s názvem frekvencni_analyza s požadovanými vstupy. function
[vystupy]
=
frekvencni_analyza
(radek,
pocet_sloupec,
konec_sloupec, excel_tabulka)
Vytvoření adresy vstupních dat v tabulce. Převedení číselných vstupů do formátu string. radek_s = num2str (radek); cesta = strcat (pocet_sloupec, radek, ':', konec_sloupec, radek);
Určená oblast z tabulky je uložena do vektoru CON. Pokud oblast vstupu obsahuje nečíselné znaky, jsou tyto oblasti ignorovány. CON = xlsread(excel_tabulka, cesta);
Určení názvu datové řady z tabulky Excel v prvním sloupci a načtení tohoto názvu do proměnné name. V případě potřeby je třeba upravit primární nastavení vstupního listu pod názvem List1. cesta2 = strcat('A', radek_s); [num name raw] = xlsread(excel_tabulka,'List1 ',cesta2);
Zobrazení kontrolního spojnicového grafu původních dat do okna. figure (2); plot(CON,'-o'); axis tight;
Od vektoru CON se odečte střední hodnota tohoto vektoru, aby se zabránilo zahlcení výstupního frekvenčního spektra o nulovou frekvenci pocházející ze stejnosměrné složky časové řady. Nový upravený vektor nese označení CON2. CON2 = CON - mean(CON);
Pomocné označení výstupního okna v proměnné h. h = 1;
74
Funkce fft() provádí rychlou Fourierovu transformaci vektoru con. Výstup transformace je uložen do vektoru F. F = fft(CON2);
Vektor F obsahuje komplexní čísla, která obsahují imaginární a reálnou složku. Pro zobrazení je třeba převést komplexní čísla na čísla reálna výpočtem jejich absolutních hodnot. Vektor je uložen do proměnné f. f = abs(F);
Vektor f musí být zkrácen na polovinu z důvodu zrcadlení výsledku podle hodnoty frekvence 0,5. To je provedeno zjištěním velikosti vektoru f uložené do proměnné n, která je vydělena dvěma a zaokrouhlena na celé číslo. Je vytvořen vektor x, který reprezentuje měřítko pro grafické znázornění frekvenční analýzy. n = size(f); n = n(2); n = ceil(n/2); x = [0:0.5/n:0.5];
Je vytvořen graf frekvenční analýzy uložené v proměnné f s označením uloženým v proměnné h, měřítkem x a nastaveným označením dle syntaxe jazyku MATLAB. figure(h); plot(x(1:n),f(1:n),'-r'); axis([0 0.5 0 70]); title(name); xlabel('Odhalené frekvence [1/rok]'); ylabel('Funkční hodnota');
Graf je automaticky vyexportován a uložen v obrazovém formátu EMF (Enhanced Metafile) se jménem datové řady uložené v proměnné name. name = strcat(name, '.emf'); name=num2str(cell2mat(name)); saveas(h, name) end
75
2.3.2.
Algoritmus - test autokorelačního koeficientu
Vstupy pocet_radek – počáteční řádek oblasti dat v tabulce určených k testování (včetně tohoto řádku), konec_radek – konečný řádek oblasti dat v tabulce určených k testování (včetně tohoto řádku), počet_sloupec – sloupec ze vstupní tabulky s hodnotou, kterou začíná oblast určená k testování (včetně tohoto sloupce), konec_sloupec – sloupec ze vstupní tabulky s hodnotou, kterou končí oblast určená k testování (včetně tohoto sloupce), excel_tabulka – adresa tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 1 a 2), excel_tabulky_vystup – adresa tabulky ve formátu Excel, do které budou zapsány vypočtené autokorelace n-tého řádu, n – požadovaný řád autokorelace, jehož hodnota bude vypsána do tabulky, viz výše. Výstupy Grafické zobrazení autokorelačního testu datových řad a jejich následné uložení do grafického souboru Enhanced Metafile s příponou emf. Všechna testovaná data jsou po řádcích vygenerována do samostatných souborů pod označením, které by mělo být k dispozici v prvním sloupci vstupní tabulky ke každé datové řadě. Požadované číselné vypočítané hodnoty jsou uloženy do tabulky Excel dle adresy určené ve vstupech.
Popis funkce Funkce s názvem aukorelacni_koeficient s požadovanými vstupy. function [vystupy] = aukorelacni_koeficient (pocat_radek, konec_radek pocat_sloupec, konec_sloupec, excel_tabulka, excex_tabulka_vystup, n)
Export dat vypočteného autokorelačního koeficientu do tabulky Excel dle proměnné excel_tabulky_vystup začíná na řádku j (defaultně nastaveného na hodnotu 1) j=1;
Cyklus k procházení určené oblasti tabulky Excel dle vstupů funkce. for i = pocat_radek: konec_radek
76
Dochází k převedení číselných vstupů do formátu proměnné string. Proměnná radek obsahuje číslo řádku procházené oblasti v textové formě. radek = num2str (i);
Dochází k vytvoření adresy individuálního řádku z tabulky a tento řádek je načten ve formě vektoru do proměnné CON. cesta = strcat (pocat_sloupec, radek, konec_sloupec, radek); CON = xlsread(excel_tabulka, cesta);
Je načteno jméno datové řady, které by se mělo nacházet v prvním sloupci tabulky u každé datové sady. Toto jméno je uloženo do proměnné name. Do proměnné name2 se načítá jméno a formát pro export vygenerovaných dat do grafického souboru. cesta2 = strcat('A', radek); [num name raw] = xlsread('cons annual 95-11.xls','Data',cesta2); name2 = strcat(name, '.emf'); name2=num2str(cell2mat(name2));
Označení okna s grafickým znázorněním výstupních dat je uložené v proměnné h. h = 1;
V okně s označením uloženým v proměnné h se zobrazí výstupy provedeného testu autokorelace skrz funkci autocorr(). Prvním vstupem do funkce autocorr je neupravený vektor testované datové sady načtený ze vstupní tabulky, druhý (prázdným) argumentem je počet řádů provedeného autokorelačního testu (defaultně nastaveného na maximální možnou hodnotu), třetí argument je pro výpočet nepodstatný (defaultně nastavený na hodnotu 2) a čtvrtý argument je směrodatná odchylka, která slouží k určení hodnot pro statistické prokázání autokorelace na určené hladině významnosti (hodnota 1,64 určuje statistickou významnost 90%; hodnota 2 představuje přibližnou hladinu významnosti 95%) [47]. Výstupy jsou automaticky graficky zobrazené v samostatném okně. Hodnotové výstupy této funkce jsou uloženy do vektoru pod označením: ACF, které označuje autokorelační koeficienty všech počítaných řádů, lags, který nese hodnoty všech počítaných řádů a bounds, který obsahuje dvojici hodnot, mimo kterou jsou vypočtené hodnoty autokorelačního koeficientu prokázanou autokorelací na hladině statistické významnosti. figure (h); autocorr(CON, [], 2, 1.64) xlabel('Řád autokorelačího koeficientu k'); ylabel('hodnota autokorelačního koeficientu k-tého řádu');
77
title(name); [ACF, lags, bounds] = autocorr(CON, [], 2, 1.64)
Do
řádku
j
v tabulce
excel_tabulky_vystup
budou
zapsané
požadované
hodnoty
autokorelačního koeficientu a hraničních hodnot statistické významnosti. Proměnná vysledek obsahuje autokorelační koeficient n-tého řádu (dle vstupů). Proměnná vysledek2 obsahuje hraniční hodnoty statistické významnosti, které jsou zapsány do tabulky s názvem datové řady. jj = num2str (j); range = strcat ('B', jj); range2 = strcat ('C', jj); j=j+1; vysledek = ACF(n+1); vysledek2 = bounds(1); xlswrite(excex_tabulka_vystup,vysledek,'List1', range) xlswrite(excex_tabulka_vystup,vysledek2,'List1', range2)
Vygenerované grafické zobrazení všech řádů autokorelačního koeficientu se uloží do domácí složky pod názvem datové sady v bezztrátovém formátu Enhaunced Metafile s příponou emf. saveas(h , name2) end
2.3.3.
Algoritmus na testování posunu časových řad pomocí korelace
Vstupy pocat_radek – počáteční řádek oblasti dat v tabulkách určených k testování (včetně tohoto řádku), konec_radek – konečný řádek oblasti dat v tabulkách určených k testování (včetně tohoto řádku), počet_sloupec_1 – sloupec ze vstupní první tabulky s hodnotou, kterou začíná oblast určená k testování (včetně tohoto sloupce), konec_sloupec_1 – sloupec ze vstupní první tabulky s hodnotou, kterou končí oblast určená k testování (včetně tohoto sloupce), počet_sloupec_2 – sloupec ze vstupní druhé tabulky s hodnotou, kterou začíná oblast určená k testování (včetně tohoto sloupce). Oblast se nemusí shodovat s tabulkou první, konec_sloupec_2 – sloupec ze vstupní druhé tabulky s hodnotou, kterou končí oblast určená k testování (včetně tohoto sloupce). Oblast se nemusí shodovat s tabulkou první, 78
excel_tabulka_1 – adresa první tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 1), excel_tabulka_2 – adresa druhé tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 2), excel_tabulky_vystup – adresa tabulky ve formátu Excel, do které budou zapsány vypočtené korelační koeficienty dvou datových sad. Výstupy Výstupem jsou číselné hodnoty korelačních koeficientů obou datových řad, které jsou následně uložené do tabulky aplikace Excel dle nastavení vstupu a proměnné excel_tabulky_vystup.
Popis funkce Funkce s názvem test_posunu s požadovanými vstupy. Funkce porovnává posunutí dvou časových řad ze dvou tabulek. function
[vystupy]
pocat_sloupec_1,
=
test_posunu
konec_sloupec_1,
excel_tabulka_1, excel_tabulka_2,
(pocat_radek,
pocat_sloupec_2,
konec_radek
konec_sloupec_2,
excex_tabulka_vystup)
Cyklus k procházení určené oblasti tabulky Excel dle vstupů funkce. for i = pocat_radek:konec_radek
Načtení dat dle stejného algoritmu jako v případě funkce v kapitole 2.3.2Algoritmus - test autokorelačního koeficientu. Načtení první datové řady z první tabulky. Proměnná CONcesta obsahuje adresu vybrané oblasti v tabulce jedna. Proměnná CON obsahuje načtený vektor první datové sady z první tabulky. radek = num2str (i); CONcesta = strcat (pocat_sloupec_1, radek, konec_sloupec_1, radek); CON = xlsread(excel_tabulka_1,CONcesta); cesta2 = strcat('A', radek); [num name raw] = xlsread(excel_tabulka,'List1',cesta2);
Načtení druhé datové řady z druhé tabulky stejný principem jako první datová řada, viz odstavec výše. GDPcesta obsahuje adresu vybrané oblasti v druhé tabulce. Proměnná GDP obsahuje vektor druhé porovnávané datové řady z druhé tabulky. 79
GDPcesta = strcat (pocat_sloupec_2, radek, konec_sloupec_2, radek); GDP = xlsread(excel_tabulka_2,GDPcesta);
Porovnávané vektory musí obsahovat data stejných délek, a proto dojde k zjištění délek obou vektorů. CONdelka obsahuje délku vektoru CON a GDPdelka obsahuje délku vektoru GDP. V případě, že se vektory liší svou délkou, dojde ke zkrácení delšího vektoru o vypočtený počet hodnot (proměnná cut) ze začátku vektoru. CONdelka = length (CON); GDPdelka = length (GDP); cut = GDPdelka - CONdelka + 1; if cut>0 GDP = GDP(cut:end); else cut = - cut + 2; CON = CON(cut:end); end
Pro oba stejně dlouhé vektory uložené v proměnných CON a GDP je vypočítán korelační koeficient funkcí corrcoef(). Korelační koeficient je uložen do proměnné R. R = corrcoef(GDP,CON); R = R(2,1);
Zjištěné korelační koeficienty jsou uloženy do souboru, který byl zadán ve vstupech v proměnné excel_tabulka_vystup. K vypočteným datům je připojeno označení datové řady, které bylo zjištěno z prvního sloupce první tabulky se vstupními daty. name2=num2str(cell2mat(name)); cesta2 = strcat ('A', radek); cesta3 = strcat ('B', radek); xlswrite(excex_tabulka_vystup,name2,'List1',cesta2); xlswrite(excex_tabulka_vystup,R,'List1',cesta3); end
2.3.4. Algoritmus na zjištění korelace časových řad s pomocí spektrální filtrace
Vstupy pocat_sloupec_1 – sloupec ze vstupní první tabulky s hodnotou, kterou začíná oblast určená k testování (včetně tohoto sloupce), 80
konec_sloupec_1 – sloupec ze vstupní první tabulky s hodnotou, kterou končí oblast určená k testování (včetně tohoto sloupce), pocat_sloupec_2 – sloupec ze vstupní druhé tabulky s hodnotou, kterou začíná oblast určená k testování (včetně tohoto sloupce). Oblast se nemusí shodovat s tabulkou první, konec_sloupec_2 – sloupec ze vstupní druhé tabulky s hodnotou, kterou končí oblast určená k testování (včetně tohoto sloupce). Oblast se nemusí shodovat s tabulkou první, excel_tabulka_1 – adresa první tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 1), excel_tabulka_2 – adresa druhé tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 2). Výstupy result.xlsx – tabulky výsledků ve formátu Excel.
Popis funkce Funkce s názvem korelace_spekt_filtr s požadovanými vstupy. Funkce vypočte korelační koeficient dvou datových řad načtených ze dvou tabulek a zpracovaných pomocí frekvenčního filtr s různým stupněm filtrace. function [vystupy] = korelace_spektr_filtr (pocat_sloupec_1, konec_sloupec_1, pocat_sloupec_2, konec_sloupec_2, excel_tabulka_1, excel_tabulka_2)
Vektor A obsahuje čísla řádků první tabulky s požadovanými datovými sadami. Počet a složení řádků lze libovolně měnit dle požadavků uživatele. A = [16 20 42 18 35 24 41 40 39 36];
Cyklus proměnné m určuje, pro jaké nastavení filtru budou hodnoty korelačních koeficientů vypočteny. for m = 1:8
Nastavení rozsahu cyklu pro proměnnou m je možné libovolně měnit, ovšem s vědomostí, že filtrovaná oblast je vypočtena na základě níže zobrazeného vzorce. Velikost filtrované oblasti se nachází vždy v intervalu (0;1). Pro procentuální znázornění filtrované oblasti je třeba proměnnou filtering znásobit číslem 100. 81
filtering = 0.1 + m * 0.1;
Cyklus proměnné i prochází všechny řádky určenými k analýze z vektoru A. Číslo řádku v tabulce je uložené do proměnné j. for i = 1:10 j = A(i);
Pomocné proměnné xx, con_w a gdp_w jsou nastaveny na hodnotu nula, z důvodu dalšího použití v algoritmu. Jejich funkce bude vysvětlena dále. xx = 0; con_w = 0; gdp_w = 0;
V algoritmu dochází k načtení požadovaných dvou vektorů datových řad, které jsou uloženy do proměnné CON a GDP. Jméno datové řady je uloženo do proměnné name. Toto je stejný přístup jako v případě předchozích algoritmů viz kapitoly výše. radek = num2str (j); CONcesta = strcat (počat_sloupec_1, radek, konec_sloupec_1, radek); CON = xlsread(excel_tabulka_1,CONcesta); cesta5 = strcat('A', radek); [num, name, raw] = xlsread('cons annual 95-11.xls','Data',cesta5); radek = num2str (j); GDPcesta = strcat (počat_sloupec_2, radek, konec_sloupec_2, radek); GDP = xlsread(excel_tabulka_2,GDPcesta);
Dochází k výpočtu délky obou vektorů a jejich střední hodnoty. Tyto hodnoty jsou uloženy pro další využití do proměnných CON_delka, GDP_delka, CON_stred a GDP_stred. CON_stred = mean (CON); GDP_stred = mean (GDP); CONdelka = length (CON); GDPdelka = length (GDP);
Tato část algoritmu je určená k zjištění hraniční frekvence pro filtrování (stanovení filtrované oblasti), dle principu prezentovaného v kapitole 2.1.4.2 Výpočet na upravených vstupních datech vysokofrekvenčními filtry. Je provedena Fourierova transformace vstupních datových řad a spočtena suma funkčních hodnot (výpočet ekvivalentní k integraci diskrétní řady). Pro první datovou sadu je Fourierova transformace uložena do proměnné CON_fft a suma do CON_fft_sum. Pro druhou datovou sadu jsou použity proměnné GDP_fft, respektive GDP_fft_sum. 82
CON_fft = abs(fft(CON - CON_stred)); GDP_fft = abs(fft(GDP - GDP_stred)); CON_fft_sum = sum(CON_fft); GDP_fft_sum = sum(GDP_fft);
Upravení délky pro vykreslení Fourierovy transformace v grafu. Nad frekvenci 0,5 nemá transformační vektor žádnou informační hodnotu, a proto je zkrácen. Toto je provedeno pro oba vektory stavební produkci a HDP. Délky jsou uložené v proměnných n respektive nn. n = ceil(CONdelka); x = [0:1/n:1]; n=ceil(n*0.5)+1; nn = ceil(GDPdelka); y = [0:1/nn:1]; nn=ceil(nn*0.5)+1;
Pro kontrolní účely je vykreslen graf frekvenčního spektra. Je možné vykreslovat obě řady. figure(1); plot(x(1:n), CON_fft(1:n), '-r'); title(name); axis([0 0.5 0 70]);
Podle principu popsaného v kapitole 2.1.4.2 Výpočet na upravených vstupních datech vysokofrekvenčními filtry jsou vypočítány frekvence ohraničující oblast vysokých frekvencí, která má být následně odfiltrována. Hraniční filtrační frekvence první datové sady je uložena v proměnné CON_frekvence a pro druhou GDP_frekvence. Frekvence si proporcionálně odpovídají dle frekvenčního spektra, ale nemají stejnou číselnou hodnotu. while con_w <= ((CON_fft_sum / 2) * (1 - filtering)) xx = xx + 1; con_w = con_w + CON_fft(xx); end CON_frekvence = x(xx); xx = 0; while gdp_w <= ((GDP_fft_sum / 2) * (1 - filtering)) xx = xx + 1; gdp_w = gdp_w + GDP_fft(xx); end GDP_frekvence = y(xx);
83
Tato část algoritmu je věnována nastavení filtru a předání dat do filtrační funkce, která bude popsána ke konci této kapitoly. Dochází k připravení vstupních parametrů do filtrační funkce. N je stupnice osy x. Proměnná freq je krajní frekvence filtrované oblasti. Proměnná fs je vzorkovací frekvence (v této práci vždy 1 rok). N_iir je označení řádu filtru, který musí být z principu použití vždy nižší než třetina délky vstupního vektoru [48]. Platí, že čím vyšší řád filtru tím lepší výsledek filtrace (ověřeno na testovacích datech). Proto je řád filtru nastaven právě na jednu třetinu délky vstupního vektoru se zaokrouhlením na celé číslo směrem dolů. N = [0:CONdelka-1]; freq = CON_frekvence; fs = 1; N_iir = floor(CONdelka/3);
Funkce IIRFILTHIGH je popsána níže. Tato funkce má cíl provést filtraci dle parametrů popsaných výše. První vstup, kterým je časová řada stavební produkce, je třeba upravit tak, že je od něj odečtena jeho střední hodnota, aby došlo k odstranění vlivu nulové frekvence. Prvním výstupem funkce je vektor časové řady po aplikaci filtru, který je uložený v proměnné CON_upraven. Druhým výstupem je proměnná P, která udává stabilitu filtru. Tato hodnota musí být v intervalu od nuly do jedné. V opačném případě by filtr nefungoval správně a výstupní vektor by byl upraven chybně [49]. Při aplikaci filtru na časové řady stavební produkce nebo HDP nebylo zaznamenáno výsledku představující nestabilní filtr. [CON_upraven,P] = IIRFILTHIGH((CON - CON_stred), CONdelka, N, freq, fs, N_iir);
K upravené časové řadě po aplikaci filtru je přičtena původní střední hodnota. CON_upraven = CON_upraven + CON_stred;
Příprava vstupních parametrů a použití funkce IIRFILTHIGH, které jsou popsané výše pro časovou řadu stavební produkce, je obdobně provedeno pro vektor časové řady HDP. Výstupem této časti je obdobně s předchozím případem vektor časové řady HDP po aplikaci filtru uložený v proměnné GDP_upraven. NN = [0:GDPdelka-1]; freq = GDP_frekvence; fs = 1; N_iir = floor(GDPdelka/3); [GDP_upraven,P] = IIRFILTHIGH((GDP GDP_stred),GDPdelka,NN,freq,fs,N_iir); GDP_upraven = GDP_upraven + GDP_stred;
84
Tato část algoritmu je věnovaná přípravě a znázornění časových řad po aplikaci filtru a jejich následné uložení do souboru. Data se zobrazují ve formě spojnicových grafů. filtr = num2str (filtering * 100); jmeno = strcat('Index stavebni produkce pro ', name{1}, ' s filtraci ', filtr, '%'); soubor = strcat(name{1}, ' ', filtr, '%', '.emf'); figure (m+1); hFig = figure (m+1); set(gcf,'PaperPositionMode','auto') set(hFig, 'Position', [100 200 600 200]) plot(CON); xlabel('čas [rok]'); ylabel('změna [%]'); title(jmeno); hold on; plot(CON_upraven, '-k'); legend('Puvodni datova rada',... 'Datova rada po aplikaci filtru');
Tento algoritmus si dává za cíl zjistit velikost korelace mezi zfiltrovanými časovými řadami po užití filtru s proporcionálně stejně velkou oblastí filtrování. Nejprve jsou vektory zkrácené na stejnou délku. cut =
GDPdelka - CONdelka + 1;
if cut>0 GDP_upraven = GDP_upraven(cut:end); else cut = - cut + 2; CON_upraven = CON_upraven(cut:end); end
Je proveden výpočet korelačního koeficientu mezi upravenými datovými řadami stavební produkce a HDP. Vypočtený korelační koeficient je uložen do proměnné R. R = corrcoef(GDP_upraven,CON_upraven); R = R(2,1);
Dochází k uložení dříve vygenerovaného grafu do souboru. name2=num2str(cell2mat(name)); radek2 = num2str (i + 11 * m); saveas(m + 1, soubor);
85
Dochází k uložení dat vypočteného korelačního koeficientu s velikostí filtru do tabulky Excel pod názvem result.xlsx nacházející se v domácí složce. cesta2 = ['B', radek2]; cesta3 = ['A', radek2] xlswrite('results.xlsx',R,'List2',cesta2); xlswrite('results.xlsx',name,'List2',cesta3); end
Zakončení vnějšího cyklu. end
Funkce IIRFILTHIGH Funkce IIRFILTHIGH umožňuje provést frekvenční filtraci vstupního vektoru x, o velikosti vektoru N, s popisem vodorovné osy v proměnné t, o požadavku na filtrovanou oblast freq, o vzorkovací frekvenci fs a o řádu filtru N_iir. function [y,P] = IIRFILTHIGH(x,N,t,freq,fs,N_iir)
Proměnná f obsahuje popisky k zobrazení vstupních dat. f = fs/2*linspace(0,1,N/2+1);
Funkce butter() navrhuje parametry filtru, který bude aplikovaný na vstupní vektor [48]. Parametry filtru jsou vygenerované na základě vstupních parametrů do funkce (jako je řád filtru, frekvence, vzorovací frekvence apod.) a výstupem jsou parametry filtru uložené v proměnných a a b. [b,a] = butter(N_iir,[freq/(fs/2)],'low');
Funkce residuez vypočítá parametr p, který bude určující při stanovení stability filtru (viz výše) [49]. Pro další použití se vypočítá absolutní hodnota z tohoto parametru a ta je uložena do proměnné P. [r,p,k] = residuez(b,a); P = abs(p);
Funkce filtfilt() provádí filtraci vektoru x s dříve navrženými parametry a a b [50]. Vektor po aplikaci filtru je uložen do proměnné y. y = filtfilt(b,a,x);
Dále jsou vygenerované charakteristiky filtru pro zobrazení výstupních dat pomocí funkce freqz(). 86
[H,fq] = freqz(b,a,N,fs);
Vygenerují se frekvenční složky dat před aplikací filtru a po aplikaci filtru do proměnných X, respektive Y pomocí funkce fft(). X = fft(x); Y = fft(y);
Následující část algoritmu je věnována zobrazení datových řad ve formě názorných spojnicových grafů dle syntaxe programovacího jazyku MATLAB [51]. f1 = figure; set(f1,... 'Color',[1 1 1],... 'Name','IIR FILTRACE'); subplot(2,1,1); plot(t,y,'k','LineWidth',1); title('Vystupni casova rada',...'FontWeight','bold'); xlabel('t [s]'); ylabel('y(t)'); grid on; axis tight; subplot(2,1,2); plot(fq,abs(H),'LineWidth',1); title(['Frekvencni charakteristika IIR filtru'],... 'FontWeight','bold'); xlabel('f [Hz]'); ylabel('|X(f)|,|Y(f)|'); grid on; hold on; plot(f,abs(X(1:N/2+1))/max(abs(X(1:N/2+1))),'r','LineWidth',1); plot(f,abs(Y(1:N/2+1))/max(abs(Y(1:N/2+1))),'k','LineWidth',1); axis tight; hold off; legend('filtr',... 'odfiltrovana oblast',... 'ponechana oblast'); end
87
2.3.5 Predikční algoritmus na základě korelačního koeficientu Vstupy excel_tabulka_1 – adresa první tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 1), excel_tabulka_2 – adresa první tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 2), poc_radek – řádek tabulky, od kterého začíná probíhat predikce na základě korelačního koeficientu, kon_radek – řádek tabulky, kterým končí oblast určená pro predikci na základě korelačního koeficientu, opakovani – počet cyklů generování náhodných čísel, scenario – vektor tří čísel, které určují kombinaci scénářů pro tři predikční období. Čísla reprezentují scénáře: 1 – pesimistická varianta (minimum) , 2 – neutrální varianta (střední hodnota), 3 – optimistická varianta (maximum). Příklad zadání vektoru scenario = [2,1,3]. Výstupy Výstupy jsou generované spojnicové grafy s možným vývojem vektorů z tabulky 1 podle vektorů z tabulky 2 pro budoucí tři období na základě vzájemných korelačních koeficientů. Algoritmus je možné upravit, aby ukládal číselné hodnoty do tabulky Excel nebo ukládal grafy do obrazového formátu.
Popis funkce Funkce s názvem predikcni_korelacni_algoritmus s požadovanými vstupy. function [vystupy] = predikcni_korelacni_algoritmus (excel_tabulka_1, excel_tabulka_2, poc_radek, kon_radek, opakovani, scenario)
Natavení pomocných hodnot rep, j, od, do. rep = opakovani; j = 1; od = poc_radek; do = kon_radek;
Nastavení hodnoty alfa, která odráží hladinu významnosti pro interval spolehlivosti korelačního koeficientu. Jedná se o tabulkové hodnoty. Pro hladinu významnosti 55% platí 88
hodnota alfa 0,125 [52]. Hodnoty je možné měnit dle tabulek a požadované hladiny spolehlivosti. alfa = 0.125;
Cyklus prochází všechny řádky určené pro predikci od počátečního řádku až do konečného. Číslo řádku je uloženo v proměnné i. for i = od:do
Dochází k načtení řádku z tabulky 1 a tabulky 2. Také se načítá jméno datové sady, které je uloženo v prvním sloupci tabulky. Jméno je uloženo do proměnné name. Časové řady jsou uloženy do proměnných vektorů CON a GDP. radek = num2str (i); CONcesta = strcat ('B', radek, ':R', radek); CON = xlsread(excel_tabulka_1,CONcesta); cesta2 = strcat('A', radek); [num name raw] = xlsread('cons annual 95-11.xls','Data',cesta2); GDPcesta = strcat ('B', radek, ':R', radek); GDP = xlsread('GDP.xls',GDPcesta);
Je vypočtena délka vektorů CON a GDP a je uložena do proměnné CONdelka, respektive GDPdelka. CONdelka = length (CON); GDPdelka = length (GDP);
Dojde ke zkrácení delšího vektoru, tak aby oba měly stejnou délku pro další použití. Dochází ke zkrácení vektoru ze začátku od první hodnoty. cut =
GDPdelka - CONdelka + 1;
if cut>0 GDP = GDP(cut:end); else cut = - cut + 2; CON = CON(cut:end); end
Dochází k výpočtu korelačního koeficientu vektoru CON a GDP. Korelační koeficient je uložen do proměnné r. R = corrcoef(GDP,CON); r = R(2,1)
89
Podmínka určuje hranici, pro kterou dojde k vypočtení predikce. Tato hranice je nastavena na úroveň korelačního koeficientu 0,67 [27]. if r > 0.67
Dochází k výpočtu intervalu spolehlivosti korelačního koeficientu na základě vzorců (12) a (13). Hranice intervalu jsou uloženy do proměnných rmax a rmin. Jedná se o horní, respektive spodní hranici. z = 0.5 * log((1+r)/(1-r)); rmax = tanh(z+(alfa/sqrt(length(GDP)-3))) rmin = tanh(z-(alfa/sqrt(length(GDP)-3)))
Další část obsahuje nastavení vykreslování grafu možných budoucích vývojů vektoru CON na základě vektoru GDP. figure('Position', [200, 200, 1000, 300]); title(name); xlabel('Roky'); ylabel('Roční změna [%]'); hold on; plot(GDP,'-sb'); plot(CON,'-*k');
Začíná oblast algoritmu věnovaná predikci prvního období v časové řadě CON podle časové řady GDP. GDP se bude rozšiřovat o další reálnou hodnotu z tabulky 2. Hodnota je uložena do proměnné GDP_plus a ta je pak následně přidána na konec vektoru GDP. GDPcesta = strcat ('S', radek); GDP_plus = xlsread(excel_tabulka_2 ,'Sheet0',GDPcesta); GDP(length(GDP)+1) = GDP_plus;
Vektor CON se také rozšiřuje o jednu hodnotu. Na této hodnotě nezáleží, a proto může být náhodná. CON(length(CON)+1) = -10 + (20).*rand(1);
Dochází k vynulování pomocné proměnné num a nastavení pomocného čítače j na hodnotu jedna. clearvars num; j = 1;
Cyklus provádí generování náhodných možných vývojů vektoru CON. Náhodné hodnoty jsou tvořeny generátorem pseudonáhodných čísel funkcí rand () [53]. Čísla jsou rovnoměrně 90
generována na intervalu <-10;10>. Náhodné číslo je vloženo do posledního pole vektoru CON. for a = 1:rep CON(length(CON)) = -10 + (20).*rand(1);
Po vytvoření náhodné hodnoty na konci vektoru CON je vypočten korelační koeficient mezi vektorem CON a GDP. V případě, že tento korelační koeficient spadá do intervalu zadaného hodnotami rmax a rmin je tato hodnota zaznamenána jako možný vývoj a uložena do jednoho pole vektoru num(j) na j-tou pozici. Hodnota j se zvětší o jednu, aby bylo možné zaznamenat další možný vývoj. r = corrcoef(GDP,CON); if r(1,2) < rmax & r(1,2)> rmin num(j) = CON(length(CON));
Možný vývoj je vykreslený do grafu. plot(CON,'-k') j = j + 1; end
Konec cyklu generování náhodných čísel pro první období. end
Do vektoru first_y jsou uloženy důležité hodnoty maxima, minima a střední hodnoty pro vektor num, který obsahuje všechny pravděpodobné vývoje pro daný rok. Tímto je ukončena predikce pro první období (rok). first_y = [min(num), mean(num), max(num)]
Začíná část věnující se předpovědi vývoje vektoru CON na druhé období do budoucnosti. Vektor GDP je rozšířen o další reálnou hodnotu z tabulky 2 (viz postup jako u roku 1). GDPcesta = strcat ('T', radek); GDP_plus = xlsread(excel_tabulka_2 ,'Sheet0',GDPcesta); GDP(length(GDP)+1) = GDP_plus;
Podle požadavku uživatele je vybrána varianta vývoje pro období 1 s jakou se bude dále počítat. Tato informace je obsažena ve vstupu proměnné scenario(1). Dále je vektor CON rozšířen o další pozici do budoucnosti, o období 2. CON(length(CON)) = first_y(scenario(1)); CON(length(CON)+1) = -10 + (20).*rand(1);
91
Dochází k vynulování pomocné proměnné num a nastavení pomocného čítače j na hodnotu jedna. clearvars num; j = 1;
Dochází ke stejnému výpočtu jako v případě výpočtu pro první období. for a = 1:rep CON(length(CON)) = -10 + (20).*rand(1); r = corrcoef(GDP,CON); if r(1,2) < rmax & r(1,2)> rmin num(j) = CON(length(CON)); plot(CON,'-k') j = j + 1; end
Konec cyklu generování náhodných čísel pro druhé období. end
Do proměnné second_y je uložené minimum, maximum a střední hodnota z hodnot vektoru num. Toto jsou možné scénáře vývoje druhého období. second_y = [min(num), mean(num), max(num)]
Dochází ke stejnému rozšíření pro třetí a poslední predikované období. Dochází k prodloužení vektoru GDP o další hodnotu a do vektoru CON je vložena požadovaná hodnota druhého období dle scénáře ze vstupu scenario(2). Dochází k vyčistění proměnných num a j. GDPcesta = strcat ('U', radek); GDP_plus = xlsread('GDP.xls','Sheet0',GDPcesta); GDP(length(GDP)+1) = GDP_plus CON(length(CON)) = second_y(scenario(2)); CON(length(CON)+1) = second_y(scenario(2)); plot(GDP,'-sb'); clearvars num; j = 1;
Dle stejného způsobu jako v předchozím kódu jsou vygenerovány možné vývoje vektoru CON, které jsou uloženy ve vektoru num a také zobrazeny v grafu. for a = 1:rep CON(length(CON)) = -10 + (20).*rand(1); r = corrcoef(GDP,CON); if r(1,2) < rmax & r(1,2)> rmin
92
num(j) = CON(length(CON)); plot(CON,'-k') j = j + 1; end
Konec cyklu generování náhodných čísel pro třetí období. end
V případě, že datové řady z tabulky 1 a 2 nesplňují podmínku vzájemného korelačního koeficientu R > 0,67, tak jsou vyřazeny a jejich jméno je vypsáno v terminálovém okně. else disp ('VYRAZENO: '); disp (name); end legend('HDP', 'ISP', 'předpovědi ISP' , 'Location','NorthWest'); end
2.3.6 Predikční algoritmus na základě neuronových sítí
Vstupy excel_tabulka_1 – adresa první tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 1), excel_tabulka_2 – adresa první tabulky vstupních dat ve formátu Excel (dle vzoru tabulky v příloze 2), poc_radek – řádek tabulky, od kterého začíná probíhat predikce na základě korelačního koeficientu, kon_radek – řádek tabulky, kterým končí oblast určená pro predikci na základě korelačního koeficientu, excel_vystup – adresa tabulky ve formátu Excel do které se budou ukládat po řádcích predikovaná data. Výstupy Výstupem funkce jsou uložené grafy s hodnotami vygenerovanými algoritmem neuronové sítě. Na těchto grafech je vidět výsledek učícího procesu neuronové sítě a také 93
predikované hodnoty. Dalším výstupem jsou predikované (generované) hodnoty ukládané do tabulky Excel.
Popis funkce Funkce s názvem predikcni_neuronove_site s požadovanými vstupy. function
[vystupy]
=
predikcni_neuronove_site
(excel_tabulka_1,
excel_tabulka_2, poc_radek, kon_radek, excel_vystup)
Proměnná test obsahuje počet hodnot časových řad, které budou požadovány jako vstupní hodnoty do neuronové sítě. test = 7;
Cyklus prochází všechny řádky ze vstupních tabulek. Co řádek to vlastní výpočet a predikce. Pro každý řádek je neuronová síť nastavena individuálně dle charakteristik časových řad. for i = poc_radek: kon_radek
V proměnné err je ukládána chyba učící části algoritmu. Zde je proměnná pouze alokována. err = 1;
Tento vnitřní cyklus zaručuje, že se učící část algoritmu neuronové sítě bude opakovat až do chvíle než chyba učícího algoritmu klesne pod stanovenou mez. Chyba učícího algoritmu je zde definovaná jako suma absolutních hodnot rozdílů mezi původní učící částí a učící částí časové řady vygenerovanou neuronovou sítí (princip podrobně v kapitole 2.2.2 Predikce na základě neuronových sítí. Podkapitola: Požadavky na předpovědi pomocí neuronové sítě). Prahová hodnota 0.02 byla nastavena na základě odborného posouzení poměru výpočetní časové náročnosti algoritmu a vizuální přesnosti výsledků. while err > 0.02
Aby nedocházelo k promísení výsledků, dojde k zavření všech oken s grafy. close all;
V této části dojde k načtení potřebných dat analogicky jako v předchozích funkcích, viz předchozí kapitoly. radek = num2str (i); CONcesta = strcat ('B', radek, ':R', radek); CON = xlsread(excel_tabulka_1,CONcesta); cesta2 = strcat('A', radek); [num name raw] = xlsread(excel_tabulka_1,'Data',cesta2);
94
radek = num2str (i); GDPcesta = strcat ('B', radek, ':R', radek); GDP = xlsread(excel_tabulka_2,GDPcesta);
V této části dojde k oříznutí vektorů na stejnou délku analogicky k předchozím algoritmům, viz předchozí kapitoly. CONdelka = length (CON); GDPdelka = length (GDP); cut =
GDPdelka - CONdelka + 1;
if cut>0 GDP = GDP(cut:end); else cut = - cut + 1; CON = CON(cut:end); end delka = length (CON);
Zde je vytvořena matice vstupů do neuronové sítě. Jsou do ní vloženy hodnoty z časové řady za tabulky 1 a 2. Struktura vstupů je dle schématu na obrázku 42 (strana 64). P{1,:} = [GDP(delka-test-5:delka-5)',GDP(delka-test-4:delka4)',GDP(delka-test-3:delka-3)',GDP(delka-test-2:delka-2)',GDP(delkatest-1:delka-1)',GDP(delka-test:delka)']; P{2,:} = [CON(delka-test-5:delka-6)',CON(delka-test-4:delka5)',CON(delka-test-3:delka-4)',CON(delka-test-2:delka-3)',CON(delkatest-1:delka-2)',CON(delka-test:delka-1)'];
V proměnné T je uložena učící část druhého vektoru podle schématu dle odkazu výše. T = CON(delka-5:delka);
Zde dochází k vybudování struktury sítě, která je uložená do proměnné net. Jedná se o strukturu sítě Feedforward s učícím algoritmem trains a se dvěma skrytými vrstvami neuronů. net = feedforwardnet(2, 'trains');
Zde je nastaven počet vstupů na dva reprezentované dvěma časovými řadami. net.numInputs = 2;
Učící část algoritmu neuronové sítě je ve své podstatě optimalizační proces a jako většina optimalizačních procesů i tento využívá cyklického opakování výpočtů. V tomto řádku kódu je nastaven maximální počet cyklů učícího procesu. S časových důvodů je nastaven na hodnotu 2000. 95
net.trainParam.epochs = 2000;
Pro kontrolu je vygenerované grafické znázornění struktury sítě uložené v proměnné net. Grafické znázornění je vidět na obrázku 48, který je z důvodů zachování kontinuity zdrojového kódu umístěn v závěru kapitoly (strana 98). view(net);
Zde je neuronová síť uložená v proměnné net trénována pomocí vstupů uložených v proměnné P a učící části uložené v proměnné T. Učící proces je možné sledovat v grafickém prostředí aplikace MATLAB. Jeho ztvárnění je vidět na obrázku 49 (strana 99). net = train(net,P,T);
Aby bylo možné ověřit správnou funkci učícího algoritmu, jsou na základě naučené sítě vygenerovány hodnoty ekvivalentní učící fázi uložené ve vektoru T na základě vstupů P. Výsledek je uložen do proměnné Y1. Y1 = sim(net,P);
Jak už bylo zmíněno na začátku algoritmu, dojde k vypočtení chyby, která charakterizuje rozdíl mezi skutečnou a vypočítanou učící oblastí. Jedná se o sumu absolutních hodnot rozdílů obou vektorů. err = Y1{1} - CON(end-5:end); err = abs(err); err = sum (err)
Tato část je věnována výše zpracovaných dat. Výstupem je graf, jehož obdobu můžeme vidět na obrázku 45 (strana 65). z = zeros(1,delka-6); Y1 = [z,Y1]; velikost = size(CON); zacatek = 2011 - velikost(2) + 1; x = [zacatek:2011]; h = 1; figure (h); hFig = figure(h); set(hFig, 'Position', [200
200 1200 500]);
plot(x, CON, '-*r'); hold on; plot(x, GDP, '-*g');
96
plot(x, [Y1{1},Y1{2}], '-oK'); xlabel('čas [rok]'); ylabel('změna [%]'); title(name); legend('Změna ISP [%]','Změna HDP [%]', 'Změna ISP generovaná NS [%]', 'Location', 'NorthWest');
V případě, že vypočtená chyba v proměnné err není pod stanoveným limitem (primárně nastaveno na 0,02), zde se algoritmus vrací na začátek cyklu while. end
V případě, že je limit u velikosti chyby učícího procesu dodržen, algoritmus pokračuje ke generování požadovaných budoucích hodnot (v tomto případě pro ISP rok 2012).
Na
následujících řádcích dochází k přípravě vstupních hodnot do neuronové sítě dle dříve popsaného principu. cesta2 = strcat('S', radek); [GDP_next foo raw] = xlsread(excel_tabulka_2,'Sheet0',cesta2); GDP = [GDP, GDP_next]; GDPdelka = length (GDP); P{1,:} = [GDP(GDPdelka-test:GDPdelka)']; P{2,:} = [CON(delka-test+1:delka)'];
Hodnota je generována na základě nastavené a naučené neuronové sítě v proměnné net a vstupních hodnot uložených v proměnné P. Vygenerovaná hodnota je uložena do proměnné vysledek. vysledek = sim(net,P)
Je generován nový graf s hodnotou budoucího vývoje. Výsledky tohoto výpočtu jsou k dispozici v příloze č. 10. x = [x,2012]; pre = [Y1{1},Y1{2}]; pre = [pre, vysledek{1}]; plot(x, GDP, '-*g'); plot(x, pre, '-oK');
Grafy jsou uloženy do grafického formátu emf. V názvu souboru je jméno časové řady. name2 = strcat(name, '.emf'); name2=num2str(cell2mat(name2));
97
saveas(h , name2);
Hodnoty výsledků jsou uloženy do tabulky formátu Excel. name2=num2str(cell2mat(name)); radek = num2str (i); cesta2 = strcat ('A', radek); xlswrite(excel_vystup,vysledek{1},'vysledky',cesta2);
Celý proces je opakován pro všechny zdroje uvedené na vstupech funkce. end
Grafika
Obrázek 48 Struktura neuronové sítě generovaná algoritmem MATLAB (zdroj: aplikace MATLAB)
98
Obrázek 49 Uživatelské prostředí pro sledování učícího procesu neuronové sítě (zdroj: aplikace MATLAB)
99
3. Závěrečná část 3.1.
Odpovědi na otázky a cíle práce
Vědecká otázka: Obsahuje vývoj stavební produkce za posledních 20 let statisticky významné charakteristické rysy? Ano obsahuje. Jako charakteristický rys bylo v kapitole 2.1. Analýza časových řad dokázáno, že vývoj stavební produkce za posledních 20 let neobsahuje zřetelně definovanou cyklickou složku vývoje. Toto zjištění platí pro výraznou většinu zkoumaných států. U výrazné většiny zkoumaných států bylo také zjištěno navzdory očekáváním, že změny indexu stavební produkce neobsahují výrazný časový posun oproti vývoji hrubého domácího produktu. K zajímavému rozdělení států došlo při výpočtu autokorelace časové řady. U některých států byla tato setrvačnost vývoje změny indexu stavební produkce prokázána. U jiných byla zcela nepřítomna. Tento fakt by měl být předmětem dalšího výzkumu. Vědecká otázka: Existuje podobnost mezi vývojem stavební produkce a HDP ve státech EU? Je tato případná podobnost všude stejná? Tato podobnost existuje v různých úrovních u jednotlivých států. Otázka byla analyzována pomocí korelačního koeficientu a nalezená podobnost je u jednotlivých států EU velmi rozdílná. Zajímavé je geografické shlukování států s podobnými výsledky (viz obrázek 19 na straně 38). Tento fakt by měl být předmětem dalšího výzkumu. Vědecká otázka: Je možné vytvoření predikčních modelů pro předpověď stavební produkce ve státech EU? Zjištěná úroveň autokorelace časové řady změny indexu stavební produkce a podobnost mezi vývojem indexu stavební produkce a HDP dává teoretickou možnost předpovědi budoucích hodnot indexu stavební produkce pro některé státy EU. Pro účely práce byly vytvořeny dva predikční algoritmy pracující s těmito předpoklady.
100
Cíl: Vytvořit predikce budoucího vývoje indexu stavební produkce na základě technické analýzy pro další výzkum. Cíl byl splněn. Pomocí predikčních algoritmů na základě korelačního koeficientu a neuronových sítí byla vytvořena řada predikcí pro změnu indexu stavební produkce pro roky 2012, 2013 a 2014. Přesnost predikcí byla ověřena na reálných datech roku 2012. Došlo k potvrzení správné funkce algoritmů, ale bylo dosaženo závěru, že přesnost předložených predikcí je nízká. Nicméně výsledky ukazují, že zde existuje prostor pro jejich další zpřesnění a využití.
3.2.
Závěr
Shrnutí Na všechny vědecké otázky bylo odpovězeno a cíl práce byl splněn. Práce se věnovala analýze časových řad vývoje změn HDP a indexu stavební produkce v časovém období posledních 20 let pro státy Evropské unie. Datovou základnou byla volně dostupná databáze Eurostat. Práce předkládá řadu výsledků z oblasti analýzy chování změn indexu stavební produkce pro státy EU. Na základě dosažených výsledků byly vytvořeny dva predikční algoritmy pro předpovědi vývoje stavební produkce pro příští roky. Algoritmy byly použity pro vytvoření možných vývojů stavebnictví pro státy EU pro roky 2012 až 2014. Predikovaná data byla porovnána s reálnými výsledky roku 2012. Dílčím výstupem práce jsou také vytvořené programové prostředky, které jsou volně k dispozici ve formě knihovny funkcí aplikace MATLAB s komentářem ke stažení na stránkách autora práce [5]. Budoucí výzkum Práce byla koncipována tak, aby bylo možné výsledky a výstupy použít pro další výzkum. Zde jsou shrnuty představy a plány jejich budoucího využití: 1) Ověření předpovědí pro rok 2013 a 2014 s reálnými daty databáze Eurostat. 2) Porovnání úspěšnosti čistě technické analýzy predikcí ISP se subjektivními předpověďmi odborníků s oblasti stavebnictví (dle literatury [54]). 3) Zjištění proč dochází k tak rozdílným výsledkům při výpočtech korelace mezi ISPHDP a autokorelace mezi jednotlivými státy EU. 101
Historie práce Část práce věnující se korelace stavební produkce a HDP a predikcím budoucího vývoje byla prezentována v soutěži CEGA (CEEC Education Graduation Award) pořádané sdružením CEEC – sdružení Evropských ekonomů ve stavebnictví (v originále European Council Of Construction Economists). Tato část práce byla prezentována formou samostatného příspěvku ve finále soutěže na konferenci CEEC 2013 v Bruselu a pořadateli oceněna druhým místem. Soutěžní příspěvek je k dispozici na webových stránkách autora [55].
102
Citovaná literatura 1. Young, Allan H. a Hibbert, Jack. Reliability and Accuracy of Quarterly GDP Estimates: A Review. The New System of National Accounts. místo neznámé : Springer Netherlands, 1996, stránky 423-455. 2. Yamarone, Richard. The Trader's Guide to Key Economic Indicators. místo neznámé : Bloomberg Financial, 2012. ISBN 1118074009. 3. Jarušková, Daniela. Pravděpodobnost a matematická statistika. 2. vydání. Praha : Česká technika - nakladatelství ČVUT, 2006. ISBN 9788001035207.. 4. THE MATHWORKS INC. MATLAB 7. [Online] THE MATHWORKS INC. [Citace: 28. leden 2013.] http://www.mathworks.com/products/matlab/. 5. Dudáš, David. Obsah. Stránky Davida Dudáše. [Online] [Citace: 30. srpen 2013.] http://daviddudas.cz/. 6. WORLD ECONOMIC AND FINANCIAL SURVEYS. International Monetary Fund. [Online] duben 2013. [Citace: 4. červen 2013.] http://www.imf.org/external/pubs/ft/weo/2013/01/pdf/text.pdf. ISBN 9781616355555. 7. Eurostat. Eurostat Home. [Online] [Citace: 28. leden 2013.] http://epp.eurostat.ec.europa.eu. 8. Makroekonomická predikce. Ministerstvo financí České republiky. [Online] [Citace: 4. červenec 2013.] http://www.mfcr.cz/cs/verejny-sektor/prognozy/makroekonomicka-predikce. 9. Aktuální prognóza ČNB. Česká národní banka. [Online] [Citace: 4. červenec 2013.] http://www.cnb.cz/cs/menova_politika/prognoza/. 10. Polák, Zdeněk. Evaluation of Macroeconomic Forecasting. Bachelor thesis. Prague : Charles University in Prague, Faculty of social sciences, Institute of Economic Studies, 2011. Dostupné z: http://ies.fsv.cuni.cz/work/index/show/id/1546/lang/cs. 11. Pravidelné analýzy stavebnictví. CEEC Research. [Online] [Citace: 5. červenec 2013.] http://www.ceec.eu/services/. 12. Euroconstruct - about. Euroconstract. [Online] [Citace: 5. červenec 2013.] http://www.euroconstruct.org/about/about.php. 13. Studie. CEEC Research. [Online] [Citace: 5. červenec 2013.] http://www.ceec.eu/research/download-research-file?iFileId=136. 14. Eurostat. Eurostat: Construction production index - Data Explorer. [Online] [Citace: 28. leden 2013.] http://appsso.eurostat.ec.europa.eu/nui/show.do?dataset=sts_coprgr_a&lang=en. 15. Abdelhamid, T. a Everett, J. Time Series Analysis for Construction Productivity Experiments. Journal of Construction Engineering and Management. 1999, Sv. 2, 125, stránky 87–95. 16. Hwang, S. Time Series Models for Forecasting Construction Costs Using Time Series Indexes. Journal of Construction Engineering and Management. 2011, Sv. 9, 137, stránky 656–662. 17. Hrubý domácí produkt (HDP) - Metodika. Český statistický úřad. [Online] [Citace: 9. červenec 2013.] http://www.czso.cz/csu/redakce.nsf/i/hruby_domaci_produkt_%28hdp%29. 18. Statistický metainformační systém. Český statistický úřad. [Online] [Citace: 9. červenec 2013.] http://apl.czso.cz/iSMS/ukazdet.jsp?fpismeno=I&fid=5939. 19. Popelka, Jan a Sinek, Václav. Úvod do statistické analýzy dat. Ústí nad Labem : Univerzita J. E. Purkyně v Ústí nad Labem, Fakulta životního prostředí, 2009. ISBN 9788074141171.
103
20. Eurostat. Eurostat: GDP - Data Explorer. [Online] [Citace: 28. leden 2013.] http://epp.eurostat.ec.europa.eu/tgm/table.do?tab=table&plugin=1&language=en&pcode=tsde c100. 21. Hindls, Richard, a další, a další. Statistika pro ekonomy. Praha : Professional Publishing, 2007. ISBN 9788086946436. 22. Fast Fourier transform. MathWorks. [Online] [Citace: 13. 7 2013.] http://www.mathworks.com/help/matlab/ref/fft.html. 23. Fast Fourier Transform. Phpclasses. [Online] [Citace: 17. červenec 2013.] http://www.phpclasses.org/package/6193-PHP-Compute-the-Fast-Fourier-Transform-ofsampled-data.html. 24. Dudáš, David. Online Frequency Analyser. David Dudáš. [Online] [Citace: 17. červenec 2013.] http://www.daviddudas.cz/fft/index.php. 25. Hušek, Roman. Ekonometrická analýza. Praha : Oeconomica, 2007. ISBN 9788024513003. 26. Artl, J a Radkovský, Š. The lag analysis in modelling of relationship of economic time series. Politická ekonomie. Praha : VŠE, 2011. 27. Taylor, R. Interpretation of the Correlation Coefficient: A Basic Review. Journal of Diagnostic Medical Sonography. 1990, Sv. 6, 1, stránky 35-39. Dostupné z: http://www.uk.sagepub.com/salkind2study/articles/05Article01.pdf. 28. Berná, Zuzana. Dvouvýběrové parametrické a neparametrické testy. Bakalářská práce. Brno : Masarykova Universita, 2006. 29. Tse, R a Genesan, S. Causal relationship between construction fows and GDP: evidence from Hong Kong. Construction Management and Economics. 1997, Sv. 4, 15, stránky 371376. Dostupné z: http://www.hkir.com/CME15_4.pdf. 30. Hančlová, Jana a Tvrdý, Lubor. Úvod do analýzy časových řad. VŠB-TU Ostrava. [Online] [Citace: 7. srpen 2013.] http://gis.vsb.cz/panold/Skoleni_Texty/TextySkoleni/AnalyzaCasRad.pdf. 31. King, Robert a Rebelo, Sergio. Low frequency filtering and real business cycles. Journal of Economic Dynamics and Control. 1993, Sv. 1-2, 17, stránky 207–231. 32. IIR Filter Design. MathWork. [Online] [Citace: 7. srpen 2013.] http://www.mathworks.com/help/signal/ug/iir-filter-design.html. 33. Fabian, František a Kluiber, Zdeněk. Metoda Monte Carlo a možnosti jejího uplatnění. Praha : PROSPEKTRUM s.r.o., 1998. ISBN 8071750581. 34. Hoteling, H. New light on the correlation coefficient and its transforms. JOURNAL OF THE ROYAL STATISTICAL SOCIETY SERIES B-STATISTICAL METHODOLOGY. 1953, Sv. 2, 15, stránky 193-232 . 35. Markechová, Dagmar, Stehlíková, Beáta a Tirpáková, Anna. Štatistické metódy a ich aplikácia. Nitra : Univerzita Konštantína v fylozofa v Nitre, 2011. str. 373. ISBN 9788080948078. 36. Real GDP growth rate - volume. Eurostat. [Online] [Citace: 21. říjen 2013.] http://epp.eurostat.ec.europa.eu/tgm/table.do?tab=table&init=1&plugin=1&language=en&pco de=tec00115. 37. Production in construction - annual data, percentage change. Eurostat. [Online] [Citace: 21. říjen 2013.] http://appsso.eurostat.ec.europa.eu/nui/show.do?dataset=sts_coprgr_a&lang=en. 38. Šnorek, Miroslav a Jiřina, Marcel. Neuronové sítě a neuropočítače. Praha : Vydavatelství ČVUT, 1996. ISBN 800101455X. 39. Tučková, Jana. Vybrané aplikace umělých neuronových sítí při zpracování signálů. Praha : česká technika - nakladatelství ČVUT, 2009. ISBN 9788001042298. 104
40. Bond Rating: A non conservative application of neural networks. Dutta, Soumitra a Shekhar, Shashi. San Diego, CA : Proceeding of the IEEE International Conference on Neural Networks, 1990. 41. Neural networks for bond rating improved by multiple hidden layers. Surkan, Alvin a Singleton, Clay. San Diego, CA : Proceeding of the IEEE International Conference on Neural Networks, 1990. 42. Kaastra, Iebeling a Boyd, Milton. Designing a neural network for forecasting financial and economical time series. Neurocomputing. 1996, 10, stránky 215-236. SSDI 0925231295000399. 43. Hyakin, Simon. FEEDFORWARD NEURAL NETWORKS: AN INTRODUCTION. Wiley. [Online] [Citace: 4. listopad 2013.] http://media.wiley.com/product_data/excerpt/19/04713491/0471349119.pdf. 44. Zhang, GP a Berardi, VL. Time series forecasting with neural network ensembles: an application for exchange rate prediction. Journal of the Operational Research Society. 2001, 52, stránky 652-664. 45. Tadeusiewcz, Ryszard. Principles of training multi-layer neural network using backpropagation. AGH University of Science and Technology. [Online] [Citace: 4. listopad 2013.] http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html. 46. Vacic, Vladimir. Summary of the training functions in Matlab’s NN toolbox. Computer Science Department at the University of California. [Online] [Citace: 7. listopad 2013.] http://alumni.cs.ucr.edu/~vladimir/cs171/nn_summary.pdf. 47. Sample autocorrelation. Mathwork. [Online] [Citace: 8. srpen 2013.] http://www.mathworks.com/help/econ/autocorr.html. 48. Butterworth filter design. Mathworks. [Online] [Citace: 8. zaří 2013.] http://www.mathworks.com/help/signal/ref/butter.html?searchHighlight=butter. 49. z-transform partial-fraction expansion. Mathworks. [Online] [Citace: 8. zaří 2013.] http://www.mathworks.com/help/signal/ref/residuez.html. 50. Zero-phase digital filtering. MathWorks. [Online] [Citace: 8. září 2013.] http://www.mathworks.com/help/signal/ref/filtfilt.html. 51. 2-D line plot. MathWorks. [Online] [Citace: 8. září 2013.] http://www.mathworks.com/help/matlab/ref/plot.html. 52. Jarušková, Daniela a Hála, Martin. Pravděpodobnost a matematická statistika tabulky. Praha : Nakladatelství ČVUT, 2006. ISBN 8001035190. 53. Uniformly distributed pseudorandom numbers. MathWorks. [Online] [Citace: 20. říjen 2013.] http://www.mathworks.com/help/matlab/ref/rand.html. 54. Taleb, Nassim Nicholas. The Black Swan. New York : Random House, 2007. ISBN 9781400063512. 55. Dudáš, David. Correlation between Straight of Economy and Construction Production. Soukromé stránky Davida Dudáše. [Online] [Citace: 8. červenec 2013.] http://www.daviddudas.cz/files/Paper_CEGA_Competition_David_Dudas.pdf.
105
Seznam tabulek Tabulka 1 Členské státy Evropské unie k 1. 1. 2013 ............................................................... 13 Tabulka 2 Ukázka použitých dat (celé EU) změna indexu HDP a stavební produkce k předchozímu roku ..................................................................................................................... 16 Tabulka 3 Autokorelační koeficienty prvního řádu pro deset zemí EU ................................... 26 Tabulka 4 Tabulka autokorelačních koeficientů stavební produkce pro země EU .................. 30 Tabulka 5 Korelační koeficienty HDP a indexu stavební produkce bez posunu a s ročním kompenzačním posunem .......................................................................................................... 35 Tabulka 6 Testování víceletého posunu časových řad HDP a indexu stavební produkce ....... 36 Tabulka 7 Korelační koeficienty vztahu vývoje HDP a objemu stavební produkce zemí EU 37 Tabulka 8 Korelační koeficienty mezi ISP a HDP s různou procentuální filtrací vysokých frekvencí. Filtrace provedena na ISP ....................................................................................... 43 Tabulka 9 Korelační koeficienty mezi ISP a HDP s různou procentuální filtrací vysokých frekvencí. Filtrace provedena na ISP a HDP............................................................................ 44 Tabulka 10 Číselné hodnoty předpovědí pro změnu ISP pro Finsko pro roky 2012 a 2013 ... 53 Tabulka 11 Neutrální scénáře vývoje změny ISP pro vybrané státy EU s R>0,67 (14 států).. 54 Tabulka 12 Neutrální scénáře vývoje změny ISP pro vybrané státy EU po aplikaci frekvenčního filtru s R>0,67 (16 států) .................................................................................... 55 Tabulka 13 Diference predikovaných vývojů ISP před a po aplikaci frekvenčního filtru ....... 56 Tabulka 14 Porovnání reálných a predikovaných hodnot pro ISP 2012 .................................. 57 Tabulka 15 Predikce změny ISP pro roky 2012, 2013 a 2014 ................................................. 68 Tabulka 16 Výsledky predikčních algoritmů a skutečné hodnoty Eurostatu pro změnu ISP pro rok 2012.................................................................................................................................... 70 Tabulka 17 Rozdíly predikcí s reálnými hodnotami ISP pro 2012 dle Eurostatu .................... 71 Tabulka 18 Analýza výsledků tabulky 17 ................................................................................ 71
Seznam obrázků Obrázek 1 Členské státy Evropské unie k 1. 1. 2013 ............................................................... 13 Obrázek 2 Změna indexu stavební produkce - měsíční data - Německo ................................. 15 Obrázek 3 Změna indexu stavební produkce - roční data - Německo ..................................... 15 Obrázek 4 Časové řady vývoje HDP a stavební produkce – data z celé Evropské unie .......... 16 Obrázek 5 Testovací hodnoty pro Fourierovu transformaci .................................................... 20 Obrázek 6 Výsledek výpočtu algoritmu - frekvenční analýza ................................................. 21 Obrázek 7 Frekvenční analýza stavební produkce pro Německo ............................................ 22 Obrázek 8 Vzorová data pro výpočet autokorelace – s trendem .............................................. 24 Obrázek 9 Vzorová data pro výpočet autokorelace – náhodné hodnoty .................................. 25 Obrázek 10 Vzorová data pro výpočet autokorelace - záporná autokorelace .......................... 25 Obrázek 11 Autokorelační koeficenty - vzorová časová řada.................................................. 28 Obrázek 12 Výpočet autokorelace vyšších řádů pro stavební produkci Německo .................. 29 Obrázek 13 Autokorelační koeficienty stavební produkce – Polsko ....................................... 29 Obrázek 14 Autokorelační koeficienty prvního řádu u zemí EU ............................................. 31 Obrázek 15 Časové řady HDP a ISP s viditelným časovým posunem (originální data) ......... 32 Obrázek 16 Časové řady HDP a ISP s uměle kompenzovaným časovým posunem (upravená data) .......................................................................................................................................... 33 Obrázek 17 Vzorová data s posunem 2 časové jednotky ......................................................... 34 106
Obrázek 18 Vzorová data s kompenzací posunu o 2 časové jednotky..................................... 34 Obrázek 19 Mapa Evropy s mírou korelace mezi ISP a HDP ................................................. 38 Obrázek 20 Znázornění použití frekvenčního filtru na frekvenční spektrum časové řady ...... 40 Obrázek 21 Aplikace filtru na vzorových datech ..................................................................... 40 Obrázek 22 Princip požadavku na filtrovanou oblast vyjádřenou procenty (příklad 20%) ..... 42 Obrázek 23 Frekvenční filtrace časové řady stavební produkce s filtrováním 20% vysokých frekvencí ................................................................................................................................... 43 Obrázek 24 Frekvenční filtrace časové řady stavební produkce s filtrováním 60% vysokých frekvencí ................................................................................................................................... 43 Obrázek 25 Průměrný korelační koeficient s filtrováním oblastí od nejvyšší frekvence. Filtrace ISP. .............................................................................................................................. 44 Obrázek 26 Průměrný korelační koeficient s filtrováním oblastí od nejvyšší frekvence. Filtrace ISP a HDP. .................................................................................................................. 45 Obrázek 27 Princip predikčního algoritmu na základě korelačního koeficientu ..................... 47 Obrázek 28 Interpretace scénářů vývoje pomocí pravděpodobnosti jejich realizace .............. 49 Obrázek 29 Rozdílné vektory predikčních scénářů ve dvou následujících letech ................... 49 Obrázek 30 Časové řady testovací sady dat ............................................................................. 50 Obrázek 31 Optimistický scénář vývoje pro tři budoucí období ............................................. 50 Obrázek 32 Pesimistický scénář vývoje pro tři budoucí období .............................................. 51 Obrázek 33 Předpověď změny indexu stavební produkce pro Finsko pro rok 2012 ............... 51 Obrázek 34 Predikce změny indexu stavební produkce pro Finsko založené na neutrální předpovědi 2012 ....................................................................................................................... 52 Obrázek 35 Predikce změny indexu stavební produkce pro Finsko založené na optimistické předpovědi 2012 ....................................................................................................................... 52 Obrázek 36 Predikce změny indexu stavební produkce pro Finsko založené na pesimistické předpovědi 2012 ....................................................................................................................... 52 Obrázek 37 Předpověď stavební produkce pro Rakousko pro rok 2012 založená na nízkém korelačním koeficientu ............................................................................................................. 56 Obrázek 38 Zastoupení výsledků při porovnání reálných a predikovaných hodnot ISP 2012 58 Obrázek 39 Umělý neuron dle vzoru McCulloch-Pitts ............................................................ 60 Obrázek 40 Grafické znázornění struktury neuronové sítě ...................................................... 61 Obrázek 41 Vzor časové řady rozdělený na úseky pro učení neuronové sítě .......................... 61 Obrázek 42 Učení neuronové sítě pro predikci ISP ................................................................. 64 Obrázek 43 Požadované fungování neuronové sítě pro predikci ISP ...................................... 64 Obrázek 44 Ukázka selhání učícího algoritmu Back-propagation (MATLAB funkce traingdx) .................................................................................................................................................. 65 Obrázek 45 Ukázka dobře fungujícího učícího algoritmus (MATLAB funkce trains) ........... 65 Obrázek 46 Úspěšný učící proces pro vzorová data ................................................................ 66 Obrázek 47 Předpověď změny ISP pro rok 2012 prezentovaný na vzorových datech ............ 67 Obrázek 48 Struktura neuronové sítě generovaná algoritmem MATLAB .............................. 98 Obrázek 49 Uživatelské prostředí pro sledování učícího procesu neuronové sítě ................... 99
107
Příloha č. 1 - Změna indexu stavební produkce pro státy Evropské unie
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
A GEO/TIME Belgie Bulharsko Česká republika Dánsko Německo Estonsko Irsko Řecko Španělsko Francie Itálie Kypr Lotyšsko Litva Lucembursko Maďarsko Malta Nizozemsko Rakousko Polsko Portugalsko Rumunsko Slovinsko Slovensko Finsko Švédsko Velká Británie
C
B 1995
D
1996 1,3
: : :
0,5 : :
: :
: : 5,7 0,9
: : : : : : : :
2,3
: :
:
-0,4 : : -3,4
: : : :
: :
: : : 1,3
: 2,0 1,3
: : : 3,8 8,1 1,4 -1,1
13,8 11,1
: 7,7 : : 1,7 3,9
: : -3,5 12,8 3,8 1,7
7,2 -18,3
8,0 : :
: : : 9,2 13,1 -4,9 2,2
:
:
: :
10,7 5,9 6,5
8,4 -9,1
13,1
8,7 16,8
: :
:
:
0,8 1,7 -3,5 18,6
8,6 3,6 8,8
18,4 24,9
9,5
2,2 10,5
: :
:
-8,7 :
-6,9 6,2 0,8 -17,6
9,6 -0,4 -0,5
8,4 : :
3,9
-7,3 8,5 -2,9 32,3
H 2001
2000
:
: :
: 2,1
: :
1,5
2,8 -3,3 1,9
G
1999
: -1,4 -4,6 11,8
-1,5 -5,2 -1,8
F
1998
: : 4,4 -6,7 5,8
-1,2 10,3
E
1997
-0,6 1,2 : :
27,6 -25,9 3,1 4,3 1,3
2,9 0,2 8,0 4,5 4,2
-0,1 15,2 10,3 -6,7 -7,6 4,1 2,8 6,6 3,0 3,8 5,9 3,7 6,2 7,7 4,2 9,3 -4,1 1,9 -0,6 -11,0 4,7 11,6 -10,5 0,7 0,0 6,2 1,1
I 2002 -1,4 3,1 2,9 -1,2 -4,3 22,6 1,9 39,1 0,6 -0,5 5,1 3,2 12,1 21,7 1,9 18,0 22,4 -3,2 0,5 -10,0 -1,1 4,6 7,5 4,2 1,4 0,4 4,6
J 2003
K 2004
0,0 3,7 9,5 2,2 -4,2 6,1 7,3 -5,7 7,2 -0,5 2,8 6,5 13,1 28,0 0,9 2,7 -5,6 -4,9 12,3 -7,0 -8,6 3,2 9,6 5,6 4,2 2,6 5,6
3,1 34,8 8,6 -0,2 -5,3 12,5 25,4 -15,9 2,3 0,5 1,9 4,4 13,1 6,6 -1,1 4,3 6,4 -2,6 5,0 -1,9 -4,4 1,5 0,7 5,9 4,4 0,4 3,5
L 2005 0,3 32,1 5,2 2,7 -5,1 22,4 9,7 -38,7 10,9 3,6 1,0 2,9 15,5 9,8 -0,9 15,7 18,6 3,2 4,9 9,2 -4,5 6,4 2,0 14,4 5,1 0,8 -0,5
M 2006
N 2007
3,5 24,4 6,3 3,0 6,0 26,9 3,1 3,6 2,2 2,5 3,8 4,1 13,3 21,8 2,4 -0,7 4,7 2,4 5,9 15,5 -6,3 15,6 15,7 15,6 7,8 6,8 1,4
2,2 27,7 6,8 -5,7 2,8 13,5 -13,7 14,3 -4,3 4,5 6,4 6,8 13,6 22,3 2,7 -14,0 8,6 5,6 3,9 16,3 -4,0 33,1 18,5 5,5 10,2 10,6 2,3
O 2008 1,1 11,8 -0,3 7,6 -0,3 -13,3 -29,1 7,7 -16,3 -1,9 -0,8 2,3 -3,1 3,7 -1,2 -5,2 7,5 3,2 -0,8 10,4 -1,2 26,7 15,5 11,4 4,0 -0,8 -1,3
P 2009 -3,7 -14,2 -0,6 -7,9 0,0 -29,8 -36,1 -17,5 -11,3 -5,1 -11,6 -10,6 -34,9 -48,4 0,4 -4,4 -3,9 -5,5 -1,7 4,4 -6,6 -15,1 -20,9 -11,1 -13,1 -9,9 -11,6
Q 2010 -1,7 -14,3 -7,3 -9,4 0,3 -8,5 -30,3 -29,2 -20,2 -5,1 -3,5 -8,0 -23,4 -8,0 0,2 -10,4 -4,6 -11,0 -4,0 3,6 -8,5 -13,4 -16,9 -4,4 11,9 7,5 7,3
R 2011 5,6 -13,0 -3,5 7,5 13,3 26,7 -16,9 -28,1 -18,4 2,2 -2,9 -9,8 12,5 22,3 2,1 -7,8 -0,5 4,4 0,5 15,8 -10,2 3,0 -25,6 -2,0 9,8 14,1 2,2
Zdroj: Eurostat
108
Příloha č. 2 - Roční změna hrubého domácího produktu pro státy Evropské unie
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
A geo\time Belgium Bulgaria Czech Republic Denmark Germany Estonia Ireland Greece Spain France Italy Cyprus Latvia Lithuania Luxembourg Hungary Malta Netherlands Austria Poland Portugal Romania Slovenia Slovakia Finland Sweden United Kingdom
B C D E F G H I J K L M N O P Q R S T U 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 22,6 1,2 3,5 1,7 3,3 3,4 0,5 0,9 0,4 2,8 1,2 2 2,1 0,2 -3,5 1,5 0,9 -1 0 0,8 : -8,6 -1 5,6 2,5 6,3 7,5 5,2 6,4 7,3 6,9 6,8 7 6,7 -5 1,1 4,2 1,3 2 2,6 6,3 4,7 -0,7 -0,2 1,8 4,3 3,6 2,4 3,8 4,7 6,5 6,7 5,2 2 -5,1 2,2 2,1 -0,9 0,8 2 2,6 2,2 2,7 1,8 2,2 3,2 0,3 0,1 0,1 2,1 2,1 3,1 1,2 -1,4 -6,2 1,1 0,7 0,3 1,4 1 1,4 0,5 1,5 1,9 1,8 2,9 1,3 -0,2 -0,4 1,2 0,7 3,8 3,4 1,3 -4,8 4,3 3 0,7 0,8 2 8,7 7,6 13,3 7,8 0,7 10,3 6,7 7 8,2 6,7 9,1 10,3 7,7 -4 -14 3,4 8,3 2,6 3,2 4 : 8,6 10,4 7,2 9,9 9,3 3,7 3,8 2,2 2,6 3,5 2,9 2,9 -3,8 -6 -0,9 1,1 0,1 0,4 1,3 : 1,6 3 2,8 3 3,2 3,9 3,1 5,6 4 1,9 5,1 3,1 -0,6 -3,5 -5,2 -7 -6,1 -4,3 0,5 4,8 2,3 3,6 4,1 4,2 4,2 2,5 1,2 1,4 1,6 1,9 2,5 1,6 -0,7 -4,4 -0,6 0,3 -1,3 -1,4 0,9 1,7 0,7 1,8 3 2,8 3 1,1 0,2 0,2 1,8 1,1 1,8 1,7 -0,6 -3,7 1,1 1,1 -0,3 -0,1 0,7 2,9 1,1 1,8 1,4 1,4 3,6 1,8 0,1 -0,8 0,7 0,2 1,6 0,9 -1,9 -6,1 1,3 0 -2,7 -0,9 0,5 : 0,2 0,9 3,7 3,7 3,9 2,9 0,3 1,3 2,9 2,4 2,4 2,9 1 -4,5 -1,3 -2 -3,3 -2,6 -1,5 0,6 5,5 10,2 6,4 4 6,7 8,7 8,5 8,6 10,1 11,3 12,2 10,5 -2,2 -16,4 1,2 7,5 5,4 4,4 4,7 : 6 8,9 8,4 -0,3 4,4 7,6 7,7 11,2 8,6 9,7 9,6 11,1 3,9 -14 3,6 8,1 3,8 3,6 4,1 : 0,3 4,6 5,1 6,9 7 1,4 3 0,4 3 3,6 3,3 4,9 -2,5 -5,8 1 -0,7 -1,4 -1 -0,1 : 0,3 3,3 4,3 3,5 4,5 4 4,8 4,1 5 4,2 4,1 0,3 1,1 -6,6 1,5 1,9 -0,9 0,6 1,6 : : : : : : -0,8 1,7 0,1 -0,9 3 1,9 3,3 2,8 -2,8 2,2 0,9 0,5 1,4 2,1 2,6 3 3,7 3,3 4 3,2 1,2 -0,6 -0,1 1,9 1,8 3,2 3,7 1,4 -4,2 1,1 0,5 -0,8 -0,2 1 2,5 2,3 2,2 3,7 3,3 3,4 0,5 1,2 0,4 1,9 1,7 3,1 3,3 1 -4,1 1,8 2,3 0,4 0,5 1,7 : 6,2 7,1 5 4,6 4,3 1,2 1,5 4 5,4 3,7 6,3 6,8 5,1 1,5 2,9 4,3 2,4 1,9 2,7 : 3,4 4,1 4,7 3,6 3,4 1,3 0 -1,6 1 0,3 1,1 2,1 -0,1 -3 1,9 -1,7 -3 -1 0,8 : 3,5 -4,6 -1,9 -1 2,5 5,8 8 5,5 8,8 4,4 8,1 6,5 7,5 -6,4 -1 2,4 1 2,4 2,9 7,4 3,6 5,1 3,7 5,3 4 2,8 3,7 2,9 4,4 3,8 5,5 6,4 3,2 -8,7 0,9 0,4 -2,4 -1,7 0,7 7,5 6,7 4,3 4,2 -0,1 1,3 3,9 4,6 4,8 5 6,6 8,3 10,4 5,6 -5,1 4,1 3 2,3 1,6 2,7 3,6 3,2 5,9 4,8 3,7 5,1 2,1 1,6 1,8 3,8 2,6 4 4,9 -0,2 -9 2,9 2,3 -0,4 0,4 0,8 3,4 1,5 2,7 4,1 4,6 4,3 1 2,2 2 3,8 2,7 3,7 2,6 -1,4 -5,8 5,7 3 0,4 1,2 1,9 2,9 2,9 3,6 3,2 2,8 3,9 2,5 2,1 3,4 2,4 2,1 2 2,9 -1,6 -4,6 1 0,2 -0,8 0,3 1,5
Šedě vyznačené předpovědi. Zdroj: Eurostat 109
Příloha č. 3 – Vývoje indexu stavební produkce prezentované spojnicovými grafy Švédsko 15
změna [%]
10
5
0
-5
-10 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
2006
2008
2010
2012
Španělsko 15 10 5
změna [%]
0 -5 -10 -15 -20 -25 1994
1996
1998
2000
2002 2004 čas [rok]
110
Slovinsko 30
20
změna [%]
10
0
-10
-20
-30 1998
2000
2002
2004 2006 čas [rok]
2008
2010
2012
Slovensko 20 15 10
změna [%]
5 0 -5 -10 -15 -20 -25 -30 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
111
Řecko 40 30 20
změna [%]
10 0 -10 -20 -30 -40 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
2008
2009
2010
2011
Rumunsko 40
30
změna [%]
20
10
0
-10
-20 2001
2002
2003
2004
2005
2006 2007 čas [rok]
112
Rakousko 14 12 10
změna [%]
8 6 4 2 0 -2 -4 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
Portugalsko 6 4 2
změna [%]
0 -2 -4 -6 -8 -10 -12 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
113
Polsko 20
15
změna [%]
10
5
0
-5
-10
-15 1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
Nizozemsko 6 4 2
změna [%]
0 -2 -4 -6 -8 -10 -12 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
114
Německo 15
změna [%]
10
5
0
-5
-10 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
Malta 25
20
změna [%]
15
10
5
0
-5
-10 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
115
Maďarsko 20
15
změna [%]
10
5
0
-5
-10
-15 1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
Lucembursko 5
4
změna [%]
3
2
1
0
-1
-2 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
116
Lotyšsko 20
10
změna [%]
0
-10
-20
-30
-40 1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
Litva 30 20 10
změna [%]
0 -10 -20 -30 -40 -50 1998
2000
2002
2004 2006 čas [rok]
2008
2010
2012
117
Kypr 8 6 4
změna [%]
2 0 -2 -4 -6 -8 -10 -12 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
Itálie 10
změna [%]
5
0
-5
-10
-15 1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
118
Irsko 30
20
změna [%]
10
0
-10
-20
-30
-40 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
Francie 6
4
změna [%]
2
0
-2
-4
-6 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
119
Finsko 15
10
změna [%]
5
0
-5
-10
-15 1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
Estonsko 40
30
změna [%]
20
10
0
-10
-20
-30 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
120
Dánsko 10 8 6
změna [%]
4 2 0 -2 -4 -6 -8 -10 1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
Česká republika 12 10 8
změna [%]
6 4 2 0 -2 -4 -6 -8 1998
2000
2002
2004 2006 čas [rok]
2008
2010
2012
121
Bulharsko 35 30 25
změna [%]
20 15 10 5 0 -5 -10 -15 2001
2002
2003
2004
2005
2006 2007 čas [rok]
2008
2009
2010
2011
Belgie 6 4 2
změna [%]
0 -2 -4 -6 -8 -10 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
122
Velká Británie 8 6 4
změna [%]
2 0 -2 -4 -6 -8 -10 -12 1994
1996
1998
2000
2002 2004 čas [rok]
2006
2008
2010
2012
123
Příloha č. 4 – Frekvenční analýza časové řady vývoje stavební produkce United Kingdom 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
0.4
0.45
0.5
0.4
0.45
0.5
Sweden 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
124
Spain 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
0.4
0.45
0.5
0.4
0.45
0.5
Slovakia 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
125
Portugal 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
0.4
0.45
0.5
0.4
0.45
0.5
Poland 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
126
Germany (including former GDR from 1991) 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
0.4
0.45
0.5
0.4
0.45
0.5
Finland 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
127
Czech Republic 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
0.4
0.45
0.5
0.4
0.45
0.5
Belgium 70
60
Funkční hodnota
50
40
30
20
10
0
0
0.05
0.1
0.15 0.2 0.25 0.3 0.35 Odhalené frekvence [1/rok]
128
Příloha č. 5 – Test autokorelace časové řady indexu stavební produkce Belgium
hodnota autokorelačního koeficientu k-tého řádu
1
0.5
0
-0.5
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
14
16
129
Czech Republic
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6
0
2
4 6 8 10 řád autokorelačího koeficientu k
12
14
Finland
hodnota autokorelačního koeficientu k-tého řádu
1
0.5
0
-0.5
0
5 10 řád autokorelačího koeficientu k
15
130
Germany (including former GDR from 1991)
hodnota autokorelačního koeficientu k-tého řádu
1
0.5
0
-0.5
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
14
16
Poland
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6
0
5 10 řád autokorelačího koeficientu k
15
131
Portugal
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6
0
1
2
3 4 5 6 7 řád autokorelačího koeficientu k
8
9
10
Slovakia
hodnota autokorelačního koeficientu k-tého řádu
1
0.5
0
-0.5
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
14
16
132
Spain
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
14
16
14
16
Sweden
hodnota autokorelačního koeficientu k-tého řádu
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
133
United Kingdom
hodnota autokorelačního koeficientu k-tého řádu
1
0.5
0
-0.5
0
2
4
6 8 10 12 řád autokorelačího koeficientu k
14
16
134
Příloha č. 6 – Vývoj časové řady stavební produkce při aplikaci různých úrovní frekvenčního filtru Index stavebni produkce proNěmecko s filtraci10% 15 Puvodni datova rada Datova rada po aplikaci filtru
změna [%]
10
5
0
-5
-10
0
2
4
6
8
10
12
14
16
18
čas [rok]
Index stavebni produkce proNěmecko s filtraci20%
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 12 14 čas [rok] Index stavebni produkce proNěmecko s filtraci30%
16
18
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 12 14 čas [rok] Index stavebni produkce proNěmecko s filtraci40%
16
18
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 čas [rok]
12
14
16
18
135
Index stavebni produkce proNěmecko s filtraci50%
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 12 14 čas [rok] Index stavebni produkce proNěmecko s filtraci60%
16
18
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 12 14 čas [rok] Index stavebni produkce proNěmecko s filtraci70%
16
18
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 12 14 čas [rok] Index stavebni produkce proNěmecko s filtraci80%
16
18
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 čas [rok]
12
14
16
18
136
Index stavebni produkce proNěmecko s filtraci90%
změna [%]
20 Puvodni datova rada Datova rada po aplikaci filtru
10
0
-10
0
2
4
6
8 10 čas [rok]
12
14
16
18
137
Příloha č. 7 – Neutrální scénáře vývoje pro roky 2012, 2013 a 2014 pro státy s R>0,67 Bulharsko 40 Roční změna [%]
30 20 10 0 -10 -20
0
2
4
6
8
10
12
14
Roky Estonsko
Roční změna [%]
40 20
0
-20
-40
0
2
4
6
8
10 Roky Finsko
12
14
16
18
20
0
2
4
6
8
10 Roky Irsko
12
14
16
18
20
15 Roční změna [%]
10 5 0 -5 -10 -15
Roční změna [%]
40 20
0
-20
-40
0
2
4
6
8
10
12
14
Roky
138
Itálie
Roční změna [%]
10 5 0 -5 -10 -15
0
2
4
6
8
10 Roky Kypr
12
14
16
18
20
Roční změna [%]
10 5 0 -5 -10 -15
0
2
4
6
8
10
12
14
Roky Litva
Roční změna [%]
40 20 0 -20 -40 -60
0
2
4
6
8
10
12
14
16
18
Roky Lotyšsko 20 Roční změna [%]
10 0 -10 -20 -30 -40
0
2
4
6
8
10 Roky Polsko
12
14
16
18
20
0
2
4
6
8
10 Roky
12
14
16
18
20
Roční změna [%]
20 10
0
-10
-20
139
Rumunsko 40 Roční změna [%]
30 20 10 0 -10 -20
0
2
4
6
8
10
12
14
Roky Slovensko
Roční změna [%]
20 10 0 -10 -20 -30
0
2
4
6
8
10 Roky Slovinsko
12
14
16
18
20
30 Roční změna [%]
20 10 0 -10 -20 -30
0
2
4
6
8 Roky Španělsko
10
12
14
16
Roční změna [%]
20 10 0 -10 -20 -30
0
2
4
6
8
10 Roky Velká Británie
12
14
16
18
20
0
2
4
6
8
10 Roky
12
14
16
18
20
Roční změna [%]
10 5 0 -5 -10 -15
140
Příloha č. 8 – Neutrální scénáře vývoje ISP pro roky 2012, 2013 a 2014 pro státy s R>0,67 po aplikaci frekvenčního filtru Bulharsko
Roční změna [%]
30 20
HDP ISP předpovědi ISP
10 0 -10 -20 0
2
4
6
8 Roky Česká republika
10
12
14
Roční změna [%]
10 5
HDP ISP předpovědi ISP
0 -5 -10 0
2
4
6
8
10
12
14
16
18
Roky Estonsko 30
Roční změna [%]
20 10
HDP ISP předpovědi ISP
0 -10 -20 -30 0
2
4
6
8
10 Roky Finsko
12
14
16
18
20
6
8
10 Roky
12
14
16
18
20
Roční změna [%]
15 10
HDP ISP předpovědi ISP
5 0 -5 0
2
4
141
Velká Británie
Roční změna [%]
5
0
HDP ISP předpovědi ISP
-5
-10 0
2
4
6
8
10 Roky Irsko
12
14
16
18
20
10
Roční změna [%]
5 0
HDP ISP předpovědi ISP
-5 -10 -15 -20 0
2
4
6
8
10
12
14
Roky Itálie 6
Roční změna [%]
4 2
HDP ISP předpovědi ISP
0 -2 -4 -6 0
2
4
6
8
10 Roky Kypr
12
14
16
18
20
Roční změna [%]
10 5
HDP ISP předpovědi ISP
0 -5 -10 0
2
4
6
8
10
12
14
Roky Litva 30
Roční změna [%]
20 10
HDP ISP předpovědi ISP
0 -10 -20 -30 0
2
4
6
8
10
12
14
16
18
Roky
142
Lotyšsko 20
Roční změna [%]
15 10
HDP ISP předpovědi ISP
5 0 -5 -10 0
2
4
6
8
10 Roky Maďarsko
12
14
16
18
20
6
8
10 Roky Nizozemsko
12
14
16
18
20
Roční změna [%]
15 10
HDP ISP předpovědi ISP
5 0 -5 -10 0
2
4
Roční změna [%]
10 5
HDP ISP předpovědi ISP
0 -5 -10 0
2
4
6
8
10
12
14
Roky Polsko 20
Roční změna [%]
15 10
HDP ISP předpovědi ISP
5 0 -5 -10 0
2
4
6
8
10 Roky Slovensko
12
14
16
18
20
6
8
10 Roky
12
14
16
18
20
Roční změna [%]
15 10
HDP ISP předpovědi ISP
5 0 -5 -10 0
2
4
143
Slovinsko 30
Roční změna [%]
20 10
HDP ISP předpovědi ISP
0 -10 -20 -30 0
2
4
6
8 Roky Španělsko
10
12
14
16
10
Roční změna [%]
5 0
HDP ISP předpovědi ISP
-5 -10 -15 -20 0
2
4
6
8
10 Roky
12
14
16
18
20
144
Příloha č. 9 – změny HDP a ISP pro rok 2012
Belgie Bulharsko Česká republika Dánsko Německo Estonsko Irsko Řecko Španělsko Francie Itálie Kypr Lotyšsko Litva Lucembursko Maďarsko Malta Nizozemsko Rakousko Polsko Portugalsko Rumunsko Slovinsko Slovensko Finsko Švédsko Velká Británie
HDP -0,1 0,8 -1 -0,4 0,7 3,9 0,2 -6,4 -1,6 0 -2,5 -2,4 5 3,7 -0,2 -1,7 0,8 -1,2 0,9 1,9 -3,2 0,7 -2,5 1,8 -0,8 1 0,1
ISP -0,6 -0,5 -7,4 -6,7 -1,2 18,4 -5,4 -26,1 -5,4 -2,9 -13,9 -22,1 14,1 -7,2 -5,3 -6,7 -1,8 -8,1 2 -4,7 -17 1,3 -16,9 -12,2 -1,5 3,5 -7,7
145
Příloha č. 10 – Predikovaný vývoj ISP pro státy EU pro roky 2012, 2013 a 2014 Belgie 25
20
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
15
10
5
0
-5
-10 1994
1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
2014
Česká republika 12 10 8
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
6 4 2 0 -2 -4 -6 -8 1998
2000
2002
2004
2006 čas [rok]
2008
2010
2012
2014
Dánsko 10 8 6
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
4 2 0 -2 -4 -6 -8 -10 1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
čas [rok]
146
Estonsko 40
30
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
20
10
0
-10
-20
-30 1994
1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
2014
Finsko 15
10
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
5
0
-5
-10
-15 1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
čas [rok] Francie 6
4
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
2
0
-2
-4
-6 1994
1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
2014
147
Itálie 10
změna [%]
5
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
0
-5
-10
-15 1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
čas [rok] Litva 30 20
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
10
změna [%]
0 -10 -20 -30 -40 -50 1998
2000
2002
2004
2006 čas [rok]
2008
2010
2012
2014
Lotyšsko 20
10
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
0
-10
-20
-30
-40 1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
čas [rok]
148
Maďarsko 20
15
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
10
5
0
-5
-10
-15 1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
čas [rok] Německo 15
změna [%]
10
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
5
0
-5
-10 1994
1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
2014
Polsko 20
15
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
10
5
0
-5
-10
-15 1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
čas [rok]
149
Rakousko 14 12 10
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
8 6 4 2 0 -2 -4 -6 1994
1996
1998
2000
2002
2004 čas [rok]
2006
2008
2010
2012
2014
2006
2008
2010
2012
2014
Slovensko 40
30
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
20
10
0
-10
-20
-30 1994
1996
1998
2000
2002
2004 čas [rok] Slovinsko
30
20
Změna ISP [%] Změna HDP [%] Změna ISP generovaná NS [%]
změna [%]
10
0
-10
-20
-30 1998
2000
2002
2004
2006 čas [rok]
2008
2010
2012
2014
150