Idősoros elemzés Ferenci Tamás,
[email protected] 2009. január 7.
A felhasznált adatbázisról Elemzésemhez a tanszéki honlapon rendelkezésre bocsátott TimeSeries.xls idősoros adatgyűjtemény egyik idősorát, a francia frank árfolyamának 1986.01.03. és 1993.12.31. közötti értékeit használtam fel (MNBNapiArf fül, X oszlop). Az így kapott 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ó korrelogrammot (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 a Ljung-Box Q-statisztikát vehetjük alapul.
1
2. ábra. A szintjén vizsgált idősor korrelogrammja
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 p-érték 0,000, azaz a nullhipotézis minden szokványos szignifikanciaszinten elvethető: idősorunk valóban nem stacionáriusnak minősíthető.
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ó korrelogramm is.
4
4. ábra. Az idősor első differenciázottja A Ljung-Box-teszt adattáblájából AC és 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]
A formális igazoláshoz segítségül hívhatjuk az ADF-tesztet:
5
5. ábra. Az idősor első differenciázottjának korrelogrammja
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 korrelogrammjá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 korrelogrammja
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