Tidsserier och Prognoser Mattias Villani Sveriges Riksbank och Stockholms Universitet Stockholm, Oktober 2008 Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 1 / 16
Översikt Tidsserier, Beroende och Autokorrelation Prognoser Autoregressiva Modeller Exempel Försäljning och reklamkostnad OMX aktieindex Spam lter Auktionspriser på ebay Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 2 / 16
Tidsserier och Beroende Tidserie: Ett antal observationer x 1, x 2,..., x T, som är ordnade i tiden. Observationen vid tidpunkt t betecknas alltmänt som x t. Karaktärsdrag hos tidsserier: observationerna är vanligtvis inte oberoende. Detta komplicerar den statistiska analysen, men gör den också mer intressant. Andra data med beroende: Rumsliga (spatiala) och Longitudinella. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 3 / 16
Autokorrelation Vi är nu intresserade av mer än väntevärdet µ och variansen σ 2. Hur ser beroendet mellan observationer ut? Ett mått på beroende mellan två stokastiska variabler x och y: korrelationskoe cienten ρ = Korr(x, y). Ett mått på beroendet mellan observationer i en tidsserie är autokorrelationsfunktionen (ACF, autokorrelation=korrelation med sig själv) ρ j = Korr(x t, x t j ), (j = 1, 2,...) ρ j är alltså den vanliga korrelationskoe cienten mellan två observationer som är j tidsenheter ifrån varandra. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 4 / 16
3500 Lydia Pinkham Data Försäljning Reklamkostnad 3000 2500 2000 1500 1000 500 0 1910 1915 1920 1925 1930 1935 1940 1945 1950 1955 1960 Årtal
1.8 Simulerad AR(1) med φ = 0.95 1 ACF x t 1.6 1.4 1.2 1 0.8 0.6 Korr( x t, x t j ) 0.8 0.6 0.4 0.2 0.4 0 20 40 60 80 100 Tid 0 1 2 3 4 5 6 7 8 9 10 11 12 Tidsförskjutning (j) 1.4 Simulerad AR(1) med φ = 0.25 0.25 ACF x t 1.3 1.2 1.1 1 0.9 0.8 Korr( x t, x t j ) 0.2 0.15 0.1 0.05 0.7 0 20 40 60 80 100 Tid 0 1 2 3 4 5 6 7 8 9 10 11 12 Tidsförskjutning (j)
1.4 Simulerad AR(1) med φ = 0 1 ACF x t 1.3 1.2 1.1 1 0.9 0.8 Korr( x t, x t j ) 0.5 0 0.5 0.7 0 20 40 60 80 100 1.8 Tid Simulerad AR(2) med φ 1 = 1.5 och φ 2 = 0.7 1 1 1 2 3 4 5 6 7 8 9 10 11 12 Tidsförskjutning (j) ACF x t 1.6 1.4 1.2 1 0.8 0.6 0.4 Korr( x t, x t j ) 0.8 0.6 0.4 0.2 0 0.2 0.2 0 20 40 60 80 100 Tid 0.4 1 2 3 4 5 6 7 8 9 10 11 12 Tidsförskjutning (j)
Prognoser Prediktionsproblemet: Givet T observationer x 1, x 2,..., x T, vilken är vår bäst skattning av en ny observation x T +1? Osäkerhet. Vid oberoende observationer är ˆx T +1 = (x 1 + x 2 +... + x T )/T = x en rimlig punktskattning av x T +1. Men om observationerna är beroende? Ex. 1. Stark positiv autokorrelation: x T +1 bör vara hyfsat nära x T. ˆx T +1 = x T är en bättre prognos än ˆx T +1 = x. Ex. 2. Svag positiv autokorrelation: x T är inte speciellt informativ angående x T +1. ˆx T +1 = x är en bättre prognos än ˆx T +1 = x T. Ex. 3. Lagom positiv autokorrelation. Varför inte kombinera x och x T, t ex: ˆx T +1 = a x T + (1 a) x. Hur väljer vi a? a = ρ? Hur gör vi prognoser längre fram i tiden? T ex prognosen för x T +2 givet data t o m tidpunkt T. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 5 / 16
Diagram 2. KPI med osäkerhetsintervall Årlig procentuell förändring 6 5 4 3 2 Utfall Prognos 90 % 75 % 50 % Källor: SCB och Riksbanken 1 0-1 04 05 06 07 08 09 10 11
Disciplin - Modeller för tidsserier Det börjar bli dags för lite disciplin. Vi behöver en modell för tidsserier. Utgångspunkt: förklara dagens värde x t med hjälp av gårdagens värde x t 1. Kan vi använda linjär regression? Responsvariabel y t = x t och regressor x t 1 x t = γ + φx t 1 + ε t, där γ är ett intercept och ε t ober N(0, σ 2 ε ) är (regressions)modellens feltermer. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 6 / 16
Autoregressiva Modeller Denna modell kallas för en autoregressiv process av första ordningen, eller AR(1) x t = γ + φx t 1 + ε t, Om φ = 0, så är observationerna totalt oberoende av varandra. Vi måste skatta parametrarna. Precis samma estimationsmetod som i regressionsfallet. Varje modell innebär en viss autokorrelationsstruktur. För AR(1) modellen är den väldigt enkel: Korr(x t, x t j ) = φ j, om φ < 1 så blir korrelationerna svagare när tidsavståndet mellan två observationer ökar. Dvs x t är mer korrelerad med x t 1 än med x t 2 etc. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 7 / 16
Prognoser med AR(1) modellen Det betingade väntevärdet är en allmän punktprognos: ˆx T +1 = E (x T +1 jx 1,..., x T ) = γ + φx T. Prognoser längre fram i tiden ( erstegsprognoser) ˆx T +2 = E (x T +2 jx 1,..., x T ) = γ + φˆx T +1 osv. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 8 / 16
RMSE Chart 6. Accuracy of alternative models forecasts of UND1X inflation, GDP growth and the policy rate. Per cent UND1X forecasts 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1 2 3 4 5 6 7 8 Forecast horizon (quarters) RAMSES BVAR RB AR(1)
AR(p) modellen AR(1) modellen säger: Observationerna x 1, x 2,..., x T 1 innehåller ingen ytterligare information om framtiden utöver x T. Ge mig x T och jag kan kasta bort resten av observationerna när jag gör prognoser framåt. Detta antagande håller inte för att alla tidsserier. Mer generell modell, autoregressiv process av p:te ordningen AR(p): x t = γ + φ 1 x t 1 + φ 2 x t 2 +... + φ p x t p + ε t. Ger en mer exibel autokorrelationsstruktur. Prognoser med en AR(p) modell görs på i princip samma sätt som i fallet p = 1, se Newbold et al. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 9 / 16
Vad gör prognosen osäker? Hur väljer man den s k laglängden, p? Detta är i grunden samma problem som att välja regressorer i en multipel regression, och samma metoder kan användas. Diagnostik. Anpassa en modell med en viss laglängd. Beräkna tidsseriens residualer. Beräkna ACF:en för dessa residualer. Har modellen sugit upp all autokorrelation, dvs är residualerna oberoende? Osäkerhetskällor: i) framtida störningar (ε) ii) parameterosäkerhet (vi känner inte modellens verklliga parametervärden) iii) modellosäkerhet (vi känner inte till den verkliga laglängden). Det som verkligen stör nattsömnen: Följer data verkligen en AR process? Simulera din modell till döds. Ser modellens simulerade data verkligen ut som faktiska data? Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 10 / 16
Exempel 1 - OMX aktieindex Aktieindex är svåra (omöjliga?) att prognosticera. Variansen (volatiliteten) kan dock prognosticeras. Det nns en hel drös med modeller för en tidsseries varians. (G)ARCH. Nobelpris: Engle. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 11 / 16
1600 OMXS aktieindex Stängningsnotering 1400 OMXS30 index 1200 1000 800 600 400 200 1994 1996 1998 2000 2002 2004 2006 2008 Tid Daglig avkastning in % för OMXS30 15 10 5 0 5 Daglig avkastning på OMXS aktieindex 10 1994 1996 1998 2000 2002 2004 2006 2008 Tid
12 10 Kan jag förutsäga OMXS imorgon? OMXS avkastning Regressionslinje 8 6 OMXS avkastning imorgon 4 2 0 2 4 6 8 10 10 8 6 4 2 0 2 4 6 8 10 12 OMXS avkastning idag
Exempel 2 - Lydia Pinkham Anpassing av AR(1) process till försäljning: γ = 148.3, φ = 0.92 och σ = 227.9. Anpassing av AR(1) process till reklamkostnad: γ =163.8, φ = 0.83 och σ = 209.5. Kan vara intressant med modellen: Sales t = γ + φ Sales t 1 + λ Advert t 1 + ε t. Men påverkas inte nästa års reklambudget av årets försäljning? Feedback. Multivariat modell (VAR). Sales t Advert t ser mer stabil ut än Sales t och Advert t själva. Kointegration. Nobelpris: Granger. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 12 / 16
3500 Lydia Pinkham Data Försäljning Reklamkostnad 3000 2500 2000 1500 1000 500 0 1910 1915 1920 1925 1930 1935 1940 1945 1950 1955 1960 Årtal
3500 3000 Lydia Pinkham Data Försäljning Reklamkostnad Prognos Försäljning Prognos Reklamkostnad 2500 2000 1500 1000 500 0 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 Årtal
Exempel 3 - Spam lter Gå igenom dina mejl och markera varje mejl med Spam (1) eller Inget Spam (0). Denna dikotoma variabel (antar bara två värden 0 eller 1) är din responsvariabel. Ett spam lter försöker prediktera denna dikotoma variabel för varje mejl som kommer in. Lämplig modell för oberoende dikotoma variabler: Bernoullimodellen y ober Bernoulli(θ), där θ är sannolikheten för att y = 1. Rimlig skattning av θ ges av andelen 1:or i stickprovet. George s exempeldata: ˆθ = 0.39. Bernoullimodellen är inte till någon större hjälp om vi vill prognosticera hurvida ett mejl är spam eller ej. Vi behöver mer information. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 13 / 16
Forts spam lter Låt ett textbehandlingsprogram gå igenom alla dina mejl för att läsa av hur ofta vissa ord används i mejlet. Hur ofta nns t ex ordet free? Tecknen $ eller!? Hur stor andel av bokstäverna är versaler? Varje ord, tecken eller versalkvantitet bildar en kovariat/regressor. Skatta en logistisk regression med Spam (0 eller 1) som respons. I en logistisk regression beror θ = Pr(y = 1) på kovariater. Nobelpris: McFadden. Är mitt nästa mejl spam? Använd textbehandlingsprogrammet för att beräkna kovariaterna för detta mejl. Prognosproblem: Vad är Pr(Spam = 1 j Kovariatvärdena i det nya mejlet)? Enkelt med den logistiska regressionen. Beslutsproblem: Vilket tröskelvärde ska jag använda för att skicka mejlet till JunkMail folder? Asymetriskt: jag vill verkligen undvika att klassi ciera ett mejl som spam om det inte är det. Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 14 / 16
----------------------------------------------------------------------------------------------------------------------------- Summary of Bayesian Inference with Variable Selection Author: Mattias Villani, Stockholm University and Sveriges Riksbank October 12, 2008. 22:28:07 ----------------------------------------------------------------------------------------------------------------------------- Data loaded from file 'SpamData.txt'. 4601 observations. Parameter Mode Mean Stdev (Hess) Stdev (MCMC) t Ratio Incl Prob Ineff ----------------------------------------------------------------------------------------------------------------------------- our +0.434 +0.434 +0.062 +0.061 +6.953 +1.000 +36.326 over +0.912 +0.949 +0.155 +0.163 +5.895 +1.000 +43.290 remove +2.744 +2.738 +0.252 +0.256 +10.881 +1.000 +63.074 internet +0.901 +0.886 +0.133 +0.140 +6.768 +1.000 +50.045 free +0.689 +0.718 +0.083 +0.086 +8.311 +1.000 +57.901 hpl -0.657-0.660 +0.143 +0.146-4.599 +1.000 +55.070! +0.680 +0.694 +0.102 +0.091 +6.665 +1.000 +45.049 $ +6.129 +6.079 +0.423 +0.552 +14.498 +1.000 +90.870 CapRunMax +0.005 +0.005 +0.001 +0.001 +5.259 +1.000 +50.026 CapRunTotal +0.001 +0.001 +0.000 +0.000 +4.773 +0.998 +35.177 Const -1.329-1.340 +0.063 +0.073-21.085 +1.000 +54.259 hp -0.787-0.797 +0.085 +0.096-9.291 +1.000 +77.402 george -0.415-0.406 +0.057 +0.055-7.240 +1.000 +43.461 1999-0.586-0.606 +0.129 +0.146-4.559 +0.991 +55.664 re -0.547-0.553 +0.089 +0.095-6.157 +1.000 +55.152 edu -0.972-0.975 +0.141 +0.143-6.909 +1.000 +54.937
Exempel 4 - Auktionspriser på ebay På sajten ebay.com säljs alla möjliga saker på auktion över internet. Budgivningen utgår från säljarens minimipris och pågår till en av säljaren bestämd sluttidpunkt. Antalet budgivare är stokastiskt, ibland blir objektet inte sålt alls. Data för en given auktion: En hel sekvens av bud från olika budgivare Detaljerad information on objektet (text och bild) Detaljerad information om säljaren (köparnas rating av säljare, såld volym etc). Säljarens minimipris Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 15 / 16
Forts. auktionspriser på ebay Bertil Wegmann (Stat inst SU) och jag har analyserat data från 1000 myntauktioner. Mycket strategi i en auktion. Spelteoretisk modell. Optimala bud (Nash-jämvikt). Nobelpris: Nash och Vickrey. Vi ska här titta på prognoser av försäljningspris i två auktioner som inte var med i estimationsurvalet (out-of-sample). Mattias Villani () Tidsserier och Prognoser Stockholm, Oktober 2008 16 / 16
0.4 Auktion 1 Pr(Pris = Inget bud) = 0.014 Pr(Pris = Minimipris) = 0.067 Pristäthet n>1 Faktiskt pris Värdering Minimipris 0.2 Auktion 2 Pr(Pris = Inget bud) = 0.042 Pr(Pris = Minimipris) = 0.126 0.35 0.18 0.16 0.3 0.14 0.25 0.12 Täthet 0.2 Täthet 0.1 0.15 0.08 0.06 0.1 0.04 0.05 0.02 0 4 6 8 10 12 14 16 18 Auktionspris 0 25 30 35 40 45 50 Auktionspris