Föreläsning 8 ARIMA del 2 Patrik Zetterberg 19 december 2012 1 / 28
Undersöker funktionerna ρ k och ρ kk Hittills har vi bara sett hur autokorrelationen och partiella autokorrelationen ser ut matematiskt för AR(1) och MA(1). Hur ser dessa funktioner ut grafiskt? Vi börjar med att undersöka AR(1), MA(1) och ARMA(1,1) processerna. Diagramtypen där man visar ρ k och ρ kk för olika laggar k kallas korrelogram. Vi undersöker den teoretiska autokorrelationen och teoretiska partiella autokorrelationen för tre ARIMA processer. Utseendet på dessa funktioner indikerar vilken process som har simulerat datat. 2 / 28
Korrelogram för ρ k och ρ kk TAC för AR(1) TAC för MA(1) TAC för ARMA(1,1) ACF 0.0 0.4 0.8 ACF 0.0 0.4 0.8 ACF 0.0 0.4 0.8 0 5 10 15 20 Lag 0 5 10 15 20 Lag 0 5 10 15 20 Lag TPAC för AR(1) TPAC för MA(1) TPAC för ARMA(1,1) Partial ACF 0.0 0.2 0.4 0.6 0.8 Partial ACF -0.2 0.0 0.2 0.4 Partial ACF -0.4 0.0 0.4 0.8 5 10 15 20 Lag 5 10 15 20 Lag 5 10 15 20 Lag 3 / 28
Analys av korrelogram Korrelogrammen är därför en indikation på vilken bakomliggande process som har genererat tidsserien och vilken modell som kan vara lämplig att anpassa på data! Ett exempel: Teoretiskt avtar ρ k med k i en AR(2)-process. ρ kk bryts av vid lag k i en AR(2)-process. Vi observerar en stationär tidsserie z t och skattar r k = ˆρ k och r kk = ˆρ kk Om funktionerna r k och r kk beter sig på liknande sätt som ρ k och ρ kk i en AR(2)-process, anpassar vi en AR(2) modell på processen. 4 / 28
Reder ut begreppen... begrepp beteckning förkortning Teoretisk autokorrelation ρ k TAC Teoretiskt partiell autokorr. ρ kk TPAC Stickprovets autokorrelation r k SAC Stickprovets partiella autokorr: r kk SPAC Ibland förkortas funktionerna för autokorrelation och partiella autokorrelation ACF och PACF. 5 / 28
Från ARMA till ARIMA Hittills har vi pratat om ARIMA-modeller som ett övergripande namn för olika AR(p), MA(q) och ARMA(p,q) modeller. Vi har hittills betecknat en stationär tidsserie z t. Men i allmänhet är tidsserier inte stationära. Är en tidsserie y t inte stationär, måste man transformera y t så att den transformerade serien z t är stationär. Det är i detta steg vi går från ARMA till ARIMA-modeller. 6 / 28
Transformera din tidsserie så att den blir stationär! Den vanligaste transformationen är bildandet av (första)differenser, t.ex. z t = y t y t 1 Här har vi tagit första differensen av tidsserien y t. Förhoppningsvis är serien z t nu stationär och redo att analyseras med ARIMA-modeller. Ibland räcker det inte med första differenser för att skapa en stationär serie, vanligt är att man då beräknar ytterligare en första differens på första differenserna. Man säger att man då skapat andra differenserna av tidsserien. z t = (y t y t 1 ) (y t 1 y t 2 ) = y t 2y t 1 + y t 2
Transformera din tidsserie så att den blir stationär! Har man beräknat differenser på en tidsserien y t kallas serien integrerad (Obs. förväxla inte med beräkningar av integraler). Ordningen på integreringen motsvarar antalet differenser som krävs för att göra y t stationär. y t stationär efter en differens y t integrerad av ordningen 1. Integreringen är bokstaven I i ARIMA. Antalet integreringar i ARIMA-modellen betecknas d 7 / 28
ARIMA(p,d,q) ARIMA(p,d,q)-modellen skrivs: Z t = φ 1Z t 1 + φ 2Z t 2,... + φ pz t p + a t θ 1a t 1 θ 2a t 2... θ qa t q där Z t är stationär efter d antal differenser av tidsserien Y t. Vi har alltså tre beståndsdelar i ARIMA(p,d,q)-modellen: p = antalet laggar i AR-delen. d = antalet differenser av Y t som krävs för stationäritet. q= antalet laggar i MA-delen. 8 / 28
Olika ARIMA(p,d,q)-modeller ARIMA(1,1,1) = en kombination av en AR(1) och MA(1) där z t är stationär efter första differensen av y t. ARIMA(1,0,1) = ARMA(1,1) då y t är stationär till en början. ARIMA(1,0,0) = AR(1) eftersom d = 0 och q = 0 ARIMA(0,0,1) = MA(1) eftersom p = 0 och d = 0 T.ex. kan vi skriva ARIMA(1,1,1)-modellen (utan drift) som: Z t = φ 1 Z t 1 + a t θ 1 a t 1, där Z t = Y t Y t 1 9 / 28
Ett exempel Vi har tagit observationer ifrån en icke-stationär tidsserie Y t : t y t 1 1 2 3 3 5 4 7 5 9 6 11 Utifrån y t vill vi beräkna första differensen z t = y t y t 1 och andra differensen z t = z t z t 1. 10 / 28
Effekten av första differensen Är z t stationär? t y t y t 1 z t = y t y t 1 1 1 * * 2 3 1 2 3 5 3 2 4 7 5 2 5 9 7 2 6 11 9 2 11 / 28
Effekten av andra differensen t y t y t 1 z t = y t y t 1 z t 1 zt = z t z t 1 1 1 * * * * 2 3 1 2 * * 3 5 3 2 2 0 4 7 5 2 2 0 5 9 7 2 2 0 6 11 9 2 2 0 Som vi kan se så är även zt konstruerat) exempel.. stationär. Detta var ett lätt (och 12 / 28
Undersöker stationäritet - grafisk analys Vi kan undersöka om Y t är stationär eller ej genom att plotta tidsserien. Finansiella institutens utlåning 2002-2011 Ett simulerat dataset Miljoner SEK 3000000 4000000 5000000 Y -20-10 0 10 20 2002 2004 2006 2008 2010 2012 2002 2004 2006 2008 2010 2012 Time Time Är dessa tidsserier stationära? 13 / 28
Beräknar första differensen Vi beräknar första differensen, z t, på tidsserien över de finansiella institutens utlåning: Zt = första differensen av Yt Miljoner SEK -100000 0 50000 150000 2002 2004 2006 2008 2010 2012 Time Som vi kan se är z t så gott som stationär (liten tendens till icke-konstant varians men det bortser vi ifrån). 14 / 28
Undersöker stationäritet - grafisk analys Vi kan även se om en observerad tidsserie y t är stationär genom att studera korrelogrammet för stickprovets autokorrelation, r k. Vi kan ställa upp några (godtyckliga) tumregler: Om r k avtar snabbt är y t stationär. Om r k avtar långsamt är y t inte stationär. 15 / 28
Undersöker stationäritet - grafisk analys Vi undersöker SAC för datamaterialet över finansiella institutens utlåning, y t samt första differensen z t = y t y t 1 : SAC för Yt SAC för Zt ACF -0.2 0.0 0.2 0.4 0.6 0.8 1.0 ACF -0.2 0.0 0.2 0.4 0.6 0.8 1.0 0 5 10 15 20 Lag 0 5 10 15 20 Lag Korrelogrammen visar tydligt att tidsserien är stationär först efter en differens. 16 / 28
Undersöker stationäritet - Unit root test Vi kan undersöka stationäritet på andra sätt. Under förra lektionen nämndes att en slumpvandring Y t = Y t 1 + a t, a t N(0, σ 2 a) inte är stationär. Vi såg också att AR(1)-modellen: Y t = φ 1 Y t 1 + a t a t N(0, σ 2 a) (1) är stationär. Men om φ 1 = 1 förenklas (1) till: Y t = Y t 1 + a t, a t N(0, σ 2 a) vilket är samma modell som slumpvandringsmodellen! Alltså är AR(1) modellen inte stationär om φ 1 = 1 (eller om φ 1 = 1). 17 / 28
Villkor för stationäritet Det finns speciella stationäritetsrestriktioner för dessa autoregressiva parametrar: φ 1 < 1 för AR(1)-modellen och φ 1 + φ 2 < 1 φ 2 φ 1 < 1 φ 2 < 1 för AR(2)-modellen
Undersöker stationäritet - Unit root test Dessutom är våra skattningar av φ 1 med minsta kvadratmetoden beroende av stationäritet. Att testa för stationäritet i AR(1)-modellen är detsamma som att testa om φ 1 = 1. Detta gör man med unit-root test där hypotesuppställningen är H 0 : φ 1 = 1 H 1 : φ 1 < 1 Vi söker alltså förkasta H 0 i detta fall då detta implicerar att vi har en stationär tidsserie. 18 / 28
Effekten av olika värden på φ 1 Vi vet att AR(1)-modellen är stationär, om 1 < φ 1 < 1. I figuren ser vi hur realiseringarna förändras då φ 1 antar olika värden i detta intervall. (I figuren används istället beteckningen a 1 för φ 1.)
Hur väljer vi p,d och q? Vi har en tidsserie och vill se vilken ARIMA(p,d,q)-modell som har den bästa anpassningen till datamaterielet. Hur går vi tillväga? 1 Bestämmer först d efter kraven på stationäritet. 2 Bestäm optimal kombination av p och q. 3 Vi skattar sedan den valda ARIMA-modellens parametrar. 4 Utvärdera modellvalet och gör prognos. Punkt 1 har vi gått igenom noga men inte övriga punkter. 19 / 28
Bestämmer p och q Vi har konstaterat att Z t är en stationär serie efter en differens och vill anpassa en ARIMA(p,1,q) modell. Vi kan få en indikation på vilket p och q som är lämpliga genom att undersöka SAC (igen) och SPAC. Om SAC och SPAC beter sig som TAC och TPAC, visar detta vilken den underliggande ARIMA-processen är. Modellval SAC SPAC AR(p) Avtar Bryts vid lag p MA(q) Bryts vid lag q Avtar ARMA(p,q) Avtar efter lag q Avtar efter lag p 20 / 28
Bestämmer p och q Vi undersöker korellogrammen för SAC och SPAC som baseras på data över de finansiella institutens utlåning. De blå linjerna i korellogrammen visar korrelationer som är signifikant skilda ifrån 0. SAC för Zt SPAC för Zt ACF -0.2 0.0 0.2 0.4 0.6 0.8 1.0 Partial ACF -0.3-0.2-0.1 0.0 0.1 0 5 10 15 20 Lag 5 10 15 20 Lag Det ser ut som att en ARIMA(1,1,1)-modell är lämplig... Men att bestämma p och q med enbart grafiska metoder är godtyckligt! 21 / 27
Bestämmer p och q Andra sätt är att beräkna anpassningsmått för modeller med olika p och q. Ett av dessa mått är Aikaike s Information Criterion, AIC: AIC = 2k 2 ln L där k är antalet parametrar och L är värdet som fås efter maximering av Likelihoodfunktionen för den skattade modellen. AIC belönar bra anpassning men straffar även dåligt anpassade modeller. Ju lägre AIC-värde, desto bättre anpassning. Jämför man två modeller, så föredrar man modellen med lägst AIC-värde. Enligt dessa kriterier väljer vi den modell, bland alla skattade ARIMA(p,d,q)-modeller, som har lägst AIC. 23 / 28
Skattar parametrarna Givet en tidsserie y t och val av p, d och q, vill vi skatta parametrarna i ARIMA-modellen. Är y t stationär kan AR-modellers parametrar skattas med minsta kvadratmetoden (på samma sätt som i regression). Man använder statistiska programvaror för att skatta ARIMA-modeller. Som vanligt kan vi hypotespröva modellens och parametrarna. Men då modellen syftar till att göra prognoser kanske vi vill behålla parametrar även om de inte är signifikanta! Vi beräkna prognoser och utvärderar prognosen. 23 / 27
Prognoser T.ex. kan den skattade AR(p)-modellen (utan drift) skrivas: ŷ t = ˆφ 1 y t 1 + ˆφ 2 y t 2 +... + ˆφ p y t p En prognos för en tidsperiod framåt, t + 1 baseras prognosen bara på observerade värden upp till t: ŷ t+1 = ˆφ 1 y t + ˆφ 2 y t 1 +... + ˆφ p y t p+1 Med en längre prognoshorizont inkluderas prognosvärden. Om vi står vid tiden t fås prognosen för h tidsperioder framåt som: ŷ t+h = ˆφ 1 ŷ t+h 1 + ˆφ 2 ŷ t+h 2 +... + ˆφ p ŷ t+h p På samma sätt kan vi beräkna prognoser med MA, ARMA och ARIMA modeller. 24 / 27
Prognoser Precis som för andra prognosmetoder utvärderas ARIMA-prognoser med olika mått, t.ex. MSE och MAE. Viktigt att tänka på: Ser vi några systematiska fel? Hur stor är prognosernas varians? Vilken av ovanstående vill vi minimera? Hur skiljer sig prognosen på kort och lång horizont? Vi har med andra ord en rad frågor att besvara på som prognosmakare... 25 / 27
Ett exempel Vi vill anpassa två olika ARIMA-modeller, en AR(1) och en ARIMA(1,1) på ett stationärt datamaterial: AR(1) : Y t = φ 1 Y t 1 + a t ARMA(1, 1) : Y t = φ 1 Y t 1 + a t θ 1 a t 1 Vi vill utvärdera prognosen för en tidsperiod framåt. Vi prognosticerar ŷ t och observerar sedan y t för 5 tidsperioder: t 1 2 3 4 5 Utfall 0.27 0.05 0.18-0.08-0.64 Prognos AR(1) 0.13 0.03 0.09-0.04-0.30 Prognos ARMA(1,1) 0.09 0.06 0.02 0.05-0.01 26 / 27
Ett exempel Vi beräknar MSE som: 1 n n (y t ŷ t ) 2 t=1 Givet att MSE är ett viktigt kriterium för att utvärdera prognosen, borde vi i detta fall anpassa en AR(1)-modell på datamaterialet: 5 t=1 MSE AR(1) = (0.27 0.13)2 +... + ( 0.64 ( 0.30)) 2 5 5 t=1 MSE ARMA(1,1) = (0.27 0.09)2 +... + ( 0.64 ( 0.01)) 2 5 = 0.1453 = 0.4719 27 / 27