Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multivariate time series modelling in R

I want do fit some sort of multi-variate time series model using R.

Here is a sample of my data:

   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  

The data is quarterly, the dummy variables are for seasonality.

What I would like to do is to predict dx with reference to some of the others, while (possibly) allowing for seasonality. For argument's sake, lets say I want to use "u", "cci" and "gdp".

How would I go about doing this?

like image 976
Karl Avatar asked Nov 11 '09 10:11

Karl


People also ask

What is multivariate time series model?

A Multivariate Time Series consist of more than one time-dependent variable and each variable depends not only on its past values but also has some dependency on other variables.

Can Arima be multivariate?

ARIMAX is an extended version of the ARIMA model which utilizes multivariate time series forecasting using multiple time series which are provided as exogenous variables to forecast the dependent variable.

Is Arima univariate or multivariate?

An example of the univariate time series is the Box et al (2008) Autoregressive Integrated Moving Average (ARIMA) models. On the other hand, multivariate time series model is an extension of the univariate case and involves two or more input variables.

What is the difference between univariate and multivariate time series?

A time series can be univariate, bivariate, or multivariate. A univariate time series has only one variable, a bivariate has two variables, and a multivariate has more than two variables.


1 Answers

If you haven't done so already, have a look at the time series view on CRAN, especially the section on multivariate time series.

In finance, one traditional way of doing this is with a factor model, frequently with either a BARRA or Fama-French type model. Eric Zivot's "Modeling financial time series with S-PLUS" gives a good overview of these topics, but it isn't immediately transferable into R. Ruey Tsay's "Analysis of Financial Time Series" (available in the TSA package on CRAN) also has a nice discussion of factor models and principal component analysis in chapter 9.

R also has a number of packages that cover vector autoregression (VAR) models. In particular, I would recommend looking at Bernhard Pfaff's VAR Modelling (vars) package and the related vignette.

I strongly recommend looking at Ruey Tsay's homepage because it covers all these topics, and provides the necessary R code. In particular, look at the "Applied Multivariate Analysis", "Analysis of Financial Time Series", and "Multivariate Time Series Analysis" courses.

This is a very large subject and there are many good books that cover it, including both multivariate time series forcasting and seasonality. Here are a few more:

  1. Kleiber and Zeileis. "Applied Econometrics with R" doesn't address this specifically, but it covers the overall subject very well (see also the AER package on CRAN).
  2. Shumway and Stoffer. "Time Series Analysis and Its Applications: With R Examples" has examples of multivariate ARIMA models.
  3. Cryer. "Time Series Analysis: With Applications in R" is a classic on the subject, updated to include R code.
like image 90
Shane Avatar answered Oct 07 '22 16:10

Shane