Kap. 12: Regression mit Zeitreihendaten und Prognosemodelle • Motivation • Grundbegriffe • Autoregressionen (AR-Modelle) • Dynamische Regressionsmodelle (ADL-Modelle) • Nichstationarität • Ausblick 12.1 Motivation Zeitreihendaten: gleiche Untersuchungseinheit über mehrere Perioden. Betrachte hier nur aufeinanderfolgende Daten mit gleichem zeitlichem Abstand (“reguläre Zeitreihe”). Notation: Yt, t = 1, ..., T Beispiele: • BIP für die Schweiz 1980–2005 • tägliche Wechselkurse CHF/EUR Wozu Zeitreihendaten? • Vorhersagemodelle/Prognosemodelle → Was ist Inflationsrate 2010? • Schätzung dynamischer kausaler Effekte → Wie wirkt Zinssenkung der Zentralbank auf Inflation oder Arbeitslosigkeit? C. Kleiber: Ökonometrie 1 Kap. 12-1 U Basel, HS 2008 12.1 Motivation 1960 1970 1980 1990 2000 0.10 0.05 1960 1970 1980 1990 2000 Time C. Kleiber: Ökonometrie 1 0.00 4 * diff(log(USMacroSW[, "cpi"])) 10 8 6 4 USMacroSW[, "unemp"] Inflationsrate USA 0.15 Arbeitslosenquote USA Time Kap. 12-2 U Basel, HS 2008 12.1 Motivation Neue Begriffe: • zeitliche Verzögerungen • Korrelation über die Zeit (Autokorrelation) • dynamische Regressionsmodelle (AR, ADL) Prognosemodelle vs. Schätzung kausaler Effekte: • Prognosen (“Vorhersagen”) qualitativ anders als Schätzung kausaler Effekte: – – – – es geht hauptsächlich um externe Validität (Extrapolation über die Zeit) Verzerrung durch vergessene Variablen egal (!) Interpretation der Koeffizienten unwichtig R̄2 nun wichtig C. Kleiber: Ökonometrie 1 Kap. 12-3 U Basel, HS 2008 12.2 Grundbegriffe • Yt−j heisst j-te Verzögerung (engl. ‘lag’) von Yt • ∆Yt := Yt − Yt−1 heisst erste Differenz von Yt • ∆ log Yt := log Yt − log Yt−1 heisst erste Differenz der Logarithmen, entspricht ungefähr prozentualer Änderung (→ Renditen von Finanzzeitreihen) C. Kleiber: Ökonometrie 1 Kap. 12-4 U Basel, HS 2008 12.2 Grundbegriffe Beispiel: Zeitreihen in R R> dim(USMacroSW) [1] 193 7 R> dimnames(USMacroSW)[[2]] [1] "unemp" "cpi" "ffrate" "tbill" "tbond" "gbpusd" "gdpjp" R> tsp(USMacroSW) [1] 1957 2005 4 Es gibt Funktionen für typische Transformationen der Zeitreihenanalyse, wie z.B. lag(), diff() C. Kleiber: Ökonometrie 1 Kap. 12-5 U Basel, HS 2008 12.2 Grundbegriffe Beispiel: 1957(1) 1957(2) 1957(3) 1957(4) 1958(1) 1958(2) 1958(3) 1958(4) 1959(1) 1959(2) erste Verzögerung und erste Differenz cpi lag(cpi, -1) diff(cpi) 27.78 NA NA 28.01 27.78 0.23667 28.26 28.01 0.25000 28.40 28.26 0.13667 28.74 28.40 0.33667 28.93 28.74 0.19333 28.91 28.93 -0.01667 28.94 28.91 0.03000 28.99 28.94 0.05000 29.04 28.99 0.05000 Warnung: Vorsicht bei Vorzeichen in lag()! C. Kleiber: Ökonometrie 1 Kap. 12-6 U Basel, HS 2008 Grundbegriffe 1960 1970 1980 1990 2000 250 Wechselkurs 150 15 10 5 USMacroSW[, "tbill"] Zins USMacroSW[, "gbpusd"] 12.2 1960 1970 1970 1980 Time C. Kleiber: Ökonometrie 1 2000 1990 2000 Wechselkursrenditen −0.15 0.00 0e+00 3e+05 USMacroSW[, "gdpjp"] BIP Japan 1960 1990 Time diff(log(USMacroSW[, "gbpusd"])) Time 1980 Kap. 12-7 1960 1970 1980 1990 2000 Time U Basel, HS 2008 12.2 Grundbegriffe Autokovarianz und Autokorrelation: • Cov(Yt, Yt−1) heisst Autokovarianz zum Lag 1 • Cov(Yt, Yt−j ) heisst Autokovarianz zum Lag j • damit Autokorrelation zum Lag j Corr(Yt, Yt−j ) := p Cov(Yt, Yt−j ) =: ρj Var(Yt)Var(Yt−j ) • ρj als Funktion von j heisst (theoretische) Autokorrelationsfunktion Dies sind Populationsparameter – nur sinnvoll, wenn konkretes Modell für Yt vorliegt. C. Kleiber: Ökonometrie 1 Kap. 12-8 U Basel, HS 2008 12.2 Grundbegriffe Die empirischen Autokovarianzen und -korrelationen sind Schätzungen dieser Objekte: • empirische Autokorrelation zum Lag j ρ̂j = q mit d t, Yt−j ) Cov(Y d t)Var(Y d t−j ) Var(Y T X 1 d t, Yt−j ) = Cov(Y (Yt − Ȳj+1,T )(Yt−j − Ȳ1,T −j ) T − j − 1 t=j+1 wobei Ȳj+1,T Mittel über Yt berechnet aus t = j + 1, ..., T , etc. • ρ̂j als Funktion von j heisst (empirische) Autokorrelationsfunktion C. Kleiber: Ökonometrie 1 Kap. 12-9 U Basel, HS 2008 12.2 Grundbegriffe ACF der Inflationsrate 0.2 0.4 ACF 0.6 0.10 0.05 0.0 0.00 4 * diff(log(cpi)) 0.8 0.15 1.0 Inflationsrate 1960 1970 1980 1990 2000 0 Index C. Kleiber: Ökonometrie 1 1 2 3 4 5 Lag Kap. 12-10 U Basel, HS 2008 12.2 Grundbegriffe Stationarität: • Zeitreihe heisst stationär, falls Verteilungseigenschaften über die Zeit unveränderlich, d.h. falls gemeinsame Verteilung von (Ys+1, ..., Ys+T ) nicht von s abhängt. Andernfalls heisst Zeitreihe nichtstationär oder instationär. • Ein Paar von Zeitreihen Xt und Yt heisst gemeinsam stationär, falls gemeinsame Verteilung von ((Xs+1, Ys+1), ..., (Xs+T , Ys+T )) nicht von s abhängt. Andernfalls heisst Zeitreihe nichtstationär oder instationär. • Stationarität bedeutet intuitiv: Gegenwart ist wie Vergangenheit und wie Zukunft (in einem statistischen Sinn ...) Wir betrachten stationären Fall – Ausgangspunkt und Grundbaustein für Zeitreihenanalyse. C. Kleiber: Ökonometrie 1 Kap. 12-11 U Basel, HS 2008 12.2 Grundbegriffe ACF Inflationsrate 0.0 1970 1980 1990 2000 0 1 2 3 4 Index Lag diff(Inflationsrate) ACF diff(Inflationsrate) 5 1960 1970 1980 1990 0.6 −0.2 0.2 −6 −2 ACF 2 4 1.0 1960 diff(infl) 0.4 ACF 5 0 infl 10 0.8 15 Inflationsrate 2000 0 Index C. Kleiber: Ökonometrie 1 1 2 3 4 5 Lag Kap. 12-12 U Basel, HS 2008 12.3 Autoregression Naheliegende Idee zur Modellbildung: Zukunft ist Funktion von Gegenwart und Vergangenheit • Autoregression ist Regressionsmodell, in dem Yt auf verzögerte Werte regressiert wird • Anzahl der verwendeten Verzögerungen heisst Ordnung des Modells Bsp.: im AR(p)-Modell wird Yt auf Yt−1, ..., Yt−p regressiert • einfachster Fall ist AR(1) mit Yt = β0 + β1Yt−1 + ut – – – – keine kausale Interpretation von β0, β1 falls β1 = 0 ist Yt−1 nicht hilfreich zur Vorhersage von Yt Schätzung über OLS möglich Test von H0 : β1 = 0 ist Test der Hypothese, dass Yt−1 nicht hilfreich zur Vorhersage von Yt C. Kleiber: Ökonometrie 1 Kap. 12-13 U Basel, HS 2008 12.3 Autoregression Umsetzung in R: diverse Möglichkeiten: man kann direkt mit der OLS-Schätzfunktion lm() arbeiten, dann muss man allerdings die X-Matrix aus Verzögerungen, Differenzen etc. selbst bauen. Komfortabler sind die Pakete dyn und dynlm, die hier eine Formelschreibweise zur Verfügung stellen. Mit Paket dynlm: R> R> R> + library("dynlm") infl <- 4 * 100 * diff(log(cpi)) infl_ar1 <- dynlm(d(infl) ~ L(d(infl)), start = c(1962, 1), end = c(2004, 4)) R> summary(infl_ar1) Angesichts t-Statistik ist Yt−1 hier zur Prognose nützlich. C. Kleiber: Ökonometrie 1 Kap. 12-14 U Basel, HS 2008 12.3 Autoregression Time series regression with "zooreg" data: Start = 1962(1), End = 2004(4) Call: dynlm(formula = d(infl) ~ L(d(infl)), start = c(1962, 1), end = c(2004, 4)) Residuals: Min 1Q -6.3782 -0.7445 Median 0.0907 3Q 1.0443 Max 4.0827 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.0171 0.1269 0.13 0.8929 L(d(infl)) -0.2380 0.0747 -3.19 0.0017 Residual standard error: 1.66 on 170 degrees of freedom Multiple R-squared: 0.0564, Adjusted R-squared: 0.0508 F-statistic: 10.2 on 1 and 170 DF, p-value: 0.00171 C. Kleiber: Ökonometrie 1 Kap. 12-15 U Basel, HS 2008 12.3 Autoregression Terminologie: (dt. vs. engl.) • Prognose (prediction) bedeutet geschätzter (erwarteter) Wert von Y für eine Beobachtung aus der Stichprobe, die zur Schätzung des Regressionsmodells verwendet wurde • Vorhersage (forecast) bedeutet geschätzter (erwarteter) Wert von Y für eine Beobachtung nicht aus der Stichprobe, die zur Schätzung des Regressionsmodells verwendet wurde (sondern aus der Zukunft) Notation: • Yt|t−1 Vorhersage von Yt unter Verwendung von Yt−1, Yt−2, ... und der wahren (unbekannten) βs (Population) • Ŷt|t−1 Vorhersage von Yt unter Verwendung von Yt−1, Yt−2, ... und der β̂s (Stichprobe), geschätzt aus den Daten bis t − 1 • Beispiel AR(1): Yt|t−1 = β0 + β1Yt−1 bzw. Ŷt|t−1 = β̂0 + β̂1Yt−1 C. Kleiber: Ökonometrie 1 Kap. 12-16 U Basel, HS 2008 12.3 Autoregression • Prognosefehler: Ein-Schritt-Prognosefehler ist Yt − Ŷt|t−1 Beachte Terminologie: “Residuum” innerhalb der Stichprobe – “Prognosefehler” ausserhalb der Stichprobe • Mittlerer quadratischer Prognosefehler ist E(Yt − Ŷt|t−1)2 (Analogie zur Varianz), besser zu interpretieren ist dessen Wurzel (Analogie zur Standardabweichung): q RM SF E = E(Yt − Ŷt|t−1)2 (root mean square forecast error). RMSFE misst Grössenordnung eines typischen Prognosefehlers. C. Kleiber: Ökonometrie 1 Kap. 12-17 U Basel, HS 2008 12.3 Autoregression Beispiel: AR(1) für Periode 1962(1) bis 2004(4) war \lt = 0.017 − 0.238 ∆Inf lt−1 ∆Inf Dabei ∆Inf l2004(4) = 1.882, damit Vorhersage \l2005(1) = 0.017 − 0.238 · 1.882 = −0.431 ∆Inf Damit ist Vorhersage der Inflationsrate selbst: [l2005(1) = Inf l2004(4) + ∆Inf \l2005(1) = 3.505 − 0.431 = 3.074 Inf Dies muss mit dem wahren Wert 2.366 verglichen werden. Damit ist Vorhersagefehler 2.366 − 3.074 = −0.708 Andererseits ist R̄2 dieser Regression nur ca. 5%. Standardfehler der Regression ist 1.66, dies ist Schätzung des RMSFE . (Dies ignoriert aber, dass Regressionskoeffizienten geschätzt wurden!) C. Kleiber: Ökonometrie 1 Kap. 12-18 U Basel, HS 2008 12.3 Autoregression Neues Modell: AR(4) R> infl_ar4 <- dynlm(d(infl) ~ L(d(infl), 1:4), + start = c(1962, 1), end = c(2004, 4)) R> coeftest(infl_ar4) t test of coefficients: (Intercept) L(d(infl), 1:4)1 L(d(infl), 1:4)2 L(d(infl), 1:4)3 L(d(infl), 1:4)4 Estimate Std. Error t value Pr(>|t|) 0.0224 0.1176 0.19 0.8490 -0.2579 0.0774 -3.33 0.0011 -0.3220 0.0791 -4.07 7.3e-05 0.1576 0.0793 1.99 0.0484 -0.0303 0.0779 -0.39 0.6984 Dieses Modell hat R̄2 von 0.185. Test auf Weglassen der 3 neuen Regressoren liefert F = 10.309. – also nicht weglassen. C. Kleiber: Ökonometrie 1 Kap. 12-19 U Basel, HS 2008 12.3 Autoregression Bemerkung: Warum überhaupt Modell für ∆Inf l, nicht Inf l selbst? • AR(1)-Modell für ∆Inf l ist ein AR(2)-Modell für Inf l ∆Yt = β0 + β1∆Yt−1 + ut also Yt − Yt−1 = β0 + β1(Yt−1 − Yt−2) + ut und damit Yt = β0 + (1 + β1)Yt1 − β1Yt−2 + ut • Problem: Inf l sieht nicht stationär aus – – – – OLS verzerrt (nach unten) falls β1 = 1, ist dies Modell für instationären Prozess (s.u.) bekannte Theorie für Regression funktioniert nicht mehr mit ∆Inf l bewegen wir uns in bekanntem Rahmen C. Kleiber: Ökonometrie 1 Kap. 12-20 U Basel, HS 2008 12.4 Dynamische Regressionsmodelle Erweiterung von Autoregressionen: Autoregressionen mit verteilten Verzögerungen (autoregressive distributed lags, ADL): Yt = β0 + β1Yt−1 + ... + βpYt−p + δ1Xt−1 + ... + δq Xt−q + ut Notation: ADL(p, q) Annahme: E(ut|Yt−1, Yt−2, ..., Xt−1, Xt−2, ...) = 0 Modell lässt sich erweitern auf mehr als einen zusätzlichen Prädiktor: Yt = β0 + β1Yt−1 + ... + βpYt−p + δ11X1,t−1 + ... + δ1q1 X1,t−q +... + δ1k Xk,t−1 + ... + δkqk Xk,t−q + ... + ut Beispiel: Phillipskurve beschreibt Zusammenhang zwischen Inflation und Arbeitslosigkeit. Ergänze also Modell für Inflationsrate um Terme mit Arbeitslosenrate. C. Kleiber: Ökonometrie 1 Kap. 12-21 U Basel, HS 2008 12.4 Dynamische Regressionsmodelle R> infl_adl44 <- dynlm(d(infl) ~ L(d(infl), 1:4) + L(unemp, 1:4), + data = USMacroSW, start = c(1962, 1), end = c(2004, 4)) R> coeftest(infl_adl44) t test of coefficients: (Intercept) L(d(infl), 1:4)1 L(d(infl), 1:4)2 L(d(infl), 1:4)3 L(d(infl), 1:4)4 L(unemp, 1:4)1 L(unemp, 1:4)2 L(unemp, 1:4)3 L(unemp, 1:4)4 Estimate Std. Error t value Pr(>|t|) 1.3043 0.4915 2.65 0.00876 -0.4198 0.0789 -5.32 3.4e-07 -0.3666 0.0856 -4.28 3.2e-05 0.0566 0.0830 0.68 0.49643 -0.0365 0.0746 -0.49 0.62568 -2.6356 0.4514 -5.84 2.8e-08 3.0431 0.8737 3.48 0.00064 -0.3774 0.8940 -0.42 0.67350 -0.2484 0.4774 -0.52 0.60354 R2 stark verbessert auf 0.3663 – wichtig für Prognosen. C. Kleiber: Ökonometrie 1 Kap. 12-22 U Basel, HS 2008 12.4 Dynamische Regressionsmodelle Test für Granger-Kausalität: (nach Clive Granger, Nobelpreis 2003) • Teste simultan Signifikanz von Regressoren in dynamischem Regressionsmodell (ADL) mittels üblichem F -Test • Test heisst Granger-Kausalitätstest Sehr unglückliche Bezeichnung! Nur ein Test auf prognostischen Gehalt einer Gruppe von Variablen im ADL-Modell, keine Ursache-Wirkungsbeziehung. C. Kleiber: Ökonometrie 1 Kap. 12-23 U Basel, HS 2008 12.4 Dynamische Regressionsmodelle R> waldtest(infl_ar4, infl_adl44) Wald test Model 1: d(infl) ~ L(d(infl), 1:4) Model 2: d(infl) ~ L(d(infl), 1:4) + L(unemp, 1:4) Res.Df Df F Pr(>F) 1 167 2 163 4 10.4 1.5e-07 Direkter Test in R über Funktion grangertest() aus Paket lmtest ebenfalls möglich. C. Kleiber: Ökonometrie 1 Kap. 12-24 U Basel, HS 2008 12.4 Dynamische Regressionsmodelle Annahmen für Regression mit Zeitreihendaten: (A1) E(ut|Yt−1, Yt−2, ..., Xt−1, Xt−2, ...) = 0. (A2) (Yt, Xt1, ..., Xtk ) sind gemeinsam stationär sowie (Yt−j , Xt−j,1, ..., Xt−j,k ) werden unabhängig für j → ∞ (Yt, Xt1, ..., Xtk ) und (A3) Xt1, ..., Xtk und Yt haben je 4 Momente (A4) keine perfekte Multikollinearität Unter diesen Annahmen Inferenz “wie üblich”. Warum sind (A1) und (A2) anders als früher? C. Kleiber: Ökonometrie 1 Kap. 12-25 U Basel, HS 2008 12.5 Nichtstationarität Nichtstationarität: Verteilung von (Xt, . . . , Xt+m) hängt von t ab. Zeitreihen können auf viele Arten instationär sein. In Ökonometrie insb. zwei Typen von Instationarität relevant: • Trends • Strukturbrüche C. Kleiber: Ökonometrie 1 Kap. 12-26 U Basel, HS 2008 12.5 Nichtstationarität Trends: unterscheide zwischen deterministischen und stochastischen Trends. • Beispiel (deterministischer Trend): Zt = β0 + β1 · t + Yt, Yt eine stationäre Zeitreihe • Beispiel (stochastischer Trend): Yt = Yt−1 + ut, mit ut u.i.v., heisst Random Walk Viele ökonomische Zeitreihen lassen sich gut durch Modelle mit stochastischen Trends beschreiben. Es gibt aber Komplikationen: • β̂i verzerrt (zu klein) • t-Statistiken sind nicht mehr approximativ normalverteilt • Scheinregressionen C. Kleiber: Ökonometrie 1 Kap. 12-27 U Basel, HS 2008 12.5 Nichtstationarität Strukturbrüche: bedeutet, dass Koeffizienten des Modells nicht über die ganze Stichprobe konstant sind. Beispiel: AR(1)-Modell mit einem Strukturbruch Yt = β0 + β1Yt−1 + ut gilt nur für t = 1, ..., t∗, für t = t∗ + 1, ..., T gilt aber Yt = β̃0 + β̃1Yt−1 + ut Aber: es kann auch mehrere Brüche geben, oder Koeffizienten könnten sich kontinuierlich ändern, oder ... Einfachster Strukturbruchtest heisst Chow-Test – erfordert, dass Zeitpunkt des potentiellen Bruchs bekannt. Heute gibt es auch Tests, bei denen Zeitpunkt nicht bekannt sein muss. C. Kleiber: Ökonometrie 1 Kap. 12-28 U Basel, HS 2008 12.6 Ausblick Offene Fragen: • wie bestimmt man Anzahl der Verzögerungen (Ordnung des Modells)? → Informationskriterien (AIC, BIC) • kann man testen, ob eine Zeitreihe (in)stationär ist? → Einheitswurzel- und Stationaritätstests (Dickey-Fuller, KPSS, ...) • sind dynamische Regressionsmodelle auch bei instationären Zeitreihen erlaubt? → Kointegration • wie kann man sich in Zeitreihen gegen Heteroskedastie und unvollständig modellierte Autokorrelation absichern? → HAC-Schätzung der Standardfehler (heteroskedastie- und autokorrelationskonsistent). Bsp.: Newey-West-Korrekturen • Finanzzeitreihen haben stark schwankende “Volatilität” → GARCH-Modelle C. Kleiber: Ökonometrie 1 Kap. 12-29 U Basel, HS 2008 12.6 Ausblick Nützliche R-Pakete: • tseries, urca: Einheitswurzeln, Kointegration • strucchange: Strukturbrüche • forecast: Prognosen • Rmetrics: (grosse!) Sammlung von Paketen zu Finanzökonometrie, u.a. fGarch für GARCH-Modelle Zu Ökonometrie allgemein siehe auch ”CRAN Task View: Computational Econometrics” http://cran.r-project.org/web/views/Econometrics.html C. Kleiber: Ökonometrie 1 Kap. 12-30 U Basel, HS 2008