Stochastické modely časových řad (7. cvičení) 1 M5201 - 7. CVIČENÍ: Generování a porovnávání procesů typu 1(0) a 1(1) 1 Procesy nestacionární ve střední hodnotě Až dosud jsme uvažovali víceméně pouze procesy (slabě) stacionární. V reálných situacích se však se stacionárními procesy setkáváme pouze zřídka. Obecně rozlišujeme dva druhy nestacionarity: • nestacionarita ve střední hodnotě • nestacionarita v rozptylu (zabývali jsme se jí v 5. cvičení - viz Transformace stabilizující rozptyl ) 1.1 Procesy nestacionární ve střední hodnotě U procesů nestacionárních ve střední hodnotě je třeba odlišovat dva různé pojmy: 1.1.1 Deterministický trend nestacionaritu ve střední hodnotě chápeme jako funkci času, tj. k jejímu modelování použijeme regresní modely trendu (viz 3. a 4. cvičení), např. polynomický trend: f(t) = /30 + Pit H-----h ftdtd p periodický trend: f(t) = /x + ^^(aj cos A jí + (ij sin Xjt) 1.1.2 Stochastický trend U ARMA procesů jsme jako podmínku stacionarity požadovali, aby všechny kořeny polynomu $(z) = 1 - (fiZ - (f2Z2 - ■ ■ ■ - (fpZP ležely vně jednotkové kružnice, tj. aby proces byl kauzální. Pokud ale nějaký kořen leží • na jednotkové kružnici, mluvíme o procesu nestacionárním se stochastickým trendem, • uvnitř jednotkové kružnice, mluvíme o procesu nestacionárním explozivního typu. První případ, tedy nestacionární proces se stochastickým trendem, lze převést na stacionární proces pomocí diferencování. K tomu se zavádí tzv. diferenční operátor: AYt = Yt- yt_i = (1 - B)Yt Diferenční operátor je možné použít i dvakrát či vícekrát A2Yt = A(Yt - Yt-i) =Yt- 2Yt_1 + Yt_2 Nestacionární proces se stochastickým trendem se nazývá obecně integrovaný model a značí se 1(1), 1(2), ■ ■ ■ (číslo v závorce značí, kolikrát musíme řadu diferencovat, abychom se zbavili stochastického trendu). Proces, který má pouze deterministický trend, se pak značí 1(0). 2 Stochastické modely časových řad (7. cvičení) 2 Náhodná procházka Náhodná procházka je náhodný proces daný vztahem Yt = Yt-1+et et~WN(0,a2£) Proces náhodné procházky je limitním případem procesu AR(1), kde tpi = 1. Protože ale polynom $>(z) = 1 — tpiz má jediný kořen, který leží na jednotkové kružnici, není splněna podmínka stacionarity náhodného procesu. Jednoduše lze spočítat střední hodnotu a rozptyl náhodné procházky: E(Yt) = 0 D(Yt) = ta2 Náhodná procházka je tedy nestacionární proces, protože její rozptyl s časem roste. Autokorelační a parciální autokorelační funkce mají tyto vlastnosti: (a) hodnoty ACF = g{k) klesají velmi pomalu (lineárně) (b) hodnoty P ACF = a{k) jsou velmi podobné procesu AR{1) PŘÍKLAD 1 Podívejme se nyní na konkrétní realizaci procesu náhodné procházky. Budeme generovat časovou řadu obsahující 500 simulovaných hodnot náhodné procházky. K tomu nejprve vygenerujeme 500 hodnot bílého šumu. Jako bílý šum zvolíme nezávislé náhodné veličiny se standardizovaným normálním rozdělením, a proto při generování použijeme funkci rnorm(). > e <- rnorm(500) S pomocí bílého šumu již snadno nasimulujeme náhodnou procházku. Stačí vyjít z jednoduché úpravy vztahu t Yt = Yt-1 + et Yt = Y/^ Simulovanou náhodnou procházku následně vykreslíme. > rw.nd <- cumsum(e) > par (mar = c (2, 2, 1, 0) + 0.05) > plot (rw.nd, type = "1", xláb = "t") Stochastické modely časových řad (7. cvičení) 3 i-1-1-1-1-1 O 100 200 300 400 500 Obrázek 1: Náhodná procházka Jak bylo řečeno, náhodná procházka je limitním případem AR(1) procesu, kde tpi = 1. Proto nyní pro srovnání nasimulujme hodnoty AR{1) procesu s parametrem tp = 0.9, přičemž k tomu použijeme již dříve vygenerované hodnoty bílého šumu, které jsme uložili do vektoru e. Z obrázku si pak budeme moci udělat představu o tom, jak se od sebe liší AR{1) proces a náhodná procházka. > arl <- 1:500 > arl [1] <- e[l] > for (i in 2:500) { arlLU <- 0.9 * arl [i -11+ e [i] } > parCmar = c(2, 2, 1, 0) + 0.05) > plot(rw.nd, type = "1", xlab = "t", yláb = "") > Unes(1:500, arl, col = "dodgerblue") > legend("topleít", legend = c("nahodna procházka", "AR(1) proces"), col = c("black", "dodgerblue"), lty = c(l, 1), bty = "n") 4 Stochastické modely časových řad (7. cvičení) i-1-1-1-1-1 O 100 200 300 400 500 Obrázek 2: Porovnání náhodné procházky s AR{1) procesem Yt = 0.9Yt-i + Et Pomocí funkce ARMAacf si můžeme vykreslit teoretickou autokorelační a parciální autoko-relační funkci náhodné procházky > par (mírow = c(l, 2), mar = c (2, 2, 2, 1) + 0.05) > tARací <- ARMAacf(ar = 1, lag.max = 20) > plot(0: (length(tARacf) - 1), tARací, type = "h", main = "Teoretická ACF", xlab = "k", ylim = c(0, 1)) > abline(h = 0) > tARpací <- ARMAacf (ar = 1, lag. max = 20, pací = TRUE) > plot(l:length(tARpacf), tARpací, type = "h", main = "Teoretická PACF", xlab = "k", ylim = c(0, 1)) > ábline(h = 0) Teoretická ACF Teoretická PACF CO Ö CO Ö Ö CM Ö 0 5 10 15 20 5 10 15 20 Obrázek 3: Teoretická autokorelační a parciální autokorelační funkce náhodné procházky Nyní si prohlédněme výběrovou autokorelační a parciální autokorelační funkci simulované náhodné procházky. Stochastické modely časových řad (7. cvičení) 5 > par (mírow = c(l, 2), mar = c (2, 2, 3, 1) + 0.05) > acf(rw.nd, xlab = "k", main = "Výberová ACF") > pacf(rw.nd, xláb = "k", main = "Výberová PACF") Výberová ACF Výberová PACF —r- 10 15 —r- 20 —r- 25 10 —r- 15 I . I 20 I 25 Obrázek 4: Výběrová autokorelační a parciální autokorelační funkce náhodné procházky. Vidíme, že autokorelační funkce u náhodné procházky klesá pomalu a pouze lineárně. Parciální autokorelační funkce je u náhodné procházky významně nenulová pouze pro k = 1, všude jinde leží její hodnoty v 95% pásu spolehlivosti kolem nuly pro bílý šum, a jsou tudíž zanedbatelně malé. Předchozí výsledky týkající se korelace mezi hodnotami časové řady ještě porovnejme s AR{1) procesem. > par (mírow = c(l, 2), mar = c (2, 2, 3, 1) + 0.05) > ací(arl, xláb = "k", main = "ACF pro AR(1) proces") > pacf(arl, xláb = "k", main = "PACF pro AR(1) proces") ACF pro AR(1) proces PACF pro AR(1) proces - __________li,,.................. Míl, .....IL 0 5 10 15 20 25 0 5 10 15 20 25 Obrázek 5: Výběrová autokorelační a parciální autokorelační funkce AR{1) procesu Autokorelační funkce AR{1) procesu klesá k nule exponenciálně, v porovnání s náhodnou procházkou tedy podstatně rychleji. Parciální autokorelační funkce se ale v případě AR{1) procesu při zběžném pohledu nijak zásadně neliší od PACF pro náhodnou procházku. Nyní se podívejme, jak se situace změní, jestliže na náhodnou procházku aplikujeme diferenční operátor. 6 Stochastické modely časových řad (7. cvičení) Náhodná procházka je dána vztahem Yt = yt_i+et a diferenční operátor je definován jako AYt =Yf — Yí-i, takže jednoduchou úpravou, kdy Yt-i převedeme z pravé strany na levou, dostaneme následující výraz pro diferencovanou náhodnou procházku AYt = Yt- Yt-! = et. To znamená, že pokud diferencujeme náhodnou procházku, jako výslednou časovou řadu dostaneme bílý šum. Podívejme se, jak se diferencování projeví na naší simulované náhodné procházce. Diferencování provedeme v R pomocí funkce dif f (). > par (mírow = c(l, 1), mar = c (2, 2, 2, 1) + 0.05) > dif. rw.nd <- diff(rw.nd) > plot (dif. rw.nd, type = "1", jclab = "t", main = "Diferencovaná náhodná procházka") Diferencovaná náhodná procházka 0 100 200 300 400 500 Obrázek 6: Diferencovaná náhodná procházka AYt = Yt ~ Yt-! = £t Vykreslíme-li graf autokorelační a parciální autokorelační funkce pro diferencovanou náhodnou procházku, vidíme že hodnoty časové řady nejsou korelované, což odpovídá přesně bílému šumu. > par(mírow = c(l, 2), mar = c(2, 2, 3, 1) + 0.05) > acf(dif .rw.nd, xlab = "k", main = "ACF") > pacf (dif .rw.nd, xlab = "k", main = "PACF") Stochastické modely časových řad (7. cvičení) 7 ACF PACF i 11" i —r- 10 —I-I- 15 20 —r- 25 Obrázek 7: Výběrová autokorelační a parciální autokorelační funkce diferencované náhodné procházky 3 Náhodná procházka s posunutím V praxi se často používá modifikace náhodné procházky označovaná jako náhodná procházka s posunutím (random walk with drift). Tento proces lze popsat rovnicí Yt = /3 + yt_i+et, 13 e R Ačkoliv to na první pohled není zcela zřejmé, je v tomto náhodném procesu obsažen deterministický lineární trend. Stačí postupně upravovat předchozí rovnici t Yt = f3 + Yt_1 + et = 2f3 + Yt_2 + et + et-1 = ---= Yq+£í (1) lin. det. trend ^ ^ PŘÍKLAD 2 Nyní nasimulujeme náhodnou procházku s posunutím f3 = 0, 5, tj. Yt = 0.5 + yt_i + Et Při simulaci využijeme vztah (1). Nejprve si zvlášť vytvoříme vektor s lineárním trendem a k němu poté přičteme náhodnou procházku, kterou jsme vygenerovali již dříve (tj. kumulativní součty bílého šumu). Vzniklou náhodnou procházku s posunutím poté vykreslíme. > par(mfrow = c(l, 1), mar = c(2, 2, 1, 0) + 0.05) > trd <- 1:500 > rw.wd <- 0.5 * trd + cumsum(e) > plot(rw.wd, type = "1", xlab = "t", main = "Náhodná procházka s posunutím") 8 Stochastické modely časových řad (7. cvičení) Náhodná procházka s posunutím_ 100 200 300 400 —I— 500 Obrázek 8: Simulace náhodné procházky s posunutím Yt = 0.5 + Yt-i + Et Prohlédněme si autokorelační a parciální autokorelační funkci vygenerované náhodné procház s posunutím. > par(mfrow = c(l, 2), mar = c(2, 2, 3, 1) + 0.05) > acf(rw.wd, xlab = "k", main = "ACF") > pacf(rw.wd, xlab = "k", main = "PACF") ACF PACF —r- 10 —i-r~ 15 20 —r- 25 —r- 10 15 20 I 25 Obrázek 9: Výběrová autokorelační a parciální autokorelační funkce náhodné procházky s posunutím Yt = 0.5 + Yt-i + Et Vidíme, že průběh jak autokorelační, tak parciální autokorelační funkce je obdobný tomu, co jsme již viděli v případě náhodné procházky bez posunutí. Nyní se podívejme, co se stane, když budeme náhodnou procházku s posunutím diferen- Stochastické modely časových řad (7. cvičení) 9 covat. Yt = 13 + Yt-i + st I - Yt-i AYt = Yt- Yt-! =p + et Po diferencování bychom tedy měli dostat bílý šum posunutý o konstantu f3. Opět budeme řadu diferencovat pomocí funkce diff (). Poté vypočítáme průměr vzniklé řady, abychom se přesvědčili, že se jedná o bílý šum s přičtenou konstantou f3 = 0.5 a nakonec vše vykreslíme do grafu. > par (mírow = c(l, 1), mar = c (2, 2, 1, 0) + 0.05) > dif. rw.wd <- diff(rw.wd) > mean(dif.rw.wd) [1] 0.5106858 > plot (dif. rw.wd, type = "1", jclab = "t", main = "Diferencovaná nah. procházka s posunutím") > abline(h = mea.n(dif .rw.wd), col = "magenta") Diferencovaná nah. procházka s posunutím i-1-1-1-1-1 0 100 200 300 400 500 Obrázek 10: Diferencovaná náhodná procházka s posunutím Yt = 0.5 + Yt-i + £t Prohlédněme si opět autokorelační a parciální autokorelační funkci. > par (mírow = c(l, 2), mar = c (2, 2, 3, 1) + 0.05) > acf(dif.rw.wd, xlab = "k", main = "ACF") > pacf(dif.rw.wd, xlab = "k", main = "PACF") 10 Stochastické modely časových řad (7. cvičení) ACF PACF i 1 I " I 10 —I-!~ 15 20 —r- 25 Obrázek 11: Výběrová autokorelační a parciální autokorelační funkce diferencované náhodné procházky s posunutím Yt = 0.5 + Yt-i + ££ Autokorelační i parciální autokorelační funkce vypadají jako v případě bílého šumu. 4 Deterministický trend s bílým šumem Protože náhodná procházka s posunutím vypadá v grafu velice podobně jako obyčejný lineární deterministický trend s bílým šumem, podívejme se, v čem jsou si podobné a v čem se od sebe liší. Lineární deterministický trend s bílým šumem je dán vztahem Yt = a + fit + et PŘÍKLAD 3 Budeme uvažovat náhodný proces, kde a = 0 a f3 = 0.5. Vygenerujeme možnou realizaci tohoto náhodného procesu. > par (mírow = c(l, 1), mar = c (2, 2, 1, 0) + 0.05) > dt <- e + 0.5 * trd > plot(dt, type = "1", xlab = "t", main = "Lineární trend s bílým šumem") Stochastické modely časových řad (7. cvičení) 11 Lineami trend s bilym šumem Obrázek 12: Lineární trend s bílým šumem Yt = 0.5t + Et Jako obvykle nás bude zajímat autokorelační a parciální autokorelační funkce. > par(mfrow = c(l, 2), mar = c(2, 2, 3, 1) + 0.05) > ací(dt, xlab = "k", main = "ACF") > pacíCdt, xlab = "k", main = "PACF") ACF PACF —r- 10 15 —r- 20 —r- 25 —r- 10 —r- 15 20 I 25 Obrázek 13: Výběrová autokorelační a parciální autokorelační funkce lineárního trendu s bílým šumem Yt = 0.5i + Et Autokorelační funkce opět klesá pouze lineárně podobně jako v případě náhodné procházky s posunutím. Zde je ale tento fakt způsoben nikoli přítomností stochastického trendu, ale deterministického trendu. Po jeho odečtení bychom dostali bílý šum. Co se týká parciální autokorelační funkce, ta je opět nenulová pouze pro k = 1 stejně jako u náhodné procházky s posunutím. 12 Stochastické modely časových řad (7. cvičení) Nyní se podívejme, co by v případě lineárního trendu s bílým šumem způsobilo diferencování. Postupně počítejme Yt = a + pt + ct Yt - yt_i = a + I3t + et - Yt-i AYt = a + pt + et-a-P(t-l)- et-i AYt = p + et- et-i Diferencováním tedy dostaneme MA proces prvního řádu se střední hodnotou p. Proveďme tedy diferencování simulované časové řady a odhadněme její střední hodnotu pomocí aritmetického průměru. > par (mírow = c(l, 1), mar = c (2, 2, 1, 0) + 0.05) > dif.dt <- diff(dt) > mean (dif. dt) [1] 0.4973772 > plot (dif. dt, type = "1", xlab = "t", rnain = "Diferencovaný lineami trend s bilym šumem") _Diferencovaný lineami trend s bilym šumem_ 100 —i— 200 300 400 —r~ 500 Obrázek 14: Diferencovaný lineární trend s bílým šumem Yt = 0.5í + Et Protože diferencovaný lineární trend je MA proces druhého řádu, bude tomu odpovídat také tvar autokorelační a parciální autokorelační funkce. > par (mírow = c(l, 2), mar = c (2, 2, 3, 1) + 0.05) > acf(dif.dt, xlab = "k", main = "ACF") > pacf(dif.dt, xlab = "k", main = "PACF") Stochastické modely časových řad (7. cvičení) 13 ACF PACF —r- 10 15 —r- 20 —r- 25 1 M ' I 11 1 10 15 20 25 Obrázek 15: Výběrová autokorelační a parciální autokorelační funkce diferencovaného lineárního trendu s bílým šumem Yt = 0.5i + e t V obou případech jsou průběhy funkcí odlišné od situace s diferencovanou náhodnou procházkou. Na závěr vykresleme do jednoho grafu náhodnou procházku s posunutím a lineární deterministický trend s bílým šumem, abychom si udělali představu o rozdílech v jejich průběhu. > par (mírow = c(l, 1), mar = rep(5, 4)) > plot.ts(dt, lty = 1, ylab = "", xlab = "") > lines(rw.wd, lty = 1, col = "dodgerblue") > par (new = T) > plot.ts(rw.nd, lty = 3, axes = FALSE) > axis(4, pretty (range (rw.nd) ) ) > legend(10, 18.7, legend = c("det. trend + bily sum", "nah. procházka s posunutím", "nah. procházka"), lty = c(l, 1, 3), col = c("black", "dodgerblue", "black"), bty = "n") 14 Stochastické modely časových řad (7. cvičení) i-1-1-1-1-n O 100 200 300 400 500 Time Obrázek 16: Náhodná procházka (pravá osa), náhodná procházka s posunutím a lineární deterministický trend s bílým šumem (levá osa). PŘÍKLAD 4 Právě nabyté poznatky o 7(0) a 1(1) procesech zkusíme nyní aplikovat na reálná data. V souboru CZK_EUR.txt jsou uloženy údaje o směnném kurzu české koruny a eura od května 1998 do září 2011. Údaje jsou měsíční a představují průměrný směnný kurz na devizovém trhu v daném měsíci. Porovnáme na nich dva různé přístupy k analýze časové řady. Při prvním postupu se z řady pokusíme odstranit lineární trend a získaná rezidua budeme modelovat pomocí ARMA procesu. Ve druhém přístupu budeme předpokládat, že trend obsažený v časové řadě je stochastický, a proto použijeme diferencování. Druhý přístup by mohl být v souladu s některými ekonomickými teoriemi, které říkají, že ceny na finančních trzích vykonávají náhodnou procházku. Data nejprve načteme. V prvním řádku datového souboru je obsažena hlavička, data jsou uvedena od druhého řádku dále. V prvním sloupci je datum, ke kterému se údaj vztahuje, a v druhém sloupci je hodnota směnného kurzu. Sloupce jsou od sebe odděleny znakem |. > fileDat <- paste (data. libr ary, "CZK_Em.txt", sep = "") > czkeur <- read.table(fileDat, header = TRUE, sep = "I") > str(czkeur) Stochastické modely časových řad (7. cvičení) 15 'data, frame': 161 obs. of 2 variables: $ Obdobi : Factor w/ 161 levels "28.2.1999","28.2.2001",..: 120 40 134 148 54 68 14 94 81 1 ... $ CZK.EUR: imm 36.9 36.5 34.4 37 35.2 ... > kurzTS <- ts(czkeur$CZK.EUR, start = c(1998, 5), frequency = 12) > par(mfrow = c(l, 1), mar = c(2, 2, 1, 0) + 0.05) > plot(kurzTS) n-1-1-1-1-1-1-T 1998 2000 2002 2004 2006 2008 2010 201: Obrázek 17: Směnný kurz české koruny a eura v nepřímém vyjádření (květen 1998 - září 2011) Nejprve se tedy pokusme odhadnout lineární trend. > time <- time (kurzTS) > kurzLintrend <- lm(kurzTS ~ time) > summary (kurzLintrend) Call: lm(formula = kurzTS ~ time) Residuals: Min IQ Median 3Q Max -3.5527 -0.4601 0.1813 0.7373 2.3517 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2038.69866 45.34129 44.96 <2e-16 *** time -1.00173 0.02261 -44.30 <2e-16 *** Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 1.111 on 159 degrees of freedom Multiple R-squared: 0.925, Adjusted R-squared: 0.9246 F-statistic: 1962 on 1 and 159 DF, p-value: < 2.2e-16 Vidíme, že lineární trend je statisticky významný. Výsledek znázorníme graficky. 16 Stochastické modely časových řad (7. cvičení) > n <- length (time (kurzTS)) > gridt <- seq(time[ 1 ], time[n], length, out = 300) > pred <- predict (kurzLintr end, data., frame (time = gridt), interval = "confidence") > par (mar = c(2, 2, 1, 0) + 0.05) > plot(kurzTS, main = "Devizovy kurz CZK/EUR") > matlines(gridt, pred, col = c("red", "gray35", "gray35")) Devizový kurz CZK/EUR 1998 2000 2002 2004 2006 2008 2010 Obrázek 18: Směnný kurz české koruny a eura (květen 1998 - září 2011) s odhadnutým lineárním trendem Podívejme se na rezidua, která nám dává model s lineárním trendem. > res <- resid(kurzLintrend) > par(mar = c(2, 2, 1, 0) + 0.05) > plot (res, type = "1") 0 50 100 150 Obrázek 19: Rezidua z modelu s lineárním trendem pro směnný kurz české koruny a eura (květen 1998 - září 2011) Podívejme se na autokorelační a parciální autokorelační funkci reziduí. Stochastické modely časových řad (7. cvičení) 17 > par (mírow = c(l, 2), mar = c (2, 2, 3, 1) + 0.05) > ací(res, xlab = "k", main = "ACF") > pacf(res, xlab = "k", main = "PACF") ACF PACF TT I . . I . . I I . I I I I ' I 'I 10 —r- 15 —r- 20 I 10 I 15 —r- 20 Obrázek 20: Výběrová autokorelační a parciální autokorelační funkce reziduí z modelu s lineárním trendem pro směnný kurz české koruny a eura (květen 1998 - září 2011) Již z grafu autokorelační funkce pro rezidua vidíme, že jsme z časové řady neodstranili veškerou systematickou složku, tak aby nám zbyl pouze bílý šum (ACF by v tom případě musela být kromě k = 0 všude přibližně nulová). Protože ale parciální autokorelační funkce je kromě k = 1 všude nulová, nelze vyloučit, že rezidua lze modelovat například jako AR{1) proces. Zkusme proto pro rezidua odhadnout obecný ARMA model pomocí funkce auto.arima. > librarydorecast) > resArma <- auto.arima (res) > summary (resArma) Series: res ARIMA(1,0,0) with zero mean Call: auto.arima(x = res) Coefficients: arl 0.8526 s.e. 0.0403 sigma~2 estimated as 0.3288: log likelihood = -139.56 AIC = 283.11 AICc = 283.19 BIC = 289.28 In-sample error measures: ME RMSE MAE MPE MAPE 0.006523843 0.573408645 0.414104902 -19.705762730 127.828532984 Funkce auto.arima odhadla rezidua jako AR{1) proces. Vypočítejme nyní "rezidua z reziduí", tj. odstraníme z reziduí tu část, kterou popisuje odhadnutý AR{1) model. > par(mfrow = c(l, 1), mar = c(2, 2, 1, 0) + 0.05) > res2 <- resid(resArma) > plot(res2, type = "1") 18 Stochastické modely časových řad (7. cvičení) Obrázek 21: Rezidua po odstranění lineárního trendu a AR(1) procesu pro směnný kurz české koruny a eura (květen 1998 - září 2011) Podívejme se ještě na ACF a PACF pro tato rezidua „druhého řádu", zda již odpovídají bílému šumu. > par (mfrow = c(l, 2), mar = c(2, 2, 3, 1) + 0.05) > acf(res2, xlab = "k", main = "ACF") > pacf(res2, xlab = "k", main = "PACF") ACF PACF Ml l 1 I 10 —r- 15 —r- 20 I 10 I 15 —r- 20 Obrázek 22: Výběrová autokorelační a parciální autokorelační funkce reziduí po odstranění lineárního trendu a AR(1) procesu pro směnný kurz české koruny a eura (květen 1998 - září 2011) Podle obou grafů se zdá, že se nám z časové řady podařilo odstranit systematickou složku, protože rezidua mají stejné vlastnosti jako bílý šum. Podívejme se, jaké výsledky bychom dostali, kdybychom se na začátku nepokoušeli odstranit z řady deterministický lineární trend, ale místo toho použili diferencování. > par (mírow = c(l, 1), mar = c (2, 2, 1, 0) + 0.05) > dií.kurz <- diff(kurzTS) > plot(dií.kurz) > ábline(h = mean(dií.kurz), col = "magenta") Stochastické modely časových řad (7. cvičení) 19 1998 2000 2002 2004 2006 2008 2010 Obrázek 23: Diferencovaná časová řada Směnný kurz české koruny a eura květen 1998 - září 2011 Opět si prohlédněme autokorelační a parciální autokorelační funkci diferencované řady. > par (mírow = c(l, 2), mar = c(2, 2, 3, 1) + 0.05) > acf(dif .kurz, xlab = "k", main = "ACF") > pací(dif .kurz, xlab = "k", main = "PACF") ACF PACF "TP" I I I I - I n— o.o i— 0.5 I— 1.0 I— 1.5 0.5 1.0 I— 1.5 Obrázek 24: Výběrová autokorelační a parciální autokorelační funkce reziduí 1. diferencí pro směnný kurz české koruny a eura (květen 1998 - září 2011) Průběh obou typů autokorelačních funkcí odpovídá bílému šumu. Ze se jedná skutečně o bílý šum ale zatím nemůžeme prohlásit, protože k tomu bychom ještě museli provést detailní analýzu reziduí (ta bude na programu v jednom z dalších cvičení). Přesto je vidět, že pouhým diferencováním časové řady se nám podařilo dosáhnout stejně dobrého výsledku jako při složitějším postupu, kdy jsme postupně odhadovali lineární trend a ARMA model pro rezidua. 20 Stochastické modely časových řad (7. cvičení) 5 Úkol: Načtěte si datový soubor radylOl. txt. Soubor obsahuje tři časové řady, které byly simulovány jako: • náhodná procházka, • náhodná procházka s posunutím, • deterministický lineární trend s bílým šumem. Pořadí v tomto výčtu je ale čistě náhodné a neodpovídá pořadí, v jakém jsou řady uložené v souboru. Vaším úkolem je pomocí postupů a úvah použitých v předchozích příkladech rozhodnout, která řada je která.