Idősoros elemzés – minta∗ Ferenci Tamás,
[email protected]
A felhasznált adatbázisról Elemzésemhez a francia frank árfolyamának 1986.01.03. és 1993.12.31. közötti értékeit használtam fel, mely idősorban összesen 2459 megfigyelés volt.
Stacionaritás vizsgálata Mielőtt bármiféle tesztelést végzünk, érdemes az idősort elsőként grafikusan is ábrázolni (az emberi szem sok összefüggés felfedésére képes. . . ), ahogy az az 1. ábrán is látható.
1. ábra. A használt idősorunk Itt különösebb gyakorlatra sincs szükség, hogy megállapítsuk: idősorunk gyakorlatilag kizárt, hogy stacionáriusnak bizonyulna, hiszen egyértelmű trendje van. A kicsit formálisabb igazoláshoz nézzük meg a 2. ábrán látható korrelogramot (14-es késleltetésig számítva). Látható, hogy az ACF egyáltalán nem cseng le, márpedig ez nem konzisztens a stacionaritás feltételezésével. A teljesen formális igazoláshoz az ACF számszerű értékeit és szignifikanciáit vehetjük alapul. ∗ Jelen dolgozat kizárólag az idősoros elemzések módszereinek szemléltetésére szolgál, a szakmai tartalmát nem szabad komolyan venni – annál is inkább, mert alapvető módszertani hiba lenne egy valós idősort így elemezni (lényegében: fehérzaj „modellezése”). A dolgozat tehát szigorúan csak a módszerek illusztrálásának célját szolgálja!
1
2. ábra. A szintben vizsgált idősor korrelogrmmja
Autocorrelation function for v1 LAG
ACF
1 2 3 4 5 6 7 8 9 10 11 12 13 14
0.9985 0.9971 0.9955 0.9940 0.9925 0.9910 0.9895 0.9880 0.9865 0.9850 0.9835 0.9821 0.9806 0.9791
PACF *** *** *** *** *** *** *** *** *** *** *** *** *** ***
0.9985 *** -0.0052 -0.0098 0.0010 -0.0008 -0.0055 0.0013 0.0005 0.0016 0.0025 0.0045 -0.0006 -0.0002 -0.0038
Q-stat. [p-value] 2454.7787 4903.2766 7345.3686 9781.0852 12210.4307 14633.3434 17049.8580 19459.9980 21863.8040 24261.3287 26652.6529 29037.7866 31416.7438 33789.4867
[0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000] [0.000]
Kivétel nélkül minden késleltetésen szignifikáns az autokorreláció (minden szokásos szignifikanciaszinten), az autokorrelációk pedig alig csökkenő módon szinte 1 értékűek, azaz idősorunk ebből a szempontból egyértelműen nem stacionáriusnak tűnik.
2
Az idősor transzformálása Mivel az idősor nem stacionárius, így az ARMA-módszertan közvetlenül nem alkalmazható rá. Ez azonban önmagában még nem probléma, hiszen ha találunk olyan transzformációt, mellyel stacionerré tudjuk tenni, akkor a transzformált folyamat modellezhető, majd a kapott eredmények (pl. előrejelzések) visszatranszformálhatóak az eredeti értelmezésbe. Újra megnézve most az 1. ábrát, elég egyértelműnek tűnik, hogy az idősorunk lineáris trendet követ. Ezt kicsit kézzelfoghatóbbá tehetjük, ha a gretl környezet alatt felveszünk egy időindexet, és determinisztikus modellezést végzünk, azaz megpróbáljuk kiregresszálni az idősorunk elemeit ezen időváltozóval. (Ez természetesen nem más, mint lineáris trend illesztése az idősorra.) Az eredményt a 3. ábra szemlélteti.
3. ábra. Az idősor egyszerű determinisztikus modellezése Az illeszkedés valóban jó, az R2 mutató értéke 0,9642:
3
Model 1: OLS estimates using the 2459 observations 1–2459 Dependent variable: v1 Coefficient const index
5.64703 0.00432803
t-ratio
Std. Error 0.0238827 1.68171e-05
Mean of dependent variable S.D. of dependent variable Sum of squared residuals Standard error of the regression (ˆ σ) Unadjusted R2 ¯2 Adjusted R Degrees of freedom Durbin–Watson statistic First-order autocorrelation coeff. Log-likelihood Akaike information criterion Schwarz Bayesian criterion Hannan–Quinn criterion
236.4490 257.3579
p-value 0.0000 0.0000
10.9705 3.12936 861.002 0.591970 0.964231 0.964216 2457 0.0132245 0.993509 −2198.9 4401.83 4413.45 4406.05
Mindezek alapján arra a döntésre juthatunk, hogy idősorunkat a lineáris trendtől tisztítva kell megpróbálnunk stacionarizálni. Általánosságban két megoldás jöhet szóba: az idősor első differenciázottjának vétele vagy a determinisztikus trend kivonása. A kettő között ADF-teszttel dönthetünk: ha az eredeti idősor csak konstanssal integrált, de a konstans és trend körül stacioner, akkor a determinisztikus trend kivonása a célravezető, ha konstans és trend körül sem stacioner, akkor a differenciázás. A két releváns lehetőséget megvizsgálva a gretl-ben: Augmented Dickey-Fuller tests, order 1, for v1 sample size 2457 unit-root null hypothesis: a = 1 test with constant model: (1 - L)y = b0 + (a-1)*y(-1) + ... + e 1st-order autocorrelation coeff. for e: 0.000 estimated value of (a - 1): 8.58636e-005 test statistic: tau_c(1) = 0.19528 asymptotic p-value 0.9724 with constant and trend model: (1 - L)y = b0 + b1*t + (a-1)*y(-1) + ... + e 1st-order autocorrelation coeff. for e: 0.000 estimated value of (a - 1): -0.00641982 test statistic: tau_ct(1) = -2.76327 asymptotic p-value 0.2111 Rögtön látható, hogy mindkét esetben tartható nullhipotézis, azaz a nemstacionaritás feltevése; ez a fent mondottak értelmében azt jelenti, hogy a differenciázást választjuk a stacionarizálásra. Az idősor első differenciázottjának grafikonját az a 4. ábra mutatja. Ezt elnézve máris hihető a stacionaritás feltevése! Ezt megerősíti az 5. ábrán látható korrelogram is.
4
4. ábra. Az idősor első differenciázottja A korrelogram adattáblájából az AC és a PAC értékein túl az is látszik, hogy a Ljung-Box Q sehol nem lesz szignifikáns: Autocorrelation function for d_v1 LAG
ACF
PACF
1 2 3 4 5 6 7 8 9 10 11 12 13 14
-0.0113 0.0064 0.0045 -0.0076 -0.0010 0.0107 -0.0069 -0.0084 -0.0084 -0.0191 -0.0089 -0.0132 0.0135 -0.0194
-0.0113 0.0062 0.0047 -0.0075 -0.0012 0.0107 -0.0066 -0.0087 -0.0087 -0.0190 -0.0092 -0.0134 0.0135 -0.0190
Q-stat. [p-value] 0.3134 0.4132 0.4640 0.6064 0.6087 0.8899 1.0066 1.1805 1.3561 2.2565 2.4511 2.8831 3.3365 4.2634
[0.576] [0.813] [0.927] [0.962] [0.988] [0.989] [0.995] [0.997] [0.998] [0.994] [0.996] [0.996] [0.996] [0.994]
Ez jó jel a stacionaritás szempontjából; ennek teljesen formális igazolásához az ADF-tesztet hívhatjuk segítségül:
5
5. ábra. Az idősor első differenciázottjának korrelogramja
Augmented Dickey-Fuller tests, order 1, for d_v1 sample size 2456 unit-root null hypothesis: a = 1 test with constant model: (1 - L)y = b0 + (a-1)*y(-1) + ... + e 1st-order autocorrelation coeff. for e: 0.000 estimated value of (a - 1): -1.00503 test statistic: tau_c(1) = -34.9874 asymptotic p-value 5.278e-037 with constant and trend model: (1 - L)y = b0 + b1*t + (a-1)*y(-1) + ... + e 1st-order autocorrelation coeff. for e: 0.000 estimated value of (a - 1): -1.00548 test statistic: tau_ct(1) = -34.9911 asymptotic p-value 6.389e-058 Látható, hogy a nullhipotézis minden szokásos szignifikanciaszinten elvethető: a transzformált idősorunk nem tartalmaz egységgyököt.
6
A transzformált idősor ARMA-modellezése Ezen jó hírek után nincs más dolgunk, mint a transzformált idősorra ARMA-modellt adni. Már most érdemes megjegyezni, hogy a transzformált modellre adott ARMA(p,q) modell az eredeti idősor tekintetében ARIMA(p,1,q) modell lesz. A legfontosabb szempont, hogy takarékos modellt adjunk, azaz lehetőleg kis p,q értékek mellett találjunk kellően illeszkedő modellt. Akár szisztematikus próbálkozással (p = 0, q = 0; p = 1, q = 0; p = 0, q = 1; p = 1, q = 1 stb.) is nagyon gyorsan rájöhetünk, hogy a p = 2, q = 2 az első olyan maximális késleltetés-rend választás, mely mellett az egyes AR, ill. MA paraméterek kielégítően szignifikánsak lesznek. Nem is akárhogy, mindegyik minden szokásos szignifikanciaszinten szignifikáns: Model 1: ARMA estimates using the 2458 observations 2–2459 Dependent variable: d_v1 Standard errors based on Hessian Coefficient
Std. Error
0.00439025 −0.376570 −0.977528 0.368384 0.983359
const φ1 φ2 θ1 θ2
0.00136958 0.0139120 0.0232809 0.0120308 0.0215774
t-ratio
p-value
3.2056 −27.0680 −41.9885 30.6201 45.5736
0.0013 0.0000 0.0000 0.0000 0.0000
0.00438975 0.0680753 −1.66061e-07 0.00461981 3121.00 −6229.9 −6195.1 −6217.3
Mean of dependent variable S.D. of dependent variable Mean of innovations Variance of innovations Log-likelihood Akaike information criterion Schwarz Bayesian criterion Hannan–Quinn criterion Real
Imaginary
Modulus
Frequency
AR Root Root
1 2
−0.1926 −0.1926
−0.9929 0.9929
1.0114 1.0114
−0.2805 0.2805
Root Root
1 2
−0.1873 −0.1873
−0.9909 0.9909
1.0084 1.0084
−0.2797 0.2797
MA
(Észrevehető, hogy nagyobb késleltetések mellett is adható hasonlóan szignifikáns modell, de mi most – különösen ebben az egyszerű példában – megelégszünk ezzel az igen takarékos megközelítéssel.)
Modelltulajdonságok ellenőrzése Mielőtt a modellt bármilyen vizsgálatra felhasználjuk, ellenőriznünk kell megfelelőségét, mindenekelőtt, hogy a modell szerinti reziduumok valóban WN(0,σ 2 ) fehérzajnak tekinthetőek-e. A 6. ábra mutatja a reziduumok korrelogramját. Megnyugodva láthatjuk (ezt a Ljung-Box Q statisztika is megerősíti), hogy a reziduumok a vizsgált késleltetéstartományban teljesen mentesek minden szignifikáns autokorrelációtól és parciális autokorrelációtól:
7
6. ábra. Az idősor első differenciázottjára adott ARMA modell reziduumainak korrelogrmmja
Residual autocorrelation function LAG
ACF
PACF
1 2 3 4 5 6 7 8 9 10 11 12 13 14
-0.0026 -0.0001 -0.0015 0.0010 0.0017 0.0013 -0.0059 0.0003 -0.0126 -0.0261 -0.0026 -0.0086 0.0055 -0.0206
-0.0026 -0.0001 -0.0015 0.0010 0.0017 0.0013 -0.0059 0.0002 -0.0126 -0.0262 -0.0027 -0.0087 0.0054 -0.0206
Q-stat. [p-value] 0.0167 0.0167 0.0220 0.0244 0.0315 0.0358 0.1218 0.1220 0.5124 2.2002 2.2168 2.4014 2.4767 3.5296
[0.897] [0.992] [0.999] [1.000] [1.000] [1.000] [1.000] [1.000] [1.000] [0.995] [0.998] [0.998] [0.999] [0.998]
További elvárás, hogy a reziduumok eloszlása normális legyen. Ezt szintén gyorsan ellenőrizhetjük gretl-ben (7. ábra). Az ábrán látható a normalitásra vonatkozó hipotézisvizsgálat eredménye is, mely egyértelműen elveti a normalitást. (Ez nyilván nem jó hír, hiszen arra utal, hogy modellünk nem tökéletes – de jelen egyszerű vizsgálatban ezt el kell fogadjuk. Annál is inkább, mert a
8
vélhető oka mindössze annyi, hogy van néhány kiugró érték, márpedig erre érzékeny a teszt.)
7. ábra. Az idősor első differenciázottjára adott ARMA modell reziduumainak normalitásvizsgálata
Előrejelzés a modell alapján A modell alapján lehetőségünk nyílik az idősor előrejelzésére. A 8. ábra az előrejelzéseket mutatja (95%-os konfidenciaintervallumukkal). Mint látható, az előrejelzések bizonytalansága gyorsan nő (ahogy távolodunk az idősorban lévő információtól) ezért csak az 5 időpontra történő előrejelzést szemléltettük.
9
8. ábra. Az idősor előrejelzése a rá adott ARIMA(2,1,2) modell alapján
10