2009-11-11 12 views
33

chcę pasują jakieś wielu zmiennych modelu szeregów czasowych za pomocą R.Wielowymiarowe modelowanie szeregów czasowych w R

Oto próbka moich danych:

u  cci  bci  cpi  gdp dum1 dum2 dum3 dx 
16.50 14.00 53.00 45.70 80.63 0 0 1  6.39 
17.45 16.00 64.00 46.30 80.90 0 0 0  6.00 
18.40 12.00 51.00 47.30 82.40 1 0 0  6.57 
19.35 7.00 42.00 48.40 83.38 0 1 0  5.84 
20.30 9.00 34.00 49.50 84.38 0 0 1  6.36 
20.72 10.00 42.00 50.60 85.17 0 0 0  5.78 
21.14 6.00 45.00 51.90 85.60 1 0 0  5.16 
21.56 9.00 38.00 52.60 86.14 0 1 0  5.62 
21.98 2.00 32.00 53.50 86.23 0 0 1  4.94 
22.78 8.00 29.00 53.80 86.24 0 0 0  6.25 

Dane są kwartalnego zmienne obojętne są dla sezonowości.

Co chciałbym zrobić, to przewidzieć dx w odniesieniu do niektórych innych, jednocześnie (być może) pozwalając na sezonowość. Ze względu na argument, powiedzmy, że chcę użyć "u", "cci" i "gdp".

Jak miałbym to zrobić?

Odpowiedz

92

Jeśli jeszcze tego nie zrobiłeś, zajrzyj na stronę the time series view on CRAN, szczególnie w sekcji wielowymiarowych szeregów czasowych.

W finansach, jednym z tradycyjnych sposobów na to jest model czynnikowy, często z modelem typu BARRA lub Fama-French. Eric Zivot's "Modeling financial time series with S-PLUS" daje dobry przegląd tych tematów, ale nie można go natychmiast przenieść na "Analysis of Financial Time Series" R. Rueya Tsaya (dostępny w pakiecie TSA na CRAN), a także ma przyjemną dyskusję na temat modeli czynnikowych i analizy głównych komponentów w rozdziale 9

R ma również kilka pakietów obejmujących modele vector autoregression (VAR). W szczególności polecam przeglądając pakiet Bernhard Pfaff VAR Modelling (vars) i the related vignette.

Gorąco polecam przejrzeć Ruey Tsay's homepage, ponieważ obejmuje on wszystkie te tematy i zapewnia niezbędny kod R. W szczególności spójrz na kursy "Applied Multivariate Analysis", "Analysis of Financial Time Series" i .

Jest to bardzo duży temat i istnieje wiele dobrych książek, które go obejmują, w tym wielowymiarowe serie czasowe forcasting i sezonowość. Oto kilka innych:

  1. Kleiber i Zeileis. "Applied Econometrics with R" nie odnosi się do tego konkretnie, ale bardzo dobrze obejmuje cały temat (patrz także pakiet AER na CRAN).
  2. Shumway and Stoffer. "Time Series Analysis and Its Applications: With R Examples" zawiera przykłady wielowymiarowych modeli ARIMA.
  3. Cryer. "Time Series Analysis: With Applications in R" to klasyk na ten temat, zaktualizowany o kod R.
3

Nie wiem, czy ta funkcja była dostępna po pierwszym zadaniu tego pytania, ale jest to łatwo dostępne w bazie R teraz z funkcją arima; po prostu określ swoje zewnętrzne regresory za pomocą argumentu xreg w funkcji. Wypróbuj ?arima, a po przeczytaniu dokumentacji zwróć szczególną uwagę na argument xreg. Stało się to bardzo łatwe, powodzenia.

+2

Zgodnie z dokumentacją Arima obsługuje tylko jednokierunkowe szeregi czasowe. OP ma wiele zmiennych czasowych. – mhwombat

6

w pakiecie prognozy, spróbuj:

arima(df[,1:4], order=(0,0,0), xreg=df[,6:8]) 

prognozowania u, cci i gdp.

Aby przewidzieć z tego dx, wypróbuj model VAR. Oto dobry samouczek (PDF).

+1

Obawiam się, że to nie działa; komunikat o błędzie: "Błąd w arimie (dane [, 1: 4], kolejność = c (0, 0, 0), xreg = dane [, 6: 8]): wprowadzone tylko dla jednowymiarowych szeregów czasowych" – xhudik

+0

Tak, to jest tylko dla uniwariatu i nie zapomnij o 'order = c (0,0,0)' –

Powiązane problemy