Analys av egen tidsserie Tidsserieanalys Farid Bonawiede Samer Haddad Michael Litton Alexandre Messo 9 december 25 3 25 Antal solfläckar 2 15 1 5 5 1 15 2 25 3 Månad Inledning Vi har valt att betrakta månatlig data över solfläckar mellan perioden 1749-1983. I vår analys av datan använder vi oss av spektralanalys samt undersökning av stationäritet och anpassning av data till GARCH- och ARMAprocess.
Innehåll 1 Stationäritet 3 1.1 Dekomposition.......................... 3 1.2 Differentiering........................... 5 2 Spektralanalys 7 3 Anpassning av data 9 3.1 ARMA-process.......................... 9 3.2 GARCH-process......................... 1 4 Slutsats 12 2
1 Stationäritet 1.1 Dekomposition Genom att studera autokorrelationsfunktionen för vår data, ρ(h), kan vi se en period på 134 månader, ungefär 11 år (se figur 1). Denna period stämmer överens med kurslitteraturen i 2A116 Rymdfysik. Det verkar även finnas en period på 91 år. 1.8.6 ρ(n+1).4.2.2.4 1 2 3 Number of weeks Figur 1: Autokorrelationsfunktionen för vår data. I figur 2 ser vi plottar över vår data, dess säsongskomponent och mätdata utan säsongskomponent. Vi undersöker om datan utan säsongskomponent fortfarande innehåller en trendkomponent genom att utnyttja Rank testet P µ p σ p > 1.96 Eftersom statistiska värdet 8.28 är större än det kritiska värdet 1.96 kan vi konstatera att det finns en trend i vår data. Vi finner detta lite konstigt då vi inte ser någon trend enligt plot 1 i figur 2. Vi vill undersöka hur stor trendkomponenten är genom att utnyttja funktionen smoothpf(x, grad). Värdet på grad sätts till 1 för en linjär trend, och 2 för kvadratisk trend. Vi analyserar de två modellerna genom att titta på medelvärdet av de kvadratiska avvikelserna som ger oss värdena E l,ms = 1428.4 E q,ms = 1342.6 l(x) = a + bx, där { a = 4.15294 b =.7848 3
Ozone 3 2 1 1 2 3 3 2 1 1 1 2 3 4 2 2 4 1 2 3 Figur 2: Figuren överst till vänster visar originaldata. Överst till höger visar data utan säsongskomponent, och nederst till vänster visas data med säsongskomponent. q(x) = a + bx + cx 2 där { a = 6.886966 b =.36241 c =.16 Som förväntat är den kvadratiska trenden en bättre anpassning till våra värden. I figur 3 ser vi en plot över residualerna för de två olika fallen. Residualerna representerar bruset efter att vi subtraherat bort både säsongskomponenten och trenden från vår ursprungliga data. 4
3 2 1 1 5 1 15 2 25 3 2 1 1 5 1 15 2 25 3 Figur 3: I övre figuren visas en residualplot med linjär trend, den nedre visar residualplotten med kvadratisk trend. Genom att utnyttja Ljung-Box testet kan vi avgöra om det finns ett beroende i vår brusserie. Vi använder tidssteg h = 4 i formeln för Q LB på sidan 36 i kursboken av Brockwell/Davis. Det kritiska värdet 63.69 är härlett från χ 2 -fördelningen med signifikansnivå 1%. Eftersom vårt statistiska värde 3.82 1 4 är mycket större än det kritiska värdet, kan vi dra slutsatsen att det finns ett beroende i brusserien. 1.2 Differentiering Istället för att använda klassisk dekomposition använder vi differensoperatorn för att producera en dataserie utan säsongskomponent. Vi differentierar i steg om 134 månader, vår period. Funktionen smoothpf utnyttjas återigen för att anpassa en linjär och kvadratisk trend. Slutligen plottas vår differentierade data samt residualerna i figur 4. Eftersom vi använder en kvadratisk trend räcker det med att differentiera med endast en gång innan vi kan dra slutsatsen att ingen trend återstår. Figur 5 visar den två gånger differentierade datan samt residualen för den kvadratiska trenden. 5
2 2 5 1 15 2 25 3 2 2 5 1 15 2 25 3 2 2 5 1 15 2 25 3 Figur 4: Överst visas den differentierade datan. I mitten visas en residualplot med linjär trend, och nederst en residualplot med kvadratisk trend. 1 1 5 1 15 2 25 1 1 5 1 15 2 25 Figur 5: Överst visas den två gånger differentierade datan. Nederst visas residualplotten med kvadratisk trend. 6
2 Spektralanalys I denna del så ska vi undersöka hur spektraltätheten ser ut för vår data. Vi börjar med att plotta periodogrammet, det vill säga spektraltätheten plottad emot frekvensen(2πf). Se figur 6. x 1 5 5 4 f 3 2 1.5.1.15.2 Frekvens Figur 6: Periodogram för vår data utan viktning. Vi ser att det finns flera frekvenser som verkar innehålla en större mängd information. Mest information verkar vi ha för ω =.468. Följande samband bestämmer perioden perioden = 1 f = 2π ω = 2π.468 134 Eftersom spektraltätheten endast är en samplad skattning så försöker vi jämna ut den till en kurva genom att vikta om den. Vikten W = [6, 5, 4, 4, 3, 3, 2, 1] ger oss plotten som ses i figur 7. Viktningen ger oss dock samma period som utan viktning. Vi differentierar därför vår data i steg om 134. Därefter kontrollerar vi spektraltätheten igen, se figur 8. Här har vi en mer utbredd spridning. Vi ser att det kvarstår flertalet perioder som är utmärkande. Det är dock inte så enkelt att ta bort dessa. 7
2.5 x 14 2 1.5 f 1.5.5.1.15.2 Frekvens Figur 7: Periodogram för vår data med viktning. W = [6, 5, 4, 4, 3, 3, 2, 1] 14 x 1 4 12 1 8 f 6 4 2.5.1.15.2 Frekvens Figur 8: Periodogram för vår differentierade data utan viktning. 8
3 Anpassning av data 3.1 ARMA-process Vi använder oss här av vårt brus vi tidigare erhållit. Med andra ord, vår data utan säsongs- och trendkomponent. Syftet är att använda oss av en maximun-likelihood skattning för att skatta parametrarna till en ARMA(p,q)- process. Vi söker de parametrarna som minimerar medelkvadratfelet av vår skattning. Dock räcker det inte med att se till variansen hos det vita bruset, eftersom skattningen av parametrarna av högre ordning skapar felfektorer. Funktionen mlest ger oss parametrarna samt FPE och AICC. Vi väljer p och q så att FPE och AICC är som lägst, eftersom vi då har som lägst medelkvadratfel. Vi får p = 1 och q = 1 samt följande parametrar F P E = 465.9 AICC = 6.134 φ 1 =.326 θ 1 =.752 φ 1 =.326 ± 1.96 V ar(φ 1 ) = 1.196 ±.67 Den skattade White Noise variansen σ 2 fås till 465.5. 9
3.2 GARCH-process Vi försöker nu anpassa en GARCH-process till vår data och detta gör vi med funktionen garchpq. Den ger oss koefficienterna α = 12.42 α 1 =.1975 β 1 =.82 Vi simulerar en process med de parametrar vi får fram i 536 steg, d.v.s 4 perioder, och med seed = 666 (se figur 9). 2 Y t 2 1 2 3 4 5 6 t 2 σ t 1 1 2 3 4 5 6 t Figur 9: Plot av en GARCH(1,1)-process med våra beräknade parametrar samt en plot av processens volatilitet σ t. Om vi antar att våra skattade parametrar beskriver vår datamängd väl så kan vi räkna fram volatiliteten. Vi beräknar volatiliteten på följande sätt σ t = α + α 1 Yt 1 2 + β 1σt 1 2 I figur 1 är datan samt dess skattade volatilitet plottad. Vi är nu intresserade av Value-at-Risk för en 12-månaders period. Vi gör 1 simuleringar med GARCH-processen vi använt ovan i 12 steg. Resultatet av simuleringen ses i figur 11. Slutligen beräknar vi V ar 1%. Vi använder oss av funktionen prctile vilket ger oss z.1 = 59.65. 1
1 σ t 5 5 1 15 2 25 3 t 2 Y t 2 5 1 15 2 25 3 t Figur 1: En plot över volatiliteten samt vår datamängd. 35 3 25 2 15 1 5 25 2 15 1 5 5 1 15 2 Figur 11: En plot över våra simuleringar. 11
4 Slutsats Vi har med två olika metoder kommit fram till samma period som vår säsongskomponent består av. Sedan har vi dragit bort denna komponent för att undersöka trenden. Genom att sedan utföra en differentiering så har vi kommit så nära en stationär tidsserie vi kan komma utan att bli av med för mycket information. Det problemet som dock kvarstår är att volatiliteten uppvisar ett periodiskt beteende. Någorlunda bra hanterar GARCH-anpassningen denna egenskap. Att anpassa vår dataserie till en ARMA-process gav oss ingen bra anpassning. Vi fick då att variansen hos det vita bruset var 465.5. Detta anser vi vara alldeles för högt. 12