Metoda klouzavých průměrů Patří (spolu s metodou exponenciálního vyrovnávání) k adaptivním přístupům při analýze trendové složky. Tyto přístupy pracují se systematickými složkami (např. trendem), které v průběhu plynutí času mění svůj globální charakter, což mj. znamená, že pro ně nelze použít žádnou matematickou křivku s neměnnými (v čase konstantními) parametry. Na druhé straně se předpokládá, že takovéto vyrovnání je možné lokálně (v dílčích, krátkých úsecích řady), přičemž parametry tohoto – lokálního -vyrovnání mohou být v jednotlivých úsecích odlišné. V těchto případech se omezujeme pouze na lokální vyrovnávání (či jeho odstranění) trendu. Nelze –li tedy vyrovnat časovou řadu pomocí paraboly 2.stupně (2.1) , omezíme se na vyrovnání v krátkých úsecích, pro jejichž středy v časových bodech t lze použít vyrovnání pomocí lokálních trendů (2.2) . Proces eliminace trendové složky se tedy adaptuje vůči okamžitému lokálnímu průběhu řady. Stupeň tohoto přizpůsobování lze (za jistých okolností) vědomě řídit. Další výhodou adaptivních technik je konstrukce předpovědí, které mohou pružně reagovat na časové změny v charakteru řady a někdy také výpočetní nenáročnost. Název klouzavý průměr [moving average] je spojen s lineární kombinací členů původní řady s jednotkových součtem koeficientů/vah , např. typu (2.3) , někdy se zkráceným zápisem (jako operátor) Vytváření takových konečných kombinací hodnot řady je totiž ekvivalentní právě s lokálním vyrovnáváním řady určitými matematickými křivkami. Jde o postup, který může být využit k identifikaci dvou složek časové řady : - trendové složky - sezónní složky Obecněji můžeme zapsat klouzavý průměr jako (2.4) Číslo m nazveme poloměrem, hodnotu délkou klouzavého průměru. Z hlediska praktických účelů je vhodnější lichý počet členů průměru (lze však pracovat i se sudým počtem členů, pokud se postup doplní centrováním[1]). Předpokládejme např., že hodláme danou časovou řadu vyrovnat polynomem 3. řádu, tzv. kubickou parabolou. Pro vyrovnání zvolíme , klouzavý průměr tedy sestavujeme z hodnot uvažované časové řady, které označíme jako , pro . Koeficienty vyrovnávajícího polynomu – s argumenty v , tzn. v bodech, ve kterých řadu vyrovnáváme) odhadneme metodou nejmenších čtverců OLS standardně tak, že minimalizujeme výraz (2.6) Derivováním podle jednotlivých koeficientů polynomu a anulováním příslušných derivací pro minimalizaci získáme pro hledané čtyři odhady koeficientů soustavu čtyř normálních rovnic, které lze obecně zapsat jako neboli (2.7A) (2.7B) (2.7C) (2.7D) tj. ve standardním tvaru soustavy čtyř normálních rovnic (2.8A) . (2.8B) . (2.8C) . (2.8D) . , jinak vyjádřitelných v souhrnném zápisu (2. 9) . Uvedenou soustavu lze dále zjednodušit, protože pro liché platí (zde se uplatňuje výhoda volby lichého počtu členů řady) (2.10A) neboli (2.10B) neboli (2.10C) neboli (2.10D) neboli . V předchozím jsme využili toho, že , , , . Nás přitom zajímá toliko odhad , neboť je to hodnota vyrovnávajícího polynomu v bodě a v rozvíjené metodě ji budeme brát za hledanou vyrovnanou hodnotu řady ve středu zkoumaného úseku. K určení odhadu stačí tedy použít první a třetí rovnici soustavy (2.10A), (2.10C), pomocí nichž dostaneme : (2.10A) (2.10C) . Z první rovnice (2.10A) získáme Ze druhé rovnice (2.10C) pak máme Komparací pro : a vydělením 2 : (2.11) s rozvedením , takže odhadnutá trendová složka a současně vyrovnaná hodnota řady v čase t je rovna (2.12) , resp. (2.12A) . � . Ve zkráceném symbolickém zápisu můžeme výsledek zapsat jako (2.12B) . Obecně můžeme vyrovnávat úsek o délce polynomem r-tého řádu a tak obdržet klouzavé průměry délky a řádu r. Vyrovnaná hodnota v bodě t je lineární kombinace výrazů se sudými , což lze odvodit zobecněním soustavy (2.12). Po algebraické úpravě je to lineární kombinace hodnot s pevně určenými koeficienty, které se nazývají váhy klouzavého průměru. Ilustrace: Uplatněme předchozí pravidlo pro aproximaci hodnot paraboly 3.stupně Vyjádřeme třetí mocniny přirozených čísel od 1 do 10 : t = 1 2 3 4 5 6 7 8 9 10 = 1 8 27 64 125 216 343 512 729 1000 a použijeme vzorec (2.12A) pro výpočet vyrovnané hodnoty této řady v bodě t = 3 . . v konkretizaci . , tzn. ve vyčíslení . Podobně dostaneme: . . . Vyrovnávali jsme zde kubickou řadu polynomem3.stupně (shodný výsledek bychom též dostali, pokud bychom vyrovnávali polynomem řádu vyšším než 3, což ukážeme na dalším příkladě). Příklad1 Modifikace pro polynomickou křivku 4.stupně se stejnou délkou průměru: (2.14) Derivováním podle jednotlivých koeficientů polynomu a anulováním příslušných derivací pro minimalizaci získáme pro hledané čtyři odhady koeficientů soustavu pěti normálních rovnic, které lze obecně zapsat jako neboli tj. ve standardním tvaru soustavy pěti normálních rovnic: (2.15A) . (2.15B) . (2.15C) . (2.15D) . , (2.15E) . , jinak vyjádřitelných v souhrnném zápisu (2.16) S ohledem na nulovost členů s lichými mocninami u dostaneme dále: (2.17A) . (2.17B) . (2.17C) . (2.17D) . , (2.17E) . , Po vyčíslení členů se sudými mocninami máme zjednodušení: (2.18A) (2.18B) (2.18C) (2.18D) (2.18E) , K určení parametrů , máme nyní k použití 3 rovnice: (2.18A), (2.18C), (2.18E), které lze souhrnně zapsat maticově (2.19) , tedy Pomocí těchto tří rovnic lze vypočíst všechny parametry , , ,zatímco k určení zbývajících dvou parametrů lze uplatnit vztahy vyjádřené rovnicemi (2.17B), (2.17D). Jak patrno, obě (rekursívní) „podsoustavy„ zahrnují disjunktní množiny parametrů. Inverzi matice v (2.19) získáme následovně: (2.20) , odtud máme (2.21A) , po rozepsání a odtud Váhový vektor pro má tedy tvar . Podobně pro dostaneme (2.21C) Konečně pro dostaneme (2.21E) . Analogicky pro podsoustavu dvou rovnic (2.18B), (2.18D), ze které můžeme odvodit parametry , , obdržíme maticové vyjádření (2.19) , tedy (2.21A) (2.21A) Příklad 2 Modifikace pro polynomickou křivku 2.stupně se stejnou délkou průměru: (2.31) Derivováním podle tří parametrů polynomu a anulováním příslušných derivací získáme pro odhady koeficientů soustavu tří normálních rovnic, které lze obecně zapsat Po snadné úpravě tj. ve standardním tvaru soustavy tří normálních rovnic (2.32A) . (2.32B) . (2.32C) . jinak vyjádřitelných v souhrnném zápisu (2.33) . S ohledem na nulovost členů s lichými mocninami u a po vyčíslení členů se sudými mocninami u : (2.33A) . (2.33B) . (2.33C) . Pro výpočet parametrů dostáváme tedy tytéž vzorce jako v (2.10A,C), zatímco výpočet je dán vztahem . Snadno lze dokázat následující vlastnosti těchto klouzavých průměrů: (1) Součet vah klouzavého průměru je roven 1: aplikujeme-li totiž klouzavý průměr na řadu stejných hodnot, pak vyrovnanou hodnotou musí být původní konstanta. (2) Váhy jsou symetrické kolem prostřední hodnoty , neboť ve výrazech typu (2.37) mají pro sudé j členy symetrické koeficienty. (3) Je-li r sudé číslo, pak klouzavé průměry řadů r a r+1 se stejnou délkou 2m+1 jsou totožné: prohlédneme-li si pozorně soustavu (2.12), pak pro dostaneme stejné řešení, ať jsou v soustavě zahrnuty členy s neznámou nebo nejsou. Poznámka 1 Vyrovnáním řady pomocí techniky klouzavých průměrů získáme vyrovnané hodnoty pouze pro . Ztratíme tedy m hodnot na začátku a m hodnot na konci řady, které zůstanou nevyrovnány. Poznámka 2 Pokud bychom chtěli k vyrovnání používat úseky se sudým počtem 2m členů: vyrovnaná hodnota by pak patřila doprostřed časového intervalu mezi okamžiky původních pozorování, což není právě výhodné vzhledem k interpretaci výsledků. Uspokojivé řešení situace bude uvedeno níže. V následující tabulce 1 jsou uvedeny váhy klouzavých průměrů až do pátého řádu včetně při různých délkách. Vzhledem k symetrii je uvedena někdy jen první polovina vah včetně prostřední. Podle dříve uvedené vlastnosti jsou váhy pro druhý a třetí řád stejné, stejně jako jsou stejné pro čtvrtý a pátý řád. Průměry řádu 0 a 1 nejsou uvedeny, protože jde o prosté aritmetické průměry spočtené z členů řady (2.38) Pro úplnost tabulka obsahuje váhy klouzavých průměrů druhého nebo třetího řádu a délky 3, přestože zde platí . Tabulka 1 délka/ řád 2. a 3. 4. a 5. 3 5 7 9 11 13 Zatím jsme pominuli otázku, jak určit vyrovnané hodnoty pro prvních m a posledních m pozorování časové řady a jak získat příslušné predikce pro budoucí období. V ilustrativním příkladě jsme vyrovnávali kubickou parabolou vždy 5 sousedních hodnot řady. Nechť je těmito hodnotami pět posledních hodnot řady . Na rozdíl od předchozího nás budou nyní zajímat i ty dříve ignorované hodnoty kubické paraboly vyrovnávající tento úsek pro . K tomu ale potřebujeme znát i odhady koeficientů této křivky. (dříve nám stačil koeficient ). Ze soustavy (2.12A-D) se zjistí, že příslušné odhady budou mít tvar (2.39B) (2.39C) (2.39D) . Ověření např. pro : z předchozího víme, že , přičemž . Proto máme neboli Po sdružení členů závěrem dospějeme k . Výsledek (2.39C) po rozvedení dává : Tedy platí □. (2.39B) (2.39D) . (2.39B) O.K. (2.39D) . (2.39D) . (2.39D) . O.K. Získání odhadů koeficientů (kromě ) pro (2.39B-2.39D) spolu s (2.36A) pro umožní získat pro poslední dvě pozorování jejich vyrovnané hodnoty. Dostaneme je dosazením nalezených odhadů do obecného predikčního schématu (2.40) Po dosazení a získáme tyto vyrovnané koncové hodnoty : Při dosazení : (2.41A) , neboli vyrovnanou hodnotu pro získáme jako vážený průměr této pětice hodnot: (se součtem vah 1) Podobně při dosazení pro dostaneme z (2.40) : (2.41B) , tzn. (se součtem vah 1) Vzhledem ke zřejmé symetrii také podobně dostaneme vyrovnanou první a druhou hodnotu ze začátku řady jako (2.41C) , neboli (se součtem vah 1) (2.41D) , tzn. (se součtem vah 1) Uvedený postup navíc dokonce umožňuje konstruovat předpovědi v dané řadě: např. předpověď hodnoty získáme tak, že do (2.40) dosadíme . Dostaneme předpis: (2.42) . (se součtem vah 1) Ověření (2.42): □. Uvedený postup lze ale použít jen pro konstrukci krátkodobý předpovědí – čím je předpovídaná hodnota vzdálenější od časového bodu předpovědi (tj. čím delší je horizont předpovědi), tím lze očekávat přirozeně menší spolehlivost predikce. Poznámka: Při výpočtech vah v klouzavých průměrech se uplatňuje znalost těchto dvou vztahů Při : , . m=2: m=3: m =4: Klouzavé průměry, které jsme takto popsali, se nazývají počáteční, koncové a předpovědní, podle toho, zda vyrovnáváme počáteční hodnoty řady, koncové hodnoty řady nebo pomocí nich předpovídáme. Poznamenejme, že tyto klouzavé průměry již nemají tak výhodné vlastnosti jako klouzavé průměry pro vyrovnání středních členů řady: jejich váhy nejsou obecně symetrické kolem prostřední hodnoty a váhy klouzavých průměrů např. druhého a třetího řádu již nejsou totožné. Avšak i pro klouzavé průměry tohoto typu jsou příslušné váhy v literatuře tabelovány. Např. předpověď o jeden krok dopředu při použití klouzavých průměrů prvního řádu a délky 3 má podle prvního řádku tabulky tvar (2.43) . Pro metodu klouzavých průměrů musíme řešit otázku, jaký řád a jakou délku klouzavých průměrů pro analyzovanou časovou řadu zvolit. Obvykle se rozhodujeme na základě subjektivního posouzení charakteru dat s tím, že preferujeme jednoduché průměry co nejnižšího řádu a délku volíme podle požadovaného stupně vyhlazení řady: čím je větší délka klouzavého průměru, tím je větší vyhlazení časové řady. Jednou z důležitých zásad pro volbu délky průměru je, že tato délka by měla odpovídat periodě sezónních nebo cyklických fluktuací, které chceme z řady vyhladit. Nesprávně: Např. v časové řadě ročních měření budou k vyhlazení cyklické složky s dvouletou periodou užity klouzavé průměry délky 3 a 5. V prvém případě je výsledkem vyhlazení „inverzní cyklus“: ve skupině tří sousedních hodnot vyrovnávané řady jsou buď dva horní a jeden dolní bod zvratu nebo naopak. Ve druhém případě nastává opačná situace: vyrovnaná řady následuje původní řadu vzhůru do horních bodů zvratu a dolů do dolních bodů zvratu. Pokud jde o volbu řádu klouzavých průměrů, lze vyvodit objektivní kritérium: Předpokládejme, že uvažovaná řada má tvar , kde je polynom r-tého řádu a je bílý šum s rozptylem . Budeme postupně diferencovat, čímž polynom vytvářející řadu bude postupně při každé diferenci snižovat svůj řád o 1, protože např. v rozdílu . je nejvyšší mocnina proměnné t s nenulovým koeficientem. Konečně při řádu se tento polynom úplně vynuluje. Při řádu je diferencí konstanta obvykle různá od nuly. Bílý šum vytvoří při k-té diferenci veličinu (2.44) , která má nulovou střední hodnotu a rozptyl roven (2.45) . Označíme-li tedy , pak pro je odhadem rozptylu bílého šumu. Metoda vážených klouzavých průměrů Nevylučuje to ovšem možnost, že pozorování lze vyrovnat lokálně, tzn. v různých úsecích časové řady různými křivkami (třeba téhož typu, ale s různými, v čase se měnícími parametry). K pozorované hodnotě konstruujeme vyrovnanou hodnotu , jíž nahrazujeme tuto pozorovanou hodnotu takto : tj. prostým klouzavým průměrem , resp. tj. váženým klouzavým průměrem pro každé ( n je počet pozorování ) Je patrné, že prostý aritmetický průměr je speciálním případem váženého aritmetického průměru s rovnoměrně rozdělenými vahami pro všechna . Vyrovnání časové řady pomocí klouzavého průměru závisí na : a) počtu členů, které zahrneme do průměru; ten tedy může být : lichý - : pak hodnotu spočteného průměru přiřadíme prostřednímu členu průměru sudý - : provádíme tzv. centrování, kterým hodnotu spočteného průměru přisoudíme okamžiku mezi dvěma prostředními pozorováními časové řady b) vahách přiřazených pozorovaným hodnotám ekonomického ukazatele Ty mohou být : - symetrické platí , atd. index "0" označuje prostřední pozorování, „střed“ průměru - nesymetrické: zpravidla podle speciálního účelu klouzavého průměru pro hodnoty vah platí podmínky: (vždy, dá se zajistit normováním) (obvykle, existují však výjimky) Tímto způsobem však nelze nahradit pozorované hodnoty v krajních bodech : - u lichého počtu členů průměru ztratíme vždy krajních členů ( po na každé straně) - u sudého počtu členů průměru ztratíme rovněž krajních členů (získané hodnoty centrujeme do „meziobdobí“ ležících vždy uprostřed dvou pozorování ) Poznámka: Můžeme ovšem použít některý ze způsobů "dodefinování" hodnot v krajních bodech (nějakým vhodným algoritmem). [2]Aplikace klouzavých průměrů k identifikaci trendové složky 1) mechanické vyrovnávání : 2) vyrovnávání pomocí polynomů k-tého (nevelkého) stupně : Aplikace klouzavých průměrů k identifikaci sezónní složky Máme-li řadu pozorovaných hodnot a klouzavým průměrem vyrovnaných hodnot , můžeme se pokusit jednoduchým způsobem určit (nebo přibližně odhadnout) míru sezónního kolísání časové řady (pokud jde o časovou řadu, která vykazuje sezónnost a pokud jsou její hodnoty registrovány v měsíčních nebo čtvrtletních časových odstupech). Uvažujme případ čtvrtletní časové řady ( n ... počet pozorování za rok = 4 ) ( Analogicky bychom postupovali u roční sezónnosti při n = 12 ) : A) v případě aditivního modelu sezónnosti : lze nejjednodušeji uplatnit např. tento postup: Vytvoříme individuální odchylky všechna t. Sdružíme (po čtveřicích) hodnoty odchylek u stejnolehlých čtvrtletí a tyto zprůměrujeme (přes počet let, které obsahuje datový vzorek): Hodnoty nazýváme sezónní diference, přičemž je lze považovat za odhady skutečných (aditivně chápaných) sezónních faktorů. Je zřejmé, že některé z hodnot ^ budou kladné, jiné záporné (neutrální hodnota je 0). Pro tyto sezónní diference platí: B) v případě multiplikativní sezónnosti : lze analogicky uplatnit tento jednoduchý postup: vytvoříme podíly pro všechna . Tyto sdružíme po shodných čtvrtletích tak, že vynásobíme hodnoty stejnolehlých čtvrtletí v příslušných letech a výsledek odmocníme hodnotou rovnou počtu let: Získané 4 hodnoty se nazývají sezónní poměry a lze je považovat za odhady (tentokrát multiplikativně pojatých) sezónních faktorů. Je přitom zřejmé, že některé z hodnot ^ budou větší než 1, jiné menší než 1 ( neutrální hodnota je 1 ) Pro tyto sezónní poměry platí : . Příklad 3 Modifikace pro polynomickou křivku 3.stupně s délkou průměru 7 (2.51) Derivováním podle jednotlivých koeficientů polynomu (2.51) a anulováním příslušných derivací pro minimalizaci získáme pro hledané čtyři odhady koeficientů soustavu čtyř normálních rovnic, které lze obecně zapsat ve tvaru neboli (2.52A) (2.52B) (2.52C) (2.52D ) tj. ve standardním tvaru soustavy čtyř normálních rovnic (2.53A) . (2.53B) . (2.53C) . (2.53D) . , jinak vyjádřitelných v souhrnném zápisu (2.54 ) . S ohledem na nulovost členů s lichými mocninami u dostaneme dále: (2.55A) . (2.55B) . (2.55C) . (2.55D) . , Po vyčíslení členů se sudými mocninami máme : (2.56A) (2.56B) (2.56C) (2.56D) Pro určení parametru máme nyní k použití 2 rovnice: (2.56A), (2.56C), které lze souhrnně zapsat maticově (2.57) , tedy Pomocí stejných dvou rovnic lze vypočíst parametry , , zatímco k určení zbývajících dvou parametrů lze uplatnit vztahy vyjádřené rovnicemi(2.56B),(2.56D). Jak patrno, obě („blokově rekursívní„)podsoustavy mají disjunktní množiny parametrů. Inverzi matice v (2.57) získáme následovně: , odtud máme (2.58) (2.59) Váhový vektor pro má tedy tvar . (se součtem vah 1) Podobně pro máme z druhé rovnice stejné podsoustavy (2.60) Tedy pro dostaneme (2.61C) (2.61) Váhový vektor pro má tedy tvar . Příklad 4 Zjednodušení pro polynomickou křivku 2.stupně s délkou průměru 7 (2.61) Derivováním podle jednotlivých koeficientů polynomu (2.61) a anulováním příslušných derivací pro minimalizaci získáme pro hledané tři odhady koeficientů soustavu tří rovnic vyjádřitelnou ve tvaru Po jednoduchých úpravách obdržíme soustavu tří normálních rovnic (2.62A) . (2.62B) . (2.62C) . , která je zjednodušitelná odstraněním pravostranných členů s lichými mocninami a vyčíslením členů se sudými mocninami : (2.63A) (2.63B) (2.63C) Zaznamenáváme, že první a třetí rovnice (2.63A), (2.63C) této soustavy jsou zcela totožné s analogickými dvěma rovnicemi předchozího příkladu 3 (2.56A), (2.56C), zatímco druhá rovnice je oproti (2.56C) jednodušší. Odtud plyne, že pro parametry platí stejné vyjádření jako v (2.59) resp. v (2.61) , ale parametr získáme zde oproti (2.63B) snadněji jako . Obecné predikční schéma by v tomto případě mělo tvar (2.64) Tedy konkrétně dostaneme pro trojici koncových klouzavých průměrů vztahy Předpověď pro hodnotu spočteme na základě (2.64) pro k=1 jako (se součtem vah=1) Předpověď pro hodnotu spočteme na základě (2.64) pro k=2 jako (se součtem vah=1) Předpověď pro hodnotu spočteme na základě (2.64) k=3 jako (se součtem vah=1) Předpověď pro hodnotu bychom spočetli na základě (2.64) pro k=4 jako po konečném zkrácení (se součtem vah=1) Poznámka: Váhová schémata pro předpovědní a počáteční klouzavé průměry 1-3 řádu délek 3-13 najdeme v knize T.Cipry: Finanční ekonometrie str.280-281 Pro výpočet „symetrických“ (kolem nuly) konečných součtů sudých mocnin přirozených čísel lze využít následující vzorce: Tedy speciálně pro máme podobně pro máme a také pro máme Tedy speciálně pro máme podobně pro máme a také pro máme Pro výpočet vah u klouzavých průměrů lze užít tento vzorec: (2.71A,B) , kde Zřejmě jsou tyto váhy symetrické, tzn., že platí a rovněž platí ověření platnosti : . □ . Vzorec (2.71A,B) můžeme např. uplatnit k výpočtu vah u sedmičlenného klouzavého průměru: j j^2 20j^2 3p^2-7-20j^2 w[j] w[j]=21w[j] -3 9 180 -40 -0,09524 -2 p 7 -2 4 80 60 0,14286 3 3p^2-7 140 -1 1 20 120 0,28571 6 4p^3-16p 1260 0 0 0 140 0,33333 7 3/(4p^3-16p) 0,00238 1 1 20 120 0,28571 6 2 4 80 60 0,14286 3 3 9 180 -40 -0,09524 -2 0 420 1 21 Pokračování příkladu 3 polynomická křivka 3.stupně s délkou průměru 7: Podobně pro podsoustavu rovnic pro (2.56B), (2.56D), ze které můžeme odvodit parametry , máme příslušné maticové vyjádření: (2.72) , tedy (2.73) (2.75A) (2.75B) Vydělíme ještě třemi a máme: , (součet vah je 0.) Teď totéž provedeme pro výpočet : (součet vah je 0.) Takže jsme odvodili následující vztahy pro výpočet b0, b1, b2, b3: Váhový vektor pro : Váhový vektor pro : Váhový vektor pro : Váhový vektor pro : Obecné predikční schéma pro bude mít v tomto případě (sedmičlenný klouzavý průměr vyrovnávaný kubickou křivkou) tvar: Při dosazení : , přičemž součet vah: □ . Při dosazení : , přičemž součet vah: □ . Při dosazení : , po zkrácení 6 součet vah je 1. Při dosazení : a po zkrácení číslem 36: , přičemž součet vah je 7/7=1 ________________________________ [1] Centrování (sladění polohy výsledného vyhlazení s polohou původních pozorování) lze provést např. tak, že se procedura klouzavých průměrů se sudým počtem členů provede dvakrát (nebo obecně 2k-krát) po sobě. [2]