Vremenske serije Anica Kosti c 27.3.2016
Glava 1 Holt-Winters metod Ovaj metod izravnanja serije koristimo kada pretpostavljamo da u seriji imamo i trend i sezonsku varijaciju, koji se menjaju tokom vremena. Mo ze se koristiti za predvidanje. Jedna cine aditivnog Holt-Winters modela su: Nivo (level): a t = α(x t s t p ) + (1 α)(a t 1 + b t 1 ) Nagib (slope): b t = β(a t a t 1 ) + (1 β)b t 1 Sezonski efekat: s t = γ(x t a t ) + (1 γ)s t p gde su a t, b t, i s t ocenjeni nivo, nagib i sezonski efekat u trenutku t, a α, β, i γ su parametri izravnanja. Do sada smo imali samo pojam trenda i sezonske varijacije. U ovom modelu ono sto smo smatrali trendom je razbijeno na dve komponente - nivo i nagib. Nagib bi slobodno re ceno trebalo da predstavlja izvod trenda, tj. brzinu promene funkcije trenda, a nivo samu vredost trenda u trenutku t. U navedenim rekurentnim jedna cinama po kojima se odreduju a t, b t, i s t koristi se linearna kombinacija dve razli cite mogu ce ocene za te komponente na osnovu vrednosti prethodno ocenjenih komponenti. U jedna cini za nivo u trenutku t prva mogu ca ocena je razlika vrednosti opservacije u trenutku t i odgovaraju ce sezonske komponente ocenjene za prethodni period (ovo je dobra ocena ako se sezonska komponenta ne menja puno po godinama). Druga mogu ca ocena za nivo dobijena je na osnovu pretpostavke da se trend ocenjen prethodnog trenutka linearno nastavlja brzinom koja je takode ocenjena za prethodni trenutak. To je upravo 1
GLAVA 1. HOLT-WINTERS METOD vrednost a t 1 + b t 1. U jedna cini za nagib u trenutku t prva mogu ca ocena je razlika nivoa ocenjenih u trenutku t i t 1. Ovo je logi cna ocena - kao izvod ali u diskretom vremenu, mera promene trenda. Druga ocena je samo ocena nagiba u prethodnom trenutku, i to je dobra ocena ukoliko je trend linearan, jer je tada izvod (nagib) konstantan. Ukoliko se menja nepredvidivo, za ocenu nagiba je bolja prva ocena. U jedna cini za sezonski efekat u trenutku t prva ocena je razlika opservacije u trenutku t i nivoa u tom trenutku (koji je ocenjen u prvoj jedna cini), a druga je samo sezonska komponenta iz istog meseca prethodne godine sto smo ve c imali ocenjeno. Prva ocena je bolja ako se sezonska varijacija zna cajno promenila u odnosu na onu prethodnu, a druga ako ona ostaje pribli zno ista. Parametre izravnanja α, β, i γ mo zemo eksplicitno zadati u funkciji HoltWinters ili prepustiti R-u da ih sam oceni, o cemu ce uskoro biti re ci. Prvo pomenimo da je potrebno precizirati po cetne vrednosti za a t, b t, i s t. Naj ce s ce se uzima a 1 = x 1 a vrednosti b 1, s 1,..., s p se postavljaju na 0 ili ocenjuju funkcijom decompose, sto je po default-u u R-u. Sada kada smo videli smisao i znamo da izra cunamo ova tri niza, pitanje je koja je ta cno jedna cina izravnjene serije, i kako se ovaj model koristi za prognoziranje. Za aditivni Holt-Winters model, jedna cina izravnjene serije je u stvari njena ocenjena vrednost jedan korak unapred ˆx t = a t 1 + b t 1 + s t p Vratimo se na ocene parametara izravnanja. Ukoliko se oni ne navedu, ra cunaju se tako da gre ska izmedu ocenjene i izravnjene serije bude minimizirana. Dakle, tra zi se minimum od n (x t ˆx t ) 2 t=1 Vrednost te minimizirane sume mo ze se dobiti pozivom sweetw.hw$sse. Objasnimo rezultate poziva slede cih funkcija u R-u. Pogledati oka ceni kod za informacije o seriji kojom se bavimo. sweetw.hw <- HoltWinters (sweetw.ts) 2
GLAVA 1. HOLT-WINTERS METOD plot(sweetw.hw) plot (sweetw.hw$tted) Pozivom ove dve plot funkcije dobijamo dva graka. Na prvom imamo dve linije, crna je na sa originalna serija, a druga, crvena, je ona ocenjena prethodnom jedna cinom. Vidimo da crvena po cinje malo posle crne, to je zbog indeksa za s, mogu ce je ocenjivati tek posle prve godine, to jest za t p. Na drugom graku dobijamo prikazane sve komponente modela na razli citim gracima. Va zi da je xhat= level+trend+season, u sta se mo zemo uveriti i pozivom sweetw.hw$tted i poredenjem vrednosti. Pozivom sweetw.hw$coef, dobija se niz ocenjenih koecijenata modela u poslednjim trenucima, koji se takode ra cunaju po prethodnoj formuli, dakle ako imamo n opservacija dobijeni koecijenti su a = a n, b = b n i s n p+1,..., s n ocene za 12 sezonskih komponenti (kod godi snje serije). Oni su posebno izdvojeni jer se na osnovu njih vr si predvidanje. Jedna cina predvidanja k koraka u budu cnost (k koraka nakon zavr setka serije) je ˆx n+k n = a n + k b n + s n+k p k p Kao sto mo zemo videti iz ove jedna cine predvidanja, pretpostavlja se da se trend nakon zavr setka serije linearno nastavlja slede cih k koraka u budu cnosti, po cev od poslednjeg nivoa, nagibom ocenjenim za poslednji trenutak. Za sezonsku komponentu koristi se odgovaraju ca, poslednja ocenjena vrednost. Jedna cine multiplikativnog Holt-Winters modela su: ( ) xn Level: a n = α + (1 α)(a n 1 + b n 1 ) Trend (or slope): Seasonal eect: s n p b n = β(a n a n 1 ) + (1 β)b n 1 s n = γ ( xn a n ) + (1 γ)s n p Multiplikativni model koristimo kada na osnovu graka serije sumnjamo da sezonska varijacija raste sa porastom trenda. Sa ovim modelom smo se ve c susreli kod funkcije decompose. Rekurentne jedna cine ovog modela su analogne aditivnom modelu, i njihov smisao se lako mo ze opisati kao sto 3
1.1. EKSPONENCIJALNO IZRAVNAVANJE GLAVA 1. HOLT-WINTERS METOD smo to ve c uradili u slu caju aditivnog modela. Formula po kojoj se ra cuna izravnjena serija je x t = (a t 1 + b t 1 ) s t p Pozivima funkcija u R-u koje smo istakli za aditivni model (samo treba navesti seasonal="mult" kao argument funkcije HoltWinters, pogledati kod) dobijamo odovaraju ce grake i koecijente za multiplikativni model, treba imati na umu da je sada xhat= (level+trend)season. Ako je dato n opservacija ukupno, jedna cina predvidanja k koraka unapred je ˆx n+k n = (a n + k b n ) s n+k p k p Ukoliko je na sa serija dobro ocenjena Holt-Winters modelom, reziduali (tj. gre ske predvidanja jedan korak unapred) bi trebalo da budu nekorelisani, sto se proverava korelogramom, ili Ljung-Box testom, i pribli zno normalno raspodeljeni sa jednakom diperzijom. Da li je disperzija jednaka u svim vremenskim trenucima mo ze se zaklju citi na osnovu graka reziduala. 1.1 Eksponencijalno izravnavanje Najjednostavniji specijalni slu caj Holt-Winters metoda je eksponencijalno izravnavanje. Koristimo ga kada imamo seriju bez o ciglednog trenda i sezonske komponente. Srednja vrednost te serije bi trebalo u tom slu caju da bude pribli zno konstantna, jer da je srednja vrednost npr. rastu ca funkcija, onda bi postojao trend, sto po pretpostavci ne bi trebalo. Jedna cina ovog modela je x t = µ t + w t gde je µ t funkcija srednje vrednosti a w t proces gre ske, sa nezavisnim vrednostima, o cekivanjem 0 i disperzijom σ 2. Bez znanja Holt-Winters metoda, tu funkciju srednje vrednosti bismo mogli da ocenimo metodom pokretnih proseka (MA) ali to ne bi bilo dobro jer pretpostavljamo da se ta funkcija srednje vrednosti menja nepredvidivo pa ne bi bilo zgodno koristiti jednake te zine svih opservacija u okolini t za ocenu µ t. Jedina komponenta Holt-Winters metoda je nivo (po sto nema sezonske komponente ni o ciglednog trenda koji bi imao svoj nagib ), i ra cuna se po formuli Nivo (level): a t = αx t + (1 α)a t 1 4
1.1. EKSPONENCIJALNO IZRAVNAVANJE GLAVA 1. HOLT-WINTERS METOD α (0, 1) je parametar izravnanja. Sto je α manje, manje vrednost x t uti ce na a t. Veliko α je dobro koristiti kada su promene u µ t ve ce u odnosu na devijaciju gre ske, σ. Tada se po cetna serija veoma malo izravna ( sto nam odgovara, jer ve ci deo varijabilnosti potice od µ t ). Male vrednosti α je dobro koristiti kada se µ t sporo menja, a σ je veliko. Tada se serija vi se izravna - vrednosti u trenutku t su bliske onim u t 1, a samo x t malo utice na a t. Ipak, po sto smo rekli da se bavimo serijom cija je funkcija srednje vrednosti pribli zno konstantna, vi se nam odgovaraju manje vrednosti za α, cesto se uzima na primer 0.2. Prognoziranje na osnovu HW metoda je dato sa ˆx n+k n = a n. Ovo je logi cna ocena, jer pretpostavljamo da se funkcija srednje vrednosti sporo menja (pribli zno konstantna) pa je najbolje budu cnost oceniti poslednjom poznatom vredno s cu nivoa. Dodatno, po sto proces gre ske ima nezavisne vrednosti, sa srednjom vredno s cu 0, tu gre sku nikako ne mo zemo oceniti i uklju citi u prognozu. Radi boljeg razumevanja eksponencijalnog izravnavanja jedna cinu za nivo mo zemo zapisati u druga cijem obliku: a t = αx t + α(1 α)x t 1 + α(1 α) 2 x t 2 +... Odavde se vidi da vrednosti u najbli zim trenucima najvi se uti cu na vrednost nivoa, a one u daljim sve manje i manje, ali za razliku od MA metoda ovde uti cu sve vrednosti iz pro slosti (kod MA metoda uti ce samo prethodnih i budu cih 6 u slu caju godi snje serije). 5
Glava 2 Osnovni stohasti cki modeli Do sada smo razmatrali dva pristupa modelovanju vremenskih serija. Prvi je bio da postoji trend i sezonska varijacija koja je ista za svaki period (npr. iste vrednosti sezonske varijacije za iste mesece razli citih godina, ako je u pitanju godi snja vremenska serija). Nakon sto se oceni trend metodom pokretnih proseka, oceni se i sezonska varijacija, tako da ona bude ista za svaki period (razli cito za aditivni odnosno multiplikativni model). Drugi pristup je podrazumevao da se i sezonska varijacija menja tokom vremena, i jedan primer takvog modela je Holt-Winters metod. Nakon sto tujemo na su seriju u neki od modela, primetimo da postoje odstupanja stvarnih vrednosti od tovanih vrednosti - te razlike cine proces gre ske reziduala. Ve c smo se bavili procesom gre ske, koji smo izdvojili iz serije funkcijom decompose i smatrali smo da je stacionaran, da bismo mogli da donosimo zaklju cke na osnovu korelacione funkcije, kao mere linearne zavisnosti. Ukoliko je na s model dobar, trebalo bi da je pokupio sve deterministi cke komponente serije, i da su gre ske nezavisne slu cajne veli cine, sa srednjom vredno s cu 0, iz neke raspodele. Iz tog razloga smo kao ocenu da li je neki model dobar, koristili koreloram. Po zeljno je bilo da sto manje vrednosti (po zeljno nijedna) korelacione funkcije upadne u kriti cnu oblast pri testiranju hipoteze o nekorelisanosti (govori se o serijskoj korelisanosti u okviru iste serije za svaki korak k ). Ipak, cesto se u tom procesu gre ske uo cavaju veze izmedu uzastopnih elemenata i denisanje te veze nam mo ze pomo ci u prognoziranju ili simulacijama. Kasnije cemo razmatrati neke stacionarne modele kao modele procesa gre ske. Na osnovu korelograma do sada smo samo videli kako izgleda korelogram karakteristi can za AR(1) i AR(2) model. Iako smo pomenuli ova dva modela, nismo denisali nijedan 6
2.1. BELI SUM GLAVA 2. OSNOVNI STOHASTI CKI MODELI model procesa gre ske. Krenimo od onog najpo zeljnijeg - procesa sa nezavisnim vrednostima iz iste raspodele. 2.1 Beli sum Neka je y t vrednost serije u trenutku t, i neka je ŷ t ocenjena (tovana) vrednost. Tada je gre ska u trenutku t vrednost x t = y t ŷ t. Videli smo kako na korelogram uti cu trend i sezonska varijacija. Ukoliko su ocenom trenda i sezonske varijacije uklonjene sve korelacije izmedu elemenata serije, elementi procesa gre ske bi trebalo da budu nekorelisani. Proces belog suma opisuje takav proces gre ske. Proces {W t : t = 1,..., n} je diskretan proces belog suma ako su sve slu cajne veli cine W t nezavisne, jednako raspodeljene, sa o cekivanjem 0 i disperzijom σ 2. Ako dodatno one imaju N(0, σ 2 ) raspodelu, taj proces se zove Gausov proces belog suma. Analogna je denicija procesa belog suma u neprekidnom vremenu. Beli sum je po zeljan model za proces gre ske, i to je prvi model denisan strogo kao jedan slu cajni proces, cije karakteristike kao sto su funkcija srednje vrednosti i korelaciona funkcija mo zemo izra cunati - da bismo znali sta da o cekujemo na korelogramu. Pre ovoga smo se bavili samo izravnavanjem serije - na osnovu jedne realizacije serije odredujemo njene komponente, ali pre sprovedenog metoda izravnavanja nemamo nikakvo teorijsko znanje o tome kakav ce biti izgled i svojstva dobijenih komponenti. 2.2 Slu cajno lutanje Slede ci model kojim se bavimo je Braunovo kretanje. Ovaj model (slu cajni proces) nema veze sa procesom gre ske, ali je blizak pomenutom Belom sumu, pa ga uvodimo sada. U primerima i pri simulacijama (videti kod) Beli sum smo posmatrali kao slu cajan proces u diskretnom vremenu. Takode, u svim primerima do sada posmatrana je neka zi cka veli cina koja se menja neprekidno u vremenu, u smislu da u svakom trenutku ona ima svoju vrednost i u svakom trenutku mo ze se desiti promena. Za sto se onda bavimo diskretnim procesima, kada bi prema ovome vremenska serija trebalo da bude jedna trajektorija procesa u neprekidnom vremenu? U praksi smo ograni ceni diskretnim vremenom. Generisanje vrednosti kod 7
2.2. SLU CAJNO LUTANJE GLAVA 2. OSNOVNI STOHASTI CKI MODELI kompjuterskih simulacija kao i bele zenje dobijenih vrednosti neke realne serije mogu ce je samo u diskretnim vremenskim trenucima. Zato se merenja vr se u sto vi se trenutaka, da bi se zabele zilo sto vi se tih promena, a kao modeli tih serija koriste se (aproksimativno) slu cajni procesi u neprekidnom vremenu. Slu cajno lutanje za t=0,1,2,... se deni se rekurentno B 0 = 0B t = B t 1 + W t, t 1 gde je W t proces diskretnog belog suma, W t N(0, σ 2 ). Grani cni slu caj slu cajnog lutanja je Braunovo kretanje (Vinerov proces). Sta to zna ci i kako bi se simulirala jedna trajektorija ovog procesa, na intervalu [0,T]? Poznato je da je u trenutku t vrednost procesa realizacija slu cajne veli cine B t, koja ima N(0, t) raspodelu, i da je prira staj na intervalu (s, t), B t B s slu cajna veli cina sa N(0, t s) raspodelom, nezavisna od prira staja na bilo kom drugom disjunktnom intervalu, pa tako i nezavisna od B s. Ova osobina nezavisnosti je bitna za simulacije. Kao sto je ve c re ceno, neprekidni procesi se simuliraju tako sto se uzima veoma veliki broj deobnih ta caka, a same vrednosti procesa se odreduju u diskretnim vremenima. Ideja je prvo napraviti jednu ekvidistantnu podelu intervala [0, T ], 0 = t 0 < t 1 <... < t n = T, t i t i 1 = t, a zatim u svim ta ckama podele, koriste ci svojstvo nezavisnosti prira staja, odrediti vrednost procesa na slede ci na cin, induktivno B 0 = 0, B tn = B tn 1 + Z t gde je Z slu cajna veli cina sa N(0, 1) raspodelom. ovako zadato B tn disperzija ba s jednaka t n. Uverite se kako je za U slu cajevima kada serija prati rastu ci ili opadaju ci trend, a u okviru tog trenda imamo i variranja mo zemo sumnjati na slu cajno kretanje sa driftom. Jedna cina ovog procesa je X t = X t 1 + δ + W t, gde je δ neka nepoznata konstanta - parametar drift. Braunovo kretanje se koristi kao model nestacionarne serije u ekonommiji i nansijama. Osobine ove serije su du zi periodi rastu ceg ili 8
2.3. AR MODELI GLAVA 2. OSNOVNI STOHASTI CKI MODELI opadaju ceg trenda i nepredvidive promene smera kretanja. Kako je nepredvidiva promena u narednom trenutku, za predvidanje budu cnosti najbolje je koristiti sada snju (poslednju dostupnu) vrednost. 2.3 AR modeli Slu cajni proces X t je AR model reda p, u oznaci AR(p) ako je se mo ze napisati u obliku X t = φ 1 X t 1 + φ 2 X t 2 +... + φ p X t p + W t φ 1,..., φ p su autoregresioni koecijenti. Karakteristi cna jedna cina mo ze se denisati na dva na cina. Prema prvom to je g p φ 1 g p 1 φ 2 g p 2... φ p = 0. Drugi na cin je kori s cenjem operatora siftovanja unazad (BX t = X t 1 ) θ p (B)X t = (1 φ 1 B φ 2 B 2... φ p B p ) Pa je karakteristi cna jedna cina θ p (B) = 0, polinom po B. U prvom slu caju va zi da je serija stacionarna ako su svi koreni polinoma (to mogu biti i kompleksni brojevi) po apsolutnoj vrednosti manji od 1, a u drugom ako su svi koreni polinoma po apsolutnoj vrednosti ve ci od 1. 2.3.1 AR(1) model Jedna cina modela: X t = φ 1 X t 1 + +W t Uslov stacionarnosti svodi se na φ 1 < 1 Funkcija srednje vrednosti: µ t = 0 Autokovarijaciona funkcija (pri uslovu stacionarnosti): Autokorelaciona funkcija: γ k = σ2 φ k 1 1 φ 2 1 ρ k = φ k 1 9
2.4. ARIMA GLAVA 2. OSNOVNI STOHASTI CKI MODELI 2.4 ARIMA Stacionarne vremenske serije su one cije osobine ne zavise od trenutka u kom se serija posmatra. Vremenske serije sa trendom ili sezonskim efektom nisu stacionarne (te komponente imaju kao posledicu razli cte vrednosti serije u razli citim trenucima) Neki slu cajevi mogu biti zbunjuju ci - vremenske serije sa cikli cnom komponentom (a bez trenda i sezonske komponente) su stacionarne. To je jer ciklusi nisu ksne du zine, pa ne znamo unapred gde ce biti najvi se i najni ze ta cke. Dakle stacionarne serije nemaju predvidiv obrazac koji se ponavlja. Grak stacionarne serije (vrednost posmatranog obele zja u odnosu na vreme) ima osobinu da je (grubo) horizontalan, sa konstantnom disperzijom tokom vremena. Za koje od 9 graka na gornjoj slici bismo rekli da su realizacije (jedna trajektorija) stacionarnog procesa? 10
2.4. ARIMA GLAVA 2. OSNOVNI STOHASTI CKI MODELI 2.4.1 Diferenciranje Jedan na cin da se od nestacionarne serije dobije stacionarna je diferenciranjem. Diferenciranjem serije dobija se nova serija tako sto se prave razlike uzastopnih opservacija. x t = x t x t 1 Na primer, diferenciranjem Braunovog kretanja dobija se beli sum (stacionarna serija). Grak (b) je zapravo dobijen diferenciranjem (a). Primetimo da se diferenciranjem meri promena u seriji (kao diferenciranje u analizi) i da diferencirana serija ima jedan element manje nego po cetna. Drugi na cin da se dobije stacionarna serija je njenim logaritmovanjem (ovo je mogu ce u slu caju pozitivnih vrednosti serije) jer se time stabilizuje disperzija). Ova transformacija se koristi kada disperzija zavisi od srednje vrednosti ("variance-on-mean relationship"), nakon logaritmovanja taj uticaj se elimini se i dobijamo seriju cija disperzija ne zavisi od srednje vrednosti. Za malo vi se informacija pogledati ovde. Diferenciranje drugog reda Opisano je diferenciranje prvog reda. Nekad diferencirana serija i dalje ne izgleda stacionarno, pa je potrebno vi se puta diferencirati. x t = (x t x t 1 ) (x t 1 x t 2 ) = x t 2x t 1 + x t 2 Ovim je u seriji modelovana mera promene u seriji promene i takva serija ima dve opservacije manje nego po cetna. Sezonsko diferenciranje Sezonsko diferenciranje je pravljenje razlike izmedu neke opservacije i njene odgovaraju ce opservacije iz istog meseca prethodne godine x t = x t x t m, m brojsezona Ove razlike se zovu i diferenciranje sa zadr skom m. Ako se ovim diferenciranjem dobija beli sum, onda je odgovaraju ci model po cetne serije x t = x t m + w t 11
2.4. ARIMA GLAVA 2. OSNOVNI STOHASTI CKI MODELI Predvidanje jednu godinu unapred - vrednost u odgovaraju cem mesecu prethodne godine. Mogu ce je kombinovanje obi cnog diferenciranja (sa korakom 1) i sezonskog jer nekad nije dovoljno samo sezonsko diferenciranje da bi se dobila stacionarna serija. Dato je slede com jedna cinom: x t = (x t x t 1 ) (x t 12 x t 13 ) = (x t x t 12 ) (x t 1 x t 13 ) Odavde se vidi da je svejedno kojim poretkom diferenciramo, ali je bolje prvo primeniti sezonsko diferenciranje, pa onda obi cno, jer nekad nakon sezonskog diferenciranja nije vi se potrebno ni sta transformisati. Kako uklopiti u model datu seriju? Nesezonski ARIMA model mo ze biti zapisan preko operatora siftovanja unazad na slede ci na cin (1 φ 1 B φ p B p )(1 B) d y t = c+(1+θ 1 B+ +θ q B q )w t (2.1) ili ekvivalentno (1 φ 1 B φ p B p )(1 B) d (y t µt d /d!) = (1+θ 1 B+ +θ q B q )w t, (8.3) gde je c = µ(1 φ 1 φ p ), a µ je srednja vrednost procesa (1 B) d y t. Dakle ako dodamo konstantu u nestacionarni ARIMA model na sa serija ce imati polinomni trend reda d, a bez konstante trend je polinom reda d 1. Specijalno, ako je d = 0, µ je srednja vrednost serije y t. arima() Po default-u arima() postavlja c = µ = 0 kada je d > 0, a ocenjuje µ kada je d = 0. Parametar µ je "intercept", i njegova vrednost ce biti blizu uzora cke srednje vrednosti serije, ali cesto ne ista jer uzora cka srednja vrednost nije ocena metodom maksimalne verodostojnosti kada je p + q > 0. Dodatni argument include.mean ima efekta samo za d = 0 i po default-u je TRUE. Ako se postavi include.mean=false, µ ce biti 0 Arima() Funkcija Arima iz paketa forecast takode ima argument include.mean koji ima istu ulogu kao kod arima() funkcije. Takode ima i argument include.drift koji dopu sta µ 0 kada je d = 1 i taj parametar se zove drift. Za d > 1 nije dozvoljena konstanta jer je kvadratni ili neki drugi polinom vi seg reda, kao ocena za trend, lo s za predvidanje. auto.arima() auto.arima() funkcija koja nalazi najbolji model, takode uklju cuje modele sa konstantom u slu cajevima d = 0 ili d = 1 ako oni pobolj savaju vrednost AIC-a. Za d > 1 konstanta se isklju cuje, ako se prosledi allowdrift=false, onda se konstanta uklju cuje samo za d=0. 12
2.4. ARIMA GLAVA 2. OSNOVNI STOHASTI CKI MODELI 13